From 3dadfd2cf0590d6f11da1c1bfb76235d640fe727 Mon Sep 17 00:00:00 2001 From: blickly Date: Wed, 6 Sep 2017 14:11:22 -0700 Subject: [PATCH] JSCompiler release r20170905 Release notes: go/jscompiler-releases Release policy: go/jscompiler-internal-release-policy To report problems with this release, please email: js-compiler-users@google.com, jscomp-team@google.com ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=167770984 --- closure/goog/transpile.js | 3454 +++++++++++++++++++------------------ 1 file changed, 1729 insertions(+), 1725 deletions(-) diff --git a/closure/goog/transpile.js b/closure/goog/transpile.js index ad4d2b44fe..5a48b654cc 100644 --- a/closure/goog/transpile.js +++ b/closure/goog/transpile.js @@ -105,1273 +105,1275 @@ $jscomp.inherits=function(childCtor,parentCtor){childCtor.prototype=$jscomp.obje parentCtor.prototype}; $jscomp.polyfill("WeakSet",function(NativeWeakSet){function isConformant(){if(!NativeWeakSet||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var set=new NativeWeakSet([x]);if(!set.has(x)||set.has(y))return false;set["delete"](x);set.add(y);return!set.has(x)&&set.has(y)}catch(err){return false}}if(isConformant())return NativeWeakSet;var PolyfillWeakSet=function(opt_iterable){this.map_=new WeakMap;if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter= $jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}};PolyfillWeakSet.prototype.add=function(elem){this.map_.set(elem,true);return this};PolyfillWeakSet.prototype.has=function(elem){return this.map_.has(elem)};PolyfillWeakSet.prototype["delete"]=function(elem){return this.map_["delete"](elem)};return PolyfillWeakSet},"es6","es3"); -(function(global,jscomp){if(global["$jscomp"])for(var key in global["$jscomp"])jscomp[key]=global["$jscomp"][key];global["$jscomp"]=jscomp})(window,$jscomp);(function(){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function lW(){}function gW(){}function ub(){}function Fb(){}function nc(){}function tc(){}function Kd(){}function Nx(){}function mB(){}function _B(){}function hC(){}function sC(){}function DC(){}function EC(){}function fD(){}function pD(){}function wD(){}function rY(){}function W_(){}function y0(){}function l4(){}function X6(){}function X7(){}function j8(){}function xjb(){}function Ajb(){}function Djb(){}function Dbb(){}function Ebb(){} -function mab(){}function Mab(){}function kfb(){}function ofb(){}function Pjb(){}function Ptb(){}function Wtb(){}function xkb(){}function Jkb(){}function _kb(){}function _Bb(){}function ZBb(){}function elb(){}function Olb(){}function Amb(){}function Gmb(){}function mnb(){}function isb(){}function xub(){}function Jwb(){}function J$b(){}function t$b(){}function y$b(){}function E$b(){}function EXb(){}function dIb(){}function BWb(){}function PWb(){}function M$b(){}function S$b(){}function lbc(){}function lxc(){} -function pxc(){}function rxc(){}function Aqc(){}function brc(){}function krc(){}function trc(){}function Jtc(){}function Ntc(){}function Myc(){}function Vzc(){}function Yzc(){}function _zc(){}function cAc(){}function xAc(){}function CAc(){}function OAc(){}function Bfb(a){}function q8b(a){}function Ipb(a){Zd(a)}function Gob(){amc()}function Q1(a,b){a.n=b}function R1(a,b){a.r=b}function pq(){this.a=0}function Vw(){this.a=8}function Xw(){this.a=8}function ic(a){this.a=a}function Te(a){this.a=a}function jf(a){this.a= -a}function jr(a){this.a=a}function Qr(a){this.a=a}function lh(a){this.a=a}function Fj(a){this.a=a}function Fp(a){this.a=a}function $l(a){this.a=a}function cm(a){this.a=a}function um(a){this.a=a}function Ym(a){this.a=a}function _s(a){this.a=a}function wu(a){this.a=a}function wz(a){this.a=a}function sz(a){this.a=a}function Jz(a){this.a=a}function Rz(a){this.a=a}function Rx(a){this.a=a}function qx(a){this.a=a}function ux(a){this.a=a}function tw(a){this.a=a}function Hw(a){this.a=a}function Uz(a){this.a= -a}function Bz(a){this.b=a}function ct(a){this.b=a}function zv(a){this.b=a}function z2(a){this.a=a}function s2(a){this.a=a}function x2(a){this.a=a}function B2(a){this.a=a}function D2(a){this.a=a}function F2(a){this.a=a}function F_(a){this.a=a}function WB(a){this.a=a}function tB(a){this.e=a}function BW(a){this.e=a}function gC(a){this.c=a}function eY(a){this.a=a}function GY(a){this.a=a}function $4(a){this.a=a}function $8(a){this.a=a}function m8(a){this.a=a}function s8(a){this.a=a}function j7(a){this.a= -a}function q7(a){this.a=a}function F7(a){this.a=a}function H7(a){this.a=a}function o7(a){this.b=a}function t3(a,b){a.Ub=b}function G$b(a,b){a.b=b}function k$b(a,b){a.f=b}function p$b(a,b){a.g=b}function r$b(a,b){a.j=b}function H$b(a,b){a.c=b}function zob(a,b){a.c=b}function eHb(a,b){a.c=b}function fHb(a,b){a.d=b}function I$b(a,b){a.d=b}function I1b(a,b){a.i=b}function D1b(a,b){a.k=b}function N1b(a,b){a.k=b}function E1b(a,b){a.c=b}function H1b(a,b){a.g=b}function M1b(a,b){a.j=b}function zXb(a,b){a.a= -b}function BXb(a,b){a.n=b}function CXb(a,b){a.p=b}function Mec(a,b){a.a=b}function qAc(a,b){a.b=b}function Ik(a){a.c=a.d.d}function Md(a){return!a}function sdb(a){this.a=a}function kab(a){this.a=a}function yab(a){this.a=a}function lbb(a){this.a=a}function Jcb(a){this.a=a}function Jjb(a){this.a=a}function Gjb(a){this.a=a}function Mjb(a){this.a=a}function Beb(a){this.a=a}function Byb(a){this.a=a}function tkb(a){this.a=a}function Cpb(a){this.a=a}function Xsb(a){this.a=a}function Fzb(a){this.a=a}function aAb(a){this.a= -a}function HAb(a){this.a=a}function HXb(a){this.a=a}function RBb(a){this.a=a}function UBb(a){this.a=a}function gGb(a){this.a=a}function PYb(a){this.a=a}function t2b(a){this.a=a}function w2b(a){this.a=a}function Q2b(a){this.a=a}function T2b(a){this.a=a}function lPb(a){this.d=a}function ETb(a){this.j=a}function u$b(a){this.c=a}function Pac(a){this.d=a}function pbc(a){this.b=a}function _ec(a){this.b=a}function Aic(a){this.a=a}function Yic(a){this.a=a}function Wjc(a){this.a=a}function lkc(a){this.a=a} -function cmc(a){this.a=a}function Bmc(a){this.a=a}function Qmc(a){this.d=a}function gnc(a){this.a=a}function mnc(a){this.a=a}function qnc(a){this.a=a}function vnc(a){this.a=a}function Snc(a){this.a=a}function goc(a){this.a=a}function moc(a){this.a=a}function boc(a){this.b=a}function Rrc(a){this.b=a}function Arc(a){this.a=a}function Krc(a){this.a=a}function mtc(a){this.a=a}function qtc(a){this.a=a}function Rtc(a){this.a=a}function vuc(a){this.a=a}function mvc(a){this.a=a}function Cwc(a){this.a=a}function Npc(a){this.c= -a}function Pxc(a){this.c=a}function Wxc(a){this.a=a}function tzc(a){this.a=a}function QAc(a){this.a=a}function fsc(a){this.b=a}function Jsc(a){this.d=a}function qmc(){omc(this)}function qpc(){cpc(this)}function Opb(){Mpb(this)}function Ppb(){Mpb(this)}function Moc(){toc(this)}function mW(){nW();Lub()}function Z$(a,b){w$(a.c,b)}function B$(a,b){b&&a.pg()}function wc(a){this.a=Zd(a)}function Qc(a){this.a=Zd(a)}function sf(a){this.a=Zd(a)}function vf(a){this.a=Zd(a)}function Sm(a){this.a=Zd(a)}function iv(a){this.a= -Zd(a)}function nv(a){this.a=Zd(a)}function Kw(a){this.a=Zd(a)}function hx(a){this.a=Zd(a)}function Oj(a){this.b=Zd(a)}function wq(a){this.b=Zd(a)}function m3(a,b){M4(a.Ad,b)}function N2(a,b){epc(a.d,b)}function O2(a,b){epc(a.e,b)}function M0(a,b){epc(a.c,b)}function L1(a,b){lpc(a.c,b)}function X$(a){a.d=new bvc}function Ufb(a){a.d=new bvc}function aob(a){a.e=new lwc}function N9(a){a.g=new qpc}function hr(){this.a=new qpc}function Vr(){this.a=new qpc}function pr(){this.b=new qpc}function Yt(){this.b= -new bvc}function kB(){this.a=new lwc}function FC(){FA.call(this)}function amc(){amc=gW;PAc()}function ckc(a){return a&-a}function uC(a,b){return a[b]}function xt(a,b){a.e=b;b.b=a}function xr(a){Cn();this.a=a}function Cr(a){Cn();this.a=a}function On(a){Cn();this.a=a}function Xr(a){Zn();this.a=a}function Hv(a){Zn();this.a=a}function H8(a){x8();this.a=a}function w6(a){r6();this.a=a}function T6(a){N6();this.a=a}function kD(a){jD();iD.Gf(a)}function eCb(a){this.a=Xo(a)}function q5(){this.a=new jvc}function M7(){this.a= -new jvc}function Uub(){Tub();new Gkb}function _eb(){FC.call(this)}function EWb(){FC.call(this)}function Gic(){FC.call(this)}function Lic(){FA.call(this)}function Llc(){FC.call(this)}function Tjc(){FC.call(this)}function ykc(){FC.call(this)}function Ytc(){FC.call(this)}function uxc(){FC.call(this)}function LAc(a,b){a.length=b}function mAc(a,b){epc(a.a,b)}function GB(a){return a.bb&&b=65&&a<=90}function iA(a,b){return a.g[b%a.d]}function IB(a){return Mkc(a.a,a.b)}function E3(a,b){qe.call(this,a,b)}function J3(a,b){qe.call(this,a,b)}function P3(a,b){qe.call(this,a,b)}function X3(a,b){qe.call(this,a,b)}function j4(a,b){qe.call(this, -a,b)}function q4(a,b){qe.call(this,a,b)}function y4(a,b){qe.call(this,a,b)}function E4(a,b){qe.call(this,a,b)}function F6(a,b){qe.call(this,a,b)}function C5(a,b){this.a=a;this.b=b}function C7(a,b){this.a=a;this.b=b}function K7(a,b){this.a=a;this.b=b}function W7(a,b){this.e=a;this.a=b}function M8(a,b){this.b=a;this.a=b}function W9(a,b){this.b=a;this.a=b}function A9(a,b){return fbb(b,a.b)}function B9(a,b){return fbb(b,a.i)}function C9(a,b){return fbb(b,a.o)}function D9(a,b){return fbb(b,a.r)}function E9(a, -b){return fbb(b,a.s)}function F9(a,b){return fbb(b,a.t)}function G9(a,b){return fbb(b,a.u)}function GXb(a,b){return rp(a.a,b)}function Uec(a,b){return a.b.Yd(b)}function Qrc(a,b){return a.b.Qd(b)}function Fsc(a,b){return wb(a.d,b)}function iwb(a){return a.g?a.g:a.d}function pmc(a){return a.d.c+a.e.c}function Sb(a){return a>=97&&a<=122}function cf(a,b){return hf(a.c,a,b)}function pkb(a,b,c){Jhb(a.b,a,b,c)}function ZWb(a,b,c){zlc(a.c,b,0,c)}function rEb(a,b,c){E1b(a,c.c-b.c)}function KAc(a,b,c){a.splice(b, -c)}function cvc(a){rmc.call(this,a,0)}function nyc(){oyc.call(this,null)}function Hq(){Gq.call(this,new bvc)}function Jq(){xl.call(this,new bvc)}function Bw(){zw.call(this,"KEY",0)}function ay(a){Po();tp.call(this,a)}function dy(a){cy();Sp.call(this,a)}function Zcb(a,b){qe.call(this,a,b)}function _cb(a,b){this.a=a;this.b=b}function oab(a,b){this.a=a;this.b=b}function qab(a,b){this.a=a;this.b=b}function vab(a,b){this.b=a;this.a=b}function Zuc(a){this.c=a;Wuc(this)}function kkb(a,b){this.b=a;this.a= -b}function qkb(a,b){this.b=a;this.a=b}function vkb(a,b){this.b=a;this.a=b}function dlb(a,b){this.j=a;this.i=b}function Mlb(a,b){this.b=a;this.a=b}function jdb(a,b){qe.call(this,a,b)}function ymb(a,b){qe.call(this,a,b)}function ufb(a,b){return fbb(b,a.b)}function vfb(a,b){return fbb(b,a.e)}function wfb(a,b){return fbb(b,a.f)}function fob(a,b){return hwc(a.e,b)}function bC(a,b){return b.b+a.c.i.b}function Iob(a,b){this.b=a;this.a=b}function enb(a,b){this.a=a;this.b=b}function Utb(a,b){this.b=a;this.a= -b}function itb(a,b){qe.call(this,a,b)}function qob(a,b){qe.call(this,a,b)}function Oob(a,b){qe.call(this,a,b)}function Xob(a,b){qe.call(this,a,b)}function eub(a,b){qe.call(this,a,b)}function $vb(a,b){qe.call(this,a,b)}function PBb(a,b){qe.call(this,a,b)}function uDb(a,b){qe.call(this,a,b)}function DDb(a,b){qe.call(this,a,b)}function sHb(a,b){qe.call(this,a,b)}function QHb(a,b){qe.call(this,a,b)}function Zob(){Xob.call(this,MHc,0)}function Mpb(a){a.a=NV(Date.now())}function gx(a,b){a.a.ve().remove(b)} -function O1(a,b){K1(a,V0(b));x1(a)}function jPb(a,b){qe.call(this,a,b)}function USb(a,b){qe.call(this,a,b)}function KTb(a,b){qe.call(this,a,b)}function ZVb(a,b){qe.call(this,a,b)}function nHb(a,b){this.a=a;this.b=b}function sIb(a,b){this.a=a;this.b=b}function pIb(a,b){this.c=a;this.b=b}function YKb(a,b){this.c=a;this.b=b}function B0b(a,b){this.a=a;this.b=b}function A2b(a,b){this.c=a;this.b=b}function vSb(a,b){this.p=a;this.o=b}function IWb(a,b){this.b=a;this.a=b}function $$b(a,b){qe.call(this,a,b)} -function n6b(a,b){qe.call(this,a,b)}function Zac(a,b){qe.call(this,a,b)}function Ncc(a,b){qe.call(this,a,b)}function e_b(a,b){return EZb(a.a,b)}function H6b(a,b){return cdc(a.A,b)}function zdc(a,b){return cdc(a.e,b)}function xxb(a){return wxb(a,a.e.i)}function xXb(a){return a>=48&&a<=57}function NXb(a,b){MXb();return a[b]}function _gc(a,b){qe.call(this,a,b)}function Yhc(a){Zhc.call(this,a,30)}function bhc(){_gc.call(this,QEc,0)}function fhc(){_gc.call(this,REc,1)}function jhc(){_gc.call(this,dIc, -2)}function Wlc(a,b){qe.call(this,a,b)}function agc(a,b){this.b=a;this.a=b}function Fuc(a,b){this.b=a;this.a=b}function Gnc(a,b){this.d=a;this.e=b}function r9b(a,b){de(!a.oj());a.q=b}function wic(a,b){return Mkc(a.a,b)}function zic(a,b){return elc(a.a,b)}function yrc(a,b){return emc(a.a,b)}function bmc(a,b){return dmc(a.a,b)}function gwc(a,b){return emc(a.c,b)}function Tvc(a,b){return a.a.get(b)}function Iwc(a){return a.b!=a.c.a.b}function vAc(a){return hAc(jAc(),a)}function vE(a){return typeof a=== -xBc}function rE(a){return typeof a===uBc}function sE(a){return typeof a===vBc}function wE(a){return a==null?null:a}function Oi(a){return!a?null:a.ee()}function HB(a){return Mkc(a.a,a.b++)}function vg(a,b){return a.ce().fe(b)}function Bf(a,b){return a.Wd().Yd(b)}function elc(a,b){return a.substr(b)}function dzc(a,b){qe.call(this,a,b)}function Lkb(a){l2.call(this,a,true)}function Y2(a){Z2.call(this,a,false)}function $ob(){Xob.call(this,"V3",1)}function Ujb(a){this.b=a;this.a=true}function _C(a){$wnd.clearTimeout(a)} -function _Hb(a){aIb.call(this,a,0,0)}function Epb(a,b){a.b=Hpb(b,a.a,a.b)}function sEb(a,b){uEb(a,b.b.b,b.b.a)}function xPb(a,b,c,d){nIb(a.c,b,c,d)}function ubc(a,b,c,d){dq(a.a,b,c,d)}function IAc(a,b,c){a.splice(b,0,c)}function f3b(a,b){_1b.call(this,a,b)}function S1(a,b){b>1?a.P=1:a.P=b}function ZHb(a,b){a.q[a.r++]=b;--a.b}function ylc(a,b){a.a+=""+b;return a}function Alc(a,b){a.a+=""+b;return a}function Blc(a,b){a.a+=""+b;return a}function xlc(a,b){return a.a+=""+b,a}function Ukc(a,b){return a.indexOf(b)} -function lf(a,b){return Xb(a.a,a.e,b)}function dQb(a){return cQb(a)&&a!=42}function d1b(a){return!!a.b&&!a.b.d}function HD(a){return ID(a.l,a.m,a.h)}function wy(a){return new Dy(a.a,a.b)}function OV(a){return typeof a===vBc}function Rvc(){Nvc();return new Mvc}function dvc(a){omc(this);Fi(this,a)}function Hlc(a){Aic.call(this,kW(a))}function Nfb(){Pfb.call(this,new Vfb)}function Qob(){Oob.call(this,"ALL",0)}function Dw(){zw.call(this,"VALUE",1)}function Swc(a,b){Uwc(a,b,a.a,a.a.a)}function Twc(a,b){Uwc(a, -b,a.c.b,a.c)}function dcb(a,b){xrc(a.a,b)&&b.Yi(a)}function f6(a,b){lmc(d6,a,b);return b}function pPb(a,b){return hMb(a.e.b,b)}function X0b(a){return a.b?a.b.f:null}function c1b(a){return!!a.b&&!!a.b.d}function DZb(a){return!!a.d&&!!a.d.k}function f2b(a){return a==-1?-1:a&aDc}function Nmc(a){return a.b>>12}function N6b(a){return qE(a,47)?a:null}function O7b(a){C6b();O6b.call(this,a)}function k8b(a){C6b();j8b.call(this,a)}function yec(a){C6b();j8b.call(this,a)}function Gec(a){C6b();j8b.call(this,a)}function cgc(a){C6b();j8b.call(this,a)}function mic(a){C6b();j8b.call(this,a)}function fec(a){C6b();Rdc.call(this,a)}function pec(a){C6b();fec.call(this, -a)}function hzc(){dzc.call(this,"Head",1)}function mzc(){dzc.call(this,"Tail",3)}function Ne(){Fe.call(this,"IS_NULL",2)}function toc(a){a.a=AD(nT,UBc,1,8,5,1)}function cpc(a){a.a=AD(nT,UBc,1,0,5,1)}function nAc(a,b){pAc(a,(Rzc(),Nzc),b)}function sAc(a,b){pAc(a,(Rzc(),Pzc),b)}function tAc(a,b){pAc(a,(Rzc(),Qzc),b)}function hB(a,b){var c;c=vC(b);gB(a,c)}function Tr(a,b){Zd(b);Uq(a,b);return a}function Lr(a,b){Zn();this.a=a;this.b=b}function es(a,b){Zn();$r.call(this,a,b)}function Qk(a){this.a=a;Lk.call(this, -a)}function JB(a){this.a=a;this.c=a.length}function fi(a){Qd(a.size()==0);this.c=a}function buc(a){return a<10?"0"+a:""+a}function wxc(a){return a!=null?Ab(a):0}function Ed(a,b){return a!=null?a:Zd(b)}function v5(a,b){return a.b.contains(b)}function cEb(a,b){return QJb(a.a.c.a,b)}function zMb(a,b){return new IWb(b,a.f)}function ID(a,b,c){return{l:a,m:b,h:c}}function HV(a){return a.backingJsObject}function cjc(a){return a>=GBc&&a<=56319}function djc(a){return a>=JBc&&a<=57343}function Xuc(a){return a.a< -a.c.a.length}function Xjc(a,b){return ab?1:0}function BAc(a,b){return new AAc(a.a,b)}function qE(a,b){return a!=null&&nE(a,b)}function npc(a,b){iqc(a.a,a.a.length,b)}function H4(a,b){GC.call(this,mXb(a,b))}function j$(){i$();k$.call(this,new y0)}function jzc(){dzc.call(this,"Range",2)}function Xjb(a){this.b=a;this.a=new jvc}function $sb(a){this.b=a;this.a=new qpc}function _fc(a){this.c=new bvc;this.d=a}function Rjc(a){return Rkc(vBc,typeof a)}function Wkc(a){return Rkc(xBc,typeof a)}function rlc(a){return slc(a, -0,a.length)}function Mkc(a,b){return a.charCodeAt(b)}function qlc(a){return a==null?ABc:kW(a)}function Rr(a,b){return epc(a.a,Zd(b)),a}function fr(a,b){epc(a.a,Zd(b));return a}function Sr(a,b){epc(a.a,Zd(b));return a}function Us(a){return a.Jd()?a.Kd():null}function Vf(a){a.b.clear();a.d.b.clear()}function AA(a){a.f=AD(pT,UBc,142,0,0,1)}function Qe(){Fe.call(this,"NOT_NULL",3)}function kt(){qe.call(this,"INSTANCE",0)}function z5(a){t5();y5.call(this,null,a)}function Qd(a){if(!a)throw HV(new _eb); -}function de(a){if(!a)throw HV(new Tjc);}function $t(a){if(!a)throw HV(new uxc);}function V1(a,b,c,d){M2(new v2(a,b,d,c))}function iw(a,b){return new rw(a.Pd(),b)}function QJb(a,b){return a.a.contains(b)}function zhb(a,b,c){a.g=b;a.o=c;a.d=null}function xtb(a,b,c){wtb.call(this,a,b,c)}function tob(){qob.call(this,"REGION",1)}function UWb(a){GC.call(this,"Width:"+a)}function jMb(a){this.b=a;this.a=kMb(a.a)}function wXb(a){this.a=a;this.c=a.length}function GZb(a){return!!a.d&&C$b(a.d,8)}function IZb(a){return!!a.d&& -C$b(a.d,2)}function JZb(a){return!!a.d&&C$b(a.d,3)}function KZb(a){return!!a.d&&C$b(a.d,5)}function LZb(a){return!!a.d&&C$b(a.d,4)}function MZb(a){return!!a.d&&C$b(a.d,9)}function OZb(a){return!!a.d&&C$b(a.d,0)}function PZb(a){return!!a.d&&C$b(a.d,7)}function QZb(a){return!!a.d&&C$b(a.d,6)}function TZb(a){return!!a.d&&C$b(a.d,1)}function Orc(a,b){return a.b.contains(b)}function dtc(a,b){return a.b.contains(b)}function Vkc(a,b,c){return a.indexOf(b,c)}function Xkc(a,b){return a.lastIndexOf(b)}function GOb(a, -b){return wPb(a.g,0).c==b}function Oc(a,b){return Mc(a,new Flc,b).a}function af(a,b){Zd(b);return new of(a,b)}function hf(a,b,c){return new mf(b,c,a.a)}function Cf(a,b,c){return a.Wd().put(b,c)}function aMb(a){ZLb();return!!rp(ALb,a)}function bMb(a){ZLb();return!!rp(zLb,a)}function vPb(a){wPb(a,0);return Wwc(a.b)}function jwc(a,b){if(a.a){xwc(b);wwc(b)}}function Vj(a,b){this.a=a;Oj.call(this,b)}function Aq(a,b){this.a=a;wq.call(this,b)}function gt(a,b){this.a=b;wq.call(this,a)}function aw(a,b){this.a= -a;Wv.call(this,b)}function gw(a,b){this.a=a;Wv.call(this,b)}function rw(a,b){this.a=b;wq.call(this,a)}function Zs(a,b){Zd(b);return new gt(a,b)}function Tw(a){Em(2,BCc);return new cx(a)}function Uw(a){Em(2,BCc);return new ex(a)}function cr(a,b){return a.a.getAtIndex(b)}function Xz(a,b){this.a=a;wq.call(this,b)}function Ez(a){this.a=a;Bz.call(this,a.a)}function rs(a){pr.call(this);this.a=Zd(a)}function FA(){AA(this);BA(this);this.yf()}function Jk(a){a.b.Ld();--a.d.f.d;gk(a.d)}function Y0(a,b){Zd(a.L); -return R4(a.Z,b)}function YA(a){XA();return a<128?WA[a]:-1}function RD(a){return a.l+a.m*$Cc+a.h*_Cc}function cjb(a){Vhb();return Nuc(Nhb,a.j)}function Lab(a,b){Iab();this.a=a;this.b=b}function X2(a,b){W2.call(this,a,a.Gg(),b)}function J6(){F6.call(this,"MULTILINE",2)}function _tb(){qe.call(this,"RELATIVE",0)}function Sob(){Oob.call(this,"SYMBOLS",1)}function Pic(){Pic=gW;Nic=false;Oic=true}function Ic(){Ic=gW;Hc=dkc(31);Gc=new Jc}function yw(){yw=gW;ww=new Bw;xw=new Dw}function Ocb(a){var b;for(b= -a.j;b;b=b.j);}function Owb(a,b){de(!a.d);a.d=b;return a}function Twb(a,b){de(!a.j);a.j=b;return a}function Uwb(a,b){de(!a.k);a.k=b;return a}function Qwb(a,b,c){iwc(a.f,b,c);return a}function ZOb(a,b,c){nIb(a.c,oPb(a.g),b,c)}function K0b(a,b){J0b(a,b,a.b?a.b.f:null)}function pSb(a,b){qSb.call(this,a,b,null)}function cfc(a,b){dfc.call(this,a,b,null)}function Ilc(a){Aic.call(this,(aBc(a),a))}function jsc(a){Rrc.call(this,a);this.a=a}function xsc(a){fsc.call(this,a);this.a=a}function ytc(a){Jsc.call(this, -a);this.a=a}function Btc(a){atc.call(this,a);this.a=a}function xYb(a){return MYb((m6b(),m5b),a)}function yxb(a,b){return av(b,new Byb(a))}function tTb(a,b){a.k=b;return new sTb(a)}function Qwc(a){mvc.call(this,new mwc(a))}function rzc(a){qzc.call(this);Sc(this,a)}function Jyc(a){this.a=a;boc.call(this,a)}function NZb(a){return!!a.d&&C$b(a.d,10)}function Nuc(a,b){return!!b&&a.b[b.f]==b}function zrc(a,b){return mmc(a.a,b)!=null}function kBc(a){return a.$H||(a.$H=++jBc)}function dlc(a,b,c){return a.substr(b, -c-b)}function flc(a,b,c){return a.substr(b,c-b)}function $h(a,b){return a.c.containsKey(b)}function pe(a){return a.e!=null?a.e:""+a.f}function s3(a,b){de(b!=(g4(),f4));a.Tb=b}function Dc(a,b){this.a=Zd(a);this.b=Zd(b)}function Km(a,b){this.a=Zd(a);this.b=Zd(b)}function Ov(a,b){this.a=Zd(a);this.b=Zd(b)}function cw(a,b){this.a=Zd(a);this.b=Zd(b)}function sB(a,b){this.i=a;this.a=new JB(b)}function VAc(a){if(!a)throw HV(new _eb);}function $Ac(a){if(!a)throw HV(new uxc);}function Qoc(a){if(!a)throw HV(new Ytc); -}function eBc(a){if(!a)throw HV(new Tjc);}function nD(a){jD();return parseInt(a)||-1}function ny(a){var b;return Cn(),b=a,Jp(b)}function ZDb(a,b){return $Db(a,XDb(a,b.b))}function h9(a,b,c){return cbb(a.a,a.q,b,c)}function FOb(a,b,c){return wPb(a.g,b).c==c}function CZb(a){return!!(!a.d?null:a.d.a)}function opc(a){return FAc(a.a,a.a.length)}function Rpc(a,b){return Tpc(a,a.length,b)}function Spc(a,b){return Upc(a,a.length,b)}function Mub(){return(new Date).getTime()}function Zzb(){Zzb=gW;Yzb=new aAb(new bvc)} -function ewc(a){a.b=new ywc(a);a.c=new bvc}function yAc(a){return a.c.exec(a.a)!=null}function Itc(a){Htc();return a==Etc?null:a}function ywc(a){zwc.call(this,a,null,null)}function y8b(a){O6b.call(this,a);q8b(this)}function Kab(a){Iab();Lab.call(this,a,Hab)}function Hk(a,b,c,d){wk.call(this,a,b,c,d)}function I6(){F6.call(this,"SINGLELINE",1)}function L6(){F6.call(this,"SOURCELESS",3)}function He(){Fe.call(this,"ALWAYS_TRUE",0)}function Xk(a,b,c){ik.call(this,a,b,c,null)}function rq(){cg.call(this, -new lwc,new bvc)}function sh(a){this.a=a;this.b=Yf(this.a.d)}function xl(a){this.a=Zd(a);this.b=Ex(this)}function ec(a,b){Qd(b>=a);this.b=a;this.a=b}function Mk(a,b){this.d=a;Ik(this);this.b=b}function n5(a,b){this.a=a;this.c=b;this.b=0}function Xm(a,b){var c;c=a.a;a.a=b;return c}function V2(a,b){Qd(!b||!a.g||a.g==b);a.g=b}function A$(a,b){a.hg();b&&a.pg();a.r=false}function Eyb(a,b){Cxb.call(this,a);this.a=b}function Z2(a,b){X2.call(this,new gfb(a),b)}function anb(a,b){return ne(q3(a.a.L),b)>=0} -function pfb(a,b,c){return cbb(a.a,a.d,b,c)}function bBb(a,b){return fAb(a,b)||fAb(b,a)}function dCb(a,b){return a.a.containsKey(b)}function VHb(a){return a.g==a.d?a.c+a.a:a.a}function TJb(a,b){return new WJb(ly(a.a,b))}function Pkc(a){return rlc(SAc(a,a.length))}function $zb(a){Zzb();return _zb(Yzb,"_",a)}function IAb(a,b){GAb();return FAb[a.a|b.a]}function JAb(a,b){GAb();return FAb[a.a&b.a]}function g3b(a,b){Z1b.call(this,a);this.a=b}function $ec(){Rec();_ec.call(this,new nyc)}function K2(){this.c= -new Flc;this.d=new jvc}function Ztc(a){this.a=new $wnd.Date(WV(a))}function SBb(a){this.a=(Zn(),new Uy(Zd(a)))}function mjc(a){if(a.p!=null)return;Cjc(a)}function Q0b(a){Zd(a.e);s1b(a.e,a);return a}function Loc(a){return a.c-a.b&a.a.length-1}function fnc(a,b){return a.a.containsKey(b)}function hvc(a,b){return a.a.containsKey(b)}function Prc(a,b){return a.b.containsAll(b)}function Muc(a,b){return qE(b,14)&&Nuc(a,b)}function Ouc(a,b){return qE(b,14)&&Puc(a,b)}function Cc(a,b){return a.a.Nd(b)||a.b.Nd(b)} -function uE(a,b){return a&&b&&a instanceof b}function nlc(a){return vE(a)?a.length:a.tj()}function ni(a){return qE(a,45)?a.Rd():a.Pd()}function oE(a){return String.fromCharCode(a)}function txc(){GC.call(this,"no key found")}function Ke(){Fe.call(this,"ALWAYS_FALSE",1)}function An(){on.call(this,(Po(),Po(),Oo),0)}function Bm(){Am.call(this,new bvc);this.a=3}function oBc(){oBc=gW;lBc=new ub;nBc=new ub}function Z0(a){!a.L&&r1(a,new w3);return a.j}function xo(a,b){return a._e().getAtIndex(b)}function $n(a, -b){return new dr(a,a.size(),b)}function VC(a,b,c){return a.apply(b,c);var d}function I1(a,b,c){c.b=a;return Czc(a.B,b,c)}function Sic(a,b){Pic();return a==b?0:a?1:-1}function Wtc(a,b){b.$modCount=a.$modCount}function eEb(a,b){return N0b(new Z1b(b),a.t)}function gfb(a){this.a=new PYb(a.b);this.c=a}function Yg(a){this.b=a;this.a=this.b.b.Xd()}function Ll(a){this.e=a;this.c=a.a.Xd().Pd()}function ecb(a){this.b=a;this.a=Xqc(new uvc)}function eTb(a){vSb.call(this,(YVb(),JUb),a)}function iTb(a){vSb.call(this, -(YVb(),NUb),a)}function WSb(a){vSb.call(this,(YVb(),AUb),a)}function XSb(a){vSb.call(this,(YVb(),BUb),a)}function YSb(a){vSb.call(this,(YVb(),zUb),a)}function $Tb(a){vSb.call(this,(YVb(),kVb),a)}function cUb(a){vSb.call(this,(YVb(),pVb),a)}function dUb(a){vSb.call(this,(YVb(),qVb),a)}function gWb(a){vSb.call(this,(YVb(),DVb),a)}function lWb(a){vSb.call(this,(YVb(),IVb),a)}function QWb(a){GC.call(this,"codePoint:"+a)}function sbc(a){pbc.call(this,a);this.a=null}function vbc(a){pbc.call(this,a);this.a= -null}function ivc(a,b){return a.a.remove(b)!=null}function ygc(a){return a.d.size()-a.e.size()}function pzc(a,b){return a.a.remove(b)!=null}function HAc(a,b){return MAc(new Array(b),a)}function Ykc(a,b,c){return a.lastIndexOf(b,c)}function Pc(a){Zd(a);return qE(a,375)?a:kW(a)}function Rc(a,b,c){Zd(c);return new Bd(c,a,b)}function m_b(a,b){a.e=true;return cZb(a.a,b)}function Lnc(a,b){var c;c=b;return!!a.Ij(c)}function znc(a,b){var c;c=a.e;a.e=b;return c}function Kvc(a,b){var c;c=a[BJc];c.call(a,b)} -function Lvc(a,b){var c;c=a[BJc];c.call(a,b)}function iBc(b,c,d){try{b[c]=d}catch(a){}}function Bd(a,b,c){this.b=a;this.a=b;this.c=c}function uq(a,b,c){this.a=a;ih.call(this,b,c)}function xx(a,b){si.call(this,a);this.a=Zd(b)}function zx(a,b){fm.call(this,a);this.a=Zd(b)}function Qz(a,b,c){this.b=a;this.a=b;this.c=c}function Sp(a){Cn();this.b=(Sqc(),new atc(a))}function sp(a){Po();this.d=(Sqc(),new Jsc(a))}function gf(a){Zd(a);return new ef(new jf(a))}function Af(a,b){return a.Wd().containsKey(b)} -function i6(a,b){return qE(b,5)&&Rkc(b.b,a.b)}function AX(a,b){IX((m6b(),c5b),b);XX(a,b.b)}function l$b(a,b){if(!UZb(a))return;a.b.i=b}function fwc(a){omc(a.c);a.b.b=a.b;a.b.a=a.b}function ek(a){a.b?ek(a.b):a.f.c.put(a.e,a.d)}function j6(a,b,c){this.b=a;this.c=b;this.a=c}function ZB(a,b,c){this.j=a;this.b=b;this.a=c}function X9(a,b,c){this.a=a;this.b=b;this.c=c}function IY(a,b,c){this.a=a;this.c=b;this.b=c}function IW(a,b,c){qe.call(this,a,b);this.a=c}function O9(a){this.i=a;N9(this);this.a=false} -function Vmb(a){Smb();this.a=a;this.b=new bvc}function pob(){pob=gW;nob=new sob;oob=new tob}function Nob(){Nob=gW;Lob=new Qob;Mob=new Sob}function Wob(){Wob=gW;Uob=new Zob;Vob=new $ob}function XBb(){XBb=gW;WBb=new ZBb;VBb=new _Bb}function dPb(a){this.b=a;this.a=(Zn(),new hr)}function WJb(a){var b;this.a=(Cn(),b=a,Jp(b))}function sGb(a){var b;b=a.n;a.n=null;return b}function fbb(a,b){_ab();!!b&&(a.k=b);return a}function qPb(a,b){return b>=0&&b0){ulc(a.i,10);++a.k;a.n=0}}function z1(a){a.P=0;G4(a.L);u1(a);A1(a);a.P=.15}function CD(a){return Array.isArray(a)&&a.Pj===lW}function h1b(a){return a.j==(m6b(),s5b)||a.j==p3b}function HZb(a){return(a.a&512)!=0||(a.a&EFc)!=0}function ydc(a,b){return b?b:cdc(a.e,(Mcc(),Icc))}function Rcc(a,b,c){return Qcc(a,b,Ycc(a,true,c))}function Tcc(a,b,c){return Scc(a,b,Ycc(a,true,c))}function Sec(a,b){var c;c=Xqc(new uvc); -Tec(a,b,c)}function k_(a,b){var c;c=Y0b(b,81);!!c&&a.Ag(c,4)}function $pc(a,b){var c;for(c=0;c0?1:0}function fmc(a,b){return gmc(a,b,a.e)||gmc(a,b,a.d)}function bfc(a,b){a.d=b;qE(b,47)?a.c=b:a.c=null}function bqc(a,b){var c;for(c=0;c>1;return b?-a:a}function oe(a){var b,c;b=a.Nj;c=b.f;return c==_S?b:c}function uAc(a){this.c= -a;this.e=true;this.a=new qpc}function oyc(a){this.b=null;this.a=(Htc(),!a?Etc:a)}function spc(a){cpc(this);JAc(this.a,0,a.toArray())}function _r(a,b){Zn();$r.call(this,a,vo(new tqc(b)))}function bBc(a,b){if(a==null)throw HV(new Akc(b));}function _hb(a,b,c){Vhb();return zib(a,new Mjb(b),c)}function Xib(a,b,c){Vhb();return zib(a,new Jjb(b),c)}function Ltb(a,b,c){Jtb.call(this,a,b,(Ztb(),Ytb),c)}function Zk(a,b,c){this.a=a;ik.call(this,a,b,c,null)}function Csb(a){vsb();xsb.call(this,wFc,null,a,null)} -function Qub(){kY.call(this);this.a=K6((E6(),false))}function vXb(a){throw HV(new FXb(flc(a.a,a.d,a.b)));}function oeb(a,b){return b==a.c?a:new peb(a.a,b,a.b)}function gEb(a,b,c,d){return N0b(new b2b(b,c,d),a.t)}function xeb(a,b,c){return c?"{"+Aeb(a,c.a)+"} "+b:b}function A8b(a){C6b();return!a?null:qE(a,47)?a:null}function a1(a){return!!a.G&&a.I.a.length>1?a.G:null}function tgc(a){return a.d.$e(a.e.size(),a.d.size())}function emc(a,b){return vE(b)?jmc(a,b):!!Bvc(a.d,b)}function IX(a,b){b.j!=a&&gY(hDc+ -a+" but was "+b.j,b)}function pEb(a,b){a.i&&a.d.kh(DHc,a.r,b.b.b+1,b.b.a)}function Keb(a,b){epc(a.d,b);Qd(!b.g||b.g==a);b.g=a}function Mpc(a){eBc(a.b!=-1);kpc(a.c,a.a=a.b);a.b=-1}function Uac(a){this.b=new Z1b((m6b(),w5b));this.a=a}function omc(a){a.d=new Evc(a);a.e=new Wvc(a);Xtc(a)}function Ioc(a){var b;b=Eoc(a);$Ac(b!=null);return b}function K6(a){var b;b=(xW(),new Dfb);b.d=a;return b}function juc(a,b,c){var d;d=a.b[b];a.b[b]=c;return d}function D$b(a,b){var c;c=(Rd(b>=0,bKc),1<0}function Xf(a){var b;b=a.c;return!b?a.c=new Yg(a):b}function Yf(a){var b;b=a.e;return!b?a.e=new lh(a):b}function my(a){if(qE(a,300))return a;return new Ny(a)}function mv(a,b){var c;c=a.a.size();be(b,c);return c-b}function lvc(a){this.a=new cvc(a.a.size());Sc(this,a)}function lfb(a){this.b=new qpc;this.c=new qpc;this.a=a}function xlb(a){this.f=a;this.d=new qpc;this.c=new jvc}function Pcb(a,b){this.b=a;this.j= -b;this.p=(Ycb(),Wcb)}function dfb(a,b,c){afb.call(this,a);this.b=b;this.a=c}function Z2b(a,b,c,d){$1b.call(this,a,c,d);X2b(this,b)}function Jtb(a,b,c,d){Ktb.call(this,null,a,b,c,d,null)}function t9b(a,b,c,d,e){C6b();u9b.call(this,a,b,c,d,e)}function dfc(a,b,c){z8b.call(this,a,c);bfc(this,Zd(b))}function Jc(){wc.call(this,"CharMatcher.whitespace()")}function Pr(){Qr.call(this,bx(Tw((Em(8,zCc),new Xw))))}function Zn(){Zn=gW;Cn();Yn=new Zx((Sqc(),Sqc(),Qqc))}function cy(){cy=gW;Cn();by=new dy((Sqc(), -Sqc(),Rqc))}function ot(){jt();return DD(yD(XG,1),ZBc,307,0,[it])}function wr(a,b){return Dn(Qo(a.a)).getAtIndex(b).de()}function klc(a,b){return vE(a)?a.charCodeAt(b):a.sj(b)}function hmc(a,b){return vE(b)?imc(a,b):Oi(Bvc(a.d,b))}function mPb(a,b,c){return new YKb(b,iMb(a.e.b,c,a.d))}function tlc(a,b){return a.a+=String.fromCharCode(b),a}function ulc(a,b){a.a+=String.fromCharCode(b);return a}function yic(a,b){xic(a,b,b+1,String.fromCharCode(32))}function Oqc(a,b){var c;c=b+1;c>a.length&&(a.length= -c)}function t8b(a){var b;b=new qzc;Sec(a.ej(),b);return b}function Aoc(a){var b;b=a.a[a.b];$Ac(b!=null);return b}function ul(a){var b;b=a.a.Xd().Pd();return new Cl(a,b)}function YW(a,b){var c;c=T0b(a);b!=c&&gY(hDc+b+iDc+c,a)}function Ld(a,b){return wE(a)===wE(b)||a!=null&&wb(a,b)}function $f(a,b){return a.b.containsKey(b)?_f(a,b):null}function W1(a,b){!a.L&&r1(a,new w3);return X1(a,b,true)}function Aeb(a,b){var c;c=new Flc;veb(a,c,b);return c.a}function aBc(a){if(a==null)throw HV(new ykc);return a} -function Zwc(){this.a=new lxc;this.c=new lxc;Ywc(this)}function Id(a){this.b=new Kd;this.c=this.b;this.a=Zd(a)}function Qt(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function js(a,b){is();sp.call(this,a);this.a=b;this.c=a}function $Kb(a,b){YKb.call(this,(nSb(),XQb),a);this.a=b}function xSb(a,b){vSb.call(this,(YVb(),jUb),a);this.a=b}function ySb(a,b){vSb.call(this,(YVb(),kUb),a);this.a=b}function zSb(a,b){vSb.call(this,(YVb(),lUb),a);this.a=b}function ASb(a,b){vSb.call(this,(YVb(),mUb),a);this.a= -b}function BSb(a,b){vSb.call(this,(YVb(),nUb),a);this.a=b}function CSb(a,b){vSb.call(this,(YVb(),oUb),a);this.a=b}function DSb(a,b){vSb.call(this,(YVb(),pUb),a);this.a=b}function FSb(a,b){vSb.call(this,(YVb(),rUb),a);this.a=b}function GSb(a,b){vSb.call(this,(YVb(),sUb),a);this.a=b}function MSb(a,b){vSb.call(this,(YVb(),yUb),a);this.a=b}function dTb(a,b){vSb.call(this,(YVb(),IUb),a);this.a=b}function fTb(a,b){vSb.call(this,(YVb(),KUb),a);this.a=b}function mTb(a,b){vSb.call(this,(YVb(),RUb),a);this.a= -b}function nTb(a,b){vSb.call(this,(YVb(),SUb),a);this.a=b}function rTb(a,b){vSb.call(this,(YVb(),TUb),a);this.a=b}function NTb(a,b){vSb.call(this,(YVb(),ZUb),a);this.a=b}function PTb(a,b){vSb.call(this,(YVb(),_Ub),a);this.a=b}function WTb(a,b){vSb.call(this,(YVb(),gVb),a);this.a=b}function aUb(a,b){vSb.call(this,(YVb(),nVb),a);this.a=b}function eUb(a,b){vSb.call(this,(YVb(),rVb),a);this.a=b}function fUb(a,b){vSb.call(this,(YVb(),sVb),a);this.a=b}function gUb(a,b){vSb.call(this,(YVb(),tVb),a);this.a= -b}function iUb(a,b){vSb.call(this,(YVb(),vVb),a);this.a=b}function bWb(a,b){vSb.call(this,(YVb(),yVb),a);this.a=b}function cWb(a,b){vSb.call(this,(YVb(),zVb),a);this.a=b}function dWb(a,b){vSb.call(this,(YVb(),AVb),a);this.a=b}function fWb(a,b){vSb.call(this,(YVb(),CVb),a);this.a=b}function jWb(a,b){vSb.call(this,(YVb(),GVb),a);this.a=b}function kWb(a,b){vSb.call(this,(YVb(),HVb),a);this.a=b}function mWb(a,b){vSb.call(this,(YVb(),JVb),a);this.a=b}function pWb(a,b){vSb.call(this,(YVb(),NVb),a);this.a= -b}function qWb(a,b){vSb.call(this,(YVb(),OVb),a);this.a=b}function tWb(a,b){vSb.call(this,(YVb(),QVb),a);this.a=b}function xWb(a,b){vSb.call(this,(YVb(),UVb),a);this.a=b}function Vqb(){Lkb.call(this,"Es6RewriteDestructuring")}function _qb(){Lkb.call(this,"Es6RewriteArrowFunction")}function wA(){vA.call(this,new kA("base16()",glc(NBc)))}function w5(a){t5();this.a=null;this.b=(Cn(),new Xy(a))}function Sab(a,b,c){this.a=a;this.c=b;this.d=c;de(true)}function P6b(a,b){this.A=a;this.B=!b?Zcc(a,null,null): -b}function Lwc(a){this.c=a;this.b=a.a.b.a;Wtc(a.a.c,this)}function ff(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function Ks(a,b){this.a=a;this.b=b;this.c=(Db(),Db(),Cb)}function zt(a,b,c,d){Wq.call(this,a,b);this.d=c;this.a=d}function Pyc(a,b){return dyc(a.c,a.f,b,a.b,a.a,a.e,a.d)}function av(a,b){return qE(a,65)?new Ov(a,b):new cw(a,b)}function ajb(a){Vhb();return a.j!=(m6b(),c5b)&&cjb(a.e)}function Mib(a){Vhb();return a.j==(m6b(),v4b)||a.j==u4b}function Oib(a){Vhb();return a.j==(m6b(),C4b)|| -a.j==B4b}function Aw(){yw();return DD(yD(xH,1),ZBc,191,0,[ww,xw])}function w0(){u0();return DD(yD(OJ,1),ZBc,270,0,[s0,t0])}function Po(){Po=gW;Oo=new ay(DD(yD(WU,1),tCc,48,0,[]))}function K3(){I3();return DD(yD(bK,1),ZBc,259,0,[G3,H3])}function guc(a){Uc(a.a);a.b=AD(nT,UBc,1,a.b.length,5,1)}function Bib(a){Vhb();Qd(a.j==(m6b(),a6b));return e1b(a)}function lv(a,b){var c;c=a.a.size();Yd(b,c);return c-1-b}function ajc(a){var b;b=a-10;return(b<0?48+a:97+b)&IBc}function llc(a){return String.fromCharCode.apply(null, -a)}function ey(a){Sp.call(this,a);this.a=(Sqc(),new Btc(a))}function T4(a){S4.call(this,(Zn(),Zd(a),go(new tqc(a))))}function Gkb(){l2.call(this,"garbageCollectChecks",true)}function P_(a,b,c,d){H_.call(this,c,d);this.a=a;this.c=b}function v2(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function xC(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function iQb(a,b){this.c=a;this.a=b;this.b=new jMb(this)}function xDb(a,b,c,d){wDb.call(this,a,(CDb(),BDb),b,c,d)}function Nnb(a,b,c,d,e){M1(a.a,Knb(a,b,c,d, -e,(tZ(),qZ)))}function Onb(a,b,c,d,e){M1(a.a,Knb(a,b,c,d,e,(tZ(),sZ)))}function X8b(a,b,c,d){return x7b(a,b,c,d)||a.d.Pi(b,c,d)}function hEb(a,b,c,d,e){return N0b(new c2b(b,c,d,e),a.t)}function kEb(a,b){return N0b(new Y2b((m6b(),Q5b),b),a.t)}function DYb(a){de(rYb(a));return new _1b((m6b(),H5b),a)}function KYb(a){de(rYb(a));return new _1b((m6b(),$5b),a)}function OYb(a){de(rYb(a));return new _1b((m6b(),l6b),a)}function $tb(){Ztb();return DD(yD(YN,1),ZBc,265,0,[Ytb])}function Zqc(a){Sqc();return!a? -(Htc(),Htc(),Gtc):a.Te()}function Qcc(a,b,c){return Iac(Mac(Lac(new Pac(a),c),b))}function kmc(a,b,c){return vE(b)?lmc(a,b,c):Cvc(a.d,b,c)}function iuc(a,b){return Ouc(a.a,b)?juc(a,b.f,null):null}function vxc(a,b){return wE(a)===wE(b)||a!=null&&wb(a,b)}function oSb(a){return a.a==null?(ZLb(),rp(ALb,a)).b:a.a}function Esc(a){!a.b&&(a.b=new gtc(a.d.Xd()));return a.b}function Wcc(a,b){var c;c=new Uac(a);Qac(c,b);return c.b}function AGb(a,b){a.n=!a.n?WHb(a.i):sGb(a);return a.n==b}function g6(a,b){var c; -c=new x5(a,b);lmc(d6,a,c);return c}function h6(a,b){var c;c=new y5(a,b);lmc(d6,a,c);return c}function al(a){var b;b=a.c;!b&&(a.c=b=new $l(a));return b}function bl(a){var b;b=a.d;!b&&(a.d=b=new cm(a));return b}function Uc(a){var b;for(b=a.Pd();b.Jd();){b.Kd();b.Ld()}}function U2(a){if(!a.a||!a.a.Kg())return;a.a.Kg().c=true}function Kk(a){fk(a.d);if(a.d.d!=a.c)throw HV(new Ytc);}function $oc(a){this.d=a;this.a=this.d.b;this.b=this.d.c}function GWb(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function $Lb(a, -b,c,d){qe.call(this,a,b);this.b=c;this.a=d}function UKb(a,b,c,d){qe.call(this,a,b);this.a=c;this.b=d}function Nec(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function E_(a){this.c=new w3;this.a=new F_(this);this.f=a}function Ikc(a,b,c){this.a=WCc;this.d=a;this.b=b;this.c=c}function xic(a,b,c,d){a.a=flc(a.a,0,b)+(""+d)+elc(a.a,c)}function nIb(a,b,c,d){var e;a.d=true;e=mXb(c,d);a.ji(b,e)}function olc(a,b,c){return vE(a)?a.substr(b,c-b):a.uj(b,c)}function oPb(a){return pPb(a,a.b.b==0?a.d:wPb(a,0).b.b.c)} -function nmc(a,b){return b==null?Dvc(a.d,null):Vvc(a.e,b)}function rt(a){var b;return b=a.g,!b?a.g=new Vj(a,a.c):b}function r6(){r6=gW;q6=new j6(lFc,(tZ(),sZ),new cmc(mFc))}function $gc(){$gc=gW;Xgc=new bhc;Ygc=new fhc;Zgc=new jhc}function Htc(){Htc=gW;Etc=new Jtc;Ftc=new Jtc;Gtc=new Ntc}function jD(){jD=gW;var a,b;b=!oD();a=new wD;iD=b?new pD:a}function I3(){I3=gW;G3=new J3(PEc,0);H3=new J3("CUSTOM",1)}function CA(a,b){a.backingJsObject=b;b!=null&&iBc(b,MCc,a)}function r3(a,b){return PJb(i4(a.Tb), -b)&&!PJb(i4(q3(a)),b)}function z0b(a){if(!a)return new x0b(true);return y0b(a)}function Ieb(a,b,c,d,e,f){return new Deb(a,null,b,c,e,d,f)}function pmb(a,b,c){var d;tmb.call(this,a,b,(d=c,m6b(),d))}function qmb(a,b,c){var d;tmb.call(this,a,b,(d=c,m6b(),d))}function rmb(a,b,c){var d;tmb.call(this,a,b,(d=c,m6b(),d))}function mXb(a,b){var c;c=new lXb;YWb(c,a,b);return c.c.a}function f9(a,b){var c;c=new O9(a);Ihb(a.c,b,c);return c.d}function glb(a){var b;b=new elb;Y$(new q_(b),a,4);return b}function Vwb(a, -b){Zd(b);de(a.n.a.isEmpty());a.n=b;return a}function V_(a,b){if(b||q3(a)==(g4(),a4))return 1;return 0}function q3(a){if(a.Ub==(g4(),f4))return a.Tb;return a.Ub}function fkc(a,b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function Ffb(a,b){BW.call(this,a);Bfb(this);Zd(a);this.a=b}function Gqb(){l2.call(this,"rewriteAsyncFunctions",true)}function $C(a){UC();$wnd.setTimeout(function(){throw a;},0)}function eYb(a){ee(rYb(a),a);return new _1b((m6b(),r4b),a)}function VJb(a,b){return new WJb(gy(a.a,(Cn(),new Xy(b))))} -function M0b(a){return!a.b?(Sqc(),Sqc(),Rqc):new Q2b(a.b)}function vy(a){return Kp(new Npc(Ur(Ur(new Vr,a.a),a.b).a))}function ZV(a,b){return KV(eE(OV(a)?VV(a):a,OV(b)?VV(b):b))}function Hs(a){if(a)return a.isEmpty();return!a.Pd().Jd()}function gk(a){a.b?gk(a.b):a.d.isEmpty()&&a.f.c.remove(a.e)}function Ywc(a){a.a.a=a.c;a.c.b=a.a;a.a.b=a.c.a=null;a.b=0}function Gu(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function luc(a){this.a=Luc(a.a);this.b=FAc(a.b,a.b.length)}function qr(a){this.b=(Em(a, -"initialArraySize"),new rpc(a))}function u3(a){return Qic(Eb((Pic(),h4(q3(a))?true:false)))}function wW(){uW();return DD(yD(rJ,1),ZBc,211,0,[rW,tW,sW])}function PW(){NW();return DD(yD(vJ,1),ZBc,222,0,[LW,MW,KW])}function Q3(){O3();return DD(yD(cK,1),ZBc,215,0,[L3,M3,N3])}function r4(){p4();return DD(yD(gK,1),ZBc,216,0,[m4,o4,n4])}function F4(){D4();return DD(yD(iK,1),ZBc,217,0,[B4,A4,C4])}function vZ(){tZ();return DD(yD(DJ,1),ZBc,218,0,[qZ,sZ,rZ])}function CGb(a,b){return N0b(new $1b(b,a.i.g,VHb(a.i)), -a.k)}function F6b(a,b){return qE(b,23)&&E6b(a,b,0,new sbc(true))}function OWb(a,b){LWb();var c;c=NWb(a);++c.a;c.b=IV(c.b,b)}function S0b(a,b){var c;c=a.b;while(b>0){c=c.d;--b}return c}function T0b(a){var b,c;b=0;for(c=a.b;c;c=c.d)++b;return b}function mhb(a){while(!!a&&a.j!=(m6b(),K5b))a=a.e;return a}function gwb(a){de(!(a==a.a.v||a==a.a.g));return a.i.size()}function Umc(a){$Ac(a.b>0);return a.a.getAtIndex(a.c=--a.b)}function arc(a){Sqc();return qE(a,65)?new xtc(a):new jsc(a)}function dx(a){return new zx(new cvc(jw(a.a.a)), -new _w(a.b))}function jmc(a,b){return b==null?!!Bvc(a.d,null):Svc(a.e,b)}function Hi(a,b){return b===a?"(this Map)":b==null?ABc:kW(b)}function EA(a,b){var c;c=ojc(a.Nj);return b==null?c:c+": "+b}function aC(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function Ihb(a,b,c){var d;d=new Hhb(a,c,new Kab(a));Bhb(d,b)}function DX(a,b,c){var d;zX(c);for(d=c.b;d;d=d.d)CX(a,b,d)}function O0(a){var b;if(a.L.wc){b=X0(a);Rkc(b,a.F)||(a.F=b)}}function Xtc(a){var b,c;c=a;b=c.$modCount|0;c.$modCount=b+1}function rBc(){if(mBc== -256){lBc=nBc;nBc=new ub;mBc=0}++mBc}function Ee(){Ee=gW;Be=new He;Ae=new Ke;Ce=new Ne;De=new Qe}function E6(){E6=gW;A6=new H6;C6=new I6;B6=new J6;D6=new L6}function ws(){ws=gW;Cn();vs=(Mx(),Lx);us=new ey(new szc(vs))}function dbb(a,b,c){_ab();if(!a)return null;return b.hh(c)}function Wec(a){if(!a.a)return Zn(),Zn(),Yn;return a.a.aj()}function Amc(a,b){if(qE(b,48))return Ci(a.a,b);return false}function Dlc(a,b){a.a=flc(a.a,0,b)+""+elc(a.a,b+1);return a}function uuc(a,b){if(qE(b,48))return Ci(a.a,b); -return false}function Isc(a){!a.e&&(a.e=new Rrc(a.d.values()));return a.e}function Gsc(a){!a.c&&(a.c=new atc(a.d.keySet()));return a.c}function Awc(a,b){if(qE(b,48))return Ci(a.a,b);return false}function iW(a){function b(){}b.prototype=a||{};return new b}function Ajc(a){if(a.zj())return null;var b=a.o;return dW[b]}function rob(){pob();return DD(yD($M,1),ZBc,183,0,[nob,oob])}function Pob(){Nob();return DD(yD(fN,1),ZBc,188,0,[Lob,Mob])}function Yob(){Wob();return DD(yD(iN,1),ZBc,187,0,[Uob,Vob])}function zmb(){xmb(); -return DD(yD(IM,1),ZBc,267,0,[wmb,vmb])}function fub(){dub();return DD(yD(ZN,1),ZBc,266,0,[bub,cub])}function mn(a,b){var c;return c=rp(a.a,b),!c?(Zn(),Zn(),Yn):c}function ftc(a,b){var c;for(c=0;c=0,bKc),1<=a.c)throw HV(new uxc);return cr(a,a.b++)}function ns(a){is();return new oyc((qE(a,226)?a:new Sm(a)).Se())}function zs(a,b){ws();Zd(a); -return Zd(a),As(a,new fsc(b.b.Pd()))}function Nc(a,b,c,d){return Oc(a,(Zd(d),new Qmc(new Bd(d,b,c))))}function zB(a,b,c,d){tB.call(this,a);this.c=b;this.d=c;this.b=d}function xsb(a,b,c,d){vsb();this.b=a;this.c=b;this.d=c;this.a=d}function NC(a){LC();JC.call(this,a);this.a="";this.b=a;this.a=""}function Yqb(){Lkb.call(this,"Es6RenameVariablesInParamLists")}function oqb(){Lkb.call(this,"es6ConvertSuperConstructorCalls")}function Avc(a,b){var c;c=a.a.get(b);return c==null?new Array:c}function DAc(a){var b; -b=new CAc;b.a=new $wnd.RegExp(a);return b}function ohb(a){var b;b=Loc(a.n)+a.k.a.length;de(b>0);return b-1}function Ts(a){var b;while(true){b=a.Kd();if(!a.Jd())return b}}function Elb(a){var b;b=a.b.e>a.a;a.a=a.b.b.a;++a.b.b.a;return b}function jX(a){var b;IX((m6b(),q4b),a);for(b=a.b;b;b=b.d)iX(b)}function rX(a){var b;IX((m6b(),K4b),a);for(b=a.b;b;b=b.d)qX(b)}function r0(a,b){Vd(j1b(a),oEc,a);Vd(j1b(b),oEc,b);Z0b(a);Z0b(b)}function iob(a,b){de(b.d==a);de(hwc(a.e,b.b).Cd(b));kwc(a.e,b.b)}function Jhb(a, -b,c,d){var e;e=new Hhb(a,b,new Kab(a));Ghb(e,c,d)}function $2(a,b){return Kp(new Npc(Ur(Ur((Cn(),new Vr),a),b).a))}function EAc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function Nib(a){Vhb();return a.j==(m6b(),K3b)&&!!a.e&&a.e.j==w4b}function jtb(){htb();return DD(yD(PN,1),ZBc,221,0,[gtb,ftb,etb])}function EDb(){CDb();return DD(yD(KO,1),ZBc,224,0,[BDb,zDb,ADb])}function tHb(){rHb();return DD(yD(RO,1),ZBc,244,0,[pHb,qHb,oHb])}function QBb(){OBb();return DD(yD(CO,1),ZBc,247,0,[LBb,MBb,NBb])} -function _vb(){Zvb();return DD(yD(iO,1),ZBc,250,0,[Xvb,Wvb,Yvb])}function kPb(){iPb();return DD(yD(hP,1),ZBc,234,0,[hPb,gPb,fPb])}function $ac(){Yac();return DD(yD(eS,1),ZBc,233,0,[Xac,Vac,Wac])}function Bbc(){zbc();return DD(yD(lS,1),ZBc,229,0,[wbc,xbc,ybc])}function ahc(){$gc();return DD(yD(MS,1),ZBc,155,0,[Xgc,Ygc,Zgc])}function u0(){u0=gW;s0=new v0("INHERITS",0);t0=new v0("MIXIN",1)}function W0b(a,b){var c;c=m1b(a,b);if(!c)return 0;return c.ui()}function rPb(a){if(!qPb(a,a.d))return 0;return Mkc(a.e.a, -a.d++)}function lwb(a){if(a.n.a.isEmpty())return a;return jwb(a,a.a.i)}function AW(a,b){if(!a.d)return b;return(HW(),CW).a+(""+b)+FW.a}function fj(a,b){var c;c=b.de();return new Wq(c,di(a.b,c,b.ee()))}function N4(a,b){var c,d;for(d=b.Pd();d.Jd();){c=d.Kd();M4(a,c)}}function Oy(a,b){Pq.call(this,_qc(Zd(a),Zd(b)));this.b=a;this.c=b}function qnb(a){eeb();this.b=a;heb.call(this,a.a);this.a=new Pwc}function Zx(a){Zn();this.a=(Sqc(),qE(a,65)?new xtc(a):new jsc(a))}function Zfc(a,b,c,d){a.b=false;lmc(a.c, -b,new agc(c,d));return a}function S2(a){var b;if(!a.i){b=a.b.H;a.i=Itb(b,a.f.a)}return a.i}function WV(a){var b;if(OV(a)){b=a;return b==-0?0:b}return bE(a)}function nbb(a,b){var c;c=zbb(b);if(c)return xbb(a,c,b);return 0}function a_(a,b){de(b.j==(m6b(),K3b));a.c.kg();$$(a,b.b);a.c.mg()}function C$(a){if(a.r){a.gg(";");a.wg();a.pg();a.r=false}a.s=true}function T2(a){if(!a.a||!a.a.Kg())return false;return a.a.Kg().c}function Imb(a){Zd(a);this.a=a;this.b=new Moc;uoc(this.b,new Pmb)}function DBb(a,b, -c,d){Qd(!!b);this.c=a;this.d=b;this.b=c;this.a=d}function XOb(a,b,c,d){!b?nIb(a.c,oPb(a.g),c,d):nIb(a.c,b.b.b,c,d)}function yPb(a,b,c){xPb(a,pPb(a,a.b.b==0?a.d:wPb(a,0).b.b.c),b,c)}function iIb(a,b,c){var d;kIb();d=gIb;return new wDb(d,b,hIb,a,c)}function wMb(a,b){if(wPb(a.g,0).c==b)return sMb(a,b);return null}function zlc(a,b,c,d){a.a+=""+flc(b==null?ABc:kW(b),c,d);return a}function qdc(a,b,c){C6b();eac.call(this,a,PFc,b,c,null,true,true)}function hsb(a,b,c){Blc(Blc(Blc(Blc((a.a+="@",a),b)," {"), -c),"}")}function Gxb(a){axb();return nyb(a.a,2,(Cn(),new Xy(a)),null,Zwb)}function z4(){x4();return DD(yD(hK,1),ZBc,162,0,[s4,v4,t4,w4,u4])}function Y3(){W3();return DD(yD(dK,1),ZBc,163,0,[S3,V3,T3,U3,R3])}function JW(){HW();return DD(yD(tJ,1),ZBc,168,0,[DW,GW,EW,CW,FW])}function MWb(){LWb();this.a="Parse Program";this.b=NV(Date.now())}function Aqb(){Lkb.call(this,"Es6RewriteBlockScopedDeclaration")}function Azc(a,b){if(b==null)throw HV(new ykc);return emc(a.a,b)}function Bzc(a,b){if(b==null)throw HV(new ykc); -return hmc(a.a,b)}function Yd(a,b){if(a<0||a>=b)throw HV(new Hic(Nd(a,b)));return a}function ce(a,b,c){if(a<0||bc)throw HV(new Hic(Pd(a,b,c)));}function Vtc(a,b){if(b.$modCount!=a.$modCount)throw HV(new Ytc);}function uoc(a,b){aBc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;zoc(a)}function voc(a,b){aBc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;zoc(a)}function Lpc(a){$Ac(a.a=0)rPb(a)}function OPb(a){while(hQb(qPb(a,a.d)?Mkc(a.e.a,a.d):0)>=0)rPb(a)}function CBb(a){return a.a== -(OBb(),NBb)?a:new DBb(a.c,a.d,a.b,NBb)}function fBb(a){return qBb(null.Rj,a,null,null,null,false,null.Rj)}function lZb(a,b){if(!a.b||!a.b.e)return null;return hwc(a.b.e,b)}function zZb(a,b){if(!a.b||!a.b.j)return null;return hwc(a.b.j,b)}function vZb(a,b){if(!a.d||!a.d.n)return null;return hwc(a.d.n,b)}function Pfc(a,b,c,d,e){if(a.a)return false;return q9b(a,b,c,d,e)}function lyc(a,b){var c;c=1-b;a.a[c]=myc(a.a[c],c);return myc(a,b)}function gMb(a,b){var c;c=Spc(a.a,b);if(c>=0)return c;return-c-2} -function WXb(a){var b;de(sYb(a));b=new _1b((m6b(),K3b),a);return b}function Ckb(a,b,c){var d;d=c.e;de(!!d);de(b1b(d,b));Jhb(a.b,a,b,c)}function Yec(a,b,c){var d;d=a.b.Yd(b);!!d&&Mec(c,d.a);a.b.put(b,c)}function YC(a,b,c){var d;d=WC();try{return VC(a,b,c)}finally{ZC(d)}}function bbb(a,b,c){_ab();M1(a,Heb(b,Zab,DD(yD(sT,1),DBc,2,6,[c])))}function Ykb(a,b,c){uoc(a.f,new dlb(b,c));Rkc(b,AEc)||(a.d.a=false)}function _Fb(a,b){return!b?jEb(a.a,(m6b(),e5b),MIc):CFb(a,b,false)}function JGb(a,b){return b== -(PHb(),IHb)?CGb(a,(m6b(),C5b)):IGb(a,b)}function zPb(a,b,c){oIb(a.c,pPb(a,a.b.b==0?a.d:wPb(a,0).b.b.c),b,c)}function YOb(a,b,c){!b?nIb(a.c,oPb(a.g),RJc,c):nIb(a.c,b.o.b,RJc,c)}function VXb(a,b,c){ee(rYb(b),b);ee(rYb(c),c);return new b2b(a,b,c)}function hMb(a,b){var c;c=gMb(a,b);return new GWb(a.b,b,c,b-a.a[c])}function EZb(a,b){if(!a.d||!a.d.n)return false;return gwc(a.d.n,b)}function RZb(a,b){if(!a.d.q)return false;return ipc(a.d.q,b,0)!=-1}function oXb(a){if(a.b>=a.c)throw HV(vXb(a));return Mkc(a.a, -a.b++)}function A5(a){t5();emc(s5,a)||kmc(s5,a,new w5(a));return hmc(s5,a)}function Y0b(a,b){var c;c=m1b(a,b);if(!c)return null;return c.vi()}function zyc(a){Ayc.call(this,a,(czc(),$yc),null,false,null,false)}function Eyc(a){Fyc.call(this,a,(czc(),$yc),null,false,null,false)}function _ac(a,b,c){t9b.call(this,a,null,null,c,b.B);Zd(b);this.a=b}function _mc(a,b,c){dBc(b,c,a.size());this.c=a;this.a=b;this.b=c-b}function Pmc(a){eBc(a.c!=-1);a.d.removeAtIndex(a.c);a.b=a.c;a.c=-1}function XB(a){tlc(a.b, -34);eC(new gC(a.j),a);tlc(a.b,59);tlc(a.b,34)}function ei(a,b,c,d){return qE(c,65)?new Hk(a,b,c,d):new wk(a,b,c,d)}function e7b(a,b){C6b();return!a||!b?a==b:E6b(a,b,0,new sbc(true))}function cl(a,b){var c;return c=qE(b,203)?al(b):b,al(a).removeAll(c)}function bX(a,b){var c;IX((m6b(),I5b),b);for(c=b.b;c;c=c.d)UX(a,c)}function KX(a,b){var c;IX((m6b(),r5b),b);for(c=b.b;c;c=c.d)LX(a,c)}function gX(a,b){var c;IX((m6b(),j4b),b);for(c=b.b;c;c=c.d)MX(a,c)}function vX(a,b){var c;IX((m6b(),S4b),b);for(c=b.b;c;c= -c.d)uX(a,c)}function GX(a,b){switch(b.j.f){case 29:BX(b);break;case 26:nX(a,b)}}function gkb(a,b){if(!!b.b&&!b.b.d){H0b(b,O0b(b.b,false));O1(a.b,b)}}function hkb(a,b){if(!!b.b&&!b.b.d){H0b(b,O0b(b.b,false));O1(a.b,b)}}function K1(a,b){if(W0b(b,94)!=0)return;y1b(b,a.a);++a.a;Epb(a.b,b)}function YEb(a,b,c){if(c){dFb(a,c,(TKb(),tKb));r1b(b,81,wEb(a.a,c))}}function vbb(a,b,c){return c?Yhb(b,a.b,a.d):(Vhb(),Zhb(b,false,a.a))}function LTb(){JTb();return DD(yD(dQ,1),ZBc,200,0,[GTb,HTb,ITb,FTb])}function Dfb(){xW(); -BW.call(this,null);Bfb(this);this.a=(pob(),nob)}function dnb(a){$mb();enb.call(this,a,lnb(OXb("js/polyfills.txt")))}function hgc(a,b){C6b();cfc.call(this,a,cdc(a,(Mcc(),Icc)));this.a=b}function Vmc(a,b){this.a=a;Qmc.call(this,a);cBc(b,a.size());this.b=b}function $Ib(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function Gvc(a){this.e=a;this.b=this.e.a.entries();this.a=new Array}function j3(a){this.a=new nyc;this.c=new qpc;this.d=new qpc;this.b=a}function AYb(a){de(a.j==(m6b(),e5b)||a.j== -F5b);return new _1b(w5b,a)}function Omc(a){$Ac(a.bb)throw HV(new Hic(Od(a,b,XBc)));return a} -function go(a){Zn();var b;if(qE(a,68)){b=a;return b.We()}return eo(a)}function hAb(a){if(a.b.d.d.isEmpty())return null.Rj;return null.Qj()}function xZb(a){if(!a.d||!a.d.q)return Zn(),Zn(),Yn;return go(a.d.q)}function BZb(a){if(!a.d||!a.d.s)return Po(),Po(),Oo;return Xo(a.d.s)}function UZb(a){if(!a.c)return false;!a.b&&(a.b=new y$b);return true}function U1b(a,b){var c;T1b(a,b);for(c=a.b;c;c=c.d)U1b(c,b);return a}function W1b(a,b){var c;V1b(a,b);for(c=a.b;c;c=c.d)W1b(c,b);return a}function Y1b(a,b){var c; -X1b(a,b);for(c=a.b;c;c=c.d)Y1b(c,b);return a}function qbb(a,b){var c,d;d=zbb(b);de(!!d);c=d.e;rbb(a,d,b);O1(a.a,c)}function ddc(a,b){var c;c=imc(a.n,b);if(c)return c;return imc(a.i,b)}function Luc(a){var b;b=FAc(a.b,a.b.length);return new Quc(a.a,b,a.c)}function NAc(a,b){var c;c=window.console[a];c.call(window.console,b)}function s8b(a,b,c,d){var e;e=a.mj(b,c,false,d);jdc(a.A,b,a);return e}function Jgc(a,b){return!!b.Wi()&&E6b(a.d,b.Wi().d,0,new sbc(true))}function Fs(a,b){var c;Zd(a);return Ss((c= -a.a.Xd().Pd(),new mnc(c)),b)}function Xxb(a,b){axb();return 0==a.Eh()||0==b.Eh()||0!=oyb(a,b).Eh()}function gzc(){czc();return DD(yD(jV,1),ZBc,147,0,[$yc,_yc,azc,bzc])}function Rzc(){Rzc=gW;Nzc=new Vzc;Ozc=new Yzc;Pzc=new _zc;Qzc=new cAc}function tZ(){tZ=gW;qZ=new uZ(dDc,0);sZ=new uZ(eDc,1);rZ=new uZ(fDc,2)}function Wt(a,b){var c;c=arc($u(new Nu(a,b)));Ps(new Nu(a,b));return c}function m_(a,b){if(b.j==(m6b(),Q3b))return m_(a,b.b);return tjb(b.j)}function $s(a){var b;Zd(a);if(qE(a,113)){b=a;return b}return new _s(a)} -function n7(a,b){var c;a.a=false;c=new q7(a);Ihb(a.b.a,b,c);return a.a}function y5(a,b){t5();var c;this.a=a;this.b=(Cn(),c=new tqc(b),Jp(c))}function mf(a,b,c){this.a=c;this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function IC(a){AA(this);this.e=!a?null:EA(a,a.xf());BA(this);this.yf()}function mZb(a){if(!a.d||!a.d.e)return Zn(),Zn(),Yn;return arc(a.d.e)}function oZb(a){if(!a.d||!a.d.f)return Zn(),Zn(),Yn;return arc(a.d.f)}function yZb(a){if(!a.d||!a.d.r)return Zn(),Zn(),Yn;return arc(a.d.r)}function FWb(a){if(!a.d)return""; -return Gs(af(gf(new ic(47)),a.d.c))}function ZAc(a){if(a<0)throw HV(new xkc("Negative array size: "+a));}function E1(a){if(a.L.cd){Z1(a);r3(a.L,(OJb(),GJb))&&Y1(a)}else P0(a)}function MPb(a){while($ic(qPb(a,a.d)?Mkc(a.e.a,a.d):0,16)>=0)rPb(a)}function _cc(a,b){return gwc(a.c,b)?hwc(a.c,b).values():(Zn(),Zn(),Yn)}function K6b(a){return a.Ji()||a.Hi()||a.Ii()||cdc(a.A,(Mcc(),$bc))==a}function l_(a,b){if(Y0b(b,78)){w$(a.c,":");a.c.vg();a.Ag(Y0b(b,78),4)}}function ci(a,b){var c,d;c=pw(a.c,b);if(c){d= -c.size();c.clear();a.d-=d}}function Ur(a,b){var c;if(b){c=b;a.a.a.length+c.size()}Vq(a,b);return a}function Yuc(a){$Ac(a.a=0&&(a[b]|0)==0;--b);return b}function $qc(a){Sqc();var b;b=new kvc(1);b.a.put(a,b);return new atc(b)}function axb(){axb=gW;$wb=(Cn(),cy(),by);Zwb=(null,by);_wb=new Qc("|")} -function xmb(){xmb=gW;wmb=new ymb(fDc,0);vmb=new ymb("ALL_UNQUOTED",1)}function iYb(a,b){de(rYb(a));de(rYb(b));return new b2b((m6b(),B4b),a,b)}function l2b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|aDc:a<<12|b&aDc}function gxb(a){return a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()):null}function gbb(a){this.c=rf(new lbb(this));this.b=a;this.a=(uW(),sW)==a.J}function lwc(){bvc.call(this);ewc(this);this.b.b=this.b;this.b.a=this.b}function Yvc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()} -function Dy(a,b){this.c=a;this.d=b;this.a=this.c.Pd();this.b=this.d.Pd()}function Nu(a,b){var c;this.f=a;this.b=b;c=hmc(a.b,b);this.c=!c?null:c.b}function Uwc(a,b,c,d){var e;e=new lxc;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.b}function blc(a,b,c){var d;c=plc(c);d=new RegExp(b);return a.replace(d,c)}function aX(a,b,c){var d;IX((m6b(),T3b),b);for(d=b.b;d;d=d.d)_W(a,d,c)}function or(a,b){var c,d;for(d=b.Pd();d.Jd();){c=d.Kd();nr(a,c)}return a}function BA(a){if(a.g){a.backingJsObject!==LCc&&a.yf();a.f=null}return a} -function Ob(a){a.i=3;a.g=kf(a);if(a.i!=2){a.i=0;return true}return false}function Oxc(a){$Ac(a.a=0;--c)if(vxc(b,a.a[c]))return c;return-1}function mpc(a,b,c){var d;d=(_Ac(b,a.a.length),a.a[b]);a.a[b]=c;return d}function Vpc(a,b){var c,d;c=(d=a.slice(0, -b),ED(d,a));c.length=b;return c}function hA(a,b){var c;if(qE(b,235)){c=b;return Xpc(a.c,c.c)}return false}function rB(a,b){if(GB(a.a)&&IB(a.a)==b){HB(a.a);return true}return false}function w1(a){a.L.rd!=(x4(),u4)&&!!a.W&&Ykb(a.W,AEc,true);return new Ppb}function GD(a){var b,c,d;b=a&XCc;c=a>>22&XCc;d=a<0?YCc:0;return ID(b,c,d)}function Ilb(a,b){var c;Hlb(a,b);for(c=b.b;c;c=c.d){de(c.e==b);Ilb(a,c)}}function jYb(a,b){de(rYb(a));de(b.j==(m6b(),Q5b));return new b2b(C4b,a,b)}function mYb(a,b){de(rYb(a)); -de(b.j==(m6b(),K3b));return new b2b(G4b,a,b)}function NYb(a,b){de(b.j==(m6b(),K3b));de(rYb(a));return new b2b(j6b,a,b)}function mjb(a){Vhb();return T1b((ee(rYb(a),a),new _1b((m6b(),r4b),a)),a)}function fxb(a){return a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()).d:null}function Kjc(a){return Rkc(vBc,typeof a)||uE(a,$wnd.java.lang.Number$impl)}function S2b(a){var b;if(!a.a)throw HV(new uxc);b=a.a;a.a=a.a.d;return b}function Os(a){if(a<0)throw HV(new Hic(ACc+a+") must not be negative"));}function bz(a){this.d= -a;this.c=new Lwc(new Cwc(this.d.a));this.a=(jt(),it)}function AAc(a,b){this.b=a;this.c=new $wnd.RegExp(a.source,"g");this.a=b}function Zxc(a,b){this.b=RBc;this.d=a;this.e=b;this.c=this.d+(""+this.e)}function ujc(a,b,c){var d;d=sjc(a);Gjc(a,d);d.i=c?8:0;d.f=b;d.e=c;return d}function xY(a,b){var c;Vf(a.a);a.c=a.b.a;c=O0b(b,false);vY(a,b,c);return a}function ky(a,b){var c;c=false;while(b.Jd())c=c|a.remove(b.Kd());return c}function Nkc(a,b){var c,d;c=(aBc(a),a);d=(aBc(b),b);return c==d?0:c=(oAc(a),800)&&(d=new kAc(b,c),lAc(a,d))}function Ph(a,b,c){var d;Zd(c);d=c;return!d.isEmpty()&&_h(a,b).addAll(d)}function cGb(a,b,c){return!c||c.isEmpty()?eEb(a.a,(m6b(),h4b)):bGb(a,b,c)}function iHb(a,b,c){return!c?null:N0b(new a2b(b,c,g2b(c.i),f2b(c.i)),a.k)}function w$b(a,b){if(a)return b?new B0b(O0b(a.a,false),a.b):a;return null}function Z9b(a,b){if(Rkc(FDc,b)){Y9b(a);return a.i}else return Xec(a.u,b)}function vYb(a){ie(Ukc(a,mlc(46))==-1,DDc,a);return new Y2b((m6b(),e5b),a)} -function hwc(a,b){var c;c=hmc(a.c,b);if(c){jwc(a,c);return c.e}return null}function kpc(a,b){var c;c=(_Ac(b,a.a.length),a.a[b]);KAc(a.a,b,1);return c}function Yxc(a,b){!a.a?a.a=new Ilc(a.d):Blc(a.a,a.b);ylc(a.a,b);return a}function UB(a,b,c){c||(a.a+=",\n",a);a.a+='"';a.a+=""+b;a.a+='"';a.a+=":"}function fsb(a,b,c){r_.call(this,a,b);Zd(c);this.b=c;this.a=new Beb(false)}function ik(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function Vfb(){Ufb(this);this.i=null;this.e=true;this.g= -new Jq;this.f=this}function SA(a){if(a<=0)throw HV(new afb("x ("+a+") must be > 0"));return a}function qs(a,b){var c,d;for(d=new Jmc(b.a);d.b;){c=Imc(d);nr(a,c)}return a}function VW(a,b){var c;IX((m6b(),K3b),b);for(c=b.b;c;c=c.d)WX(a,c,false)}function WW(a,b){var c;IX((m6b(),N3b),b);zX(b);for(c=b.b;c;c=c.d)kX(a,c)}function HX(a,b){var c;IX((m6b(),k5b),b);zX(b);for(c=b.b;c;c=c.d)kX(a,c)}function l9(a,b,c,d){var e;b.j==c&&d.add(b);for(e=b.b;e;e=e.d)l9(a,e,c,d)}function sFb(a,b){var c;c=eEb(a.a,(m6b(), -r4b));H0b(c,wEb(a.a,b.a));return c}function twb(a,b){return new uwb(a.a,a.i,a.e,a.j,b,a.d,a.g,a.f,a.n,a.c,a.b)}function bjb(a){Vhb();return a.j==(m6b(),I5b)||a.j==K5b||a.j==K3b||a.j==c5b}function wsb(a){if(!a.c)return false;return W0b(a.c,65)!=0||W0b(a.c,43)!=0}function qB(a){var b;if(!GB(a.a))return true;b=IB(a.a);return b==59||b==44}function h4(a){switch(a.f){case 0:case 1:return false;default:return true}}function UXb(a,b){ee(l1b(a),a);ee(rYb(b),b);return new b2b((m6b(),r3b),a,b)}function aYb(a, -b){ee(rYb(a),a);ee(rYb(b),b);return new b2b((m6b(),W3b),a,b)}function P1(a,b){$d(b,"the error manager cannot be null");a.j=new Cpb(b)}function N0b(a,b){ee(!a.g,"Node has existing properties.");a.g=b.g;return a}function Tac(a,b){var c;c=new Y2b((m6b(),e5b),"");c.k=b;H0b(a.b,c);return c}function t1b(a){var b,c;c=a.b;for(b=a.b;b;b=b.d)b.e=null;a.b=null;return c}function B1b(a){var b;b=v1b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new B2b(67,1,a.g)}function G1b(a){var b;b=v1b(a,a.g,37);b!=a.g&&(a.g=b);a.g=new B2b(37, -1,a.g)}function O1b(a){var b;b=v1b(a,a.g,30);b!=a.g&&(a.g=b);a.g=new B2b(30,1,a.g)}function Vxc(a,b){var c;c=GXb(a.a,b);if(c==null)throw HV(new txc);return c}function rgc(a,b){var c;c=sgc(a,b);return c==-1?cdc(a.b,(Mcc(),Icc)):a.c[c]}function Knc(a,b){var c,d;c=b.de();d=a.Ij(c);return!!d&&vxc(d.ee(),b.ee())}function Vec(a){var b;if(!a.a)return null;b=a.a.bj();return!b?null:b.ej()}function rpc(a){cpc(this);WAc(a>=0,"Initial capacity must not be negative")}function fBc(a){if(!a)throw HV(new Ujc("Unable to add element to queue")); -}function cBc(a,b){if(a<0||a>b)throw HV(new Hic("Index: "+a+", Size: "+b));}function gBc(a,b,c){if(a<0||b>c||b=b)throw HV(new Hic("Index: "+a+ -", Size: "+b));}function ESb(a,b,c,d){vSb.call(this,(YVb(),qUb),a);this.a=b;this.b=c;this.c=d}function cTb(a,b,c,d){vSb.call(this,(YVb(),HUb),a);this.a=b;this.b=c;this.c=d}function aTb(a,b,c,d){vSb.call(this,(YVb(),FUb),a);this.a=b;this.c=c;this.b=d}function QTb(a,b,c,d){vSb.call(this,(YVb(),aVb),a);this.a=b;this.c=c;this.b=d}function nWb(a,b,c,d){vSb.call(this,(YVb(),KVb),a);this.a=b;this.b=c;this.c=d}function uWb(a,b,c,d){vSb.call(this,(YVb(),RVb),a);this.b=b;this.c=c;this.a=d}function wWb(a,b, -c,d){vSb.call(this,(YVb(),SVb),a);this.c=b;this.a=c;this.b=d}function $Sb(a,b,c,d){vSb.call(this,(YVb(),DUb),a);this.c=b;this.b=c;this.a=d}function oTb(a,b,c,d){vSb.call(this,(YVb(),UUb),a);this.c=b;this.b=c;this.a=d}function pTb(a,b,c,d){vSb.call(this,(YVb(),VUb),a);this.c=b;this.b=c;this.a=d}function Eeb(a,b,c,d){Deb.call(this,a,b,b?g2b(b.i):-1,b?f2b(b.i):-1,c,null,d)}function IYb(a,b){var c;de(rYb(b));c=new Y2b((m6b(),R5b),a);I0b(c,b);return c}function q_b(a){if(GZb(a.a))return false;else{XZb(a.a); -a.e=true;return true}}function S_b(a){if(MZb(a.a))return false;else{g$b(a.a);a.e=true;return true}}function T_b(a){if(NZb(a.a))return false;else{h$b(a.a);a.e=true;return true}}function V_b(a){if(OZb(a.a))return false;else{j$b(a.a);a.e=true;return true}}function d0b(a){if(PZb(a.a))return false;else{m$b(a.a);a.e=true;return true}}function e0b(a){if(QZb(a.a))return false;else{n$b(a.a);a.e=true;return true}}function u0b(a){if(TZb(a.a))return false;else{s$b(a.a);a.e=true;return true}}function A_b(a,b){if(!!b&& -TYb(a.a,b)){a.e=true;return true}else return false}function G_b(a,b){if(!!b&&UYb(a.a,b)){a.e=true;return true}else return false}function b1b(a,b){var c;for(c=a.b;c;c=c.d)if(b==c)return true;return false}function dj(a,b){var c,d;c=ow(a.a,b);if(!c)return null;d=b;return di(a.b,d,c)}function Fd(a,b,c){var d,e;d=(e=new Kd,a.c=a.c.b=e,e);d.c=c;d.a=Zd(b);return a}function Jwc(a){Vtc(a.c.a.c,a);$Ac(a.b!=a.c.a.b);a.a=a.b;a.b=a.b.a;return a.a}function Tyb(a){var b;Zd(a.a);qE(a.a,105)||(a.a=(Cn(),b=a.a,Jp(b))); -return a.a}function Uyb(a){var b;Zd(a.c);qE(a.c,105)||(a.c=(Cn(),b=a.c,Jp(b)));return a.c}function aGb(a,b){var c;c=jEb(a.a,(m6b(),U4b),b.a);uEb(c,b.b.b,b.b.a);return c}function ED(a,b){zD(b)!=10&&DD(yb(b),b.Oj,b.__elementTypeId$,zD(b),a);return a}function gib(a){Vhb();while(!!a&&!(a.j==(m6b(),K5b)||a.j==w4b))a=a.e;return a}function f_b(a){return a.e&&((a.a.a&4096)!=0||(a.a.a&yEc)!=0||(a.a.a&zEc)!=0)}function tE(a){return a!=null&&(typeof a===tBc||typeof a===wBc)&&!(a.Pj===lW)}function Ybb(a){this.c= -new ecb(this);this.a=a;this.b=!a.n?new Pwc:new Rwc(a.n)}function czc(){czc=gW;$yc=new dzc("All",0);_yc=new hzc;azc=new jzc;bzc=new mzc}function D4(){D4=gW;B4=new E4(fDc,0);A4=new E4("CHECK",1);C4=new E4("STRIP",2)}function L6b(a,b,c){var d;d=c?new sbc(true):new sbc(false);return E6b(a,b,0,d)}function Czc(a,b,c){if(b==null||c==null)throw HV(new ykc);return kmc(a.a,b,c)}function Xqc(a){Sqc();WAc(a.d.c+a.e.c==0,"map is not empty");return new Arc(a)}function fwb(a){Qd(!(a==a.a.v||a==a.a.g));return a.j? -yBc:a.i.size()+a.e.size()}function spb(a){if(a.length<=100)return a;return flc(a,tpb(a,0),tpb(a,97))+SDc}function gQb(a){switch(a){case 48:return 0;case 49:return 1;default:return-1}}function Jh(a){var b;if(!Ih(a))throw HV(new uxc);a.f=1;b=a.e;a.e=null;return b}function Nb(a){var b;if(!Mb(a))throw HV(new uxc);a.i=1;b=a.g;a.g=null;return b}function uYb(a){var b;de(a.j==(m6b(),w4b));b=new Y2b(_4b,HFc);H0b(b,a);return b}function Xx(a,b){var c,d,e;e=0;for(d=a.Pd();d.Jd();){c=d.Kd();b[e++]=c}return b} -function P7(a,b){while(wE(Zd(a.e))!==wE(b))a=Zd((Vhb(),hib(a.e,Uhb)));return a}function t0b(a,b){if(!a.a.j){a.e=true;r$b(a.a,b);return true}else return false}function kw(a,b){if(!qE(b,48))return false;return a.contains((Zd(b),new tw(b)))}function _u(a){return qE(a,116)?_n(a):qE(a,166)?a.a:qE(a,65)?new yv(a):new nv(a)}function zD(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function Ecb(a,b,c,d){var e,f;f=Bcb(a,c,true);Mcb(f,new _cb(b,(e=d,++a.a.b,e)))}function dHb(a,b,c,d, -e){var f,g;if(d){g=a.i.g;f=VHb(a.i);j_b(a.e,d,b,c,g,f,e)}}function gqc(a,b,c,d){var e;d=(Htc(),!d?Etc:d);e=a.slice(b,c);hqc(e,a,b,c,-b,d)}function Wd(a,b,c,d){if(!a)throw HV(new afb(me(b,DD(yD(nT,1),UBc,1,5,[c,d]))));}function ke(a,b,c,d){if(!a)throw HV(new Ujc(me(b,DD(yD(nT,1),UBc,1,5,[c,d]))));}function VZb(a,b){if(b.d){!a.d&&(a.d=new E$b);a.d.o|=(!b.d?null:ikc(b.d.o)).a}}function rGb(a,b){var c;return!b?null:new B0b(b,(c=Y0b(a.k,51),!c?null:c.Hg()))}function kdb(){idb();return DD(yD(zL,1),ZBc, -148,0,[gdb,hdb,fdb,bdb,edb,cdb,ddb])}function ttb(){rtb();return DD(yD(QN,1),ZBc,145,0,[mtb,ntb,otb,ktb,ptb,qtb,ltb])}function s1(a,b){a.Z=new T4(DD(yD(RN,1),UBc,182,0,[new upb(a,(e6(),Xo(d6))),b]))}function WIb(a,b){a.a.lh(PIc+j3b(lJc,DD(yD(nT,1),UBc,1,5,[b])),a.b.Hg(),a.d,a.c)}function XIb(a,b){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,[b])),a.b.Hg(),a.d,a.c)}function YIb(a,b){a.a.lh(PIc+j3b(gJc,DD(yD(nT,1),UBc,1,5,[b])),a.b.Hg(),a.d,a.c)}function ZIb(a,b){a.a.lh(PIc+j3b(kJc,DD(yD(nT,1),UBc,1,5,[b])), -a.b.Hg(),a.d,a.c)}function qMb(a,b){var c,d;for(d=b.b.Pd();d.Jd();){c=d.Kd();!c.b&&DMb(a,b.a,c.c)}}function Imc(a){var b;Vtc(a.e,a);$Ac(a.b);a.c=a.a;b=a.a.Kd();a.b=Hmc(a);return b}function glc(a){var b,c;c=a.length;b=AD(zE,EBc,46,c,15,1);Tkc(a,0,c,b,0);return b}function ipc(a,b,c){for(;c0)return yBc;if(JV(a,BBc)<0)return BBc;return XV(a)}function E_b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.e=true;return true}}function v2b(a){var b;if(!a.a.a)throw HV(new uxc);b=a.a.a;a.a.a=a.a.a.e;return b}function BMb(a){var b;b=null;GOb(a,(nSb(),AQb))&&(b=(sMb(a,AQb),tOb(a)));return b}function Bwc(a,b){var c;if(Awc(a,b)){c=b.de();kwc(a.a, -c);return true}return false}function hkc(a,b){var c;if(b==10||b<2||b>36)return""+a;return c=a,c.toString(b)}function Jp(a){Cn();var b;if(qE(a,105)&&!qE(a,237)){b=a;return b}return Kp(a.Pd())}function UW(a,b){var c;c=T0b(b);2!=c&&gY(jDc+c,b);kX(a,b.b);kX(a,b.b?b.b.f:null)}function mdb(a,b){var c,d;d=b.ni();gvc(a.a,d);c=Y0b(b,51);!!c&&c.vh()&&gvc(a.c,d)}function Vq(a,b){var c,d;Zd(b);for(d=b.Pd();d.Jd();){c=d.Kd();a.mf(Zd(c))}return a}function xwb(a){return!a?null:a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()).d: -null}function Nmb(a){if(Mmb(a.d))a.d.b=true;else{de(a.a.Hd()&&g1b(a.a.Gd()));a.b=true}}function Omb(a){if(Mmb(a.d))a.d.c=true;else{de(a.a.Hd()&&g1b(a.a.Gd()));a.c=true}}function Sd(a,b,c){if(!a)throw HV(new afb(me(b,DD(yD(nT,1),UBc,1,5,[ijc(c)]))));}function Td(a,b,c){if(!a)throw HV(new afb(me(b,DD(yD(nT,1),UBc,1,5,[ikc(c)]))));}function fe(a,b,c){if(!a)throw HV(new Ujc(me(b,DD(yD(nT,1),UBc,1,5,[ikc(c)]))));}function XAc(a,b){if(!a)throw HV(new afb(hBc("Enum constant undefined: %s",b)));}function $0(a){if(!a.j)return DD(yD(IL, -1),uDc,62,0,[]);return jY(a.j.a,(tZ(),qZ))}function k1(a){if(!a.j)return DD(yD(IL,1),uDc,62,0,[]);return jY(a.j.a,(tZ(),sZ))}function ENb(a){var b,c;c=wPb(a.g,0).b.b;b=tMb(a);return new PTb(new IWb(c,a.f),b)}function ONb(a){var b,c;c=wPb(a.g,0).b.b;b=FMb(a);return new WTb(new IWb(c,a.f),b)}function wub(a,b){var c;c=Xjc(b.length,a.length);if(c!=0)return c;return Nkc(a,b)}function V0b(a,b){var c,d;d=a.b;c=0;while(d){if(b==d)return c;d=d.d;++c}return-1}function sXb(a,b){var c,d;c=oXb(a);b.b=c;if(c== -116||c==84){d=oXb(a);b.c=d}return b}function MFb(a,b){var c;c=eEb(a.a,(m6b(),H5b));!!b.a&&H0b(c,wEb(a.a,b.a));return c}function ze(a,b){var c;aBc(b);c=a[":"+b];XAc(!!c,DD(yD(nT,1),UBc,1,5,[b]));return c}function Bxc(a){var b;b=a.b.a.length==0?null:hpc(a.b,0);b!=null&&Cxc(a,0);return b}function Ms(a,b){var c;Zd(a);Zd(b);c=false;while(b.Jd())c=c|a.add(b.Kd());return c}function cC(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 i_b(a,b,c,d,e,f){var g;if(a.b){g=new P$b; -g.d=b;L$b(g,c,d,e,f);G$b(a.b,g)}}function rbc(a,b,c,d){var e;e=hmc(a.a,b);!e&&(e=new uvc);Cvc(e.d,c,d);kmc(a.a,b,e)}function b8(a,b,c){var d;d=c;while(d.e.j==(m6b(),T4b))d=d.e;G0b(d.e,b,d);O1(a.a,b)}function Lcb(a,b,c){var d;!a.k&&(a.k=new qpc);d=new Pcb(b,a);c&&epc(a.k,d);return d}function Thc(a){if(!a.j){a.j=Xhc(a);!a.j&&(a.j=new Ahc(a.i,go(Uhc(a))))}return a.j}function o_b(a){if((a.a.a&37)!=0)return false;else{a.a.a|=1;a.e=true;return true}}function rf(a){if(qE(a,369)||qE(a,368))return a;return qE(a, -3)?new sf(a):new vf(a)}function cIb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function ZPb(a,b,c,d){this.b=new Zwc;this.c=a;this.a=b;this.e=c;this.d=d;this.f=0}function ePb(a,b){this.d=a==5;this.a=!(a==0||a==1);this.b=a==4;this.c=b;this.e=a==0}function wjb(a,b,c){Vhb();var d;b.Xf(a);if(c.Md(a))for(d=a.b;d;d=d.d)wjb(d,b,c)}function GGb(a,b,c,d,e,f){var g;f?g=aHb(a,b):g=ZGb(a,b);dHb(a,c,d,g,e);return g}function fNb(a,b){var c;c=(Zn(),new hr);while(JOb(a))fr(c,eNb(a,b));return go(c.a)} -function hlc(a,b){return b==(oxc(),oxc(),nxc)?a.toLocaleLowerCase():a.toLowerCase()}function Iac(a){return new eac(a.d,null,new a8b(a.d,a.c,a.e,false),a.g,a.f,a.a,a.b)}function dD(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=hD(b,c)}while(a.a);a.a=c}}function eD(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=hD(b,c)}while(a.b);a.b=c}}function R0b(a){var b,c;for(b=a.b;b;){c=b.d;b.e=null;b.d=null;b.f=null;b=c}a.b=null}function Wuc(a){var b;++a.a;for(b=a.c.a.length;a.a>>b%31&1)==1}function Jqc(a){var b;ZAc(a);b=((a-1)/31|0)+1;this.a=AD(BE,QCc,46,0,15,1);LAc(this.a,b)}function MEb(a){var b;while(a.Jd()){b=a.Kd();if(b.b==(TSb(),QSb))return b}return null}function Gjc(a,b){var c;if(!a)return;b.o=a;var d=Ajc(b);if(!d){dW[a]=[b];return}d.Nj=b}function FX(a,b,c){var d;IX((m6b(),h5b),b);for(d=b.b;d;d=d.d)c?QW(a,d):WX(a,d,false)}function Vcc(a,b){return $cc(a,DD(yD(pS,1),oKc,23,0, -[b,cdc(a,(Mcc(),Lcc)),cdc(a,ccc)]))}function le(a,b,c,d,e,f){if(!a)throw HV(new Ujc(me(b,DD(yD(nT,1),UBc,1,5,[c,d,e,f]))));}function Em(a,b){if(a<0)throw HV(new afb(b+" cannot be negative but was: "+a));return a}function Wb(a,b){var c,d;c=0;for(d=0;d=0);if(Hoc(a.d,a.c)<0){a.a=a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}function J2(a){return a.c.a.length>OCc.length&&Rkc(OCc,zic(a.c,a.c.a.length-OCc.length))}function Yac(){Yac=gW;Xac=new Zac("ORDINARY",0);Vac=new Zac(pIc,1);Wac=new Zac(uIc,2)}function Ovb(){Ovb=gW;Nvb=new j6("JSC_USELESS_BLOCK",(tZ(),rZ),new cmc("Useless block."))}function jE(){jE=gW;fE=ID(XCc,XCc,524287);gE=ID(0,0,ZCc);hE=GD(1);GD(2);iE=GD(0)}function wOb(a){var b,c;b=wPb(a.g,0).b.b;c=uMb(a);return new pWb(new IWb(b, -a.f),pMb(a,c))}function HOb(a){switch(wPb(a.g,0).c.f){case 63:case 64:return true;default:return false}}function VOb(a){switch(wPb(a.g,0).c.f){case 68:case 69:return true;default:return false}}function Mb(a){de(a.i!=3);switch(a.i){case 0:return true;case 2:return false}return Ob(a)}function Ih(a){de(a.f!=3);switch(a.f){case 2:return false;case 0:return true}return Kh(a)}function Whb(a){var b;for(b=a.b.d;b;b=b.d)if(!dib(b,(Ee(),Ae)))return false;return true}function Tvb(a){var b;for(b=a.Pd();b.Jd();){b.Kd(); -if(null.Qj())return true}return false}function Ex(a){var b,c,d;d=0;for(c=bl(a).Pd();c.Jd();){b=c.Kd();d=IV(d,Jl(b))}return UA(d)}function ekc(a){var b,c;if(a==0)return 32;else{c=0;for(b=1;(b&a)==0;b<<=1)++c;return c}}function Fwb(a,b){var c;if(!a)return b;if(!b)return a;c=oyb(a,b);return 0==c.Eh()?null:c}function aEb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&yEc)!=0&&(a.c=true);return true}return false}function dEb(a,b,c,d){b.p==(YVb(),vVb)&&(c.a&rFc)==sFc&&(d=fEb(a,(m6b(),Q3b),d));return d}function DGb(a, -b,c,d){var e;e=N0b(new Z2b((m6b(),Q5b),b,c,d),a.k);E1b(e,b.length);return e}function _d(a,b,c){if(a==null)throw HV(new Akc(me(b,DD(yD(nT,1),UBc,1,5,[c]))));return a}function X2b(a,b){if(null==b)throw HV(new afb("StringNode: str is null"));a.a=(aBc(b),b)}function W2(a,b,c){this.e=new qpc;this.d=new qpc;this.a=a;this.f=b;!!a.Kg()&&zob(a.Kg(),c)}function Jlb(a,b,c){if(a.a)Ilb(a,c);else{!!b&&Ihb(a.b,b,new Olb);!!c&&Ihb(a.b,c,new Olb)}}function bZb(a,b){if(!UZb(a))return true;!a.b.a&&(a.b.a=new qpc);epc(a.b.a, -b);return true}function fZb(a,b){if(!UZb(a))return true;!a.b.g&&(a.b.g=new qpc);epc(a.b.g,b);return true}function cZb(a,b){if(!UZb(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}function gZb(a,b){if(!UZb(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function iZb(a,b){if(!UZb(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function G6b(a,b){var c;if(qE(b,126)){c=b.c;if(!!c&&c.Ki())return G6b(a,c)}return b.gj()}function Kq(a){var b;a=$wnd.Math.max(a,2); -b=akc(a);if(a>b){b<<=1;return b>0?b:yCc}return b}function YHb(a){var b;b=UHb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function GEb(a){if(a>=48&&a<=49)return a-48;throw HV(new Ujc(JIc+String.fromCharCode(a)));}function LEb(a){if(a>=48&&a<=55)return a-48;throw HV(new Ujc(JIc+String.fromCharCode(a)));}function Lub(){Lub=gW;Kub=new z5(DD(yD(tK,1),UBc,5,0,[new j6(FGc,(tZ(),qZ),new cmc(""))]))}function SZ(){SZ=gW;RZ=new j6("JSC_UNREACHABLE_CODE",(tZ(),sZ),new cmc("unreachable code"))} -function JZ(){JZ=gW;IZ=new j6("JSC_USELESS_CODE",(tZ(),sZ),new cmc("Suspicious code. {0}"))}function O3(){O3=gW;L3=new P3(fDc,0);M3=new P3("USE_GLOBAL_TEMP",1);N3=new P3("USE_IIFE",2)}function Mvb(){Mvb=gW;Lvb=new j6("JSC_UNUSED_LABEL",(tZ(),rZ),new cmc("Unused label {0}."))}function Hbb(){throw HV(new Mlc("FunctionInformationMap.Entry.newBuilder not implemented"));}function H_(a,b){this.i=new Glc;de(!!b);this.o=a<=0?yBc:a;this.j=false;this.p=b;this.g=null}function O_(a){if(a.n>0){a.e=a.i.a.length; -a.f=a.b;ulc(a.i,10);a.n=0;++a.k;a.b=a.i.a.length}}function Cxc(a,b){var c;c=kpc(a.b,a.b.a.length-1);if(b2)&&gY(lDc+c,a);for(b=a.b;b;b=b.d)BX(b)}function qX(a){var b,c;IX((m6b(),J4b),a);c= -T0b(a);(c<1||c>2)&&gY(lDc+c,a);for(b=a.b;b;b=b.d)BX(b)}function SX(a){var b,c;IX((m6b(),E5b),a);c=T0b(a);(c<1||c>2)&&gY(lDc+c,a);for(b=a.b;b;b=b.d)YX(b)}function gHb(a){while(AGb(a,(PHb(),BHb))){!a.n?WHb(a.i):sGb(a);AGb(a,NHb)&&(!a.n?WHb(a.i):sGb(a))}}function fYb(a,b,c){de(a.j==(m6b(),g6b)||rYb(a));de(rYb(b));de(c.j==K3b);return new c2b(u4b,a,b,c)}function Stb(a,b,c,d,e){var f;f=a.b.c.xh(a.a,b,c,d,e);if(f!=null)return new Utb(a.b,f);return null}function kTb(a,b,c,d,e,f){vSb.call(this,(YVb(),PUb), -a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function LSb(a,b,c,d,e,f){vSb.call(this,(YVb(),xUb),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function eWb(a,b,c,d,e,f){vSb.call(this,(YVb(),BVb),a);this.d=b;this.b=c;this.c=d;this.e=e;this.a=f}function ZTb(a,b,c,d,e,f){vSb.call(this,(YVb(),jVb),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function Cgc(a,b){var c,d;for(d=new $oc(a.d);d.a!=d.b;){c=Yoc(d);if(c==b)return true}return false}function zAc(a){var b,c;c=a.b.exec(a.a);if(c!=null){b=c[0]; -if(Rkc(b,a.a))return true}return false}function Gfb(a,b){var c;c=new Flc;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function wg(a,b){var c;if(qE(b,48)){c=b;return Ld(a.a.de(),c.de())&&Ld(a.a.ee(),c.ee())}return false}function fx(a,b){var c;if(b===a)return true;if(qE(b,101)){c=b;return wb(a.oe(),c.oe())}return false}function yAb(a,b){dAb();if(!a)return b;if(!b)return a;if(fAb(a,b))return a;return fAb(b,a)?b:null}function PAb(a,b){var c,d;d=b.a.getAtIndex(0);c=Oi(Ei(a.g,d,false)); -if(c)return c;return oAb(a.d,d)}function bGb(a,b,c){var d,e,f;d=eEb(a.a,b);for(f=c.Pd();f.Jd();){e=f.Kd();H0b(d,wEb(a.a,e))}return d}function _Nb(a){var b;if(FOb(a,0,(nSb(),tRb))){sMb(a,tRb);b=tOb(a);sMb(a,yQb)}else b=hOb(a);return b}function LMb(a){if(GOb(a,(nSb(),bRb)))return KNb(a);if(GOb(a,QQb))return qNb(a,true);return JMb(a)}function yOb(a){var b,c;b=wPb(a.g,0).b.b;c=wOb(a);if(!GOb(a,(nSb(),rRb)))return c;return vOb(a,b,c)}function F1b(a,b){var c;c=f2b(a.i);c==-1&&(c=0);a.i=b<0||c<0?-1:(c&-4096)!= -0?b<<12|aDc:b<<12|c&aDc}function w6b(a,b){var c;!!b&&(c=v1b(a,a.g,78),c!=a.g&&(a.g=c),!!b&&(a.g=new L2b(78,b,a.g)));return a}function Vvc(a,b){var c;c=a.a.get(b);if(c===undefined)++a.d;else{Lvc(a.a,b);--a.c;Xtc(a.b)}return c}function dZb(a,b){a.a|=4096;if(!UZb(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}function cQb(a){switch(a){case 47:return false;case 92:case 91:return true;default:return!bQb(a)}}function lib(a){Vhb();while(!!a&&a.j!=(m6b(),K5b))a=a.e;return!!a&&a.j==(m6b(), -K5b)?Y0b(a,53):null}function MA(a){var b;if(a!=null){b=a[MCc];if(b)return b}return uE(a,TypeError)?new zkc(a):new JC(a)}function phb(a){var b,c;b=a.k.a.length;if(b>0)return hpc(a.k,b-1);else{c=Coc(a.n);return c?c.d:null}}function TD(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 ID(c&XCc,d&XCc,e&YCc)}function aE(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 ID(c&XCc,d&XCc,e&YCc)}function gBb(a,b,c){if(Ei(a,c,false))return Oi(Ei(a,c,false));else if(b)return oAb(b, -c);return null}function Wnb(a,b,c){bX(a.a,b);bX(a.a,c);Znb(a,b,c);Xnb(a,c);qW(a.b.$)&&Rsb(new Ssb(a.b),b,c);Ynb(a,b)}function IMb(a){var b,c;c=wPb(a.g,0).b.b;sMb(a,(nSb(),FQb));b=JMb(a);return new xSb(new IWb(c,a.f),b)}function VYb(a){var b;if(!UZb(a))return null;!a.b.d&&(a.b.d=new qpc);b=new J$b;epc(a.b.d,b);return b}function i$b(a,b){var c;!a.d&&(a.d=new E$b);if(a.d.k)return false;a.d.k=(Cn(),c=b,Jp(c));return true}function o$b(a,b){var c;!a.d&&(a.d=new E$b);if(a.d.p)return false;a.d.p=(Cn(),c= -b,Jp(c));return true}function U9b(a){var b,c;c=a.c.a;if(c){b=c.b?c.b.f:null;if(!b||W0b(b,30)==0)return T0b(c)}return yBc}function ijc(a){var b;if(a<128){b=(kjc(),jjc)[a];!b&&(b=jjc[a]=new Yic(a));return b}return new Yic(a)}function Hmc(a){if(a.a.Jd())return true;if(a.a!=a.d)return false;a.a=new Gvc(a.e.d);return a.a.Jd()}function xoc(a,b){if(b==null)return false;while(a.a!=a.b)if(wb(b,Yoc(a)))return true;return false}function oAc(a){var b,c;if(a.b)return a.b;c=a.d;while(c){b=c.b;if(b)return b;c=c.d}return Rzc(), -Ozc}function Sjc(a,b){if(ab)return 1;if(a==b)return 0;return isNaN(a)?isNaN(b)?0:1:-1}function Yb(a,b){var c;for(c=b.length-1;c>=0;c--)if(!Cc(a,b.charCodeAt(c)))return false;return true}function DD(a,b,c,d,e){e.Nj=a;e.Oj=b;e.Pj=lW;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}function jC(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 tAb(a,b){de(a.d.d.isEmpty()||a.df().containsAll(null.Rj)&&null.Qj(a.df()));this.b=a;this.a= -b}function iY(a,b,c){var d;d=new mY(c,b);if(gvc(a.c,d)){fBc(Axc(a.e,d));b==(tZ(),qZ)?++a.d:b==sZ&&++a.f}}function lGb(a,b,c,d){var e;a.b.lh(j3b(b,DD(yD(nT,1),UBc,1,5,[])),(e=Y0b(a.k,51),!e?null:e.Hg()),c,d)}function vsb(){vsb=gW;usb=br(Juc((m6b(),g6b),DD(yD(XR,1),ZBc,10,0,[Y4b,X3b,w4b,S3b,R3b,I4b,w5b])))}function zC(){zC=gW;yC=DD(yD(zE,1),EBc,46,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function pW(){pW=gW;oW=new j6("JSC_READ_ERROR",(tZ(),qZ),new cmc("Cannot read file {0}: {1}"))}function OBb(){OBb= -gW;LBb=new PBb("CONSTANT",0);MBb=new PBb("OPTIONAL",1);NBb=new PBb("REQUIRED",2)}function iPb(){iPb=gW;hPb=new jPb("NORMAL",0);gPb=new jPb("GENERATOR",1);fPb=new jPb("ASYNCHRONOUS",2)}function _Pb(a){return aQb(a)||(Vic==null&&(Vic=new RegExp("\\d")),Vic.test(String.fromCharCode(a)))}function sMb(a,b){var c;c=FMb(a);if(c.c!=b){XOb(a,c,IJc,DD(yD(nT,1),UBc,1,5,[b]));return null}return c}function lpc(a,b){var c;c=ipc(a,b,0);if(c==-1)return false;_Ac(c,a.a.length);KAc(a.a,c,1);return true}function Eoc(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 Skb(a){var b;de(a.j==(m6b(),K5b));b=Y0b(a,51);if(qE(b,185))return wob(b),b.d.length;return 0}function lw(a,b){var c;if(a===b)return true;else if(qE(b,44)){c=b;return hy(Qo(a),c.Xd())}return false}function dMb(a){ZLb();switch(a){case mEc:case lEc:case LDc:case kEc:return true;default:return false}}function xib(a){Vhb();var b,c;c=null;while(c==null&&!!a){c=(b=Y0b(a,51),!b?null:b.Hg());a=a.e}return c}function Veb(a){var b, -c,d,e,f;f=new bvc;for(c=a.a,d=0,e=c.length;d=0);de(c>=0);a.f=new cB(b,c);e=new kB;f=vC(d);gB(e,f);jB(e,new WB(a))}function kq(a,b,c){var d,e;return b!=null&&c!=null&&(e=ow((d=a.c,!d?a.c=new wz(a):d),b),!!e&&nw(e,c))}function uEb(a, -b,c){var d,e;if(g2b(a.i)==-1){e=b.b+1;F1b(a,e);d=b.a;a.i=l2b(g2b(a.i),d);E1b(a,c.c-b.c)}}function pOb(a){var b,c;c=wPb(a.g,0).b.b;sMb(a,(nSb(),PRb));b=TMb(a,1);return new fWb(new IWb(c,a.f),b)}function wGb(a,b,c,d){if(b==(PHb(),zHb)||b==BHb||b==AHb)return new nHb("",b);return vGb(a,b,c,true,d)}function U_b(a,b){if(!((a.a.a&16384)!=0||DZb(a.a))&&i$b(a.a,b)){a.e=true;return true}else return false}function gmc(a,b,c){var d,e;for(e=c.Pd();e.Jd();){d=e.Kd();if(a.Cj(b,d.ee()))return true}return false}function Uqc(a){Sqc(); -var b,c,d;d=0;for(c=a.Pd();c.Jd();){b=c.Kd();d=d+(b!=null?Ab(b):0);d=d|0}return d}function YD(a){var b,c,d;b=~a.l+1&XCc;c=~a.m+(b==0?1:0)&XCc;d=~a.h+(b==0&&c==0?1:0)&YCc;return ID(b,c,d)}function bf(a,b){var c,d;Zd(b);c=hf(a.c,a,b);d=new qpc;while(Mb(c))epc(d,Nb(c));return Sqc(),new xtc(d)}function u5(a,b){var c,d;for(d=b.b.Pd();d.Jd();){c=d.Kd();if(!a.b.contains(c))return false}return true}function MX(a,b){var c;IX((m6b(),R5b),b);NX(b);c=T0b(b);(c<0||c>1)&&gY(nDc+c,b);!!b.b&&!b.b.d&&kX(a,b.b)}function N0(a, -b){var c;if(a.L.vd){c=Oc(new Qc(""),new Qmc(new tqc(b)));Blc(a.f,c);ulc(a.f,10);nAc(K0,c)}}function Ud(a,b){if(!a)throw HV(new afb(me("too many occurrences: %s",DD(yD(nT,1),UBc,1,5,[ukc(b)]))));}function nGb(a,b,c,d,e){var f;a.b.lh(j3b(b,DD(yD(nT,1),UBc,1,5,[c])),(f=Y0b(a.k,51),!f?null:f.Hg()),d,e)}function xW(){xW=gW;Cn();Mp(DD(yD(nT,1),UBc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function $A(){$A=gW;var a;ZA=AD(BE,QCc,46,256,15,1);Ypc(ZA);for(a=0;a<64;a++)ZA[ICc.charCodeAt(a)]= -a}function OXb(a){MXb();var b;b=NXb(LXb,a);if(b!=null)return b;throw HV(new GC("Resource not found: "+a));}function akc(a){var b;if(a<0)return BBc;else if(a==0)return 0;else{for(b=yCc;(b&a)==0;b>>=1);return b}}function Uic(a){if(Rkc(typeof a,xBc))return true;return a!=null&&a.$implements__java_lang_CharSequence}function JC(a){AA(this);BA(this);this.backingJsObject=a;a!=null&&iBc(a,MCc,this);this.e=a==null?ABc:kW(a)}function V1b(a,b){if(!Y0b(a,51)){L1b(a,b);a.i=b.i;a.c=b.c}Y0b(a,40)==null&&r1b(a,40, -Y0b(b,40));return a}function l1b(a){switch(a.j.f){case 29:case 26:case 27:case 93:case 94:return true;default:return false}}function Jl(a){var b,c;b=a.b.ee();if(!b||b.a==0){c=a.a.a.a.Yd(a.b.de());if(c)return c.a}return!b?0:b.a}function ngc(a,b){var c;c=a.d.size()-a.e.size();ca.size()?Ws(a.Pd(),b):ky(a,b.Pd())}function DA(a,b){var c,d,e;e=b.length;c=AD(pT,UBc,142,e,0,1);for(d=0;d=pmc(a.d.n.c))return null;return Fs(new gnc(a.d.n),b)}function gdc(a,b,c){Rd(c.indexOf("<")==-1,"Type names cannot contain template annotations.");lmc(a.i,c,b)}function rmc(a,b){WAc(a>=0,"Negative initial capacity");WAc(b>=0,"Non-positive load factor");omc(this)}function qA(a,b){this.b=Zd(a);Vd(!b||!jA(a,b.a),"Padding character %s was already in alphabet", -b);this.c=b}function gpc(a,b){var c,d;c=b.toArray();d=c.length;if(d==0)return false;JAc(a.a,a.a.length,c);return true}function Koc(a,b){var c,d;c=a.a.length-1;while(b!=a.b){d=b-1&c;a.a[b]=a.a[d];b=d}a.a[a.b]=null;a.b=a.b+1&c}function Joc(a,b){var c,d;c=a.a.length-1;a.c=a.c-1&c;while(b!=a.c){d=b+1&c;a.a[b]=a.a[d];b=d}a.a[a.c]=null}function Juc(a,b){var c,d,e;c=(d=(e=njc(oe(a)),new Quc(e,HAc(e,e.length),0)),Kuc(d,a),d);Tqc(c,b);return c}function Tqc(a,b){Sqc();var c,d,e,f,g;g=false;for(d=b,e=0,f=d.length;e< -f;++e){c=d[e];g=g|a.add(c)}return g}function Vqc(a){Sqc();var b,c,d;d=1;for(c=a.Pd();c.Jd();){b=c.Kd();d=31*d+(b!=null?Ab(b):0);d=d|0}return d}function Vc(a,b){var c,d;aBc(b);for(d=b.Pd();d.Jd();){c=d.Kd();if(!a.contains(c))return false}return true}function whc(a){var b,c;for(b=0;b0&&b0){a.k+=c;a.n=b.length-Xkc(b,mlc(10))}}function yxc(a,b){var c;if(b*2+1>=a.b.a.length)return;yxc(a,2*b+1);c=2*b+2;c127)return false}return true}function zvc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f>>=5;b>0&&(c|=32);tlc(a,($A(),ICc.charCodeAt(c)))}while(b>0)}function gFb(a,b){var c,d,e,f;f=eEb(a.a,(m6b(),o3b));for(e=b.a.Pd();e.Jd();){d=e.Kd();c=wEb(a.a,d);H0b(f,c)}return f}function $Xb(a,b){var c,d;c=MYb((m6b(),Q3b),a);d=v1b(c,c.g,29);d!=c.g&&(c.g=d);!!b&&(c.g= -new L2b(29,b,c.g));return c}function Yoc(a){var b;$Ac(a.a!=a.b);b=a.d.a[a.a];Qoc(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}function d_b(a){var b;if(a.e){de(!!a.a);b=a.a;a.a=null;!b.j&&r$b(b,(Z$b(),U$b));a.e=false;return b}else return null}function v1b(a,b,c){var d;if(!b)return null;else if(b.c==c)return b.b;else{d=v1b(a,b.b,c);return d!=b.b?b.ti(d):b}}function Zcc(a,b,c){!b&&(b=(Zn(),Zn(),Yn));!c&&(c=(Zn(),Zn(),Yn));return b.isEmpty()&&c.isEmpty()?a.d:new zgc(a,b,c)}function fqc(a, -b,c,d,e,f,g,h){var i;i=c;while(f=d||b-129&&a<128){b=a+128;c=(kkc(),jkc)[b];!c&&(c=jkc[b]=new Wjc(a));return c}return new Wjc(a)}function vlb(a){var b,c;for(c=new Npc(a.d);c.a< -c.c.a.length;){b=Lpc(c);if(wo((llb(),ilb),b.b))return true}return false}function tSb(a){var b;b=a;while(b.p==(YVb(),vVb))b=b.a;switch(b.p.f){case 59:case 61:return true;default:return false}}function Z_b(a){if(!((a.a.a&16384)!=0||DZb(a.a))&&(a.a.a&16384)==0){a.a.a|=16384;a.e=true;return true}else return false}function vgc(a){var b,c,d,e;if(a.c!=null)for(c=a.c,d=0,e=c.length;db&&d.Re(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function g8(a,b,c,d){a8();var e;if(a.j==(m6b(),X3b)&&!(b.j==u4b&&a==b.b)){f8(a,c,d);e=z0b(Y0b(d,29));o_b(e);C1b(d,d_b(e))}}function geb(a,b){var c;b.j==(m6b(),K3b)&&(b=b.e);if(b.j==G4b&&$h(a.f,b)){c=b.e;(c.j==K3b||c.j==K5b)&&Ph(a.g,c,_h(a.f,b))}}function bab(a,b,c,d){if(c.j==(m6b(),I4b))dab(a,b,c,d);else if(c.j==o4b)cab(a,b,c,d);else if(c.j==K5b){++a.g;eab(a,b,c)}}function Ueb(a,b,c){if(c==b||c!=b&&Dqc(a.c[c.c], -b.c))return b;else if(b!=c&&Dqc(a.c[b.c],c.c))return c;return Teb(a,b,c)}function YFb(a,b){var c,d,e;e=(Zn(),new hr);for(d=b.a.Pd();d.Jd();){c=d.Kd();fr(e,wEb(a.a,c))}return VDb(a.a,z6b(go(e.a)))}function zFb(a,b){var c;c=eEb(a.a,(m6b(),G4b));H0b(c,wEb(a.a,b.a));H0b(c,xEb(a.a,b.c));!!b.b&&H0b(c,xEb(a.a,b.b));return c}function Jab(a,b,c){var d;d=!c?(Rd(b.j==(m6b(),I5b)||b.j==K5b,b),new kob(b)):new job(c,b);Qab(new Sab(a.a,a.b,d));return d}function uab(a,b,c,d){var e;if(!Rkc(c,d)){b.si(d);e=v1b(b,b.g, -40);e!=b.g&&(b.g=e);c!=null&&(b.g=new L2b(40,c,b.g));yhb(a)}}function uIb(a,b){var c,d;F1b(b,g2b(b.i)+a.d);for(d=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();d.Jd();){c=d.Kd();uIb(a,c)}}function VAb(a,b){var c;c=PAb(a,b);return!!c&&(b.a.size()==1||sxb(c.d,(Qd(b.a.size()!=1),new RBb(b.a.$e(1,b.a.size())))))}function $Zb(a,b){!a.d&&(a.d=new E$b);!a.d.d&&(a.d.d=new jvc);if(hvc(a.d.d,b))return false;else{gvc(a.d.d,b);return true}}function gz(a){if(!!(!a.a||a.a.isEmpty()&&gwc(a.c.a,a.b)?a.a=hwc(a.c.a,a.b): -a.a)&&a.a.isEmpty()){kwc(a.c.a,a.b);a.a=null}}function fk(a){var b;if(a.b){fk(a.b);if(a.b.d!=a.c)throw HV(new Ytc);}else if(a.d.isEmpty()){b=a.f.c.Yd(a.e);!!b&&(a.d=b)}}function kW(a){var b;if(Array.isArray(a)&&a.Pj===lW)return ojc(yb(a))+"@"+(b=Ab(a)>>>0,b.toString(16));return a.toString()}function gob(a,b){var c,d;c=a;while(c){d=hwc(c.e,b);if(d)return d;if(Rkc(wFc,b)&&ijb(c.d))return cob(c);c=c.c}return null}function xBb(a,b){var c,d,e;c=false;for(d=0;d=0;c--)if(klc(b,c)!=d)break;return olc(b,0,c+1)}function Aob(a){vob();if(!a)throw HV(new afb("a source must have a name"));Rkc("/",vic)?this.b=a:this.b=_kc(a,vic,"/")}function ae(a,b,c){if(!a)throw HV(new Akc(me("Type variable %s not found in map %s",DD(yD(nT,1),UBc,1,5,[b,c])))); -return a}function EMb(a,b){if(b){a.d=UJb(a.d,DD(yD(_O,1),ZBc,29,0,[(TKb(),PKb)]));a.b.e&&oIb(a.c,b.b.b,EHc,DD(yD(nT,1),UBc,1,5,[]))}}function nub(){nub=gW;mub=DD(yD(sT,1),DBc,2,6,["",vEc,".json"]);lub=DD(yD(sT,1),DBc,2,6,[zHc,"/index.js","/index.json"])}function heb(a){this.g=dx(Uw((Em(8,zCc),new Vw)));this.e=new Jq;this.f=bx(Tw((Em(8,zCc),new Vw)));this.d=new Moc;this.c=a}function xpb(a){this.a=new PYb(a);this.c=new Aob(a);this.b=new Z1b((m6b(),K5b));r1b(this.b,53,this.a);K1b(this.b,this.c)}function k5(){g5(); -h5(this);new kvc(jw(0));this.a=j5(this,e5);this.b=j5(this,f5);jqc(this.a,null);jqc(this.b,null);i5(this)}function egb(a,b,c,d,e,f){this.b=new bvc;this.a=a;this.f=b;Qd(c.length!=0);this.d=c;this.e=d;e?this.c=this:this.c=f.qh()}function Dub(a,b,c,d,e){Cub();this.e=a;this.b=b;this.c=c?go(c):(Zn(),Zn(),Yn);this.d=d?go(d):(Zn(),Zn(),Yn);this.a=Xo(e)}function Hhb(a,b,c){this.n=new Moc;this.k=new qpc;this.b=new Moc;this.a=b;qE(b,901)&&(this.i=b);this.c=a;this.j=c;this.p=true}function Z$b(){Z$b=gW;W$b=new $$b(wIc, -0);V$b=new $$b(vIc,1);X$b=new $$b(xIc,2);Y$b=new $$b(yIc,3);U$b=new $$b("INHERITED",4)}function _1(a){var b,c;for(c=new Npc(a);c.a0?d=kpc(a.k,c-1):d=Ioc(a.n).d;Vhb();Nuc(Mhb,d.j)&&Ioc(a.b)}function HMb(a){var b,c,d,e;e=wPb(a.g,0).b.b;b=TNb(a);while(HOb(a)){c=FMb(a);d=TNb(a);b=new ESb(new IWb(e,a.f),b,c,d)}return b}function TNb(a){var b,c,d,e;e=wPb(a.g,0).b.b;b=pNb(a);while(OOb(a)){c=FMb(a);d=zOb(a);b=new ESb(new IWb(e,a.f),b,c,d)}return b}function mOb(a){var b,c,d,e;e=wPb(a.g,0).b.b;b=HMb(a);while(SOb(a)){c=FMb(a);d=HMb(a);b=new ESb(new IWb(e,a.f),b, -c,d)}return b}function XKb(a){var b,c,d,e,f,g;g=new jvc;for(c=WKb(),d=0,e=c.length;dc&&(b[c]=null);return b}function pYb(a,b){var c,d;c=MYb((m6b(),N4b),a);d=v1b(c,c.g,32);d!=c.g&&(c.g=d);(b?1:0)!=0&&(c.g=new B2b(32, -b?1:0,c.g));return c}function bob(a,b,c,d){var e;de(b!=null&&b.length!=0);de(hwc(a.e,b)==null);e=new xsb(b,c,a,(pmc(a.e.c),d));iwc(a.e,b,e);return e}function YYb(a,b,c){!a.d&&(a.d=new E$b);!a.d.n&&(a.d.n=new lwc);if(gwc(a.d.n,c))return false;else{iwc(a.d.n,c,b);return true}}function n0b(a,b){if(!!b&&!((a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)){$Yb(a.a,b);a.e=true;return true}return false}function tXb(a,b){var c;oXb(a);c=a.b=48&&c<=57){BXb(b,qXb(a));return sXb(a, -b)}else throw HV(vXb(a));}function oOb(a){var b;b=(Zn(),new hr);while(FOb(a,0,(nSb(),VQb))||TOb(a)||GOb(a,fRb)||FOb(a,0,vQb))fr(b,nOb(a));return go(b.a)}function qOb(a){var b;b=(Zn(),new hr);while(FOb(a,0,(nSb(),VQb))||TOb(a)||GOb(a,fRb)||FOb(a,0,vQb))fr(b,nOb(a));return go(b.a)}function P0(a){a.O=rlb(S0(a),new Dlb(a.P));mlb(a.O,(!a.N&&(a.N=new Uub),new qpc));plb(a.O,a.q,a.C);if(a.j.a.d>0)return;a.O=null}function GAb(){GAb=gW;EAb=new HAb(0);DAb=new HAb(1);CAb=new HAb(2);BAb=new HAb(3);FAb=DD(yD(yO, -1),UBc,205,0,[EAb,DAb,CAb,BAb])}function JTb(){JTb=gW;GTb=new KTb("DECLARATION",0);HTb=new KTb("EXPRESSION",1);ITb=new KTb("MEMBER",2);FTb=new KTb("ARROW",3)}function RB(){this.e=new qpc;this.k=new lwc;this.j=new lwc;this.g=new lwc;this.f=new cB(0,0);this.i=new cB(0,0);this.a=new lwc}function Ctb(a){this.f=new qpc;this.c=new qpc;this.a=new jvc;this.e=new lwc;this.b=new bvc;this.d=new st;gpc(this.f,a);Btb(this)}function ebb(a,b){_ab();return T0(a,yFc+hlc(zFc,(oxc(),mxc)),false),YXb(ojb(a,"$jscomp.makeIterator"), -DD(yD(VR,1),EDc,7,0,[b]))}function VDb(a,b){var c,d;!!b.g||N0b(b,a.t);for(d=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();d.Jd();){c=d.Kd();VDb(a,c)}return b}function XXb(a){var b,c,d,e,f,g;c=(b=new Z1b((m6b(),K3b)),b);for(e=a,f=0,g=e.length;fc)throw HV(new Hic(CKc+a+DKc+b+", size: "+ -c));if(a>b)throw HV(new afb(CKc+a+" > toIndex: "+b));}function mAb(){var a;a=(Cn(),new Vr);for(null.Qj().Qj();null.Qj();){null.Qj();null.Qj()&&Sr(a,null.Qj())}return Kp(new Npc(a.a))}function nAb(){var a;de(null.Rj);a=(Cn(),new Vr);for(null.Qj().Qj();null.Qj();){null.Qj();Sr(a,null.Qj())}return Kp(new Npc(a.a))}function nYb(a,b,c){ee(a.j==(m6b(),e5b)||a.j==h4b,a);ee(b.j==J4b||b.j==L4b||b.j==h4b,b);ee(c.j==Q5b,c);return new c2b(I4b,a,b,c)}function L1b(a,b){var c;if(!!b.g&&(!a.g||a.g.c==51&&!a.g.b)){c= -b.g;while(c.b)c=c.b;if(c.c==51){a.g=c;return}}r1b(a,51,Y0b(b,51))}function sgc(a,b){var c,d;d=$wnd.Math.min(a.d.size(),a.e.size());for(c=d-1;c>=0;c--)if(a.d.getAtIndex(c)==b)return c;return-1}function Vhc(a){if(a.e)return cdc(a.i,(Mcc(),Cbc));else if(a.f)return a.b?cdc(a.i,(Mcc(),Ibc)):cdc(a.i,(Mcc(),Icc));return null}function swb(a){if(a.c)return a;if(a==a.a.v||a==a.a.g)return a.a.g;return new uwb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,true,a.b)}function eo(a){var b;b=a.toArray();switch(b.length){case 0:return Yn; -case 1:return new Uy(Zd(b[0]));default:return new Zx(qo(b))}}function s2b(a,b,c){var d,e;for(e=0;e!=b;++e)c.a+=" ";xlc(c,R1b(a,true,true,true));c.a+=OCc;for(d=a.b;d;d=d.d)s2b(d,b+1,c)}function E7(a,b,c){var d,e;for(e=c.Pd();e.Jd();){d=e.Kd();d.j==(m6b(),Q5b)&&D7(a,b,d);E7(a,b,!d.b?(Sqc(),Sqc(),Rqc):new Q2b(d.b))}}function TX(a,b,c){var d,e;lX(a,(TKb(),JKb),c);IX((m6b(),F5b),c);e=o6b(c.j);e!=-1&&(d=T0b(c),e!=d&&gY(hDc+e+iDc+d,c));wX(a,b,c.b)}function DY(a,b,c){var d,e;d=b.length==0?"":b+": ";e= -new jvc;wjb(Bf(a.a,c),new GY(e),(Ee(),Be));wjb(c,new IY(a,e,d),Be);yY(a,d,e)}function Whc(a,b,c){var d,e;e=!!a.Wi()&&(a.Wi(),true);d=!!b.Wi()&&(b.Wi(),true);return c&&!e&&!d?a.Oi(b):a.Pi(b,new vbc(false),0)}function djb(a){var b,c;b=a.b;if(b.j==(m6b(),C4b)||b.j==B4b){c=b.b?b.b.f:null;return c.j==Q5b&&Rkc("toString",c.ni())}return false}function iOb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;c=mOb(a);while(ROb(a,b)){d=FMb(a);e=mOb(a);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function p_(a,b,c,d,e,f,g,h){var i, -j;j=b.b;while(j.j==c)j=j.b;b_(a,j,g,e);i=j;do{i=i.e;y$(a.c,d,true);b_(a,i.b.d,h,f)}while(i!=b)}function G_(a,b,c,d){var e,f;if(a.j)for(f=new Npc(a.g);f.a=0,"numberToAdvance must be nonnegative");for(d=0;d0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return NCc in new Error}function $ub(){$ub=gW;Zub=new j6("JSC_USELESS_EMPTY_STATEMENT",(tZ(),rZ),new cmc("Useless empty statement. (fix with go/fixjs)"))} -function rHb(){rHb=gW;pHb=new sHb("SEARCHING_ANNOTATION",0);qHb=new sHb("SEARCHING_NEWLINE",1);oHb=new sHb("NEXT_IS_ANNOTATION",2)}function x4(){x4=gW;s4=new y4("ALL",0);v4=new y4("RAW_SIZE",1);t4=new y4("AST_SIZE",2);w4=new y4("TIMING_ONLY",3);u4=new y4(fDc,4)}function jGb(){jGb=gW;iGb=(Cn(),Mp(DD(yD(nT,1),UBc,1,5,[_Dc,wFc])));hGb=Mp(DD(yD(nT,1),UBc,1,5,[NIc,OIc,"stable","mapped","xid"]))}function gXb(a){var b;if(a.a==null)b=ABc;else throw HV(new GC("Integer.toHexString is outside the GWT subset")); -return $Wb(a,b,0)}function T9b(a){var b,c;c=a.Sh()?$9b(a):null;if(!c)return a.e;b=(Zn(),new hr);gr(b,a.e);while(c){gr(b,c.e);c=$9b(c)}return go(b.a)}function hFb(a,b){var c,d,e;aFb(a,b,(TKb(),mKb));e=eEb(a.a,(m6b(),p3b));for(d=b.a.Pd();d.Jd();){c=d.Kd();H0b(e,yEb(a.a,c))}return e}function IFb(a,b){var c,d,e;aFb(a,b,(TKb(),mKb));e=eEb(a.a,(m6b(),s5b));for(d=b.a.Pd();d.Jd();){c=d.Kd();H0b(e,yEb(a.a,c))}return e}function nEb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new jHb(new aIb(d.substr(3), -e,c+3),d,b.a.b.c,a.t,a.a,a.d);return QGb(f)}function cYb(a,b){ee(a.j==(m6b(),e5b)||a.j==s5b||a.j==p3b||a.j==d4b,a);(a.j==s5b||a.j==p3b)&&(a=new _1b(d4b,a));return new _1b(b,a)}function TIb(a,b){if(b.j!=(m6b(),e5b)){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,["name"])),a.b.Hg(),a.d,a.c);return false}return true}function _9b(a,b,c){if(!b)return false;if(a.Sh()&&b==(ie(a.Sh()||a.g==(Yac(),Wac),RHc,a),N6b(a.n)))return false;return bac(a,b,c)}function WFb(a,b){var c,d;d=b.a.Ye();c=jEb(a.a,(m6b(),e5b),d.Kd()); -while(d.Jd())c=jYb(c,GYb(d.Kd()));return VDb(a.a,new f3b(b6b,c))}function uOb(a){var b,c,d;d=wPb(a.g,0).b.b;sMb(a,(nSb(),eSb));b=tMb(a);sMb(a,MQb);c=tOb(a);xMb(a);return new oWb(new IWb(d,a.f),b,c)}function oNb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;c=iOb(a,b);while(KOb(a)){d=FMb(a);e=iOb(a,b);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function BYb(a){var b,c,d,e,f;f=new Z1b((m6b(),w5b));for(c=a,d=0,e=c.length;d=0)f=f.a[1];else{e=f;f=f.a[0]}}return e}function Tpc(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 Upc(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 slc(a,b,c){var d,e,f,g;f=b+c;gBc(b,f,a.length);g="";for(e=b;e2E3){SC=a;TC=$wnd.setTimeout(aD,10)}}if(RC++==0){dD((cD(),bD));return true}return false}function zib(a,b,c){var d;if(b.Md(a))return true;if(!c.Md(a))return false;for(d=a.b;d;d=d.d)if(zib(d,b,c))return true;return false}function rj(a,b){var c;if(b===a)return true;if(!qE(b,31))return false;c=b;if(c.size()!=a.size())return false;return a.containsAll(c)}function feb(a,b){var c;if(tl(a.e,b)>0)return true;c=Coc(a.d);if(!c.c)return false;while(!!c&&!!c.a){ai(a.g, -c.a,b);c=c.b}return true}function Fjc(a,b){var c=0;while(!b[c]||b[c]=="")c++;var d=b[c++];for(;c0&&JV(a,128)<0){b=XV(a)+128;c=(wkc(),vkc)[b];!c&&(c=vkc[b]=new lkc(a));return c}return new lkc(a)} -function qXb(a){var b;b=0;while(a.b0)return pXb(a)}return XV(b)}function mNb(a){var b,c,d;d=wPb(a.g,0).b.b;sMb(a,(nSb(),LQb));c=tMb(a);sMb(a,sRb);b=nNb(a);sMb(a,xQb);return new jTb(new IWb(d,a.f),c,b)}function bNb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;b&&sMb(a,(nSb(),lRb));c=CMb(a);d=xNb(a,1);e=BMb(a);return new ISb(new IWb(f,a.f),b,c,d,e)}function rFb(a,b){var c,d,e;e=CFb(a,b.b,true);M1b(e,(m6b(),e5b));d=fEb(a.a,p4b,e);if(b.a){c= -CFb(a,b.a,true);M1b(c,e5b);H0b(d,c)}return d}function vY(a,b,c){var d,e;(b.j==(m6b(),I5b)||(Vhb(),b.j==K5b||b.j==w4b))&&Zf(a.a,b,c,false);d=b.b;e=c.b;while(d){vY(a,d,e);d=d.d;e=e.d}}function D1(a,b,c){var d,e;!a.L&&r1(a,new w3);d=(vob(),new Hob((new Gob,b),c));Zn();new Uy(Zd(d));return e=new Y2(d),I1(a,e.f,e),Q2(e,a)}function W9b(a){var b;if(!a.i)return a.u.b.keySet();else{b=(Cn(),new Vr);epc(b.a,Zd(FDc));Ur(b,a.u.b.keySet());return Kp(new Npc(b.a))}}function YAc(a,b){if(0>a)throw HV(new afb("fromIndex: 0 > toIndex: "+ -a));if(a>b)throw HV(new Iic("fromIndex: 0, toIndex: "+a+BKc+b));}function F1(a){var b;de(v3(a.L));b=(!a.N&&(a.N=new Uub),new qpc);if(b.a.length==0)return;a.O=S0(a);mlb(a.O,b);plb(a.O,a.q,a.C);a.O=null}function XYb(a,b){var c;c=new t$b;c.d=!a.d?null:z$b(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=w$b(a.i,b);c.g=w$b(a.g,b);c.c=a.c;c.f=a.f;return c}function Hoc(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;Qoc(c=f){Joc(a,b);return-1}else{Koc(a,b);return 1}}function ppc(a,b){var c,d; -d=a.a.length;b.lengthd&&(b[d]=null);return b}function sqc(a,b){var c,d;d=a.a.length;b.lengthd&&(b[d]=null);return b}function lyb(a,b){var c,d,e,f,g;e=a.b;for(g=(d=(new gnc(b.a)).a.Xd().Pd(),new mnc(d));g.a.Jd();){f=(c=g.a.Kd(),c.de());e=kyb(e,f)}return e}function B$b(a,b){var c,d,e,f;e=null;if(a){e=new lwc;for(d=new Lwc(new Cwc(a));d.b!=d.c.a.b;){c=Jwc(d);f=c.e;iwc(e,c.d, -w$b(f,b))}}return e}function pMb(a,b){var c;c=(Zn(),new hr);fr(c,b?b.a:"");while(GOb(a,(nSb(),zRb))){sMb(a,zRb);b=tMb(a);if(!b)break;fr(c,b.a)}return go(c.a)}function v_(b){var c;if(y_(b))try{c=Njc(b);if(PV(c,{l:0,m:0,h:512}))return WV(c)}catch(a){a=GV(a);if(!qE(a,92))throw HV(a);}return NaN}function vib(a){Vhb();var b;for(b=a;true;b=b.b){if(b.j==(m6b(),e5b)||b.j==Z5b||b.j==U5b)return b;ie(b.j==C4b,"Not a getprop node: ",b)}}function dY(a,b){var c;Vhb();!!b&&(b.j==(m6b(),g6b)||b.j==Y4b||b.j==X3b)? -DX(a,b.j,b):b.j==(m6b(),h4b)?(c=T0b(b),0!=c&&gY(gDc+c,b)):kX(a,b)}function K$b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return Q$b(a.a,b.a)&&O$b(a.c,b.c)&&Q$b(a.b,b.b)&&T$b(a.d,b.d)}function Skc(a,b){aBc(a);if(b==null)return false;if(Rkc(a,b))return true;return a.length==b.length&&Rkc(a.toLowerCase(),b.toLowerCase())}function j1b(a){switch(a.j.f){case 29:return a.ni().length!=0;case 33:case 99:return true;case 26:return j1b(a.b);default:return false}}function Qp(a,b,c,d,e,f,g){Cn(); -var h,i;i=g.length+6;h=new rpc(i);Tqc(h,DD(yD(nT,1),UBc,1,5,[a,b,c,d,e,f]));Tqc(h,g);return Kp(new Npc(h))}function A_(a){if(!a.f)throw HV(new Ujc("Cannot build without root node being specified"));return z_(a.f,V_(a.c,a.d),a.c,a.g,a.i,a.b,a.a)}function di(a,b,c){return qE(c,206)?new Yk(a,b,c):qE(c,129)?new Xk(a,b,c):qE(c,31)?new Zk(a,b,c):qE(c,45)?ei(a,b,c,null):new ik(a,b,c,null)}function r2(a){var b,c,d,e;e=w1(a.a);try{b=new K2;if(a.a.C){c=0;for(d=a.a.C.b;d;d=d.d)V1(a.a,b,c++,d)}return b.c.a}finally{T1(a.a, -e,AEc)}}function I2(a,b){var c,d;Blc(a.c,b);c=-1;d=c;while((c=Vkc(b,mlc(10),c+1))>=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function bOb(a,b){var c,d,e;e=wPb(a.g,0).b.b;c=cOb(a,b);if(GOb(a,(nSb(),MQb))){sMb(a,MQb);d=TMb(a,1);c=new gTb(new IWb(e,a.f),c,d)}return c}function qjb(a,b){Vhb();var c,d;c=(ie(Ukc(a,mlc(46))==-1,DDc,a),new Y2b((m6b(),e5b),a));if(b){H0b(c,b);T1b(c,b)}d=T1b(cYb(c,g6b),c);return d}function Wab(a,b,c){var d,e;d=fbb(SXb(DD(yD(VR,1),EDc,7,0,[])),b);for(e=a.b;e;e= -e.d)e.j==(m6b(),Q5b)&&H0b(d,fbb(GYb(Y0b(e,71)),c));return d}function Xeb(a){var b,c,d,e;e=AD(BE,QCc,46,a.a.length,15,1);for(c=0;c=0;d=Iqc(b,d-1))e[d]+=1}return e}function gjc(a,b,c){VAc(a>=0&&a<=RCc);if(a>=FBc){b[c++]=GBc+(a-FBc>>10&HBc)&IBc;b[c]=JBc+(a-FBc&HBc)&IBc;return 2}else{b[c]=a&IBc;return 1}}function lu(b,c){var d;d=b.Sd(c);try{return d.Kd()}catch(a){a=GV(a);if(qE(a,75))throw HV(new Hic("Can't get element "+c));else throw HV(a);}}function fz(a){var b,c; -c=!a.a||a.a.isEmpty()&&gwc(a.c.a,a.b)?a.a=hwc(a.c.a,a.b):a.a;if(!c)return jt(),it;b=c.Xd().Pd();return new oz(a,b)}function T8(a,b,c,d,e,f){switch(c.j.f){case 93:R8(a,b,c,d,e,f);break;case 94:S8(a,b,c,d,e,f);break;default:throw HV(new Ujc("unexpected"));}}function rib(a){switch(a.j.f){case 91:case 86:case 87:case 98:return a;case 114:return a.b.j==(m6b(),Q5b)?a.b:null}throw HV(new Ujc(jHc+a));}function cMb(a){ZLb();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 $Pb(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 NOb(a){var b;b=wPb(a.g,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;default:return ZLb(),!!_Lb(b.c)}}function Vkb(a){var b,c,d;for(d=M0b(a.n).Pd();d.Jd();){b=d.Kd();a.k+=1;a.j+=Skb(b)}for(c=M0b(a.u).Pd();c.Jd();){b=c.Kd();a.v+=1;a.t+=Skb(b)}}function JFb(a,b){var c,d,e,f;e=(Zn(),new hr);for(d=b.a.Pd();d.Jd();){c= -d.Kd();fr(e,wEb(a.a,c))}f=wEb(a.a,b.b);return VDb(a.a,y6b(f,go(e.a)))}function GBb(a,b){var c,d,e;d=a.b;e=b.b;!d||!e?c=null:dxb(d,e)?c=d:c=null;return new DBb(a.c==b.c?a.c:null,kyb(a.d,b.d),c,HBb(a.a,b.a))}function Swb(a,b){if(a.e.a.length!=0||!!a.j)throw HV(new Ywb("Cannot add required formal after optional or rest args"));epc(a.i,b);return a}function kXb(a,b){b.a=b.a.substr(0,0)+"("+b.a.substr(1);if(a.b.k){CXb(a.b,a.b.p-1);b=$Wb(a,b,1);b.a+=")"}else{b.a+=")";b=$Wb(a,b,0)}return b}function XGb(a, -b){var c;c=YGb(a,b);if(c)if(AGb(a,(PHb(),HHb))){!a.n?WHb(a.i):sGb(a);gHb(a);b=!a.n?WHb(a.i):sGb(a);return bHb(a,b,c)}return c}function hOb(a){var b,c;b=wPb(a.g,0).b.b;if(GOb(a,(nSb(),sRb))){sMb(a,sRb);c=new bWb(new IWb(b,a.f),MNb(a));sMb(a,xQb)}else c=xOb(a);return c}function xgc(a,b,c){var d,e,f;f=c-b.size();if(f>0){d=(Zn(),new hr);Vq(d,b);for(e=0;e=a.b>>1){d=a.c;for(c=a.b;c>b;--c)d=d.b}else{d=a.a.a;for(c=0;c=a.length)throw HV(new VWb(flc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function M4(a,b){var c;if(qE(b,209)){c=b;c.a&&(a.a=c.a);N4(a,new spc(new tzc(c.c.a.Gj())))}else{++a.d;kmc(a.e,b,ikc(a.d));pzc(a.c,b);ozc(a.c,b)}}function jBb(a,b,c){if(b.a==(OBb(),MBb)){if(!!a&&!mxb(a.d,b.d,c))return false}else if(!a||a.a==MBb||!mxb(a.d,b.d,c))return false;return true}function tIb(a,b,c){var d;d=(Vd(b.j==(m6b(),N3b),cJc,b),T0b(b)-1);if(dc.b){WIb(a,c.d);return false}return true} -function CIb(a,b){if(!tIb(a,b,(xJb(),cJb)))return false;if(!SIb(a,(Vd(b.j==(m6b(),N3b),cJc,b),S0b(b,1)))){YIb(a,cJb.d);return false}return true}function JIb(a,b){if(!tIb(a,b,(xJb(),nJb)))return false;if(!SIb(a,(Vd(b.j==(m6b(),N3b),cJc,b),S0b(b,1)))){YIb(a,nJb.d);return false}return true}function jOb(a,b){var c;c=cOb(a,b);GOb(a,(nSb(),MQb))&&ZOb(a,"A default value cannot be specified after '...'",DD(yD(nT,1),UBc,1,5,[]));return c}function l_b(a,b){if(!!b&&!((a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a& -rFc)==KGc)&&!CZb(a.a)){WZb(a.a,b);a.e=true;return true}else return false}function nE(a,b){if(vE(a))return!!mE[b];else if(a.Oj)return!!a.Oj[b];else if(sE(a))return!!lE[b];else if(rE(a))return!!kE[b];return false}function _b(a){var b,c;c=DD(yD(zE,1),EBc,46,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=NBc.charCodeAt(a&15);a=a>>4&IBc}return slc(c,0,c.length)}function xX(a){var b,c;IX((m6b(),U4b),a);a.ni()==null&&gY(oDc,a);a.ni().length==0&&gY(pDc,a);c=o6b(a.j);c!=-1&&(b=T0b(a),c!=b&&gY(hDc+c+iDc+b,a))} -function BX(a){var b,c;IX((m6b(),e5b),a);a.ni()==null&&gY(oDc,a);a.ni().length==0&&gY(pDc,a);c=o6b(a.j);c!=-1&&(b=T0b(a),c!=b&&gY(hDc+c+iDc+b,a))}function Q8(a,b,c){var d,e,f;d=(Vhb(),e=fib(b),!e?null:Y0b(e,29));!!d&&tZb(d,c)!=null?f=tZb(d,c):f=iGc+a.b++;de((t6b(),r6b.test(f)));return f}function shc(a,b){var c,d,e;d=new Yhc(a.A);for(c=0;c=0&&a<=RCc);return a>=FBc?DD(yD(zE,1),EBc,46,15,[GBc+(a-FBc>>10&HBc)&IBc,JBc+(a-FBc&HBc)&IBc]):DD(yD(zE,1),EBc,46,15,[a&IBc])}function qBc(a){oBc();var b,c,d;c=":"+ -a;d=nBc[c];if(d!=null)return xE((aBc(d),d));d=lBc[c];b=d==null?pBc(a):xE((aBc(d),d));rBc();nBc[c]=b;return b}function wb(a,b){return vE(a)?Rkc(a,b):sE(a)?(aBc(a),a===b):rE(a)?(aBc(a),a===b):pE(a)?a.Cd(b):CD(a)?a===b:!!a&&!!a.equals?a.equals(b):wE(a)===wE(b)}function e_(a,b){var c,d,e;d=b.ni();e=W0b(b,54)!=0;if(e)Z$(a,j_(a,b.ni(),e));else{c=imc(a.d,d);if(c==null){c=j_(a,b.ni(),e);lmc(a.d,d,c)}w$(a.c,c)}}function ZMb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;c=oNb(a,b);while(GOb(a,(nSb(),jQb))){d=sMb(a,jQb); -e=oNb(a,b);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function $Mb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;c=_Mb(a,b);while(GOb(a,(nSb(),oQb))){d=sMb(a,oQb);e=_Mb(a,b);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function _Mb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;c=ZMb(a,b);while(GOb(a,(nSb(),rQb))){d=sMb(a,rQb);e=ZMb(a,b);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function PNb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;c=$Mb(a,b);while(GOb(a,(nSb(),lQb))){d=sMb(a,lQb);e=$Mb(a,b);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function QNb(a, -b){var c,d,e,f;f=wPb(a.g,0).b.b;c=PNb(a,b);while(GOb(a,(nSb(),vRb))){d=sMb(a,vRb);e=PNb(a,b);c=new ESb(new IWb(f,a.f),c,d,e)}return c}function abb(a,b){_ab();return T0(a,yFc+hlc("arrayFromIterable",(oxc(),mxc)),false),YXb(ojb(a,"$jscomp.arrayFromIterable"),DD(yD(VR,1),EDc,7,0,[b]))}function ejb(a,b){var c,d;if(a.j==(m6b(),Q5b))return true;if(b.Lf().yd){d=a.k;if(d){c=b.Nf().hh((Mcc(),xcc));if(d.Uh(c))return true}}return false}function dBb(a){var b,c,d,e;for(e=(c=(new qnc(a)).a.Xd().Pd(),new vnc(c));e.a.Jd();){d= -(b=e.a.Kd(),b.ee());if(0==d.d.Eh())return true}return false}function KGb(a,b){var c,d;switch(b.f){case 4:d=a.i.n;c=N0b(new Z2b((m6b(),R5b),d,a.i.g,VHb(a.i)),a.k);E1b(c,d.length);return c;default:return null}}function xGb(a){var b,c,d;$Hb(a.i);d=a.i.g;b=VHb(a.i)+1;c=jlc(yGb(a));c.length>0&&i_b(a.e,c,d,b,d,b+c.length);return new nHb(c,!a.n?WHb(a.i):sGb(a))}function g0b(a,b){if(!!b&&!wZb(a.a)&&!((a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)){q$b(a.a,b,yCc);a.e=true;return true}else return false} -function Rs(a,b){var c,d;while(a.Jd()){if(!b.Jd())return false;c=a.Kd();d=b.Kd();if(!(wE(c)===wE(d)||c!=null&&wb(c,d)))return false}return!b.Jd()}function WEb(a){var b,c;Qd(a.j==(m6b(),K5b));if(!a.b)return false;c=a.b;if(c.j!=r4b)return false;b=c.b;if(b.j!=N3b)return false;return o1b(b.b,EGc)}function D7(a,b,c){var d,e,f;f=c.ni();d=nhb(b);while(d){e=lq(a.a,d.d,f);if(e!=null){c.si(e);yhb(b);return}else if(hob(d,f,false))return;else d=d.c}}function I8(a,b,c){var d,e;d=W0b(a,58)!=0?b:c;d=O0b(d,false); -if(a.j==(m6b(),W3b))return iYb(d,u1b(a));else{e=a.b.b;return U1b(jYb(d,GYb(a.ni())),e)}}function Bhb(b,c){var d;try{shb(b,c);b.e=c;vhb(b,c);Chb(b,c,null);uhb(b,false)}catch(a){a=GV(a);if(qE(a,89)||qE(a,40)){d=a;Ahb(b,d)}else throw HV(a);}}function Tub(){Tub=gW;new j6("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(tZ(),qZ),new cmc("Rename prototypes and inline variables cannot be used together."))}function Klc(a,b,c){var d,e;bBc(a,"src");bBc(b,"dest");yb(a);yb(b);e=a.length;d=b.length;if(c<0||c>e||c>d)throw HV(new Gic); -c>0&&GAc(a,0,b,0,c,true)}function EX(a,b,c){var d,e;lX(a,(TKb(),DKb),b);IX((m6b(),g5b),b);e=o6b(b.j);e!=-1&&(d=T0b(b),e!=d&&gY(hDc+e+iDc+d,b));GX(a,b.b);FX(a,b.b?b.b.f:null,c)}function uwb(a,b,c,d,e,f,g,h,i,j,k){Zd(a);this.a=a;this.i=b;this.e=c;this.j=d;this.k=e;this.d=f;this.g=g;this.f=h;this.n=i;this.c=j;this.b=k;bwb(this)}function NAb(a,b){var c;if(b==null)return false;if(a===b)return true;Qd(qE(b,180));c=b;return vxc(a.b,c.b)&&vxc(a.e,c.e)&&vxc(a.d,c.d)&&vxc(a.g,c.g)}function SAb(a){var b,c,d, -e;for(e=(c=(new gnc(a.g)).a.Xd().Pd(),new mnc(c));e.a.Jd();){d=(b=e.a.Kd(),b.de());if(!Rkc(d,FDc))return true}return false}function EGb(a,b,c,d){var e,f;if(c!=-1&&d==0){f=VHb(a.i)-c;for(e=0;e0&&(wic(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function lHb(a){var b,c;c=0;while(ca.g? -cdc(a.i,(Mcc(),Icc)):b>1?null:b==1?hpc(a.a,0):cdc(a.i,(Mcc(),bcc))}function $kc(a,b,c){var d,e,f,g;d=(e=b>>>0,e.toString(16));f="\\u"+elc("0000",d.length)+d;g=String.fromCharCode(c);return a.replace(new RegExp(f,"g"),g)}function jlc(a){var b,c,d;c=a.length;d=0;while(dd&&a.charCodeAt(b-1)<=32)--b;return d>0||b57)return false}return d==1||a.charCodeAt(0)!=48}function J9(a){var b;if(!a.b)return null;for(b=a.b.b;b;b=b.d)if(b.j==(m6b(),w4b)&&Rkc("$jscomp$generator$function$name",b.b.ni()))return b;return null}function slb(a,b){llb();var c;this.b= -a;this.d=a.C;this.q=b;this.i=new qpc;this.c=false;this.e=0;this.r=a.L.xd;c=a.L.dc;c>0&&c<=100?this.g=c:this.g=100}function csb(a,b,c,d,e){var f,g;g=b.getAtIndex(c);if(c>>4];this.a[b|256]=a.c[b&15]}}function Vab(a,b,c){var d,e,f;d=fbb(SXb(DD(yD(VR,1),EDc,7,0,[])),b);for(e=a.b;e;e=e.d)if(e.j==(m6b(),Q5b)){f=fbb(m2b(Uab(Y0b(e,71))),c);H0b(d,f)}return d}function Fvb(){Fvb=gW;Evb=new j6("JSC_ILLEGAL_PROTOTYPE_MEMBER",(tZ(),rZ),new cmc("Prototype property {0} should be a primitive, not an Array or Object."))}function CDb(){CDb= -gW;BDb=new DDb("TYPES_ONLY",0);zDb=new DDb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",1);ADb=new DDb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)}function AEb(a,b){var c,d,e;e=new Moc;while(b){DEb(a,b);BEb(a,b);EEb(a,b);CEb(a,b);d=b.d;c=b.b;if(c){!!d&&uoc(e,d);b=c}else d?b=d:b=Eoc(e)}de(e.b==e.c)}function rMb(a,b){var c,d,e;d=b.b;c=b.a;if(d.o.a.b' unexpected",DD(yD(nT,1),UBc,1,5,[]));e=b}return e}function ejc(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)== -a&&(Xic==null&&(Xic=new RegExp(QBc,"i")),Xic.test(String.fromCharCode(a)))}function Q7(a,b){var c,d,e;e=v1b(b,b.g,85);e!=b.g&&(b.g=e);b.g=new B2b(85,1,b.g);for(d=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();d.Jd();){c=d.Kd();Q7(a,c)}}function _9(a,b){var c,d;if(gab(b))return true;c=new mab;Ihb(a.c,b,c);if(c.a)return false;d=T1b(new Z1b((m6b(),c5b)),b);K0b(d,t1b(b));H0b(b,d);return true}function Knb(a,b,c,d,e,f){var g;g=Lnb(a,b);if(g)return new Deb(c,null,d,e,g,null,DD(yD(sT,1),DBc,2,6,[b]));return Ieb(c, -d,e,f,Cnb,DD(yD(sT,1),DBc,2,6,[b]))}function cob(a){if(!a.c||a.d.j==(m6b(),c5b))return null;if(a.d.j!=(m6b(),w4b)||f1b(a.d))return cob(a.c);!a.a&&(a.a=(vsb(),Qd(true),new Csb(a)));return a.a}function Itb(a,b){var c;return new Utb(a,Ntb((hub(),c=_kc(_kc(_kc(_kc(_kc($kc($kc(b,58,45),92,47)," ",XFc),"[",YFc),"]",ZFc),"<",$Fc),">",_Fc),iub(c)),a.d))}function xzb(a){var b;wzb();new Pwc;new lwc;Zd(a);b=new Xwb(a);Twb(b,a.G);Uwb(b,a.G);de(!b.c);de(pmc(b.f.c)==0);new Qvb(b.a,b.i,b.e,b.j,b.k,b.d,b.g,b.n,b.b)} -function kIb(){var a;if(gIb)return;a=Xxc(bJc);gIb=jIb(Vxc(a,"jsdoc.annotations"));hIb=jIb(Vxc(a,"jsdoc.suppressions"));jIb(Vxc(a,"compiler.reserved.vars"))}function zoc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=akc($wnd.Math.max(8,d))<<1;if(a.b!=0){b=HAc(a.a,c);yoc(a,b,d);a.a=b;a.b=0}else LAc(a.a,c);a.c=d}function SD(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&XCc;a.m=d&XCc;a.h=e&YCc;return true}function xfb(a){this.c=a;this.a=(uW(), -sW)==a.J;this.d=j1(a);this.f=dbb(this.a,this.d,(Mcc(),Icc));this.e=dbb(this.a,this.d,xcc);this.b=dbb(this.a,this.d,Hbc)}function J_b(a){if((a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc||(a.a.a&2)!=0||HZb(a.a)||(a.a.a&XGc)!=0)return false;a.a.a|=512;a.e=true;return true}function a8b(a,b,c,d){C6b();O6b.call(this,a);this.a=!b?Ycc(a,true,DD(yD(pS,1),oKc,23,0,[H6b(this,(Mcc(),Icc))])):b;this.b=!c?H6b(this,(Mcc(),Icc)):c;this.c=d}function dyc(a,b,c,d,e,f,g){var h,i;if(b.Lj()&&(i=a.a.Re(c,d),i<0|| -!e&&i==0))return false;if(b.Mj()&&(h=a.a.Re(c,f),h>0||!g&&h==0))return false;return true}function wX(a,b,c){switch(c.j.f){case 29:BX(c);break;case 93:SW(a,b,c);break;case 94:OX(a,b,c);break;case 26:case 27:oX(a,b,c);break;default:gY(qDc+b+mDc,c)}}function g5(){g5=gW;e5=glc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");f5=glc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function rhb(a,b,c){var d,e;a.f=b;zhb(a,Y0b(b,53),(e=(d=Y0b(b,51),!d?null:d.Hg()),e==null?"":e)); -a.e=b;if(a.a.Yf(a,b,c)){Dhb(a,b);a.e=b;a.a.Zf(a,b,c)}a.f=null}function Eib(a){Vhb();if(a.j==(m6b(),e5b))switch(a.e.j.f){case 100:case 88:case 78:return true;case 96:return a.e.b==a;case 65:return Fib(a.e)}return false}function g_b(a,b,c,d){var e,f;e=VYb(a.a);if(e){f=new R$b;Rd(b.charCodeAt(0)!=32&&Mkc(b,b.length-1)!=32,cKc);f.d=b;L$b(f,c,d,c,d+b.length);e.a=f;a.e=true}a.b=e}function Dgc(a,b,c){var d,e,f,g;g=c.Qi().Wi();if(!g)return false;f=g.b;for(e=f.Pd();e.Jd();){d=e.Kd();if(!!d.Vi()&&Egc(a,b,d.Vi()))return true}return false} -function Bx(a,b){var c,d,e;if(b.isEmpty())return false;if(qE(b,203)){e=b;for(d=bl(e).Pd();d.Jd();){c=d.Kd();rl(a,c.b.de(),Jl(c))}}else Ms(a,b.Pd());return true}function x8b(a){var b,c,d;if(a.v){b=a.bj();if(!b||b.jj()){a.v=false;for(d=a.aj().Pd();d.Jd();){c=d.Kd();if(c._h()){a.v=true;break}}}else a.v=b._h()}return a.v}function xxc(a,b){var c,d,e;aBc(b);VAc(b!=a);e=a.b.a.length;for(d=b.Pd();d.Jd();){c=d.Kd();epc(a.b,aBc(c))}if(e!=a.b.a.length){yxc(a,0);return true}return false}function hBb(a,b){var c, -d,e,f;for(f=(d=(new gnc(a.g)).a.Xd().Pd(),new mnc(d));f.a.Jd();){e=(c=f.a.Kd(),c.de());if(!VAb(b,new SBb(e)))return false}return true}function Dt(a){var b,c,d,e,f;if(Lq(a.f,a.b.length)){d=AD(YG,tCc,239,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.qf()){f=c;b=f.d&e;f.a=d[b];d[b]=f}}}function w_(a){var b,c,d;if(Sib(a))return a;d=new Flc;for(c=0;c31&&b<127?(d.a+=String.fromCharCode(b),d):BC(d,b)}return d.a}function t7(){t7=gW;s7=new j6("JSC_MISSING_ES6_EXTERNS", -(tZ(),qZ),new cmc("Missing externs definition for Symbol. Did you forget to include the ES6 externs?"))}function Y9b(a){var b;if(!a.i){b=a.gj();b==null?bac(a,bdc(a.A,(Mcc(),Icc)),null):_9b(a,new t9b(a.A,a.gj()+cGc,bdc(a.A,(Mcc(),occ)),a.r,null),null)}return a.i.e}function Sac(a,b){var c;c=X0b(a.b);if(!!c&&W0b(c,30)!=0)return false;b.Ji()||b.Hi()||b.Ii()||cdc(b.A,(Mcc(),$bc))==b||(b=Xcc(a.a,b));O1b(Tac(a,b));return true}function Yc(a){var b,c,d;d=new Zxc("[","]");for(c=a.Pd();c.Jd();){b=c.Kd();Yxc(d, -b===a?SBc:b==null?ABc:kW(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function LV(a,b){var c;if(OV(a)&&OV(b)){c=a/b;if(bDc=d)return-1;e=(a.a[c]|0)&yBc<=d)return-1; -e=a.a[c]|0}return c*31+ekc(e)}function _kc(a,b,c){var d,e;d=alc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=alc(alc((aBc(c),c),CBc,"\\\\\\\\"),"\\$","\\\\$");return alc(a,d,e)}function Ci(a,b){var c,d,e;c=b.de();e=b.ee();d=a.Yd(c);if(!(wE(e)===wE(d)||e!=null&&wb(e,d)))return false;if(d==null&&!a.containsKey(c))return false;return true}function x0(a){var b,c,d;b=a.b;if((p1b(b,pEc,pEc.length)||p1b(b,qEc,qEc.length))&&T0b(a)==3){c=b.d;d=c.d;if(j1b(c)&&j1b(d))return new r0((u0(),c),d)}return null} -function vob(){vob=gW;uob=new j6("JSC_DUPLICATE_ZIP_CONTENTS",(tZ(),sZ),new cmc("Two zip entries containing the same relative path.\nEntry 1: {0}\nEntry 2: {1}"))}function d5(){d5=gW;c5=new j6("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(tZ(),sZ),new cmc("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}function iAb(a){var b,c,d,e;if(null.Qj())return rp(a.b,null.Qj());d=null.Rj;for(c=mAb().Pd();c.Jd();){b=c.Kd();e=iAb(b);!!e&&(d=kyb(d,e))}return 0==d.Eh()?null:d}function I_b(a){if(!((a.a.a& -rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)&&!HZb(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=EFc;a.e=true;return true}else return false}function Kp(a){Cn();var b,c;if(!a.Jd())return cy(),by;c=a.Kd();if(!a.Jd())return new Xy(c);b=new Pwc;gvc(b,Zd(c));do gvc(b,Zd(a.Kd()));while(a.Jd());return Rp(b)}function VD(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 h1(a,b,c,d){var e,f,g;if(b==null)return null; -g=Bzc(a.w,b);if(!g)return null;e=cpb(g,a.j);if(!e)return null;f=dB(e,c,d+1);if(!f)return null;return null}function Znb(a,b,c){var d,e;d=new Ebb;M0(a.b,d);Jlb(new Mlb(a.b,true),null,c);if(qW(a.b.$)){Sjb(new Ujb(a.b),b,c);if(a.b.$==1){e=new Dkb(a.b);Ckb(e,b,c)}}L1(a.b,d)}function rNb(a){var b,c,d;d=wPb(a.g,0).b.b;c=uMb(a);b=null;if(FOb(a,0,(nSb(),XQb))&&Rkc(wPb(a.g,0).a,"as")){yMb(a,"as");b=uMb(a)}return new lTb(new IWb(d,a.f),c,b)}function Y_(a,b){var c,d;if(a.n==0)for(c=0;c0){a.k+=d;a.n=b.length-Xkc(b,mlc(10))}}function c8(a,b,c){var d,e;while(!!b.b&&!!b.b.d){d=b.b?b.b.f:null;e=T1b(cYb(Q0b(d),(m6b(),g6b)),b);g8(b,c,d,e);F0b(c,e,b);O1(a.a,c)}g8(b,c,b.b,b);M1b(b,(m6b(),g6b))}function bYb(a,b,c){if(a.j==(m6b(),e5b))de(!a.b);else{de(a.j==p3b||a.j==s5b);a=new _1b(d4b,a)}ie(rYb(b),"%s can't be an expression",b);H0b(a,b);return new _1b(c,a)}function kYb(a,b,c){var d,e,f,g,h;de(rYb(a));de(b.j==(m6b(),Q5b));h=new b2b(C4b, -a,b);for(e=c,f=0,g=e.length;f1)&&gY(nDc+e,c);if(!!c.b&&!c.b.d){d=c.b;switch(d.j.f){case 118:dX(a,b,d);break;default:wX(a,b,d)}}}function esb(a,b){var c,d;if(!b.bi())return b;d=b.ci();if(b.Yh()){c=a.b.hh((Mcc(),ccc));return a.b.gh((Zn(),new Zx(qo(DD(yD(nT,1),UBc,1,5,[d,c])))))}return d.Rh()?b:d}function u9b(a,b,c,d,e){z8b.call(this,a,e);this.u=new $ec;Zec(this.u,this);this.p=b;this.r=d;this.o=false;d||!!c?(de(!this.oj()),this.q=c):r9b(this,bdc(a,(Mcc(), -occ)))}function bW(b,c,d,e){aW();var f=$V;$moduleName=c;$moduleBase=d;FV=e;function g(){for(var a=0;a=0;d--)if(Rkc(a[d].d,b)||Rkc(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}return a}function T9(a,b,c){if(c.e.j==(m6b(),r4b))return;if(nbb(a.b,c)!=0){qbb(a.b,c);yhb(b)}else M1(a.a,Heb(c,(_ab(),Zab),DD(yD(sT,1),DBc,2,6,["Undecomposable expression"])))} -function Ei(a,b,c){var d,e,f;for(e=a.Xd().Pd();e.Jd();){d=e.Kd();f=d.de();if(wE(b)===wE(f)||b!=null&&wb(b,f)){if(c){d=new Gnc(d.de(),d.ee());e.Ld()}return d}}return null}function acb(a,b){var c,d,e,f;if(b.Ui())for(f=b.cj().Pd();f.Jd();){e=f.Kd();c=Y0b((d=b.hj(e),!d?null:d.d),51);if(!!c&&c.vh()){gvc(a.b.b,e);dcb(a,b.fj(e))}}return a.b.b}function KBb(a,b){var c,d;c=null;if(!!a.b&&!!b.b){c=yyb(a.b,b.b);if(!c)return null}d=yyb(a.d,b.d);if(!d)return null;return new DBb(a.c==b.c?a.c:null,d,c,IBb(a.a,b.a))} -function Yu(a,b){var c,d;d=a.size();if(b==null)for(c=0;c0)return}}function Svb(a,b){var c,d,e,f;e=a.Ch();if(!e)return true;f=b.Ch();for(d=e.Pd();d.Jd();){c=d.Kd();if(!!f&&f.contains(c))continue;if(!null.Qj())return false}return true}function jNb(a, -b){var c,d,e,f;f=wPb(a.g,0).b.b;c=QNb(a,b);if(GOb(a,(nSb(),HRb))){sMb(a,HRb);d=TMb(a,b);sMb(a,AQb);e=TMb(a,b);return new cTb(new IWb(f,a.f),c,d,e)}return c}function ZYb(a,b){!a.d&&(a.d=new E$b);if(SZb(a,b)||(a.a&rFc)==BBc)return false;if(!a.d.q)a.d.q=new qpc;else if(ipc(a.d.q,b,0)!=-1)return false;epc(a.d.q,b);return true}function Eqc(a){var b,c,d,e;d=Nqc(a.a);b=-2128831035^d;for(c=0;c<=d;c++){e=a.a[c]|0;b=b*wKc&-1^e&255;b=b*wKc&-1^e>>>8&255;b=b*wKc&-1^e>>>16&255;b=b*wKc&-1^e>>>24}return b}function _h(a, -b){var c;c=a.c.Yd(b);!c&&(c=a.Be(b));return qE(c,206)?new Yk(a,b,c):qE(c,129)?new Xk(a,b,c):qE(c,31)?new Zk(a,b,c):qE(c,45)?ei(a,b,c,null):new ik(a,b,c,null)}function As(a,b){var c,d;Zd(a);if(!b.Jd())return Zd(a),vs==a?us:new ey(new szc(a));c=new szc(a);while(b.Jd()){d=b.Kd();Zd(d);c.a.put(d,(Pic(),Nic))==null}return new ey(c)}function Ss(a,b){var c,d;Os(b);d=Ns(a,b);if(!a.a.Jd())throw HV(new Hic(ACc+b+") must be less than the number of elements that remained ("+d+")"));return c=a.a.Kd(),c.de()}function N_(a){var b; -if(a.n>a.o)if(a.d>a.b&&a.d36)return-1;if(a>=48&&a<48+$wnd.Math.min(b,10))return a-48;if(a>=97&&a=65&&a>24;for(a=0;a<=26;a++){c[65+a]=10+a<<24>>24;c[97+a]=10+a<<24>>24}WA=c}function HW(){HW=gW;DW=new IW(dDc,0,"\u001b[31m");GW=new IW(eDc,1,"\u001b[35m");EW=new IW("NO_COLOR",2,"\u001b[39m");CW=new IW("BOLD",3,"\u001b[1m");FW=new IW("UNBOLD",4,"\u001b[0m")}function XW(a,b){var c,d,e;IX((m6b(),R3b),b);e=o6b(b.j);e!=-1&&(d=T0b(b),e!=d&&gY(hDc+e+iDc+d,b));c=b.b;c.j==e5b?BX(c):c.j==p3b?SW(a,R3b,c):OX(a,R3b,c);VW(a,b.b?b.b.f: -null)}function U1(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new HC(d);!!b&&DA(c,(b.f==null&&(b.f=(jD(),e=iD.Hf(b),lD(e))),b.f));throw HV(c);}function a7(a){var b,c,d,e;b=Z0b(oib(a));c=Zd((Vhb(),hib(a,Uhb)));for(d=c.d;d;d=d.d){e=_6(d,b);if(e!=null)return e}throw HV(new Ujc("$jscomp.inherits() call not found."));}function kob(a){aob(this);Rd((Vhb(),bib(a)||a.j==(m6b(),w4b)||a.j==(m6b(),c5b)||a.j==(m6b(),I5b)&&!a.e||a.j==(m6b(),K5b)||a.j==(m6b(),I5b)),a);this.c= -null;this.d=a;this.b=0}function upb(a,b){var c,d;this.b=new bvc;this.a=a;for(d=Qo(b).Pd();d.Jd();){c=d.Kd();lmc(this.b,c.de(),new C5(c.ee(),(tZ(),rZ)))}lmc(this.b,kFc,new C5((e6(),Z5),(tZ(),rZ)))}function LAb(a,b,c,d){var e,f,g,h,i;for(h=(f=c.a.Xd().Pd(),new mnc(f));h.a.Jd();){g=(e=h.a.Kd(),e.de());i=new SBb(g);if(!jBb(PAb(a,i),PAb(b,i),d))return false}return true}function U0(a,b){var c,d,e,f,g,h;for(e=(g=b.a.Xd().Pd(),new vnc(g));e.a.Jd();){d=(c=e.a.Kd(),c.ee());d.b=a;N2(d,kub(S2(d).a));h=Q2(d,a); -if(!h)continue;f=new fab(a);_9(f,h)}}function NMb(a){var b,c,d;b=COb(a,0);for(d=b.b.Pd();d.Jd();){c=d.Kd();!!c.b&&ZOb(a,"Ambient variable declaration may not have initializer",DD(yD(nT,1),UBc,1,5,[]))}return b}function J0b(a,b,c){var d,e,f;if(!b)return;Qd(!c||c.e==a);Zd(b.f);if(!c){L0b(a,b);return}for(d=b;d;d=d.d){Qd(!d.e);d.e=a}e=b.f;f=c.d;e.d=f;!f?a.b.f=e:f.f=e;c.d=b;b.f=c}function ldb(a,b){switch(b){case uBc:return a.b.a;case vBc:return a.b.q;case xBc:return a.b.t;case ABc:return a.b.j;case WFc:case hEc:return a.b.B; -default:return null.Qj()}}function uMb(a){var b;b=FMb(a);if(b.c==(nSb(),XQb))return b;else{ZLb();if(_Lb(b.c))return new $Kb(b.b,_Lb(b.c).b);else XOb(a,b,IJc,DD(yD(nT,1),UBc,1,5,[XQb]))}return null}function ohc(a,b,c,d){var e,f,g;g=qhc(b);if(c==0&&qhc(a).size()!=g.size())return false;for(e=0;e=97&&b<=122&&(c[d]=b&95&IBc)}return slc(c,0,c.length)}return a}function Ub(a){var b,c,d,e;e=a.length;for(d=0;d=65&&b<=90&&(c[d]=(b^32)&IBc)}return slc(c,0,c.length)}return a}function olb(b,c,d,e){if(!b.p)return;try{Wnb(o2(b.b),d,e);DY(b.a,c,b.d)}catch(a){a=GV(a);if(qE(a,40))throw HV(new Vjc("Sanity check failed for pass: "+ -c));else throw HV(a);}}function yFb(a,b){var c,d,e,f,g;f=eEb(a.a,(m6b(),A4b));for(e=new Lwc(new Cwc(b.a));e.b!=e.c.a.b;){d=Jwc(e);g=jEb(a.a,z4b,d.d.a);c=d.e;!!c&&H0b(g,wEb(a.a,c));H0b(f,g)}return f}function qGb(a,b){var c,d;for(d=new Npc(b);d.aa.length||e+f>d.length)return false;g=a.substr(c, -f);h=d.substr(e,f);return b?Skc(g,h):Rkc(g,h)}function NX(b){if(b.pi())try{b.ni()}catch(a){a=GV(a);if(qE(a,20))gY("getString failed for"+b.j,b);else throw HV(a);}else{b.ni()==null&&gY(oDc,b);b.ni().length==0&&gY(pDc,b)}}function Iib(a){Vhb();switch(a.j.f){case 72:case 73:case 101: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 njb(a,b){var c,d;c=(ie(Ukc(b,mlc(46))==-1,DDc,b),new Y2b((m6b(),e5b),b));E1b(c,b.length);W0(a).ag(b)&& -(d=v1b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new B2b(43,1,c.g));return c}function PPb(a){rPb(a);if(bQb(qPb(a,a.d)?Mkc(a.e.a,a.d):0)){yPb(a,"New line not allowed in regular expression literal",DD(yD(nT,1),UBc,1,5,[]));return false}rPb(a);return true}function r0b(a){if((a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc||HZb(a.a)||(a.a.a&eGc)!=0||(a.a.a&$Cc)!=0||(a.a.a&dGc)!=0)return false;a.a.a|=dGc;a.e=true;return true}function Xkb(a,b){var c,d;Vkb(a);if(a.D==(x4(),w4))return;b.c=a.q=a.b=aib(a.u);if(!(a.D== -v4||a.D==s4))return;c=glb((d=a.u,a.D==s4,d));b.o=a.r=a.e=c.b;a.D==s4&&(b.g=a.s=a.o=0)}function pub(a,b,c){var d,e,f;for(d=0;d=0;c--){if(a.getAtIndex(c)==null)return c}else for(c=a.size()-1;c>=0;c--)if(wb(b,a.getAtIndex(c)))return c;return-1}function i_(a,b){var c,d;d=b.ni();if(!b.pi()&& -!(a.i&&q6b(d))&&(t6b(),r6b.test(d))&&Sib(d))w$(a.c,d);else{c=v_(d);isNaN(c)?e_(a,b):a.c.fg(c,b)}if(b.b){w$(a.c,":");b_(a,b.b,1,4)}}function kbb(a){var b,c,d,e;d=ojb(a.a.b,"Math.pow");if(a.a.a){c=j1(a.a.b).ih("Math");b=c.fi().Jh("pow");e=dbb(a.a.a,j1(a.a.b),(Mcc(),xcc));d.k=b;N1b(d.b,c);N1b(d.b.d,e)}return d}function IOb(a){switch(wPb(a.g,0).c.f){case 82:case 85:case 86:case 95:case 87:case 83:case 84:case 88:case 89:case 90:case 91:case 93:case 92:return true;default:return false}}function Z0b(a){var b, -c;switch(a.j.f){case 29:c=a.ni();return c.length==0?null:c;case 26:b=$0b(a,0);return b?b.a:null;case 33:return _Dc;case 99:return aEc;default:return null}}function lB(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=(_Ac(f,a.a.length),a.a[f]).zf()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d=FBc){b=GBc+(a-FBc>>10&HBc)&IBc;c=JBc+(a-FBc&HBc)&IBc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&IBc)}function yYb(a){var b,c,d,e,f;b=new Z1b((m6b(),r5b));for(d=a,e=0,f=d.length;e0,pCc,c);d=a.a.Yd(b);if(!d)return 0;g=d.a;if(g>c)f=c;else{f=g;a.a.remove(b)}d.a+=-f;a.b=UV(a.b,f);return g}function JX(b){var c,d;IX((m6b(),p5b),b);d=o6b(b.j);d!=-1&&(c=T0b(b),d!=c&&gY(hDc+d+iDc+c,b));try{b.mi()}catch(a){a=GV(a);if(qE(a,20))gY("Invalid NUMBER node.",b);else throw HV(a);}}function YX(b){var c,d;IX((m6b(),Q5b),b);d=o6b(b.j);d!=-1&&(c=T0b(b),d!=c&&gY(hDc+d+iDc+c,b));try{b.ni()}catch(a){a=GV(a);if(qE(a,20))gY("Invalid STRING node.",b);else throw HV(a);}}function ZX(a,b){var c,d; -IX((m6b(),V5b),b);zX(b);kX(a,b.b);d=0;for(c=b.b.d;c;c=c.d){$X(a,b.b?b.b.f:null);c.j==a4b&&++d}d>1&&gY("Expected at most 1 'default' in switch but was "+d,b)}function V0(a){var b;if(a.j==(m6b(),K5b))return a;b=gib(a.e);if(!b)throw HV(new Ujc("An enclosing scope is required for change reports but node "+a+" doesn't have one."));return b}function P4(a,b){var c,d,e,f;for(f=(d=(new goc(a.c.a)).a.Xd().b.Hj(),new moc(d));f.a.Jd();){e=(c=f.a.Kd(),c.de());if(e.Mg(b))return true;else if(e.Lg(b))return false}return false} -function AIb(a,b){var c;b.j==(m6b(),m5b)?c=zIb(a,b.b):c=zIb(a,b.b)&&zIb(a,b.b.d);if(!c){a.a.lh(PIc+j3b(gJc,DD(yD(nT,1),UBc,1,5,[uBc])),a.b.Hg(),a.d,a.c);return false}return true}function Axc(a,b){var c,d;aBc(b);d=a.b.a.length;epc(a.b,b);while(d>0){c=d;d=(d-1)/2|0;if(qY(hpc(a.b,d),b)<=0){mpc(a.b,c,b);return true}mpc(a.b,c,hpc(a.b,d))}mpc(a.b,d,b);return true}function wAc(a){var b,c,d;b=window.console!=null?new OAc:null;if(!b)return;Rzc();if(BBc>a.a.Bj())return;c=(d=a.a.Bj(),d>=1E3?"error":d>=900?"warn": -d>=800?"info":"log");NAc(c,a.b)}function Z1(a){var b,c;c=(a.L.rd!=(x4(),u4)&&!!a.W&&Ykb(a.W,EEc,true),new Ppb);try{!a.N&&(a.N=new Uub);Sqc();irc()}finally{b=UV(NV(Date.now()),c.a);a.L.rd!=u4&&!!a.W&&Zkb(a.W,EEc,b)}}function d8(a){var b,c,d,e;if(a.b.a.size()!=0)for(d=(e=(new gnc(a.b.a)).a.Xd().Pd(),new mnc(e));d.a.Jd();){c=(b=d.a.Kd(),b.de());c.j==(m6b(),X3b)&&c8(a,c,c.e);M1b(c,g6b);O1(a.a,c)}}function Ehb(a,b,c){var d,e,f,g;f=b.b;g=!!c&&(Vhb(),b.j==(m6b(),w4b)&&!(b.j!=c5b&&cjb(b.e)));g||Chb(a,f,b); -a.e=b;vhb(a,b);g&&Chb(a,f,b);d=f.d;e=d.d;Chb(a,d,b);Chb(a,e,b);uhb(a,false)}function epb(a,b){var c,d,e;if(Rkc(b.substr(0,29),"data:application/json;base64,")){c=dA((cA(),cA(),bA),b.substr(29));e=Pkc((d=c,amc(),d));return Bob(a.b+".inline.map",e)}return null}function bPb(a,b,c,d,e){this.a=new dPb(this);this.e=new Moc;this.d=(OJb(),DJb);this.b=a;this.c=b;this.g=new ZPb(b,this.a,c,d);voc(this.e,e?(iPb(),gPb):(iPb(),hPb));this.f=oPb(this.g)}function q$b(a,b,c){if((a.a&rFc)!=0)throw HV(new Ujc("API tried to add two incompatible type tags. This should have been blocked and emitted a warning.")); -a.a=a.a&1073741823|c;a.i=b}function k_b(a){if(!((a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)&&!HZb(a.a)&&(a.a.a&XGc)==0&&(a.a.a&32)==0&&a.a.j!=(Z$b(),W$b)){a.a.a|=XGc;a.e=true;return true}return false}function bp(a){Po();var b,c,d;d=a.a.length;switch(d){case 0:return Oo;case 1:b=Vs(new Npc(a));return hp(b.de(),b.ee());default:c=ppc(a,AD(WU,tCc,48,a.a.length,0,1));return new ay(c)}}function hy(b,c){var d;if(b===c)return true;if(qE(c,31)){d=c;try{return b.size()==d.size()&&b.containsAll(d)}catch(a){a= -GV(a);if(qE(a,67))return false;else throw HV(a);}}return false}function $kb(a,b,c){this.d=new Amb;this.f=new Moc;this.w=new qpc;Rd(c!=(x4(),u4),"PerformanceTracker can't work without tracer data.");this.H=NV(Date.now());this.n=a;this.u=b;this.D=c}function aac(a,b,c){if(b.ij()||a.r||!!b.dj()){if(!!a.i&&(a.Sh()||a.g==(Yac(),Wac))&&F6b(b,(ie(a.Sh()||a.g==(Yac(),Wac),RHc,a),N6b(a.n))))return;b=new s9b(a.A,a.gj()+cGc,b)}_9b(a,b,c)}function y7(a,b,c,d){var e,f,g,h;for(f=Vwc(a.a,0);f.b!=f.d.c;){e=cxc(f); -if(c!=e.a&&n1b(c,e.a)){h=gob(nhb(b),c.ni());if(!!h&&h.c==e.a){g=T1b(vYb(e.b),c);w1b(d,c,g);O1(a.b.b,g);return}}}}function O8(a,b,c,d,e){this.g=a;this.d=yYb(DD(yD(VR,1),EDc,7,0,[]));this.e=yYb(DD(yD(VR,1),EDc,7,0,[]));this.j=new lwc;this.i=new lwc;this.b=new lwc;this.f=b;this.a=c;this.c=d;this.k=e}function Ghb(b,c,d){var e,f;try{e=c.e;Zd(e);shb(b,e);b.e=e;vhb(b,e);Chb(b,c,e);de(d.e==e);Chb(b,d,e);uhb(b,false)}catch(a){a=GV(a);if(qE(a,89)||qE(a,40)){f=a;Ahb(b,f)}else throw HV(a);}}function Gib(a,b){Vhb(); -var c;c=b.e;if(c.j==(m6b(),C4b)&&b==(c.b?c.b.f:null))return a.bg(b.ni());else if(Zib(b))return a.bg(b.ni());else if(b.j==e5b)return a.ag(b.ni());return false}function lkb(a,b){var c,d,e,f;d=a.b;c=d.li(false);f=T1b(cYb(c,(m6b(),g6b)),a);d.si("");K1(b,V0(d));x1(b);e=a.e;if(e.j==T4b)w1b(e,a,f);else{s1b(e,a);I0b(e,f)}K1(b,V0(f));x1(b);I0b(c,a)}function Wkb(a,b){var c,d,e;e=aib(a.u);b.b=a.b-e;a.b=b.c=e;if(!(a.D==(x4(),v4)||a.D==s4))return;c=glb((d=a.u,a.D==s4,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==s4){e= -0;b.f=a.o-e;a.o=b.g=e}}function cnb(a,b,c){var d,e,f,g,h;h=b.b;while(!!h&&h!=c){g=h.d;Vhb();if(h.j==(m6b(),r4b)&&h.b.j==N3b){d=h.b;e=d.b;if(p1b(e,AHc,AHc.length)){f=$Jb(e.d.d.d.ni());bnb(a,f)&&vjb(b,h)}}h=g}}function FNb(a){var b,c,d,e;e=wPb(a.g,0).b.b;sMb(a,(nSb(),YQb));sMb(a,tRb);b=GMb(a,1);sMb(a,yQb);d=nOb(a);c=null;if(GOb(a,JQb)){sMb(a,JQb);c=nOb(a)}return new QTb(new IWb(e,a.f),b,d,c)}function zNb(a){var b,c,d;d=wPb(a.g,0).b.b;sMb(a,(ZLb(),sLb).a);c=!!wMb(a,(nSb(),QRb));b=ATb(new ETb((JTb(), -GTb)),tMb(a));ANb(a,b,c?(iPb(),gPb):(iPb(),hPb));return tTb(b,new IWb(d,a.f))}function r1(a,b){var c,d;a.L=b;R1(a,i4(b.Tb));!a.j&&P1(a,new Hfb((c=a.L.K,d=new Efb(a),d.d=c,d),K0));a.H=(Htb(),Dtb);J1(a);if(!b.A){b.bb=false;b.f=false;b.Fb=false;b.yd=false}s1(a,b.Ad)}function wbb(a,b,c){var d;if(b.j==(m6b(),r3b)){d=b.b;switch(d.j.f){case 29:return true;case 26:return!vbb(a,d.b,c);case 27:return!vbb(a,d.b,c)&&!vbb(a,d.b?d.b.f:null,c)}}return false}function hxb(a,b){if(0==a.Eh()||yBc==a.Eh()||512==a.Eh())return a.e.G; -ke(!a.Hh().isEmpty()||!a.Ch().isEmpty(),"Can't getProp %s of type %s",b,a);return ryb(hCb(a.Hh(),b),hCb(a.Ch(),b))}function uFb(a,b){var c,d,e,f;f=eEb(a.a,(m6b(),w5b));if(SEb(a,b.a))for(d=b.a.Pd();d.Jd();){c=d.Kd();e=yEb(a.a,c);de(e.j==e5b||e.j==F5b||e.j==p3b||e.j==s5b||e.j==b4b);H0b(f,e)}return f}function MIb(a,b,c){var d;for(d=0;d0? -1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.Re(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 Zf(a,b,c,d){var e,f;a.Zd(b);a.$d(c);e=a.b.containsKey(b);if(e&&Ld(c,a.b.Yd(b)))return c;d?$f(a.d,c):Vd(!Af(a.d,c),cCc,c);f=a.b.put(b,c);e&&a.d.b.remove(f);a.d.b.put(c,b);return f}function Q4(a,b){var c,d,e,f;for(f=(d=(new goc(a.c.a)).a.Xd().b.Hj(),new moc(d));f.a.Jd();){e=(c=f.a.Kd(),c.de());switch(e.Ng(b)){case 0:return 0;case 1:return 1;case 2:continue}}return 2}function aHb(a, -b){var c;if(b==(PHb(),EHb)){gHb(a);c=_Gb(a,!a.n?WHb(a.i):sGb(a));if(c){gHb(a);AGb(a,KHb)?!a.n?WHb(a.i):sGb(a):(oGb(a,TIc,a.i.g,VHb(a.i)),null)}return c}else return _Gb(a,b)}function qw(a){var b,c,d,e;e=ulc((Em(a.size(),"size"),new Glc),123);d=true;for(c=Qo(a).Pd();c.Jd();){b=c.Kd();d||(e.a+=RBc,e);d=false;Alc(ulc(Alc(e,b.de()),61),b.ee())}return(e.a+="}",e).a}function R2(a){!a.c&&(a.c=P2(a));if(a.e.a.length!=0||a.d.a.length!=0){a.c=new Dub(a.f.a,a.f.a,$2(a.c.c,a.d),$2(a.c.d,a.e),a.c.a);a.e.a=AD(nT, -UBc,1,0,5,1);a.d.a=AD(nT,UBc,1,0,5,1)}return a.c}function c7(a,b){var c;switch(b){case KFc:case "EvalError":case LFc:case MFc:case NFc:case "TypeError":case "URIError":return c=gob(nhb(a),b),!(!!c&&!(!c.a||T2(c.a)));default:return false}}function zBb(a,b,c){switch(a.a.f){case 0:return ulc(bxb(a.d,b,c),94);case 2:return bxb(a.d,b,c);case 1:return ulc(bxb(a.d,b,c),61);default:throw HV(new GC("Unknown Attribute value "+a.a));}}function SNb(a,b,c,d,e,f){var g;g=xTb(CTb(wTb(zTb(uTb(BTb(yTb(DTb(ATb(new ETb((JTb(), -ITb)),c),d),e),false),f),CMb(a)),xNb(a,1)),BMb(a)),new iTb(new IWb(b,a.f)));return tTb(g,new IWb(b,a.f))}function Xpc(a,b){var c;if(wE(a)===wE(b))return true;if(a==null||b==null)return false;if(a.length!=b.length)return false;for(c=0;ca.f.b,b||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb)?xMb(a):sMb(a,BQb))}return go(c.a)}function hAc(a,b){var c,d,e,f;c=imc(a.a,b);if(!c){d=new uAc(b);e=d.c;f=flc(e,0,$wnd.Math.max(0,Xkc(e,mlc(46))));rAc(d,hAc(a,f));d.c.length==0&&mAc(d,new xAc);lmc(a.a,d.c,d);return d}return c}function e1(a,b){var c,d,e,f;Zd(b);if(!a.C)return null;for(d=M0b(a.C).Pd();d.Jd();){e= -d.Kd();f=Y0b(e,51);if((!f?null:f.Hg())!=null&&Qkc((c=Y0b(e,51),!c?null:c.Hg()),b))return e}return null}function bib(a){Vhb();var b;switch(a.j.f){case 82:b=a.e;return!!b&&!(b.j==(m6b(),P3b)||b.j==a4b)&&b.j!=(m6b(),R3b);case 72:case 73:case 101:case 67:case 96:return true;default:return false}}function mxb(a,b,c){var d,e,f;if(a==b)return true;f=b;return e=a.Hh(),e.size()==1&&Vs(e.Pd()).c||(d=f.Hh(),d.size()==1&&Vs(d.Pd()).c)?a.e.J?Xxb(cxb(a),cxb(f)):nxb(cxb(a),cxb(f),c):nxb(a,f,c)}function Kgc(a,b, -c){C6b();var d,e,f,g;dfc.call(this,a,b,ngc(b.Bi(),c));g=tgc(b.Bi());d=(Zn(),new hr);for(f=g.Pd();f.Jd();){e=f.Kd();fr(d,rgc(this.B,e))}this.b=go(d.a);this.a=new Fgc(a,this.B)}function lqc(a){var b,c,d,e,f;if(a==null)return ABc;f=new Zxc("[","]");for(c=a,d=0,e=c.length;d=a.a.length)return Fqc(a)-1;d=(a.a[c]|0)&yBc>>>31-b%31-1;while(d==0){if(--c<0)return-1;d=a.a[c]|0}return c*31+(32-dkc(d))-1}function tp(a){var b,c,d,e,f,g,h;b=new lwc;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<0,pCc,c);d=a.a.Yd(b);if(!d){g=0;a.a.put(b,new Ym(c))}else{g=d.a;f=IV(g,c);Ud(JV(f,yBc)<=0,f);d.a+=c}a.b=IV(a.b,c);return g}function nib(a){Vhb();var b;Rd(!!a&&(a.j==(m6b(),g6b)||a.j==Y4b||a.j==X3b)||a.j==(m6b(),w5b)||a.j==(m6b(),R3b)||a.j==(m6b(),d4b)||a.j==(m6b(),b4b)||a.j==(m6b(), -I4b),a);b=new qpc;mib(a,b);return b}function zEb(a,b){var c,d,e,f;f=lEb(a,b);c=N0b(new Y2b((m6b(),Q5b),""+f),a.t);d=$Db(a,XDb(a,b.b));!!d&&(e=v1b(c,c.g,29),e!=c.g&&(c.g=e),!!d&&(c.g=new L2b(29,d,c.g)),c);uEb(c,b.b.b,b.b.a);return c}function YB(a,b,c){var d,e,f,g;aB(a.b,c-a.c);a.c=c;if(b){e=OB(a.j,b.d);aB(a.b,e-a.g);a.g=e;g=b.c.b;f=b.c.a;aB(a.b,g-a.i);a.i=g;aB(a.b,f-a.f);a.f=f;if(b.b!=null){d=NB(a.j,b.b);aB(a.b,d-a.e);a.e=d}}}function MC(a){var b;if(a.c==null){b=wE(a.b)===wE(KC)?null:a.b;a.d=b==null? -ABc:tE(b)?b==null?null:b.name:vE(b)?TCc:ojc(yb(b));a.a=a.a+": "+(tE(b)?b==null?null:b.message:b+"");a.c="("+a.d+") "+a.a}}function Bcb(a,b,c){var d,e,f,g;e=imc(a.a.g,b);if(!e){d=Xkc(b,mlc(46));if(d>=0){g=b.substr(0,d);f=Bcb(a,g,true);e=Lcb(f,b.substr(d+1),c)}else{e=new Pcb(b,null);epc(a.a.f,e)}lmc(a.a.g,b,e)}return e}function Bxb(a){var b,c,d;if(a.Hh().isEmpty()){de(!a.Ch().isEmpty());return a}b=(Cn(),new Vr);for(d=a.Hh().Pd();d.Jd();){c=d.Kd();Sr(b,$Ab(c))}return nyb(a.e,a.Eh(),Kp(new Npc(b.a)), -a.Qh(),a.Ch())}function vEb(a){var b;switch(a.p.f){case 6:case 20:case 67:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=HEb(a);if(b.p==(YVb(),vVb))return false;return true;default:return true}}function eXb(a){var b,c;if(a.a==null)return a.b.k=false,$Wb(a,ABc,0);b=null;if(qE(a.a,154))b=new Ztc(a.a.a);else if(qE(a.a,279))b=a.a;else throw HV(XWb(a));c=new Flc;c.a+=""+b;return $Wb(a,c,0)}function x9(a){var b,c;b=u1b(a.f);while(b){!!b.b&&H0b(a.g,eYb(fbb(UXb(b,u1b(b)),b.k)));F0b(a.n.e, -cYb(O0b(b,false),(m6b(),g6b)),a.n);c=v1b(b,b.g,85);c!=b.g&&(b.g=c);b.g=new B2b(85,1,b.g);b=u1b(a.f)}}function ndb(a){var b,c;new qpc;new lwc;new lwc;new lwc;this.a=new Pwc;this.c=new Pwc;b=n3(a.L,(e6(),V5));new qpc;new qpc;gvc(this.a,FDc);this.b=new Bzb(b);new xzb((c=this.b,W0(a),new sdb(this),c))}function kMb(a){var b,c,d;d=new qpc;epc(d,ikc(0));for(c=0;c=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++0)Lu(this)}this.b=b;this.a=null}function _D(a,b){var c,d,e,f;b&=63;c=a.h&YCc;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 ID(d&XCc,e&XCc,f&YCc)}function iib(a,b){Vhb();var c,d;de(a.j==(m6b(),r5b));for(d= -(!a.b?(Sqc(),Sqc(),Rqc):new Q2b(a.b)).Pd();d.Jd();){c=d.Kd();if(c.j==W3b&&c.b.oi(b,false,true,false,false))return c.b?c.b.f:null}return null}function jXb(a,b){var c,d;d=a.b.n;d=0==d?1:d;BXb(a.b,d);c=Ojc(a.a);if(c==0){--d;BXb(a.b,d);cXb(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;BXb(a.b,d);bXb(a,b);return}cXb(a,b)}function Xt(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=mmc(a.b,b.a);c.a=0;++a.c}else{c=hmc(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 $hb(a){var b;Vd(a.j==(m6b(),k5b),"Expected NEW node, got %s",a.j);if((W0b(a,42)&15)==15)return false;if((W0b(a,42)&15&11)==11&&Whb(a))return false;b=a.b;return b.j!=e5b||!Lhb.contains(b.ni())}function Tmb(a,b,c){var d,e,f,g;for(e=(!c.b?(Sqc(),Sqc(),Rqc):new Q2b(c.b)).Pd();e.Jd();){d=e.Kd();g=d.b;de(d.j==(m6b(),R5b)&&(g.j==Q5b||g.j==s4b));f=g.j==Q5b?b+(""+g.ni()):yHc;lmc(a.b,b+(""+d.ni()),f)}}function R9b(a){var b,c;a.v=true;if(a.k)for(c=new Npc(a.k);c.ac)return Od(a,c,"start index");if(b<0||b>c)return Od(b,c,"end index");return me("end index (%s) must not be less than start index (%s)",DD(yD(nT,1),UBc,1,5,[ikc(b),ikc(a)]))}function $mb(){$mb=gW;Zmb=new j6("JSC_INSUFFICIENT_OUTPUT_VERSION",(tZ(), -rZ),new cmc("Built-in ''{0}'' not supported in output version {1}"));Ymb=(Cn(),Mp(DD(yD(nT,1),UBc,1,5,["goog.global.","window."])))}function u8b(a,b){var c;c=a.hj(b);if(!c){if(a.Ii()||a.Ei())return H6b(a,(Mcc(),Ibc));else if(a.Ji()||a.Hi()||a.Ii()||cdc(a.A,(Mcc(),$bc))==a)return H6b(a,(Mcc(),bcc));return H6b(a,(Mcc(),Icc))}return c.e}function U8(a,b,c,d){var e,f;f=(ie(Ukc(d,mlc(46))==-1,DDc,d),new Y2b((m6b(),e5b),d));C1b(f,Y0b(c,29));w1b(c.e,c,f);e=bYb(c,(ie(Ukc(d,mlc(46))==-1,DDc,d),new Y2b(e5b, -d)),g6b);F0b(a.b?a.b.f:null,e,b);return e}function wlb(a){var b,c,d,e,f;d=new qpc;for(f=$s(new fsc((llb(),jlb).a.b.Pd()));f.Jd();){e=f.Kd();for(c=new Npc(a.d);c.a=c?new cB(f+1,e-c): -a;else if(f==b)return new cB(f-1,e+c);else if(f>b)throw HV(new Ujc("Cannot undo line cut on a previous line."));else return a}function qEb(a,b){var c,d,e;e=d_b(a.f);!!e&&(d=v1b(b,b.g,29),d!=b.g&&(b.g=d),!!e&&(b.g=new L2b(29,e,b.g)),b);if(a.g){if(!!Y0b(b,29)&&qZb(Y0b(b,29))!=null){c=y0b(a.g);P_b(c,qZb(Y0b(b,29)));a.g=d_b(c)}C1b(b,a.g)}}function UGb(a,b){var c,d;d=CGb(a,(m6b(),W4b));c=MGb(a,b);if(!c)return oGb(a,WIc,a.i.g,VHb(a.i)),null;gHb(a);if(!AGb(a,(PHb(),KHb)))return oGb(a,TIc,a.i.g,VHb(a.i)), -null;!a.n?WHb(a.i):sGb(a);H0b(d,c);return d}function $0b(a,b){var c,d,e;e=(a.b?a.b.f:null).ni();b+=1+e.length;if(a.b.j==(m6b(),C4b)){c=$0b(a.b,b);if(!c)return null}else{d=Z0b(a.b);if(d==null)return null;c=new Glc;c.a+=""+d}Blc((c.a+=".",c),e);return c}function hqc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){eqc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);hqc(b,a,i,j,-e,f);hqc(b,a,j,h,-e,f);if(f.Re(a[j-1],a[j])<=0){while(c=0;d--){i=hpc(a.b,d);for(e=i.size()-1;e>=0;e--){f=i.getAtIndex(e);if(b!=f&&Dqc(a.c[b.c],f.c)&&c!=f&&Dqc(a.c[c.c],f.c))return f}}return null}function UNb(a,b){var c,d,e,f,g;e=wPb(a.g,0).b.b;!wMb(a,(nSb(),jRb))&&sMb(a,kRb); -d=(f=wPb(a.g,0).b.b,g=tMb(a),new aUb(new IWb(f,a.f),pMb(a,g)));sMb(a,sRb);c=b?MMb(a):VNb(a);sMb(a,xQb);return new _Tb(new IWb(e,a.f),d,c)}function VGb(a){gHb(a);if(!AGb(a,(PHb(),wHb)))return CGb(a,(m6b(),h4b));!a.n?WHb(a.i):sGb(a);gHb(a);if(AGb(a,OHb)&&Rkc(hEc,a.i.n)){!a.n?WHb(a.i):sGb(a);return CGb(a,(m6b(),h6b))}else return YGb(a,!a.n?WHb(a.i):sGb(a))}function XHb(a){var b,c,d;for(;;){b=THb(a);switch(b){case 42:if((d=THb(a),a.q[a.r++]=d,--a.b,d)!=47){SHb(a,b);break}case -1:case 10:a.q[a.r++]=b; ---a.b;a.n=(c=slc(a.o,0,a.p),aBc(c),c);a.p=0;return a.n;default:SHb(a,b)}}}function MMb(a){var b;b=(Zn(),new hr);while(FOb(a,0,(nSb(),iSb))||FOb(a,0,fRb)||FOb(a,0,CQb)||FOb(a,0,VQb)||FOb(a,0,vQb)||FOb(a,0,bRb)||FOb(a,0,LQb)||FOb(a,0,jRb)||FOb(a,0,kRb)||FOb(a,0,QQb))fr(b,LMb(a));return go(b.a)}function Hac(a,b){C6b();eac.call(this,a,b,new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[cdc(a,(Mcc(),Cbc)),cdc(a,Cbc),cdc(a,Cbc)])),null),null,null,true,true);this.c.b=(ie(this.g==(Yac(),Vac)||this.g==Wac,RHc,this),N6b(this.n))} -function Vlc(){Vlc=gW;Ulc=new Wlc("UP",0);Olc=new Wlc("DOWN",1);Nlc=new Wlc("CEILING",2);Plc=new Wlc("FLOOR",3);Slc=new Wlc("HALF_UP",4);Qlc=new Wlc("HALF_DOWN",5);Rlc=new Wlc("HALF_EVEN",6);Tlc=new Wlc("UNNECESSARY",7)}function os(a,b){is();var c,d,e,f;d=Zd(b.de());f=Zd(b.ee());c=d;if(ayc(a,c)){e=(new boc(new Qyc(a,(czc(),bzc),d))).b.Hj().Kd();throw HV(new afb("Duplicate keys in mappings "+e.de()+"="+e.ee()+" and "+d+"="+f));}gyc(a,d,f)}function _6(a,b){var c,d,e,f;if(a.j!=(m6b(),r4b))return null; -c=a.b;if(c.j!=N3b)return null;e=c.b;if(!p1b(e,pEc,pEc.length))return null;d=Zd(e.d);if(b!=null&&p1b(d,b,b.length)){f=Zd(d.d);return Z0b(f)}else return null}function bi(a,b){var c,d;c=a.c.remove(b);if(!c)return a.Ce();d=a.Ae();d.addAll(c);a.d-=c.size();c.clear();return qE(d,206)?my(d):qE(d,129)?(Sqc(),new Btc(d)):qE(d,31)?(Sqc(),new atc(d)):qE(d,45)?arc(d):(Sqc(),new Rrc(d))}function Fib(a){var b;if(!(a.j==(m6b(),w4b)&&Kib(a.e)))return false;b=a.e;while(b)switch(b.j.f){case 82:return b.e.j!=w4b;case 65:case 85:case 155:case 108:case 111:return false; -default:de(b.j==T4b);b=b.e}return false}function hCb(a,b){var c,d,e,f,g;if(!a)return null;d=null;for(f=a.Pd();f.Jd();){e=f.Kd();c=PAb(e,b);if(!!c&&(b.a.size()==1||sxb(c.d,(Qd(b.a.size()!=1),new RBb(b.a.$e(1,b.a.size())))))){g=RAb(e,b);d=!d?g:kyb(d,g)}}return d}function HEb(a){while(true)switch(a.p.f){case 6:a=a.a;continue;case 49:a=a.b;continue;case 42:a=a.a;continue;case 43:a=a.a;continue;case 46:a=a.b;continue;case 55:a=a.b;continue;case 45:a=a.a;continue;default:return a}}function WMb(a){var b, -c;c=wPb(a.g,0).b.b;yMb(a,RDc);sMb(a,(nSb(),VQb));if(GOb(a,QRb)){ZOb(a,NJc,DD(yD(nT,1),UBc,1,5,[]));sMb(a,QRb)}b=vTb(ATb(new ETb((JTb(),GTb)),tMb(a)));ANb(a,b,(iPb(),fPb));return tTb(b,new IWb(c,a.f))}function jFb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){e=c;c=fEb(a.a,NEb(b.b.c),wEb(a.a,b.c));g2b(c.i)==-1&&uEb(c,b.o.b,b.o.a);!!e&&I0b(e,c);if(qE(b.a,107))b=b.a;else{d=wEb(a.a,b.a);I0b(c,d);b=null}!f&&(f=c)}return f}function LGb(a,b){var c,d,e;c=KGb(a,b);if(!c)return null;gHb(a);if(!AGb(a,(PHb(), -wHb)))return c;!a.n?WHb(a.i):sGb(a);gHb(a);e=YGb(a,!a.n?WHb(a.i):sGb(a));if(!e)return null;d=CGb(a,(m6b(),U3b));H0b(d,c);H0b(d,e);return d}function xMb(a){var b;if(FOb(a,0,(nSb(),MRb))&&wPb(a.g,0).b.b.b==a.f.b){sMb(a,MRb);return}b=wPb(a.g,0).b.b.b>a.f.b;if(b||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb))return;ZOb(a,"Semi-colon expected",DD(yD(nT,1),UBc,1,5,[]))}function HNb(a){var b,c,d;d=wPb(a.g,0).b.b;c=uMb(a);b=null;if(FOb(a,0,(nSb(),XQb))&&Rkc(wPb(a.g,0).a,"as")){yMb(a,"as");b=tMb(a)}else bMb(c.a)&& -XOb(a,null,IJc,DD(yD(nT,1),UBc,1,5,["as"]));return new STb(new IWb(d,a.f),c,b)}function IXb(a){if(a.indexOf(":")!=-1||a.indexOf("=")!=-1){if(Ukc(a,mlc(58))==-1)return Ukc(a,mlc(61));if(Ukc(a,mlc(61))==-1)return Ukc(a,mlc(58));return $wnd.Math.min(Ukc(a,mlc(61)),Ukc(a,mlc(58)))}return Ukc(a,mlc(32))}function ai(a,b,c){var d;d=a.c.Yd(b);if(!d){d=a.Be(b);if(d.add(c)){++a.d;a.c.put(b,d);return true}else throw HV(new Mic("New Collection violated the Collection spec"));}else if(d.add(c)){++a.d;return true}else return false} -function b_(a,b,c,d){var e;if(d==3&&b.j==(m6b(),M4b)||(Vhb(),fjb(b.j)&&(e=b.e,!!e&&e.j==(m6b(),n4b)&&e.b==b)||(b.j==(m6b(),r5b)||b.j==Q3b&&b.b.j==r5b)&&f1b(b.e)||m_(a,b)>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-16384;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function lAc(a,b){var c,d,e,f,g,h,i;for(d=ppc(a.a,AD(oV,zKc,271,a.a.a.length,0,1)),f=0,h=d.length;fW0b(c,56)){if(FY(b,c))throw HV(new Ujc(a+ -"unchanged scope marked as changed: "+wY(b)));}else if(!FY(b,c))throw HV(new Ujc(a+"changed scope not marked as changed: "+wY(b)));}function z_(a,b,c,d,e,f,g){var h,i,j;de(!!c.ed);j=b==0?new P_(f,c.pc,c.Wb,c.ed):new $_(c.Wb,c.ed);h=b==2?new fsb(j,g.a.c,g.a.e):new r_(j,g.a.c);d&&w$(h.c,"/** @externs */\n");e&&w$(h.c,"'use strict';");h.Ag(a,4);j.ng();i=j.i.a;return i}function Dab(){Dab=gW;Bab=new j6(DFc,(tZ(),qZ),new cmc("super() not allowed except in the constructor of a subclass"));Cab=new j6("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION", -qZ,new cmc("super() not allowed here. Did you mean super.{0}?"))}function ljb(a,b){Vhb();var c,d,e,f,g,h,i;d=!(a.j==(m6b(),C4b)||a.j==B4b);c=YXb(a,DD(yD(VR,1),EDc,7,0,[]));i=v1b(c,c.g,50);i!=c.g&&(c.g=i);(d?1:0)!=0&&(c.g=new B2b(50,d?1:0,c.g));for(f=b,g=0,h=f.length;g0&(a&a-1)==0);case 1:case 3:return 31-dkc(a);case 0:case 2:return 32-dkc(a-1);case 5:case 4:case 6:d= -dkc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw HV(new Lic);}}function aY(a,b){var c,d,e;IX((m6b(),a6b),b);d=T0b(b);(d<2||d>3)&&gY(sDc+d,b);VW(a,b.b);e=false;c=b.b.d;IX(K3b,c);yX(c);if(c.b){XW(a,c.b);e=true}if(T0b(b)==3){VW(a,b.b?b.b.f:null);e=true}e||gY("Missing catch or finally for try statement.",b)}function dkb(a,b){var c,d,e;Qd(b.j==(m6b(),T4b));e=b.b?b.b.f:null;switch(e.j.f){case 83:case 82:case 72:case 73:case 101:case 70:case 71:return;default:d=(c=new Z1b(K3b),c);V1b(d, -e);w1b(b,e,d);I0b(d,e);ekb(a,"LABEL normalization",b);return}}function Dvc(a,b){var c,d,e,f,g;f=b==null?0:a.b.Dj(b);d=(c=a.a.get(f),c==null?new Array:c);for(g=0;g>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?YCc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?YCc:0;f=d? -XCc:0;e=c>>b-44}return ID(e&XCc,f&XCc,g&YCc)}function sAb(a,b,c,d,e){var f,g,h;b=b;if(!b)return false;if(null.Qj())return true;if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return true;g=true;for(null.Qj();null.Qj();){h=null.Qj();f=rp(b.b,h);ae(f,h,b.b);g=g&&Axb(rp(a.b,h),f,c,d,e)}return g}function O_b(a,b){if((a.a.a&2)!=0||HZb(a.a)||(a.a.a&XGc)!=0||sZb(a.a)>0||(a.a.a&rFc)==yCc||CZb(a.a)||nZb(a.a)>0||pZb(a.a)!=null||!!a.a.g||(a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)return false;else{d$b(a.a, -b);a.e=true;return true}}function n1b(a,b){if(!b||b.j!=a.j)return false;switch(a.j.f){case 29:return a.ni().length!=0&&Rkc(a.ni(),b.ni());case 33:case 99:return true;case 26:return Rkc((a.b?a.b.f:null).ni(),(b.b?b.b.f:null).ni())&&n1b(a.b,b.b);default:return false}}function ldc(){new Pwc;this.o=new bvc;this.k=new jvc;this.b=new jvc;this.c=new lwc;this.e=new bvc;new st;new Bm;new Bm;this.n=new bvc;this.d=new zgc(this,(Zn(),Zn(),Yn),(null,Yn));this.j=AD(pS,oKc,23,Occ().length,0,1);this.i=new bvc;kdc(this)} -function P2(a){var b,c;_d(a.b,"Expected setCompiler to be called first: %s",a);_d(Z0(a.b),"Expected compiler to call an error manager: %s",a);b=new j3(S2(a));c=Q2(a,a.b);if(!c)return Cub(),Bub;i3(b,Q2(a,a.b));return new Dub("","",b.c,b.d,b.a)}function Rsb(a,b,c){var d,e,f,g,h,i,j;f=Qsb(a);if(!a.c){h=new Hhb(a.a,new Xsb(a),f);Bhb(h,b)}g=new Hhb(a.a,a,f);Ghb(g,b,c);for(j=(e=(new gnc(a.e.a)).a.Xd().Pd(),new mnc(e));j.a.Jd();){i=(d=j.a.Kd(),d.de());Tsb(a.a,i);ivc(a.e,i)}!!a.b&&Zsb(a.b)}function RMb(a){var b, -c,d;c=wPb(a.g,0).b.b;d=_Nb(a);while(b=wPb(a.g,0).b.b.b>a.f.b,!(b||FOb(a,0,(nSb(),MRb))||FOb(a,0,(nSb(),xQb))||FOb(a,0,(nSb(),KQb)))&&FOb(a,0,(nSb(),uRb))){sMb(a,(nSb(),uRb));sMb(a,zQb);d=new BSb(new IWb(c,a.f),d)}return d}function h_b(a,b,c,d,e){var f,g,h;if(a.b){h=new R$b;Rd(b.charCodeAt(0)!=32&&Mkc(b,b.length-1)!=32,cKc);h.d=b;L$b(h,d,e,d,e+b.length);g=new N$b;f=new Z2b((m6b(),e5b),b,d,e);E1b(f,b.length);!!c&&L1b(f,c);g.d=f;L$b(g,d,e,d,e+b.length);H$b(a.b,g)}}function Pab(a,b,c){var d,e,f;ie(c.j== -(m6b(),e5b)||c.j==R5b||c.j==L4b,"Invalid node for declareVar: %s",c);e=c.ni();f=hwc(b.e,e);if(!!f&&f.c==c)return;d=_0(a.a,a.b);!!f||Tab(e,b)||(b.d.j==w4b||Nib(b.d))&&Rkc(e,wFc)?a.c.Qg(b,e,c,d):bob(b,e,c,d)}function Yeb(a){var b,c,d,e,f,g,h;b=AD(_T,UBc,273,a.a.length,0,1);for(f=0;f0||(a.a.a&rFc)==yCc||CZb(a.a)||nZb(a.a)>0||pZb(a.a)!=null||!!a.a.g||(a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)&&aZb(a.a, -b)){a.e=true;return true}return false}function eX(a,b,c){var d,e;e=T0b(c);(e<1||e>2)&&gY(lDc+e,c);d=c.b;switch(d.j.f){case 93:SW(a,b,d);break;case 94:OX(a,b,d);break;default:gY("Invalid destructuring lhs first child for "+b+mDc,c)}!!c.b&&!!c.b.d&&c.b.d==(c.b?c.b.f:null)&&kX(a,c.b.d)}function o$(a){var b,c,d;c=null;if(a.j==(m6b(),C4b))c=(a.b?a.b.f:null).ni();else if(a.j==e5b){d=a.ni();b=Xkc(d,mlc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(Rkc(c,"inherits"))return u0(),s0;else if(Rkc(c,"mixin"))return u0(), -t0;return null}function gvb(){gvb=gW;evb=new j6("JSC_INTERFACE_FUNCTION_NOT_EMPTY",(tZ(),rZ),new cmc("interface functions must have an empty body"));fvb=new j6("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS",rZ,new cmc("Interface functions should not take any arguments"))}function XAb(a,b){var c,d,e,f,g,h;if(b.isEmpty())return a;e=(Zzb(),Zzb(),Yzb);for(h=new Jmc((new Bmc(a.g.a)).a);h.b;){g=Imc(h);f=g.de();d=BBb(g.ee(),b);e=_zb(e,f,d)}c=!a.b?null:pwb(a.b,b);return qBb(a.a,rAb(a.d,b),e,c,a.e,!!c&&c==c.a.s||a.c, -a.f)}function OFb(a,b){var c,d,e,f,g,h;g=b.a;d=NFb(a,g);h=d.ni();if(Ukc(h,mlc(11))!=-1){f=g.b.b.c;c=g.b.a.c;fb.d.length)return null;c<1&&(c=1);e=b.d[c-1];d="";try{d=b.a}catch(a){a=GV(a);if(qE(a,102))return null;else throw HV(a);}return Vkc(d,mlc(10),e)==-1?e>=d.length?null:flc(d,e,d.length):flc(d,e,Vkc(d,mlc(10),e))}function SJb(a){if(PJb(EJb, -a))return"es3";if(PJb(FJb,a))return"es5";if(PJb(HJb,a))return"es6";if(PJb(MJb,a))return"ntiSupported";if(PJb(JJb,a))return"es7";if(PJb(LJb,a))return"es8";if(PJb(NJb,a))return"ts";throw HV(new Ujc(a.a.Fd()));}function fMb(){ZLb();return DD(yD(cP,1),ZBc,37,0,[aLb,bLb,cLb,fLb,gLb,iLb,jLb,kLb,lLb,qLb,rLb,sLb,tLb,wLb,xLb,ELb,KLb,NLb,OLb,PLb,RLb,TLb,ULb,VLb,WLb,XLb,dLb,eLb,mLb,nLb,oLb,vLb,MLb,uLb,yLb,BLb,GLb,HLb,ILb,JLb,LLb,YLb,FLb,QLb,pLb,hLb,SLb,CLb,DLb])}function gA(a,b){var c,d;if(b>127)throw HV(new PA((c= -b>>>0,KCc+c.toString(16))));d=a.e[b];if(d==-1)if(b<=32||b==127)throw HV(new PA((c=b>>>0,KCc+c.toString(16))));else throw HV(new PA("Unrecognized character: "+String.fromCharCode(b)));return d}function c_(a,b,c,d,e){var f,g;f=e==2;f&&w$(a.c,"(");Z$(a,b.j==(m6b(),w4b)&&W0b(b,61)!=0?nEc:wBc);if(W0b(b,59)!=0){w$(a.c,"*");c.ni().length==0||a.c.vg()}a.Ag(c,4);g=Y0b(c,81);!!g&&a.Ag(g,4);a.Ag(c.d,4);l_(a,b);a.Ag(d,4);a.c.og(e==0);f&&w$(a.c,")")}function UFb(a,b){var c,d,e,f,g;g=fEb(a.a,(m6b(),a6b),xEb(a.a, -b.a));c=eEb(a.a,K3b);f=false;d=b.b;if(d){g2b(c.i)==-1&&uEb(c,d.o.b,d.o.a);f=true;H0b(c,wEb(a.a,d))}H0b(g,c);e=b.c;!!e&&H0b(g,xEb(a.a,e));!f&&!!e&&g2b(c.i)==-1&&uEb(c,e.o.b,e.o.a);return g}function $W(a,b,c){var d,e,f,g,h,i;lX(a,(TKb(),hKb),b);IX((m6b(),S3b),b);g=o6b(b.j);g!=-1&&(e=T0b(b),g!=e&&gY(hDc+g+iDc+e,b));h=b.b;h.j==h4b?(f=T0b(h),0!=f&&gY(gDc+f,h)):BX(h);i=h.d;i.j==h4b?(d=T0b(i),0!=d&&gY(gDc+d,i)):kX(a,i);aX(a,b.b?b.b.f:null,c)}function T$b(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.oi(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 c1(a,b){switch(b.f){case 0:return LDb(),FDb;case 1:case 2:return LDb(),GDb;case 3:return LDb(),HDb;case 4:return LDb(),KDb;case 5:return LDb(),IDb;case 6:case 7:return LDb(),JDb;default:throw HV(new Ujc("Unexpected language mode: "+a.L.Tb));}}function reb(){reb=gW;qeb=new j6("JSC_IMPLICITLY_NULLABLE_JSDOC",(tZ(),rZ), -new cmc("Name {0} in JSDoc is implicitly nullable, and is discouraged by the style guide.\nPlease add a '!' to make it non-nullable, or a '?' to make it explicitly nullable."))}function Dib(a){Vhb();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 fkb(a,b){var c,d,e;switch(b.j.f){case 91:if(!b.b){c=qib(b);d=T1b(new Y2b((m6b(), -e5b),c),b);H0b(b,d);ekb(a,rHc,b)}break;case 118:if(b.e.j==(m6b(),s5b)){e=T1b(HYb(b.b.ni()),b);w1b(b.e,b,e);H0b(e,b);ekb(a,rHc,b)}break;default:throw HV(new Tjc);}}function rub(a,b,c){var d,e,f;f="/".length;Rkc(c.substr(c.length-f,f),"/")&&(c=flc(c,0,c.length-1));for(d=0;d0){e.a+=".";f=AD(zE,EBc,46,a.b.n,15,1);_pc(f,f.length,48);e.a+=slc(f,0,f.length)}e.a+="E+00";c=kW(a.a);Blc(b,$kc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a= -flc(b.a,0,d)+"."+elc(b.a,d)}}function oxb(a){if(0==a.Eh()||-1==a.Eh()||yBc==a.Eh()||a.Eh()==64||a.Eh()==128||a.Eh()==32||a.Eh()==256||(a.Eh()&-25)==0&&(a.Eh()&24)!=0||a.Eh()==1||a.Eh()==4&&a.Ch().size()==1||512==a.Eh()||hGc==a.Eh())return false;return!(a.Eh()==2&&a.Hh().size()==1)}function x_b(a,b){if(!!b&&!((a.a.a&2)!=0||HZb(a.a)||(a.a.a&XGc)!=0||sZb(a.a)>0||(a.a.a&rFc)==yCc||CZb(a.a)||nZb(a.a)>0||pZb(a.a)!=null||!!a.a.g||(a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)){q$b(a.a,b,KGc);a.e= -true;return true}else return false}function o0b(a,b){if(!!b&&!((a.a.a&2)!=0||HZb(a.a)||(a.a.a&XGc)!=0||sZb(a.a)>0||(a.a.a&rFc)==yCc||CZb(a.a)||nZb(a.a)>0||pZb(a.a)!=null||!!a.a.g||(a.a.a&rFc)==sFc||(a.a.a&rFc)==BBc||(a.a.a&rFc)==KGc)){q$b(a.a,b,sFc);a.e=true;return true}else return false}function g9(a,b,c){var d,e,f,g,h;d=d9++;g=eYb(C9(a,UXb(O0b(b,false),C9(a,new G2b(d)))));h=eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b((m6b(),e5b),lGc))),C9(a,new G2b(c)))));f=m9(a,d);e=XXb(DD(yD(VR, -1),EDc,7,0,[g,h,I9()]));H0b(e,f);return e}function dqb(a,b,c){cqb();var d,e,f,g,h,i,j,k;if(PJb(i4(a.L.Tb),(OJb(),GJb)))for(j=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();j.Jd();){i=j.Kd();h=Y0b(i,89);if(!!h&&!PJb(FJb,h))for(e=c,f=0,g=e.length;f",_Fc),iub(c));Htb();if(Rkc(b.substr(0,2),GEc)||Rkc(b.substr(0,3),THc)){e=a;d=e.lastIndexOf("/");f=iub(e.substr(0,d+1)+(""+f))}return f}function d2b(a,b,c,d,e){Qd(!b.e);Qd(!b.d);Qd(!b.f);Qd(!c.e);Qd(!c.d);Qd(!c.f);Qd(!d.e);Qd(!d.d);Qd(!d.f);Qd(!e.e);Qd(!e.d);Qd(!e.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=e;b.e=this;c.d=d;c.f=b;c.e=this;d.d= -e;d.f=c;d.e=this;e.d=null;e.f=d;e.e=this;this.i=-1}function Wu(a,b){var c,d,e;if(wE(b)===wE(Zd(a)))return true;if(!qE(b,45))return false;d=b;e=a.size();if(e!=d.size())return false;if(qE(d,65)){for(c=0;c>>, objs <<<%s>>>, typeVar <<<%s>>>, enums <<<%s>>>",DD(yD(nT,1),UBc,1,5,[ikc(b),c,d,e]))));}function VIb(a,b){var c,d;if(!tIb(a,b,(xJb(),vJb)))return false;d=(Vd(b.j== -(m6b(),N3b),cJc,b),T0b(b)-1);for(c=0;c=0?a.c=new rpc(a.b):a.c=new qpc; -Fi(a.a,b.a);nB(new sB(a,b.d))}function Ewb(a,b,c,d,e,f,g,h,i,j,k){var l;!b&&(b=(Zn(),Zn(),Yn));!c&&(c=(Zn(),Zn(),Yn));!h&&(h=(Po(),Po(),Oo));if(d)for(l=c.size()-1;l>=0;l--)if(dxb(d,c.getAtIndex(l)))c.removeAtIndex(l);else break;return new uwb(a,go(b),go(c),d,e,f,g,Xo(h),Ed(i,(cCb(),bCb)),j,k)}function eAb(a,b,c){var d,e,f,g;c.ii()&&(b.a+="!",b);if(a.b.d.d.isEmpty())return null.Qj();Blc(b,null.Rj);g=null.Rj;de(a.b.df().containsAll(g));e=true;b.a+="<";for(null.Qj();null.Qj();){f=null.Qj();e?e=false: -(b.a+=",",b);d=rp(a.b,f);bxb(Zd(d),b,c)}b.a+=">";return b}function yIb(a){var b,c,d,e;c=new xDb(new jvc,new jvc,(LDb(),HDb),1);e=mIb(a.b,a.f,c,a.a);b=e.a;if(b.j!=(m6b(),K5b)||b.b.j!=r4b){a.a.lh(PIc+j3b(eJc,DD(yD(nT,1),UBc,1,5,[fJc])),a.b.Hg(),a.d,a.c);return false}d=b.b.b;if(!SIb(a,d))return false;uIb(a,d);a.e=d;return true}function QD(a){var b,c,d;c=a.l;if((c&c-1)!=0)return-1;d=a.m;if((d&d-1)!=0)return-1;b=a.h;if((b&b-1)!=0)return-1;if(b==0&&d==0&&c==0)return-1;if(b==0&&d==0&&c!=0)return ekc(c); -if(b==0&&d!=0&&c==0)return ekc(d)+22;if(b!=0&&d==0&&c==0)return ekc(b)+44;return-1}function VX(a){var b,c,d;IX((m6b(),O5b),a);c=o6b(a.j);c!=-1&&(b=T0b(a),c!=b&&gY(hDc+c+iDc+b,a));d=a.e;switch(d.j.f){case 28:case 23:a==d.b&&gY("SPREAD node is not callable.",a);break;case 42:break;default:gY("SPREAD node should not be the child of a "+d.j+" node.",a)}}function $Fb(a,b){var c,d,e,f;switch(b.a.f){case 30:aFb(a,b,(TKb(),kKb));e=(m6b(),X3b);break;case 38:aFb(a,b,(TKb(),zKb));e=(m6b(),Y4b);break;case 25:e= -(m6b(),g6b);break;default:throw HV(new Tjc);}f=eEb(a.a,e);for(d=b.b.Pd();d.Jd();){c=d.Kd();H0b(f,yEb(a.a,c))}return f}function Dvb(){Dvb=gW;Bvb=new j6("JSC_PRIMITIVE_OBJECT",(tZ(),sZ),new cmc("Explicit creation of a {0} object."));Cvb=new j6("JSC_PRIMITIVE_OBJECT_DECLARATION",sZ,new cmc("Declaration of {0} object instead of primitive type."));Cn();Mp(DD(yD(nT,1),UBc,1,5,[OFc,QFc,TCc]))}function L$b(a,b,c,d,e){if(b>d)throw HV(new Ujc("Recorded bad position information\nstart-line: "+b+OCc+"end-line: "+ -d));else if(b==d&&c>=e)throw HV(new Ujc("Recorded bad position information\nline: "+b+OCc+"start-char: "+c+OCc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function $eb(a){var b,c;new uvc;this.a=AD(LL,UBc,290,a.a.length,0,1);for(c=0;c=0,"Invalid module index: %s",c);b.c=c;this.a[c]=b}this.b=Web(this);this.c=Yeb(this);Xeb(this)}function g4(){g4=gW;Z3=new j4(SEc,0);$3=new j4(TEc,1);_3=new j4("ECMASCRIPT5_STRICT", -2);b4=new j4("ECMASCRIPT_2015",3);a4=new j4("ECMASCRIPT6_TYPED",4);c4=new j4("ECMASCRIPT_2016",5);d4=new j4("ECMASCRIPT_2017",6);e4=new j4("ECMASCRIPT_NEXT",7);f4=new j4("NO_TRANSPILE",8)}function Ccb(a,b){var c,d,e;if(!b)return Ycb(),Wcb;switch(b.j.f){case 96:return Ycb(),Scb;case 43:return Ycb(),Vcb;case 65:return Ycb(),Tcb;case 61:return Ccb(a,b.b?b.b.f:null);case 60:c=b.b.d;d=Ccb(a,c);if(d!=(Ycb(),Wcb))return d;e=c.d;return Ccb(a,e)}return Ycb(),Wcb}function SGb(a,b){var c,d;c=false;if(b==(PHb(), -yHb)){b=!a.n?WHb(a.i):sGb(a);if(b==KHb){a.n=b;return iHb(a,(m6b(),g4b),new Z1b(h4b))}c=true}d=XGb(a,b);if(d){gHb(a);if(c)d=iHb(a,(m6b(),g4b),d);else if(AGb(a,CHb)){!a.n?WHb(a.i):sGb(a);gHb(a);d=iHb(a,(m6b(),m4b),d)}}return d}function teb(){teb=gW;seb=new j6("JSC_J2CL_REFERENCE_EQUALITY",(tZ(),sZ),new cmc("Reference equality may not be used with the specified type: {0}"));Po();new ay(DD(yD(WU,1),tCc,48,0,[(Dm(RGc,SGc),new Wq(RGc,SGc)),(Dm(TGc,UGc),new Wq(TGc,UGc)),(Dm(VGc,WGc),new Wq(VGc,WGc))]))} -function wNb(a,b,c){var d,e,f;!c&&(c=new dUb(zMb(a,wPb(a.g,0).b.b)));sMb(a,(nSb(),MRb));GOb(a,MRb)?e=new dUb(zMb(a,wPb(a.g,0).b.b)):e=GMb(a,1);sMb(a,MRb);GOb(a,yQb)?f=new dUb(zMb(a,wPb(a.g,0).b.b)):f=GMb(a,1);sMb(a,yQb);d=nOb(a);return new qTb(new IWb(b,a.f),c,e,f,d)}function eac(a,b,c,d,e,f,g){C6b();t9b.call(this,a,b,cdc(a,(Mcc(),Sbc)),g,e);this.e=(Zn(),Zn(),Yn);this.d=(null,Yn);this.t=true;Qd(true);Zd(c);this.j=null;if(f){this.g=(Yac(),Vac);this.n=d?d:new _ac(a,this,g)}else{this.g=(Yac(),Xac);this.n= -d?d:cdc(a,Icc)}this.c=c;this.f=false}function XEb(a,b,c,d){var e,f;if(d){switch(d.f){case 42:e=(Z$b(),Y$b);break;case 41:e=(Z$b(),X$b);break;case 40:e=(Z$b(),W$b);break;default:throw HV(new Ujc("Unexpected access modifier type"));}dFb(a,b,(TKb(),_Jb));f=v1b(c,c.g,84);f!=c.g&&(c.g=f);!!e&&(c.g=new L2b(84,e,c.g))}}function LFb(a,b){var c,d,e,f,g,h,i,j,k;i=b.a;f=kEb(a.a,(j=i.a,k=Xkc(j,mlc(47)),j.substr(1,k-1)));uEb(f,i.b.b,i.b.a);g=fEb(a.a,(m6b(),E5b),f);h=i.a;e=Xkc(h,mlc(47));c="";e=0x7fffffffffffffff)return jE(),fE;e=false;if(a<0){e=true;a=-a}d=0;if(a>=_Cc){d=xE(a/_Cc);a-=d*_Cc}c=0;if(a>=$Cc){c=xE(a/$Cc);a-=c*$Cc}b=xE(a);f=ID(b,c,d);e&&OD(f);return f}function Jib(a,b){Vhb();switch(a.j.f){case 71:return a.b== -b;case 44:return a.b==b||(a.b?a.b.f:null)==b;case 72:case 73:case 101:case 70:case 83:case 77:case 78:return(a.b?a.b.f:null)==b;case 66:case 67:case 68:return a.b!=b;case 69:return true;default:de(Iib(a));return false}}function Gwb(a,b){var c;if(!a)return null;c=a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()).d:null;if(!c)return wxb(a,b);if(null.Qj())return!null.Qj()&&!c.b.d.d.isEmpty()?Gxb(qBb(null.Rj,c,null,null,null,false,null.Rj)):null.Rj;if(b.isEmpty())return a;return Gxb(fBb(rAb(c,b)))}function YAb(a, -b,c,d,e,f){var g,h,i,j,k,l,m;for(k=(i=c.a.Xd().Pd(),new mnc(i));k.a.Jd();){j=(g=k.a.Kd(),g.de());l=new SBb(j);m=PAb(a,l);h=PAb(b,l);if(m.a==(OBb(),MBb)){if(!!h&&!Axb(m.d,h.d,d,e,f))return false}else if(!h||h.a==MBb||!Axb(m.d,h.d,d,e,f))return false}return true}function mBb(a,b,c,d){var e,f,g,h,i,j;f=(Zzb(),Zzb(),Yzb);for(h=wy(ly(new gnc(a),new gnc(b)));Ih(h);){g=Jh(h);i=gBb(a,c,g);j=gBb(b,d,g);e=null;!i?e=j.a==(OBb(),MBb)?j:new DBb(j.c,j.d,j.b,MBb):!j?e=i.a==(OBb(),MBb)?i:new DBb(i.c,i.d,i.b,MBb): -e=GBb(i,j);f=_zb(f,g,e)}return f}function dac(a,b,c){var d,e,f,g,h;e=null;if(W7b(a.c,b.c,0,new sbc(true)))e=a.c.a;else return null;f=c?a.c.b.Ai(b.c.b):a.c.b.zi(b.c.b);h=null;if(e7b(a.n,b.n))h=a.n;else{d=c?a.n.Ai(b.n):a.n.zi(b.n);h=d}g=a.c.c||b.c.c;return new eac(a.A,null,new a8b(a.A,e,f,g),h,null,false,false)}function bnb(a,b){switch(SJb(b)){case "ts":return anb(a,(g4(),a4));case "es8":return anb(a,(g4(),d4));case "es7":return anb(a,(g4(),c4));case "es6":case "es6-impl":return anb(a,(g4(),b4));case "es5":return anb(a, -(g4(),$3));case "es3":return anb(a,(g4(),Z3));default:return false}}function eC(a,b){var c,d,e,f,g,h,i;g=new Moc;for(d=new Npc(a.c.e);d.a=FBc&&a<=RCc){c=(VAc(a>= -0&&a<=RCc),a>=FBc?DD(yD(zE,1),EBc,46,15,[GBc+(a-FBc>>10&HBc)&IBc,JBc+(a-FBc&HBc)&IBc]):DD(yD(zE,1),EBc,46,15,[a&IBc]));AC(c[0],b);AC(c[1],b);return}tlc(tlc(tlc(tlc((b.a+="\\u",b),yC[a>>>12&15]),yC[a>>>8&15]),yC[a>>>4&15]),yC[a&15])}function O4(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Pd();i.Jd();){h=i.Kd();g=(t5(),emc(s5,h)||kmc(s5,h,new w5(h)),hmc(s5,h));for(f=(d=(new goc(a.c.a)).a.Xd().b.Hj(),new moc(d));f.a.Jd();){e=(c=f.a.Kd(),c.de());if(e.Lg(g))continue j;else if(e.Mg(g))return false}return false}return true} -function cA(){cA=gW;bA=new zA("base64()",ICc,ijc(61));new zA("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",ijc(61));new rA("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",ijc(61));new rA("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",ijc(61));new wA}function C8(a){var b,c,d,e,f;d=Y0b(a,29);if(d){c=a.j==(m6b(),D4b)||W0b(a,73)!=0;if(c&&!!((rFc&d.a)==yCc?d.i:null))return(rFc&d.a)==yCc?d.i:null;else{e=uZb(d);if(e.size()==1){f=vZb(d,Vs(uZb(d).Pd()));if(f)return f}}}return new B0b(new Z1b((m6b(), -C5b)),(b=Y0b(a,51),!b?null:b.Hg()))}function H1(b,c){var d,e,f,g;f=new Vmb(b);for(e=c.Pd();e.Jd();){d=e.Kd();if(!Qkc(d.a.Kg().b,".json"))continue;d.b=b;try{yob(d.a.Kg(),"("+d.a.Kg().a+")")}catch(a){a=GV(a);if(qE(a,102))continue;else throw HV(a);}g=Q2(d,b);if(!g)continue;de(g.j==(m6b(),K5b));Ihb(f.a,g,f)}return Xo(f.b)}function Ukb(a){var b,c,d,e,f;f=new bvc;for(d=new Npc(a.w);d.a2)&&gY(lDc+d,b);b.b.j==q4b?jX(b.b):WX(a,b.b,c);!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&YX(b.b.d)}}function IIb(a,b){if(!tIb(a,b,(xJb(),mJb)))return false;if((Vd(b.j==(m6b(),N3b),cJc,b),S0b(b,1)).j!=Q5b){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,["property name"])),a.b.Hg(),a.d,a.c);YIb(a,mJb.d);return false}if(!SIb(a,(Vd(b.j==N3b,cJc,b),S0b(b,2)))){YIb(a,mJb.d);return false}return true}function Sjb(a,b,c){var d,e,f,g,h;Ihb(a.b,c,new tkb(a)); -Jhb(a.b,new kkb(a.b,a.a),b,c);f=new xkb;g=new Lab(a.b,new Xjb(a));h=new Hhb(a.b,f,g);Ghb(h,b,c);e=new Nfb;Jhb(a.b,e,b,c);pkb(new qkb(a.b,a.a),b,c);d=new Zjb;Ihb(a.b,c,d);d.a.a.size()==0||Ihb(a.b,c,new vkb(a,d.a));qW(a.b.$)||(a.b.$=1)}function Hd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=ulc(Blc(new Glc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=RBc;h.a!=null&&ulc(Blc(c,h.a),61);if(g!=null&&(yb(g).i&4)!=0){e=DD(yD(nT,1),UBc,1,5,[g]);b=Wpc(e,new jvc);zlc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+= -"}",c).a}function pX(a,b){var c,d,e;lX(a,(TKb(),CKb),b);IX((m6b(),I4b),b);d=o6b(b.j);d!=-1&&(c=T0b(b),d!=c&&gY(hDc+d+iDc+c,b));b.b.j==e5b?BX(b.b):IX(h4b,b.b);e=b.b.d;switch(e.j.f){case 105:rX(e);break;case 107:e.ni()==null&&gY(oDc,e);e.ni().length==0&&gY(pDc,e);break;default:IX(h4b,e)}YX(S0b(b,2))}function Ntb(a,b){Htb();var c,d,e,f;e=a;!Rkc(e.substr(0,"/".length),"/")&&!(Rkc(e.substr(0,GEc.length),GEc)||Rkc(e.substr(0,THc.length),THc))&&(e="/"+e);for(d=b.Pd();d.Jd();){c=d.Kd();if(Rkc(e.substr(0, -c.length),c)){f=elc(e,c.length);if(Rkc(f.substr(0,1),"/"))return f.substr(1)}}return a}function KNb(a){var b,c,d,e,f,g;e=wPb(a.g,0).b.b;sMb(a,(nSb(),bRb));d=tMb(a);c=CMb(a);f=(Zn(),new hr);if(GOb(a,RQb)){sMb(a,RQb);g=tOb(a);epc(f.a,Zd(g));while(GOb(a,BQb)){sMb(a,BQb);g=tOb(a);!!g&&(epc(f.a,Zd(g)),f)}}sMb(a,sRb);b=MNb(a);sMb(a,xQb);return new UTb(new IWb(e,a.f),d,c,go(f.a),b)}function Mp(a){Cn();var b,c,d,e,f,g;g=new Pwc;Tqc(g,a);for(c=(f=(new gnc(g.a)).a.Xd().Pd(),new mnc(f));c.a.Jd();){b=(d=c.a.Kd(), -d.de());Zd(b)}switch(g.a.size()){case 0:return cy(),by;case 1:return new Xy((e=(new gnc(g.a)).a.Xd().Pd(),d=(new mnc(e)).a.Kd(),d.de()));default:return new dy(g)}}function u7(a,b,c){var d;d=b.b.j==(m6b(),h4b);Vhb();if(b.j==S3b&&Kib(b.e)||d&&c.j==e5b||d&&c.j==r3b&&j1b(c.b)&&c.e.j==r4b)return false;if(Zhb(b,false,null)||nbb(a.c,b)!=1){M1(a.b,Heb(b,(_ab(),Zab),DD(yD(sT,1),DBc,2,6,["class expression that cannot be extracted"])));return false}return true}function GFb(a,b){var c,d;if(!b)return jEb(a.a, -(m6b(),e5b),MIc);else if(b.c==(nSb(),XQb))d=CFb(a,b,true);else if(b.c==qRb){d=zEb(a.a,b);c=v1b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new B2b(36,1,d.g)}else{d=NFb(a,b);c=v1b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new B2b(36,1,d.g)}de(d.j==(m6b(),Q5b));return d}function iFb(a,b){var c,d,e,f,g,h;h=eEb(a.a,(m6b(),K5b));for(d=b.b.Pd();d.Jd();){c=d.Kd();H0b(h,wEb(a.a,c))}eFb(h);e=WEb(h);if(e||QJb(a.a.e,(TKb(),CKb))){f=eEb(a.a,c5b);g2b(f.i)==-1&&uEb(f,b.o.b,b.o.a);K0b(f,t1b(h));H0b(h,f);e&&(g=v1b(h,h.g,87),g!=h.g&&(h.g= -g),h.g=new B2b(87,1,h.g))}return h}function EOb(a,b){var c,d,e,f;f=wPb(a.g,0).b.b;sMb(a,(nSb(),mSb));d=false;c=null;e=wPb(a.g,0).b.b.b>a.f.b;if(!(e||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb))){d=!!wMb(a,QRb);LOb(a)?c=TMb(a,b):d&&ZOb(a,"yield* requires an expression",DD(yD(nT,1),UBc,1,5,[]))}return new AWb(new IWb(f,a.f),d,c)}function _ib(a){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 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 uub(a){var b,c,d,e,f,g,h,i;g=new szc(new xub);for(d=a.Pd();d.Jd();){c=d.Kd();e=clc(c,"/node_modules/",0);f="";for(b=0;ba.f.b,!(c||FOb(a,0,(nSb(),MRb))||FOb(a,0,(nSb(),xQb))||FOb(a,0,(nSb(),KQb))))){e=FMb(a);return new uWb(new IWb(f,a.f),e,1,b)}else return b}}function cBb(a,b){var c,d;if(a==a.a.L||b==b.a.L)return true;c=a.d;d=b.d;if((null.Qj()||null.Qj())&&(null.Qj()||null.Qj()))return true;if(null.Qj())return a.c&&UAb(b,a,new UBb((Zzb(),Zzb(),Yzb))); -if(null.Qj())return b.c&&UAb(a,b,new UBb((Zzb(),Zzb(),Yzb)));return fAb(c,d)||fAb(d,c)||(dAb(),true)}function UEb(a,b,c,d){var e,f,g;e=d.j==(m6b(),Q3b)?d.b:d;l1b(e)||a.a.d.kh(mXb("Invalid %s %s operand.",DD(yD(nT,1),UBc,1,5,[c?"postfix":"prefix",b==N4b?"increment":"decrement"])),a.a.r,g2b(d.i),f2b(d.i));f=fEb(a.a,b,d);g=v1b(f,f.g,32);g!=f.g&&(f.g=g);(c?1:0)!=0&&(f.g=new B2b(32,c?1:0,f.g));return f}function qFb(a,b){var c,d,e;aFb(a,b,(TKb(),CKb));c=null;if(b.e)de(!b.a&&!b.b);else if(b.a){de(!b.b); -c=wEb(a.a,b.a)}else c=bGb(a,(m6b(),q4b),b.b);!c&&(c=eEb(a.a,(m6b(),h4b)));g2b(c.i)==-1&&uEb(c,b.o.b,b.o.a);d=fEb(a.a,(m6b(),o4b),c);if(b.c){e=NFb(a,b.c);H0b(d,e)}q1b(d,64,b.e);q1b(d,63,b.d);return d}function Zlb(){Zlb=gW;Ylb=new j6("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",(tZ(),sZ),new cmc("Unrecognized require.ensure call: {0}"));Xlb=new j6("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",sZ,new cmc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}function FIb(a, -b){var c,d,e;if(!tIb(a,b,(xJb(),tJb)))return false;e=(Vd(b.j==(m6b(),N3b),cJc,b),S0b(b,1));if(e.j!=Q5b){a.a.lh(PIc+j3b(eJc,DD(yD(nT,1),UBc,1,5,["native type"])),a.b.Hg(),a.d,a.c);YIb(a,tJb.d);return false}d=(jGb(),c=kHb(e.ni()),XGb(c,!c.n?WHb(c.i):sGb(c)));Q0b(e);H0b(b,d);return true}function nOb(a){var b;if(FOb(a,0,(nSb(),XQb))&&Rkc(wPb(a.g,0).a,RDc)&&(b=wPb(a.g,1).b.b.b>wPb(a.g,0).b.a.b,!(b||FOb(a,1,MRb)||FOb(a,1,xQb)||FOb(a,1,KQb)))&&FOb(a,1,VQb))return WMb(a);if(FOb(a,0,VQb))return zNb(a);if(FOb(a, -0,vQb))return dNb(a,false,false);if(GOb(a,fRb))return DOb(a);return rOb(a)}function zgc(a,b,c){var d,e,f,g,h,i,j;Zd(b);Zd(c);Qd(c.size()<=b.size());this.b=a;this.d=b;this.e=c;g=new Ggc(a,this);f=this.e.size();e=this.d.size();h=AD(pS,oKc,23,e,0,1);for(d=0;d=a.c.a.length)return null;de(b>=0);de(c>=0);if(hpc(a.c,b)==null)return fB(a,b);d=hpc(a.c, -b);de(d.a.length!=0);if((_Ac(0,d.a.length),d.a[0]).zf()>c)return fB(a,b);e=lB(d,c,0,d.a.length-1);fe(e>=0,"unexpected:%s",e);return eB(a,(_Ac(e,d.a.length),d.a[e]))}function Ktb(a,b,c,d,e,f){Htb();Zd(b);Zd(c);Zd(d);this.e=d;this.a=!a?new Wtb:a;this.d=Mtb(b);this.b=Otb(Is(Is(c,Gtb),d),this.d);switch(e.f){case 0:this.c=new xtb(this.b,this.d,this.a);break;case 1:this.c=new tub(this.b,this.d,f,this.a);break;default:throw HV(new GC("Unexpected resolution mode "+e));}}function KIb(a,b){var c,d;if(b.j== -(m6b(),r5b))for(d=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();d.Jd();){c=d.Kd();if(c.b){if(!SIb(a,c.b))return false}else{a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,["property, missing type"])),a.b.Hg(),a.d,a.c);return false}}else if(!SIb(a,b))return false;return true}function eyc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.Re(c.d,b.d);if(e==0){d.d=znc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=eyc(a,b.a[f],c,d);if(fyc(b.a[f]))if(fyc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else fyc(b.a[f].a[f])? -b=myc(b,1-f):fyc(b.a[f].a[1-f])&&(b=lyc(b,1-f))}return b}function PMb(a){var b,c,d;c=wPb(a.g,0).b.b;b=(Zn(),new hr);sMb(a,(nSb(),uRb));d=null;while(GOb(a,BQb)||GOb(a,PRb)||LOb(a)){d=null;GOb(a,BQb)?fr(b,new dUb(zMb(a,wPb(a.g,0).b.b))):GOb(a,PRb)?fr(b,pOb(a)):fr(b,TMb(a,1));GOb(a,zQb)||(d=sMb(a,BQb))}sMb(a,zQb);EMb(a,d);return new zSb(new IWb(c,a.f),go(b.a))}function eqb(a,b,c){cqb();var d,e,f,g,h,i,j,k,l;if(r3(a.L,(OJb(),GJb)))for(k=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();k.Jd();){j=k.Kd();h=Y0b(j, -89);if(!!h&&!PJb(FJb,h))for(e=c,f=0,g=e.length;f127)continue; -if(cIb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function l0(b){var c,d,e,f,g;if(b.j!=(m6b(),p5b))return null;g=wib(b);if(!qE(g,185))return null;e=g;try{f=e.a}catch(a){a=GV(a);if(qE(a,102))return null;else throw HV(a);}try{d=a1b(b)}catch(a$0){a$0=GV(a$0);if(qE(a$0,41))return null;else throw HV(a$0);}c=d+b.c;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function Occ(){Mcc();return DD(yD(mS,1),ZBc,28,0,[Ebc,Dbc,Hbc,Gbc,Fbc,Ibc,Kbc,Jbc,Lbc,Mbc,Nbc,Obc,Pbc,Qbc,Rbc,Sbc,Tbc,Ubc,Ybc, -Xbc,Zbc,ccc,icc,fcc,ecc,occ,kcc,ncc,pcc,qcc,rcc,scc,ucc,tcc,wcc,vcc,xcc,zcc,Acc,Ccc,Ecc,Fcc,Icc,Jcc,Kcc,Lcc,Bcc,ycc,jcc,Cbc,bcc,_bc,acc,Vbc,Gcc,Hcc,$bc,Wbc,dcc,lcc,mcc,hcc,gcc,Dcc])}function UDb(){UDb=gW;TDb=(Cn(),new Xy(JDc));PDb=TDb;RDb=Qp(XDc,hFc,jEc,TDc,YDc,WDc,DD(yD(sT,1),DBc,2,6,[aEc]));SDb=Qp(XDc,hFc,jEc,TDc,YDc,WDc,DD(yD(sT,1),DBc,2,6,[aEc,ZDc,iEc,"let",CIc,DIc,EIc,FIc,GIc,"yield"]));QDb=DAc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]");new xDb((cy(),by),(null,by),(LDb(),KDb),0)}function $Eb(a, -b){a.a.e=UJb(a.a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),uKb)]));if(a.a.a.c==(LDb(),FDb)){a.a.d.kh("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.r,(UDb(),b.o.b.b+1),0);return true}return false}function _Eb(a,b){a.a.e=UJb(a.a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),KKb)]));if(a.a.a.c==(LDb(),FDb)){a.a.d.kh("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.r,(UDb(),b.o.b.b+1),0);return true}return false}function MGb(a,b){var c,d,e,f,g;d=CGb(a,(m6b(),V4b));f=new jvc;do{c=LGb(a,b);if(!c)return null;e=c.j==R5b?c.ni():c.b.ni();g=f.a.put(e,f);g==null?H0b(d,c):pGb(a,e,a.i.g,VHb(a.i));gHb(a);if(!AGb(a,(PHb(),xHb)))break;!a.n?WHb(a.i):sGb(a);gHb(a);if(AGb(a,KHb))break;b=!a.n?WHb(a.i):sGb(a)}while(true);return d}function p9(a){var b,c;if(a.f.b){c=j9(a,u1b(a.f).ni());if(!c){M1(a.c,Heb(a.f,(_ab(),$ab),DD(yD(sT,1),DBc,2,6,["Breaking to a label that is not a loop"]))); -return}b=c.a}else b=hpc(a.e,0).a;H0b(a.g,eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b((m6b(),e5b),lGc))),C9(a,new G2b(b))))));H0b(a.g,I9())}function Mtb(a){var b,c,d,e,f;b=(Zn(),new hr);for(e=$s(a._e().Pd());e.Jd();){d=e.Kd();f=(hub(),c=_kc(_kc(_kc(_kc(_kc($kc($kc(d,58,45),92,47)," ",XFc),"[",YFc),"]",ZFc),"<",$Fc),">",_Fc),iub(c));!Rkc(f.substr(0,1),"/")&&!(Rkc(f.substr(0,2),GEc)||Rkc(f.substr(0,3),THc))&&(f="/"+f);epc(b.a,Zd(f))}return go(b.a)}function bac(a,b,c){var d,e,f,g,h;f= -!a.i?null:a.i.e;g=!!f;a.i=new Nec(FDc,b,true,!c?a.j:c);b.kj(a);!!f&&f.kj(null);if(a.Sh()||a.g==(Yac(),Wac)){h=$9b(a);!!h&&(!h.k&&(h.k=new qpc),epc(h.k,a));if(a.g==(Yac(),Wac))for(e=$s(new fsc(a.d.a.b.Pd()));e.Jd();){d=e.Kd();!!d._i()&&N9b(d._i(),a)}}g&&R9b(a);return true}function cFb(a,b){var c,d;c=b.a;d=false;if(q6b(c)){a.a.e=UJb(a.a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),oKb)]));d=a.a.a.c==(LDb(),FDb)}if(!!a.a.o&&a.a.o.contains(c)){a.a.e=UJb(a.a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),yKb)]));d=a.a.a.c==(LDb(), -FDb)}d&&a.a.d.kh("identifier is a reserved word",a.a.r,(UDb(),b.b.b.b+1),b.b.b.a)}function udc(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.Ki()||qE(b,126)||!b.Ui())return b;if(yrc(a.f,b))return b;xrc(a.f,b);f=false;e=new _fc(a.e);for(i=b.cj().Pd();i.Jd();){h=i.Kd();j=(g=b.hj(h),!g?null:g.d);d=b.fj(h);c=d.Yi(a);d!=c&&(f=true);e.b=false;lmc(e.c,h,new agc(c,j))}zrc(a.f,b);if(f)return $fc(e);return b}function Awb(a,b){var c,d,e;if(!a||!b)return null;c=!a?null:a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()).d:null; -d=!b?null:b.Eh()==2&&b.Hh().size()==1?Vs(b.Hh().Pd()).d:null;if(!!c&&!!d){e=wAb(c,d);if(e)return!null.Qj()&&!e.b.d.d.isEmpty()?Gxb(qBb(null.Rj,e,null,null,null,false,null.Rj)):null.Rj}return kyb(a,b)}function wxb(a,b){var c,d,e,f;if(-1==a.Eh()||yBc==a.Eh()||a.Hh().isEmpty()&&a.Qh()==null||b.isEmpty())return a;c=(Cn(),new Vr);for(f=a.Hh().Pd();f.Jd();){e=f.Kd();Sr(c,XAb(e,b))}d=nyb(a.e,a.Eh()&-2,Kp(new Npc(c.a)),null,a.Ch());(a.Eh()&1)!=0&&(d=kyb(d,b.containsKey(a.Qh())?b.Yd(a.Qh()):Hxb(a.e,a.Qh()))); -return d}function x3(a){var b,c,d,e,f;d=(Po(),new pr);for(c=new Jmc((new Bmc(a)).a);c.b;){b=Imc(c);e=b.de();f=b.ee();if(rE(f))mr(d,e,(Vhb(),(aBc(f),f)?new Z1b((m6b(),_5b)):new Z1b((m6b(),s4b))));else if(qE(f,134))mr(d,e,new G2b(f.a));else if(sE(f))mr(d,e,new G2b((aBc(f),f)));else{de(vE(f));mr(d,e,GYb(f))}}return bp(d.b)}function bwb(a){var b,c,d;if(a==a.a.v||a==a.a.g||a==a.a.s)return;_d(a.i,"null required formals for function: %s",a);for(d=a.i.Pd();d.Jd();){b=d.Kd();Zd(b);de(a.c||0!=b.Eh())}_d(a.e, -"null optional formals for function: %s",a);for(c=a.e.Pd();c.Jd();){b=c.Kd();Zd(b);de(0!=b.Eh())}de(!a.j||0!=a.j.Eh());Zd(a.k);Zd(a.n)}function z$b(a,b){var c,d,e;e=new E$b;e.a=w$b(a.a,b);e.e=A$b(a.e,b);e.f=A$b(a.f,b);e.n=B$b(a.n,b);e.r=A$b(a.r,b);e.q=!a.q?null:new spc(a.q);e.d=!a.d?null:new lvc(a.d);e.s=!a.s?null:new nwc(a.s);e.c=a.c;e.j=a.j;e.b=a.b;e.i=a.i;e.p=!a.p?null:(Cn(),d=a.p,Jp(d));e.k=!a.k?null:(Cn(),c=a.k,Jp(c));e.g=a.g;e.o=a.o;return e}function XMb(a){var b,c,d;c=wPb(a.g,0).b.b;yMb(a, -RDc);sMb(a,(nSb(),VQb));if(GOb(a,QRb)){ZOb(a,NJc,DD(yD(nT,1),UBc,1,5,[]));sMb(a,QRb)}b=vTb(ATb(new ETb((JTb(),HTb)),(d=wPb(a.g,0).c,Nuc(Juc(XQb,DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),d)||!a.b.c&&cMb(d)?uMb(a):null)));ANb(a,b,(iPb(),fPb));return tTb(b,new IWb(c,a.f))}function mw(a){var b,c,d,e,f,g,h,i,j;e=new Buc((new vuc(a)).a);if(!Xuc(e.a))return Po(),Po(),Oo;d=(e.b=Yuc(e.a),new Fuc(e.c,e.b));h=d.a;j=d.b.b[d.a.f];Dm(h,j);b=oe(h);f=new kuc(b);Kuc(f.a,h);juc(f,h.f,j);while(Xuc(e.a)){c=(e.b=Yuc(e.a), -new Fuc(e.c,e.b));g=c.a;i=c.b.b[c.a.f];Dm(g,i);Kuc(f.a,g);juc(f,g.f,i)}return _q(f)}function $X(a,b){var c,d,e,f;switch(b.j.f){case 68:IX((m6b(),P3b),b);c=o6b(b.j);c!=-1&&(d=T0b(b),c!=d&&gY(hDc+c+iDc+d,b));kX(a,b.b);VW(a,b.b?b.b.f:null);return;case 69:IX((m6b(),a4b),b);e=o6b(b.j);e!=-1&&(f=T0b(b),e!=f&&gY(hDc+e+iDc+f,b));VW(a,b.b?b.b.f:null);return;default:gY("Expected switch member but was "+b.j,b)}}function uPb(a,b,c){var d,e;d=a.d;XPb(a);!qPb(a,a.d)&&xPb(a,hMb(a.e.b,d),SJc,DD(yD(nT,1),UBc,1,5, -[]));e=flc(a.e.a,d,a.d);switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 96:rPb(a);return new nMb(b,e,iMb(a.e.b,d-1,a.d));case 36:rPb(a);rPb(a);return new nMb(c,e,iMb(a.e.b,d-1,a.d));default:return new nMb(b,e,iMb(a.e.b,d-1,a.d))}}function APb(a,b){switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 101:case 69:rPb(a);switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 43:case 45:rPb(a)}$Pb(qPb(a,a.d)?Mkc(a.e.a,a.d):0)||yPb(a,"Exponent part must contain at least one digit",DD(yD(nT,1),UBc,1,5,[]));KPb(a)}return new nMb((nSb(), -qRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d))}function y$(a,b,c){var d,e;C$(a);d=b.charCodeAt(0);e=a.sg();(d==43||d==45)&&e==d?a.gg(" "):(Xic==null&&(Xic=new RegExp(QBc,"i")),Xic.test(String.fromCharCode(d))&&(e==95||e==36||(Wic==null&&(Wic=new RegExp(PBc,"i")),Wic.test(String.fromCharCode(e))))?a.gg(" "):(e==45&&d==62||e==60&&d==33)&&a.gg(" "));a.jg(b,c);c&&a.ug()}function U6b(a){var b,c,d,e,f,g,h;if(a.Ii())return H6b(a,(Mcc(),acc));else if(a.Xi()){h=a.Xi();g=false;c=phc(h);for(f=0;f=0){++g;f=Vkc(d,mlc(46),f+1)}}if(!!c&&Zib(b))return true;for(e=0;e>19!=0)return"-"+dE(YD(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=GD(1E9);c=JD(c,e,true);b=""+cE(FD);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 Rkb(a){var b,c,d;if(a.I)return;a.i=NV(Date.now());Ukb(a);for(c=Qo(a.I).Pd();c.Jd();){b=c.Kd();d=b.ee();a.F=XV(IV(a.F,d.n));a.C=$wnd.Math.max(a.C,d.a);a.G+=d.k;a.c+=d.d; -if(!d.i){a.B+=d.k;a.A+=d.d}a.a+=d.b;a.g+=d.e;a.p+=d.f}de(a.D==(x4(),w4)||a.q==a.a+a.b);de(!(a.D==v4||a.D==s4)||a.r==a.g+a.e);de(a.D!=s4||a.s==a.p+a.o)}function qAb(a,b){var c,d,e;if(b.isEmpty())return a;if(null.Qj())return null.Rj;ie(a.b.d.d.isEmpty(),"Expected empty typemap, found: %s",a.b);c=(Po(),new pr);for(null.Qj();null.Qj();){d=null.Qj();b.containsKey(d)&&mr(c,d,b.Yd(d))}e=bp(c.b);if(e.d.d.isEmpty())return a;if(e.d.d.size()n&&zlc(a.c,b,n,m);h=m;if(h0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(b=e;byBc)throw HV(new Hkc(zBc+a+'"'));return f}function xAb(a,b){var c,d,e,f,g;de(true);c=(Po(),new pr);if(null.Qj()){d=null.Qj();mr(c,d,oyb(iAb(a),iAb(b)));e=null.Qj();mr(c,e,kyb(jAb(a),jAb(b)));return new tAb(bp(c.b),a.a)}if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return null.Qj();for(g=a.b.df().Pd();g.Jd();){f=g.Kd();mr(c,f,kyb(rp(a.b,f),rp(b.b,f)))}return new tAb(bp(c.b),a.a)}function MAb(a,b,c){var d,e,f,g,h,i,j;f=iAb(b);if(64!=f.Eh()&&128!=f.Eh()&&yBc!=f.Eh())return(new Bmc(a.g.a)).a.size()== -0;j=jAb(b);for(e=new Jmc((new Bmc(a.g.a)).a);e.b;){d=Imc(e);g=d.de();h=d.ee().d;if(64==f.Eh()&&(i=VA(g),!(!i||SV(i.a,XV(i.a))?null:ikc(XV(i.a)))))return false;if(!mxb(txb(h,a.a.B),j,c))return false}return true}function WDb(a,b){var c,d,e,f,g,h,i,j;d=b.c;f=b.a.b.b+1;c=b.a.b.a;g=b.a.b.c;e=new jHb(new aIb(d.substr(3),f,c+3),d,g,a.t,a.a,a.d);eHb(e,a.f);fHb(e,a.g);b.b==(TSb(),PSb)&&b.c.length>0?(e.g=(rHb(),pHb),gHb(e),h=!e.n?WHb(e.i):sGb(e),i=vGb(e,h,0,false,true),j=" "+i.a,e.c?b_b(e.c,j):e.e.d?m_b(e.e, -j):m_b(e.e,""),undefined):FGb(e);return e}function EFb(a,b){var c,d,e,f,g;e=b.a;if(e.size()==1){c=jEb(a.a,(m6b(),e5b),e.getAtIndex(0));g2b(c.i)==-1&&uEb(c,b.o.b,b.o.a);return c}else{f=e.Ye();d=vYb(f.Kd());g2b(d.i)==-1&&uEb(d,b.o.b,b.o.a);while(f.Jd()){g=jEb(a.a,(m6b(),Q5b),f.Kd());g2b(g.i)==-1&&uEb(g,b.o.b,b.o.a);d=gEb(a.a,C4b,d,g);g2b(d.i)==-1&&uEb(d,b.o.b,b.o.a)}return d}}function _jb(a,b,c){var d,e,f,g,h;de(b.j==(m6b(),e5b)||b.j==Q5b||b.j==R5b||b.j==D4b||b.j==L5b);if(a.b.$==2)return;e=Zib(b);f= -e||c.j==C4b&&(c.b?c.b.f:null)==b;if(b.j==e5b||f){d=W0b(b,43)!=0;if(!d&&Gib(W0(a.b),b)){if(a.a){g=b.ni();throw HV(new Ujc(qHc+g+OCc+" parent:"+S1b(b.e)));}h=v1b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new B2b(43,1,b.g)}}}function LOb(a){switch(wPb(a.g,0).c.f){case 76:case 29:case 9:case 99:case 14:case 2:case 108:case 109:case 110:case 111:case 64:case 69:case 18:case 97:case 100:case 45:case 47:case 49:case 63:case 68:case 94:case 95:case 101:case 107:case 104:case 35:case 21:case 77:case 98:case 24:case 26:case 44:return true; -default:return false}}function Wjb(a,b,c,d){var e,f,g;if(b.b){s1b(c,b);g=b.b;s1b(b,g);e=UXb(b,g);C1b(e,Y0b(c,29));V1b(e,c);f=(Vhb(),T1b((ee(rYb(e),e),new _1b((m6b(),r4b),e)),e));w1b(d,c,f);Tjb(a.b,oHc,f)}else{Vhb();if(d.j==(m6b(),I5b)||d.j==K5b||d.j==K3b||d.j==c5b)s1b(d,c);else if(d.j==u4b||d.j==v4b){s1b(c,b);w1b(d,c,b)}else ee(d.j==T4b,d);Tjb(a.b,oHc,d)}}function Xnb(a,b){var c,d,e;if(a.b.j.a.d>0)return null;d=W1(a.b,b);c=D1(a.b,"",d);if(a.b.j.a.d>0){M1(a.b,new Deb(null,null,-1, --1,Snb,null,DD(yD(sT,1),DBc,2,6,[spb(d)])));throw HV(new Ujc(HHc));}e=W1(a.b,c);if(!Rkc(d,e)){M1(a.b,new Deb(null,null,-1,-1,Unb,null,DD(yD(sT,1),DBc,2,6,[d,e])));throw HV(new Ujc(HHc));}return c}function ixb(a){var b,c;de(a.Eh()==2&&a.Hh().size()==1);c=(a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()).d:null,de(null.Rj),null.Qj());if(dxb(a,c)){ie((b=a.Eh()==2&&a.Hh().size()==1?Vs(a.Hh().Pd()):null,!!b&&null.Qj()&&!!QAb(b)),"Failed to reach Object.prototype in prototype chain, unexpected self-link found at %s", -a);return null}return c}function X0(a){var b,c,d,e,f,g,h,i,j;e=a.L.ob;if(e.a.a.isEmpty())return M2(new s2(a));else{b=new Flc;Zd(a.C);for(g=M0b(a.C).Pd();g.Jd();){f=g.Kd();d=(c=Y0b(f,51),!c?null:c.Hg());for(i=$s(new fsc(e.a.b.Pd()));i.Jd();){h=i.Kd();if((new RegExp("^("+h+")$")).test(d)){j="// "+d+OCc+(!a.L&&r1(a,new w3),X1(a,f,true));b.a+=j;break}}}return b.a}}function Usb(a,b){Psb();var c,d,e,f,g,h;ee(a.j==(m6b(),e5b)||a.j==F5b||a.j==R5b,a);f=a.e;e=!b.c?null:b.c.e;if(a.e.j==g6b&&(c=Y0b(a,51),!!c&& -c.vh())&&Yib(a))return true;d=Y0b(f,29);if(!!d&&(h=!d.d?null:d.d.p,!h?(Sqc(),Sqc(),Rqc):h).contains(iFc))return true;d=Y0b(e,29);return!!d&&(g=!d.d?null:d.d.p,!g?(Sqc(),Sqc(),Rqc):g).contains(iFc)}function nBb(a,b){var c,d,e,f,g,h;c=(Zzb(),Zzb(),Yzb);for(h=new Jmc((new Bmc(a.a)).a);h.b;){f=Imc(h);d=f.de();!!Ei(b,d,false)||(c=_zb(c,d,CBb(f.ee())))}for(g=new Jmc((new Bmc(b.a)).a);g.b;){f=Imc(g);d=f.de();e=f.ee();Ei(a,d,false)?c=_zb(c,d,CBb(GBb(Oi(Ei(a,d,false)),e))):c=_zb(c,d,e.a==(OBb(),NBb)?e:new DBb(e.c, -e.d,e.b,NBb))}return c}function PEb(a,b,c,d,e){var j;UDb();var f,g,h,i;h=new FEb(c,b,d,e,a.a);i=fFb(h.u,a);g2b(i.i)==-1&&uEb(i,a.o.b,a.o.a);if(a.a)for(g=a.a.Pd();g.Jd();){f=g.Kd();(f.b==(TSb(),QSb)||f.b==PSb)&&!hvc(h.n,f)?(j=WDb(h,f),gvc(h.n,f),aEb(h,j),undefined):f.b==OSb&&yAc(BAc(QDb,f.c))&&h.d.lh(GHc,h.r,f.a.b.b+1,f.a.b.a)}qEb(h,i);AEb(h,i);h.p=i;return h}function p1(a){var b,c,d,e,f;(new Bmc(a.B.a)).a.clear();for(e=new Npc(a.o);e.a",_Fc),iub(c));Htb();if(Rkc(b.substr(0,2),GEc)||Rkc(b.substr(0,3),THc)){e=a.a;d=e.lastIndexOf("/");f=iub(e.substr(0,d+1)+(""+f))}return new Utb(a.b,Ntb(f,a.b.d))}function AXb(a,b){var c;c=false;switch(b){case 43:c=a.d;a.d=true;break;case 44:c=a.e;a.e=true;break;case 45:c=a.f;a.f=true;break;case 40:c=a.g;a.g=true;break;case 35:c= -a.i;a.i=true;break;case 32:c=a.j;a.j=true;break;case 48:c=a.k;a.k=true;break;default:return false}if(c)throw HV(new GC(""+b));!a.o&&(a.o=new Glc);ulc(a.o,b&IBc);return true}function Ut(a,b,c,d){var e,f,g;g=new Hu(b,c);if(!a.a){a.a=a.e=g;kmc(a.b,b,new Gu(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=hmc(a.b,b);if(!e){kmc(a.b,b,e=new Gu(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=hmc(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?hmc(a.b,b).b=g:d.e.c=g;!d.d?a.a=g:d.d.b=g;d.d=g;d.e=g}++a.d;return g} -function xA(a,b,c){var d,e,f;Zd(b);c=pA(a,c);if(!iA(a.b,nlc(c)))throw HV(new PA("Invalid input length "+nlc(c)));d=0;for(f=0;f>>16<<24>>24;if(f>>8&255)<<24>>24;if(f>24}}}return d}function CMb(a){var b,c,d,e,f;if(!GOb(a,(nSb(),rRb)))return null;d=wPb(a.g,0).b.b;sMb(a,rRb);++a.g.f;f=new lwc;do{c=tMb(a);b=null;if(GOb(a,RQb)){sMb(a,RQb);b= -tOb(a)}iwc(f,c,b);GOb(a,BQb)&&sMb(a,BQb)}while(e=wPb(a.g,0).c,Nuc(Juc(XQb,DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),e)||!a.b.c&&cMb(e));sMb(a,wQb);--a.g.f;return new NTb(new IWb(d,a.f),f)}function xNb(a,b){var c,d,e;d=wPb(a.g,0).b.b;sMb(a,(nSb(),tRb));e=(Zn(),new hr);while(POb(a,b)){fr(e,$Nb(a,b));if(!GOb(a,yQb)){c=sMb(a,BQb);if(GOb(a,yQb)){a.d=UJb(a.d,DD(yD(_O,1),ZBc,29,0,[(TKb(),QKb)]));a.b.b||XOb(a,c,"Invalid trailing comma in formal parameter list",DD(yD(nT,1),UBc,1,5,[]))}}}sMb(a,yQb);return new rTb(new IWb(d, -a.f),go(e.a))}function OMb(a){var b,c,d;d=wPb(a.g,0).b.b;b=(Zn(),new hr);sMb(a,(nSb(),tRb));while(FOb(a,0,PRb)||LOb(a)){fr(b,UMb(a));if(!GOb(a,yQb)){c=sMb(a,BQb);if(GOb(a,yQb)){a.d=UJb(a.d,DD(yD(_O,1),ZBc,29,0,[(TKb(),QKb)]));a.b.b||XOb(a,c,"Invalid trailing comma in arguments list",DD(yD(nT,1),UBc,1,5,[]))}}}sMb(a,yQb);return new ySb(new IWb(d,a.f),go(b.a))}function Sfc(a,b,c){C6b();var d,e,f,g;s9b.call(this,a,null,null);this.a=false;this.t=true;for(g=$s(new fsc((d=b.b,!d?b.b=zs(b.a,Gsc(b.c)):d).b.b.Pd()));g.Jd();){f= -g.Kd();e=f==null?null:ow(b.d,f);if(!e)throw HV(new Ujc("RecordProperty associated with a property should not be null!"));c?s8b(this,f,e.b,e.a):Pfc(this,f,e.b,false,e.a)}this.a=true}function tC(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw HV(new wC("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new xC(0,a.url,c,b);else if(a.map!=null)return new xC(1,qlc(a.map),c,b);throw HV(new wC("Invalid map format: section must have either 'map' or 'url'")); -}function k$(a){var b;this.b=a;this.a=Qp("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",DD(yD(sT,1),DBc,2,6,["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"]));b=(Cn(),new Vr);Tr(b,DD(yD(sT,1),DBc,2,6,["superClass_","instance_","getInstance"]));Ur(b,(Zn(),Zn(),Yn));Kp(new Npc(b.a))}function g_(a,b,c,d){var e,f,g,h;h=b;if(!d&&b.j!=(m6b(),K3b))throw HV(new Jic("Missing BLOCK child."));if(b.j==(m6b(),K3b)){f=u_(b,2);if(f==0){if(a.c.yg()){z$(a.c); -A$(a.c,a.c.lg(b,c==0))}else a.c.rg(true);return}if(f==1){g=t_(b);e=a.c.yg();if(e||x_(g)){z$(a.c);a.Ag(g,0);a.c.wg();A$(a.c,a.c.lg(b,c==0));return}else h=g}}h.j==h4b?a.c.rg(true):a.Ag(h,c)}function jB(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;j=false;k=null;n=null;l=null;m=null;i=a.c.a.length;for(f=0;f1&&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 Oc(gub,new Qmc(new tqc((ZAc(j),Vpc(d,j)))))}function Q6(a,b,c,d){var e,f,g,h,i,j,k;ee(c.j==(m6b(),N3b),c);ee(b.j==U5b,b);f=(Vhb(),hib(b,new Gjb(S3b)));k=f.b.d;if(!j1b(k))return;if(d.j==_4b&&Rkc(d.ni(),HFc)){i=Y0b(b,51);if(!!i&&i.vh()||(e=(j=fib(f),!j?null:Y0b(j,29)),!!e&&((e.a&512)!=0||(e.a&EFc)!=0))){g=hib(b,Uhb); -h=g.e;Q0b(g);O1(a.a,h)}return}else{M1(a.a,Heb(b,M6,DD(yD(sT,1),DBc,2,6,[])));return}}function EPb(a,b,c){while(qPb(a,a.d)&&(qPb(a,a.d)?Mkc(a.e.a,a.d):0)!=c&&!bQb(qPb(a,a.d)?Mkc(a.e.a,a.d):0))if(!VPb(a))return new nMb((nSb(),VRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d));(qPb(a,a.d)?Mkc(a.e.a,a.d):0)!=c?xPb(a,hMb(a.e.b,b),"Unterminated string literal",DD(yD(nT,1),UBc,1,5,[])):rPb(a);return new nMb((nSb(),VRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d))}function VA(a){var b,c,d,e;if(Zd(a).length==0)return null;e=a.charCodeAt(0)== -45;d=e?1:0;if(d==a.length)return null;c=YA(Mkc(a,d++));if(c<0||c>=10)return null;b=-c;while(d=10||PV(b,{l:3355444,m:838860,h:996147}))return null;b=QV(b,10);if(PV(b,IV(PCc,c)))return null;b=UV(b,c)}return e?ukc(b):MV(b,PCc)?null:ukc(RV(b))}function Uib(a,b){var c,d,e;switch(a.j.f){case 92:return Uib(a.b,b);case 42:for(d=a.b;d;d=d.d)if(d.j!=(m6b(),h4b)&&!Uib(d,b))return false;return true;case 38:for(e=a.b;e;e=e.d)if(!Uib(e,b))return false;return true;case 43:for(c= -a.b;c;c=c.d)if(!Uib(c.b,b))return false;return true;case 65:return b&&!(a.j==(m6b(),w4b)&&Kib(a.e));default:return Qib(a)}}function jwb(a,b){var c,d,e,f,g,h,i;de(!a.n.a.isEmpty());if(b.isEmpty())return a;c=new Xwb(a.a);for(g=a.i.Pd();g.Jd();){f=g.Kd();Swb(c,wxb(f,b))}for(e=a.e.Pd();e.Jd();){d=e.Kd();Pwb(c,wxb(d,b))}!!a.j&&Twb(c,wxb(a.j,b));Uwb(c,wxb(a.k,b));a.c&&(c.c=true,c);Owb(c,Gwb(a.d,b));Rwb(c,Gwb(a.g,b));for(i=a.f.df().Pd();i.Jd();){h=i.Kd();Qwb(c,h,a.f.Yd(h))}return Wwb(c)}function bHb(a,b, -c){var d,e,f;f=CGb(a,(m6b(),x5b));!!c&&H0b(f,c);d=null;do{if(d){gHb(a);b=!a.n?WHb(a.i):sGb(a);de(b==(PHb(),HHb));gHb(a);b=!a.n?WHb(a.i):sGb(a)}d=YGb(a,b);if(!d)return null;H0b(f,d)}while(AGb(a,(PHb(),HHb)));if(!c){gHb(a);if(!AGb(a,LHb))return oGb(a,XIc,a.i.g,VHb(a.i)),null;!a.n?WHb(a.i):sGb(a)}if(!!f.b&&!f.b.d){e=f.b;s1b(f,e);return e}return f}function lOb(a,b){var c,d,e,f,g,h;yMb(a,"set");if(QOb(a,0)){f=vMb(a);sMb(a,(nSb(),tRb));d=tMb(a);h=BMb(a);sMb(a,yQb);g=BMb(a);!!g&&XOb(a,wPb(a.g,0),"setter should not have any returns", -DD(yD(nT,1),UBc,1,5,[]));c=yNb(a);return new eWb(zMb(a,b.d),f,b.c,d,h,c)}else{e=iNb(a);sMb(a,(nSb(),tRb));d=tMb(a);BMb(a);sMb(a,yQb);c=yNb(a);return new bTb(zMb(a,b.d),e,b.c,d,c)}}function p6(){p6=gW;n6=new j6("JSC_INVALIDATION",(tZ(),rZ),new cmc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));o6=new j6("JSC_INVALIDATION_TYPE",rZ,new cmc("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new j6("JSC_INVALID_RENAME_FUNCTION", -qZ,new cmc("{0} call is invalid: {1}"))}function Htb(){Htb=gW;new j6("JSC_MODULE_CONFLICT",(tZ(),sZ),new cmc("File has both goog.module and ES6 modules: {0}"));Ftb=new j6("JSC_JS_MODULE_LOAD_WARNING",sZ,new cmc('Failed to load module "{0}"'));Etb=new j6("JSC_INVALID_MODULE_PATH",sZ,new cmc('Invalid module path "{0}" for resolution mode "{1}"'));Gtb=new Ptb;Dtb=new Ltb((Zn(),Zn(),Yn),(null,Yn),(dub(),bub))}function zOb(a){var b,c,d,e,f;d=wPb(a.g,0).b.b;if(UOb(a)){c=FMb(a);b=zOb(a);return new sWb(new IWb(d, -a.f),c,b)}else return FOb(a,0,(nSb(),XQb))&&Rkc(wPb(a.g,0).a,"await")?(e=wPb(a.g,0).b.b,(Boc(a.e)||wE(Doc(a.e))!==wE((iPb(),fPb)))&&ZOb(a,"'await' used in a non-async function context",DD(yD(nT,1),UBc,1,5,[])),yMb(a,"await"),f=zOb(a),new DSb(new IWb(e,a.f),f)):AOb(a)}function x8(){x8=gW;w8=new j6("JSC_DYNAMIC_EXTENDS_TYPE",(tZ(),qZ),new cmc("The class in an extends clause must be a qualified name."));u8=new j6("CLASS_REASSIGNMENT",qZ,new cmc("Class names defined inside a function cannot be reassigned.")); -v8=new j6("CONFLICTING_GETTER_SETTER_TYPE",qZ,new cmc("The types of the getter and setter for property ''{0}'' do not match."))}function NPb(a){var b,c,d,e;c=a.d;rPb(a);rPb(a);while(qPb(a,a.d)&&((qPb(a,a.d)?Mkc(a.e.a,a.d):0)!=42||(qPb(a,a.d+1)?Mkc(a.e.a,a.d+1):0)!=47))rPb(a);if(qPb(a,a.d)){rPb(a);rPb(a);d=(TSb(),OSb);a.d-c>4&&(Mkc(a.e.a,c+2)==42?d=QSb:Mkc(a.e.a,c+2)==33&&(d=PSb));b=iMb(a.e.b,c,a.d);e=flc(a.e.a,c,a.d);cPb(a.a,d,b,e)}else yPb(a,"unterminated comment",DD(yD(nT,1),UBc,1,5,[]))}function THb(a){var b; -if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=Mkc(a.k,a.i++);if(a.e>=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{t6b();if(b>127)continue;if(cIb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function pB(a,b,c){var d;switch(c){case 1:d=new tB(b[0]+a.c);a.c=d.e;return d;case 4:d=new zB(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.Cf();a.g= -d.Df();a.e=d.Bf();return d;case 5:d=new EB(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.Cf();a.g=d.Df();a.e=d.Bf();a.d=d.Af();return d;default:throw HV(new Ujc("Unexpected number of values for entry:"+c));}}function zxb(a,b,c,d,e){var f,g,h,i,j;Vd(!oxb(b),"Expected non-union type but found: %s",b);if(b.Eh()==4&&b.Ch().size()==1){f=b.Eh()==4&&b.Ch().size()==1?Vs(b.Ch().Pd()).Qj():null;return zxb(a,f,c,d,e)}if(b.Eh()==2&&b.Hh().size()==1){g=b.Eh()==2&&b.Hh().size()==1?Vs(b.Hh().Pd()): -null;h=false;for(j=a.Hh().Pd();j.Jd();){i=j.Kd();ZAb(i,g,c,d,e)&&(h=true)}return h}return false}function Acb(a,b){var c,d,e,f,g,h;h=b.e;de(h.j==(m6b(),r5b));c=h.e;if(!c)return null;d=c.e;switch(c.j.f){case 29:if(!d||(Vhb(),!(!!d&&(d.j==g6b||d.j==Y4b||d.j==X3b))))return null;g=c.ni();break;case 47:f=c.b;g=Z0b(f);break;case 91:if(!!d&&d.j==r5b)g=Acb(a,c);else return null;break;default:return null}if(g!=null){e=b.ni();t6b();if(r6b.test(e))return g+"."+e}return null}function Bwb(a,b){var c,d,e,f,g,h; -Qd(a.c||b.c);c=new Xwb(a.a);g=$wnd.Math.min((de(!(a==a.a.v||a==a.a.g)),a.i.size()),(de(!(b==b.a.v||b==b.a.g)),b.i.size()));for(e=0;e=0&&b<=RCc))throw HV(new QWb(b));c=b=0&&b<=RCc),b>=FBc?DD(yD(zE,1),EBc,46,15,[GBc+(b-FBc>>10&HBc)&IBc,JBc+ -(b-FBc&HBc)&IBc]):DD(yD(zE,1),EBc,46,15,[b&IBc])));return $Wb(a,c,0)}else throw HV(XWb(a));}function p1b(a,b,c){var d,e,f;f=Ykc(b,mlc(46),c-1)+1;switch(a.j.f){case 29:case 98:d=a.ni();return f==0&&d.length!=0&&d.length==c&&Rkc(b.substr(0,d.length),d);case 33:return f==0&&4==c&&Rkc(b.substr(0,4),_Dc);case 99:return f==0&&5==c&&Rkc(b.substr(0,5),aEc);case 26:e=(a.b?a.b.f:null).ni();return f>1&&e.length==c-f&&Zkc(e,false,0,b,f,c-f)&&p1b(a.b,b,f-1);default:return false}}function sOb(a,b){var c,d,e,f, -g;e=!b?wPb(a.g,0).b.b:b.o.b;f=FMb(a);c=(Zn(),new hr);fr(c,new jWb(f.b,f));if(f.c==(nSb(),oRb))return new iWb(new IWb(e,a.f),b,go(c.a));d=GMb(a,1);fr(c,new kWb(d.o,d));while(!a.c.d){f=(g=tPb(a.g),a.f=g.b.a,g);if(f.c==PQb||f.c==KQb)break;fr(c,new jWb(f.b,f));if(f.c==$Rb)break;d=GMb(a,1);fr(c,new kWb(d.o,d))}return new iWb(new IWb(e,a.f),b,go(c.a))}function sib(a){Vhb();switch(a.j.f){case 48:return m6b(),I3b;case 49:return m6b(),J3b;case 50:return m6b(),G3b;case 51:return m6b(),Z4b;case 52:return m6b(), -J5b;case 53:return m6b(),f6b;case 54:return m6b(),k3b;case 55:return m6b(),T5b;case 56:return m6b(),d5b;case 59:return m6b(),n4b;case 57:return m6b(),e4b;case 58:return m6b(),b5b}throw HV(new afb("Not an assignment op:"+a));}function r8b(a,b,c,d){var e,f,g,h,i,j,k;if(!!a.Wi()&&Jgc(a.Wi(),b))return ogc(a.Bi(),b.Bi(),c,d,0);k=qbc(d,a,b);if(k)return k.a;i=t8b(a);j=t8b(b);if(!rj(j,i)){rbc(d,a,b,(zbc(),xbc));return false}for(h=(f=(new goc(i.a)).a.Xd().b.Hj(),new moc(f));h.a.Jd();){g=(e=h.a.Kd(),e.de()); -if(!E6b(b.fj(g),a.fj(g),c,d)){rbc(d,a,b,(zbc(),xbc));return false}}rbc(d,a,b,(zbc(),wbc));return true}function MD(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=PD(b)-PD(a);g=ZD(b,j);i=ID(0,0,0);while(j>=0){h=SD(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&&OD(i);if(f)if(d){FD=YD(a);e&&(FD=aE(FD,(jE(),hE)))}else FD=ID(a.l,a.m,a.h);return i}function _Ab(a,b,c, -d,e,f,g){Zd(a);Zd(b);Wd(!d||d==d.a.s||d.c==f,"isLoose: %s, fn: %s",(Pic(),f?true:false),d);Qd(!d||d!=d.a.c);f&&Vd(null.Qj()||null.Qj(),"Cannot create loose objectType with nominal type %s",b);Wd(!d||null.Qj(),"Cannot create objectType of nominal type %s with function (%s)",b,d);this.a=a;this.d=b;this.g=f?pBb(c):c;this.b=d;this.e=e;this.c=f;this.f=f?(GAb(),EAb):g}function uX(a,b){var c,d,e,f,g,h,i;switch(b.j.f){case 98:h=o6b(b.j),h!=-1&&(d=T0b(b),h!=d&&gY(hDc+h+iDc+d,b));mX(a,b.b,true);break;case 156:e= -T0b(b),0!=e&&gY(gDc+e,b);break;case 157:i=o6b(b.j),i!=-1&&(f=T0b(b),i!=f&&gY(hDc+i+iDc+f,b));YW(b.b,0);break;case 158:g=o6b(b.j),g!=-1&&(c=T0b(b),g!=c&&gY(hDc+g+iDc+c,b));break;default:gY("Interface contained member of invalid type "+b.j,b)}}function kf(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=lf(a,a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=d+1}if(a.c==c){++a.c;a.c>a.e.length&&(a.c=-1);continue}while(ee&&a.f.Nd(Mkc(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(Mkc(a.e,b-1)))--b}else--a.b;return ilc(dlc(a.e,e,b))}return a.i=2,null}function cac(a,b,c){var d,e,f,g,h,i;Zd(b);if(E6b(a,b,0,new sbc(true)))return a;if(a.g==(Yac(),Xac)&&b.g==Xac&&!Y7b(a.c)&&!Y7b(b.c)){f=a.Oi(b);g=b.Oi(a);if(f&&!g)return c?b:a;else if(g&&!f)return c?a:b;i=dac(a,b,c);if(i)return i}d=cdc(a.A,(Mcc(),Sbc));if(E6b(d,b,0,new sbc(true)))return c?b:a;else if(E6b(d,a,0,new sbc(true)))return c?a:b;e=cdc(a.A,Gcc);h=cdc(a.A,$bc);return c?e:h}function clc(a, -b,c){var d,e,f,g,h,i,j,k;d=new RegExp(b,"g");j=AD(sT,DBc,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=flc(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;f>31;switch(c.f){case 7:TA(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==(Vlc(),Slc)||c==Rlc&(f&1)!=0:g=e>0;break;default:throw HV(new Lic);}return g?f+i:f}function _bb(a,b){var c,d,e,f,g,h,i,j;for(i=(g=b.c.a,g?!g.b?(Sqc(),Sqc(),Rqc):new Q2b(g.b):(Sqc(),Sqc(),Rqc)).Pd();i.Jd();){h= -i.Kd();dcb(a,qE(h.k,23)?h.k:null)}dcb(a,b.c.b);if(b.g==(Yac(),Wac))for(d=$s(new fsc(b.d.a.b.Pd()));d.Jd();){c=d.Kd();xrc(a.a,c)&&c.Yi(a)}if(b.Sh()){for(f=$s(new fsc(b.e.a.b.Pd()));f.Jd();){e=f.Kd();xrc(a.a,e)&&e.Yi(a)}j=Y9b(b).bj();!!j&&xrc(a.a,j)&&j.Yi(a)}return a.b.b}function R6(a,b,c,d){var e,f,g,h,i;ee(c.j==(m6b(),C4b)||c.j==B4b,c);ee(b.j==U5b,b);f=c.e;if(Rib(c)){M1(a.a,Heb(c,(_ab(),$ab),DD(yD(sT,1),DBc,2,6,["assigning to a super property"])));return}e=(Vhb(),hib(b,new Gjb(S3b)));i=e.b.d;if(!j1b(i))return; -if(W0b(d,58)!=0)x1b(b,O0b(i,false));else{g=Nc(new Qc(String.fromCharCode(46)),Z0b(i),FDc,DD(yD(nT,1),UBc,1,5,[]));h=pjb(a.a,g,b);w1b(b.e,b,h)}O1(a.a,f)}function Rib(a){Vhb();var b;switch(a.j.f){case 29:case 26:case 27:case 91:break;default:return false}b=a.e;if(!b)return false;switch(b.j.f){case 106:return(b.b?b.b.f:null)==a;case 76:case 100:case 88:case 112:case 45:case 104:case 63:case 64:case 78:return true;case 96:case 65:case 118:case 72:case 73:case 101:return b.b==a;case 94:case 93:case 91:return Tib(a); -default:return Cib(b)&&b.b==a}}function Avb(){Avb=gW;yvb=new j6("JSC_NULLABLE_RETURN",(tZ(),rZ),new cmc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));zvb=new j6("JSC_NULLABLE_RETURN_WITH_NAME",rZ,new cmc('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 nxb(a,b,c){var d,e,f;if(yBc==a.Eh()||yBc==b.Eh()||-1==b.Eh())return true; -if(512==a.Eh())return 0!=rxb(b).Eh();if(hGc==a.Eh())return 0!=qxb(b).Eh();if(512==b.Eh())return e=a.Eh(),e!=0&&(e|522)==522;if(!Svb(a,b))return false;d=a.Eh()&-5;if((d|b.Eh())!=b.Eh())return false;if(a.Qh()!=null&&!Rkc(a.Qh(),b.Qh()))return false;if(a.Hh().isEmpty())return true;f=kBb(a.Hh(),b.Hh(),c);return f}function oBb(a,b){var c,d,e,f,g,h,i,j;if(a.isEmpty())return b;else if(b.isEmpty())return a;j=new spc(a);gpc(j,b);for(d=0;d0){if(!l5(a.a,"".charCodeAt(0))){b=AD(zE,EBc,46,a.a.length,15,1);for(c=0;c< -b.length;c++)b[c]=a.a[c].a;throw HV(new afb("prefix must start with one of: "+lqc(b)));}for(d=1;d<"".length;++d){b=AD(zE,EBc,46,a.b.length,15,1);for(c=0;c=48&&c<=57){d=qXb(a);if((a.b=48&&c<=57?uXb(a,b,qXb(a)):c==46?tXb(a,b):sXb(a,b)}function $6(a,b,c){var d,e,f,g,h,i,j;Rd(c.j==(m6b(),N3b),c);f=c.li(false);e=u1b(c);if(e.j==U5b){i=U1b(jYb(ojb(a.a,b),new Y2b(Q5b,IFc)),e);H0b(f,i);h=v1b(f,f.g,50);h!=f.g&&(f.g=h);F0b(f,T1b(new Z1b(Z5b),e),i)}else{ee(e.j==C4b,e); -d=Zd(e.b.d);ee(Rkc(d.ni(),oFc),d);H0b(f,e);j=e.b;w1b(e,j,U1b(ojb(a.a,b),j));g=c.b;if(g.j!=Z5b){ee(g.j==n5b,g);s1b(c,g);H0b(f,T1b(new Z1b(Z5b),g))}}while(c.b)H0b(f,u1b(c));return f}function FEb(a,b,c,d,e){var f,g;this.n=new jvc;this.e=(OJb(),DJb);this.s=a;this.k=e.Ye();this.b=MEb(this.k);this.j=new qpc;this.q=b;this.t=(g=new Z1b((m6b(),K5b)),K1b(g,this.q),g);this.f=new x0b(c.d!=(CDb(),BDb));for(f=0;true;f++){f=Vkc(a,mlc(10),f);if(f==-1)break;epc(this.j,ikc(f))}this.r=!b?null:b.Hg();this.a=c;this.d= -d;this.u=new gGb(this);c.e==0?this.o=SDb:c.c==(LDb(),FDb)?this.o=null:this.o=RDb}function Qkb(){Qkb=gW;new j6("JSC_INVALID_GETELEM_INDEX_ERROR",(tZ(),sZ),new cmc("Array index not integer: {0}"));Okb=new j6("JSC_INDEX_OUT_OF_BOUNDS_ERROR",sZ,new cmc("Array index out of bounds: {0}"));Pkb=new j6("JSC_NEGATING_A_NON_NUMBER_ERROR",sZ,new cmc("Can''t negate non-numeric value: {0}"));Nkb=new j6("JSC_FRACTIONAL_BITWISE_OPERAND",sZ,new cmc("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function Oub(a, -b){Lub();var c,d,e,f,g,h,i;i=Mub();f=new w3;s3(f,(g4(),d4));f.Qb=new Te(Zd((Pic(),true)));t3(f,Z3);f.cd=true;e=(vob(),new Hob((new Gob,"externs.js"),"var window;"));h=new Hob((new Gob,b),a);f.uc=true;f.Bc=true;p5(f.Z);m3(f,new C5(Kub,(tZ(),rZ)));c=new Pub;P1(c,new Qub);Q0(c,(Zn(),new Uy(Zd(e))),new Uy(Zd(h)),f);g=M2(new s2(c));d=Mub();Nub("Transpiled "+b+" in "+(d-i)/1E3+" seconds");return g}function IEb(a){switch(a){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4; -case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15;default:throw HV(new Ujc(JIc+String.fromCharCode(a)));}}function Q0(a,b,c,d){var e,f;de(!a.C);try{o1(a,b,c,d);a.j.a.d>0||M2(new D2(a));if(a.j.a.d<=0){ee(!!a.A&&!a.A.isEmpty(),tEc);de(a.j.a.d<=0);de(true);M2(new x2(a));a.j.a.d>0||(ee(!!a.A&&!a.A.isEmpty(),tEc), -de(a.j.a.d<=0),de(true),M2(new z2(a)),undefined);M2(new B2(a))}}finally{e=(a.L.rd!=(x4(),u4)&&!!a.W&&Ykb(a.W,uEc,true),new Ppb);hY(a.j.a);f=UV(NV(Date.now()),e.a);a.L.rd!=u4&&!!a.W&&Zkb(a.W,uEc,f)}return d1(a)}function F8(a,b,c){var d,e,f,g,h,i,j,k;j=I8(b,ojb(a.a,c.f),ojb(a.a,c.f+cGc));h=Q0b(b.b?b.b.f:null);d=UXb(j,h);W1b(d,b);f=Y0b(b,29);if(W0b(b,58)!=0&&ujb(d.b?d.b.f:null)){g=z0b(f);l0b(g,new B0b(new _1b((m6b(),F3b),new Z1b(C5b)),(e=Y0b(b,51),!e?null:e.Hg())));f=d_b(g)}!!f&&(k=v1b(d,d.g,29),k!= -d.g&&(d.g=k),!!f&&(d.g=new L2b(29,f,d.g)),d);i=(Vhb(),T1b((ee(rYb(d),d),new _1b((m6b(),r4b),d)),d));F0b(c.g.e,i,c.g);c.g=i}function G1(a){var b;a.L.Cc&&(nAc(K0,"Recording function information"),de(!a.e),a.d=CEc,a.e=(a.L.rd!=(x4(),u4)&&!!a.W&&Ykb(a.W,CEc,true),new Ppb),undefined,b=new Dmb(a),Cmb(b,a.C),null.Qj(),ee(!!a.e,"Tracer should not be null at the end of a pass."),T1(a,a.e,a.d),O0(a),a.d=null,a.e=null,a.L.$==(D3(),z3)&&Wnb(new $nb(a),a.q,a.C),undefined,undefined);a.L.$==(D3(),C3)&&Wnb(new $nb(a), -a.q,a.C);a.P=1;!!a.W&&Tkb(a.W)}function ZAb(a,b,c,d,e){var f,g,h;if(a.b)if(!b.b||!rwb(a.b,b.b,c,d,e))return false;g=a.d;f=b.d;if(!null.Qj()&&!null.Qj()){if(sAb(g,f,c,d,e))return true;if(null.Rj==2){if(gAb(g,Oi(Ei(e.a,f,false))))return true;e=(Qd(null.Rj!=0),new UBb(_zb(e.a,f,g)))}else return false}if(!null.Qj()&&null.Rj!=2&&null.Qj())return false;h=!null.Qj()&&null.Rj==2?null.Qj():new gnc(a.g);if(!h)return true;return YAb(a,b,h,c,d,e)}function KB(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 cB(e.b+o,e.a+p);g=new cB(f.b+o,f.a+i)}l=new _B;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;le(n>k||n==k&&m>=j,"Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",ikc(k),ikc(j),ikc(n),ikc(m))}a.b=l;epc(a.e,l)}function gOb(a){var b,c,d,e,f,g;f=wPb(a.g,0).b.b;e=vMb(a);b=wMb(a,(nSb(),AQb));if(!b)if(e.c!=XQb)XOb(a,wPb(a.g,0),IJc,DD(yD(nT,1),UBc,1,5,[AQb]));else if(bMb(e.a)&& -!dMb(e.a))XOb(a,e,"Cannot use keyword in short object literal",DD(yD(nT,1),UBc,1,5,[]));else if(FOb(a,0,MQb)){d=new PTb(new IWb(f,a.f),e);sMb(a,MQb);c=TMb(a,1);return new gTb(new IWb(f,a.f),d,c)}g=!b?null:TMb(a,1);return new aWb(new IWb(f,a.f),e,g)}function ojb(a,b){Vhb();var c,d,e,f,g,h,i,j;c=Ukc(b,mlc(46));if(c==-1)return njb(a,b);f=b.substr(0,c);Rkc(_Dc,f)?e=new Z1b((m6b(),Z5b)):Rkc(aEc,f)?e=new Z1b((m6b(),U5b)):e=njb(a,f);do{j=c+1;c=Vkc(b,mlc(46),j);g=c==-1?b.substr(j):b.substr(j,c-j);h=new Y2b((m6b(), -Q5b),g);E1b(h,g.length);W0(a).bg(g)&&(i=v1b(h,h.g,43),i!=h.g&&(h.g=i),h.g=new B2b(43,1,h.g));d=e.c+1+g.length;e=jYb(e,h);e.c=d}while(c!=-1);return e}function Xo(a){Po();var b,c,d,e,f,g,h,i,j;if(qE(a,137)&&!qE(a,322)){g=a;return g}else if(qE(a,228)){f=a;for(e=new Buc((new vuc(f)).a);Xuc(e.a);){d=(e.b=Yuc(e.a),new Fuc(e.c,e.b));Zd(d.a);Zd(d.b.b[d.a.f])}i=_q(new luc(f));return i}j=a.size();switch(j){case 0:return Oo;case 1:d=Vs(a.Xd().Pd());return hp(d.de(),d.ee());default:h=new lwc;for(c=a.Xd().Pd();c.Jd();){b= -c.Kd();iwc(h,Zd(b.de()),Zd(b.ee()))}return new _x(h)}}function hHb(a,b){switch(b.f){case 13:return"@"+a.i.n;case 19:return"!";case 11:return",";case 12:return":";case 3:return">";case 5:return"[";case 7:return"{";case 9:return"(";case 2:return"<";case 17:return"?";case 14:return"|";case 6:return"]";case 8:return"}";case 10:return")";case 15:return"*";case 18:return SDc;case 20:return"=";case 4:return a.i.n;default:throw HV(new Ujc(b.e!=null?b.e:""+b.f));}}function b2b(a,b,c){Rd(!b.e,"first new child has existing parent"); -Rd(!b.d,"first new child has existing next sibling");Rd(!b.f,"first new child has existing previous sibling");Rd(!c.e,"second new child has existing parent");Rd(!c.d,"second new child has existing next sibling");Rd(!c.f,"second new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=c;b.f=c;b.e=this;c.d=null;c.f=b;c.e=this;this.i=-1}function fib(a){Vhb();var b,c;if(a.j==(m6b(),r4b))return fib(a.b);b=Y0b(a,29);if(!b){c=a.e;if(!c||a.j==r4b)return null;if(c.j==e5b)return fib(c);else if(c.j== -r3b)return fib(c);else if(Zib(c)||c.j==W3b)return c;else if((c.j==w4b||c.j==S3b)&&a==c.b)return fib(c);else if(!!c&&(c.j==g6b||c.j==Y4b||c.j==X3b)&&!!c.b&&!c.b.d)return c;else if(c.j==F4b&&c.b!=a||c.j==u5b||c.j==l3b||c.j==V3b&&c.b!=a)return fib(c)}return a}function cxb(a){var b,c,d,e;if(-1==a.Eh()||yBc==a.Eh())return a;d=a.Eh();if((d&220)==0)return a;switch(d){case 64:return a.e.q;case 24:case 8:case 16:return a.e.a;case 128:return a.e.t}b=(Cn(),new Vr);Ur(b,a.Hh());(d&64)!=0&&Sr(b,a.e.L);(d&128)!= -0&&Sr(b,a.e.L);(d&24)!=0&&Sr(b,a.e.L);e=nyb(a.e,d&-217,Kp(new Npc(b.a)),a.Qh(),Zwb);for(c=a.Ch().Pd();c.Jd();){c.Kd();e=kyb(e,(de(null.Rj==(Zvb(),Yvb)),null.Rj).Qj())}return e}function _Gb(a,b){var c,d,e,f,g;if(b!=(PHb(),OHb))return oGb(a,WIc,a.i.g,VHb(a.i)),null;f=a.i.n;d=a.i.g;c=VHb(a.i);while(AGb(a,BHb)&&Mkc(f,f.length-1)==46){gHb(a);if(AGb(a,OHb)){!a.n?WHb(a.i):sGb(a);f+=a.i.n}}g=DGb(a,f,d,c);if(AGb(a,DHb)){!a.n?WHb(a.i):sGb(a);gHb(a);e=$Gb(a,f,!a.n?WHb(a.i):sGb(a));if(e){I0b(g,e);gHb(a);if(!AGb(a, -JHb))return oGb(a,"msg.jsdoc.missing.gt",a.i.g,VHb(a.i)),null;!a.n?WHb(a.i):sGb(a)}}return g}function oyb(a,b){axb();var c,d,e,f,g;g=qyb(a,b);if(0==g.Eh()&&(d=a.Hh(),d.size()==1&&Vs(d.Pd()).c||(e=b.Hh(),e.size()==1&&Vs(e.Pd()).c))){g=qyb(cxb(a),cxb(b));if(0!=g.Eh()){f=a.Hh();if(f.size()==1&&Vs(f.Pd()).c){ke((c=b.Hh(),!(c.size()==1&&Vs(c.Pd()).c)),"Two loose types %s and %s that meet to bottom, meet to non-bottom after autoboxing.",bxb(a,new Flc,(XBb(),WBb)).a,bxb(b,new Flc,WBb).a);return b}else return a}}return g} -function OIb(a,b){var c;if(!tIb(a,b,(xJb(),rJb)))return false;if(!SIb(a,(Vd(b.j==(m6b(),N3b),cJc,b),S0b(b,1)))){YIb(a,rJb.d);return false}if((Vd(b.j==N3b,cJc,b),S0b(b,2)).j!=p5b){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,[XBc])),a.b.Hg(),a.d,a.c);YIb(a,rJb.d);return false}c=(Vd(b.j==N3b,cJc,b),S0b(b,2)).mi();if(c<0||c%1!=0){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,[XBc])),a.b.Hg(),a.d,a.c);YIb(a,rJb.d);return false}return true}function $rb(a,b){var c,d,e,f,g,h,i,j;i=b.Dh().Mh();if(i){j=(ie(i.Sh()||i.g== -(Yac(),Wac),RHc,i),N6b(i.n));if(!Rkc(j.wi(new Flc,false).a,SFc)){a.a+=SHc;hsb(a,YDc,j.wi(new Flc,true).a);a.a+=OCc}}e=new qzc;for(h=b.zh().Pd();h.Jd();){f=h.Kd();ozc(e,f.di(1))}for(g=(d=(new goc(e.a)).a.Xd().b.Hj(),new moc(d));g.a.Jd();){f=(c=g.a.Kd(),c.de());a.a+=SHc;Blc(Blc(Blc(Blc((a.a+="@",a),ZDc)," {"),f),"}");a.a+=OCc}a.a+=" * @constructor\n"}function Otb(a,b){var c,d,e,f,g,h;h=(Cn(),new Vr);e=new jvc;for(g=Zs(a.a.Pd(),a.b);g.b.Jd();){f=ft(g,g.b.Kd());c=(hub(),d=_kc(_kc(_kc(_kc(_kc($kc($kc(f, -58,45),92,47)," ",XFc),"[",YFc),"]",ZFc),"<",$Fc),">",_Fc),iub(d));if(!gvc(e,Ntb(c,b)))throw HV(new afb("Duplicate module path after resolving: "+f));!Rkc(c.substr(0,1),"/")&&!(Rkc(c.substr(0,2),GEc)||Rkc(c.substr(0,3),THc))&&(c="/"+c);epc(h.a,Zd(c))}return Kp(new Npc(h.a))}function Web(a){var b,c,d,e,f,g,h;h=new qpc;for(g=0;g=0,"invalid depth: %s",e);f.b=e;e==h.a.length&&epc(h,new qpc);(_Ac(e,h.a.length),h.a[e]).add(f)}return h}function QMb(a,b){var c,d,e,f,g,h;f=wPb(a.g,0).b.b;d=(Zn(),new hr);sMb(a,(nSb(),uRb));while(GOb(a,BQb)||LOb(a)||FOb(a,0,PRb))if(GOb(a,BQb)){sMb(a,BQb);fr(d,new dUb(zMb(a,wPb(a.g,0).b.b)))}else{c=(GOb(a,PRb)?e=(g=wPb(a.g,0).b.b,sMb(a,PRb),h=jOb(a,b),new CSb(new IWb(g,a.f),h)):e=bOb(a,b),e);epc(d.a,Zd(c));if(c.p==(YVb(),oUb))break; -else if(GOb(a,BQb))sMb(a,BQb);else break}sMb(a,zQb);return new ASb(new IWb(f,a.f),go(d.a))}function qyb(a,b){var c,d;if(-1==a.Eh())return b;if(-1==b.Eh())return a;if(yBc==a.Eh())return b;if(yBc==b.Eh())return a;if(0==a.Eh()||0==b.Eh())return a.e.b;if(512==a.Eh())return rxb(b);if(hGc==a.Eh())return qxb(b);if(512==b.Eh())return rxb(a);if(hGc==b.Eh())return qxb(a);c=a.Eh()&b.Eh();if(a.Qh()==b.Qh())d=a.Qh();else{d=null;c=c&-2}return pyb(a.e,c,a.Eh()|b.Eh(),uBb(false,a.Hh(),b.Hh()),d,a.Hh(),b.Hh(),a.Ch(), -b.Ch())}function $Vb(){YVb();return DD(yD(EQ,1),ZBc,18,0,[wVb,XUb,rUb,UVb,SVb,NUb,RUb,aVb,MUb,VVb,UUb,WUb,TVb,IUb,sUb,AVb,WVb,vUb,KUb,EVb,fVb,JVb,wUb,KVb,JUb,IVb,_Ub,gVb,lUb,rVb,zUb,BUb,AUb,$Ub,BVb,xVb,CUb,DUb,FUb,GUb,kVb,yUb,qUb,HUb,PVb,RVb,hVb,oVb,kUb,tUb,xUb,eVb,mVb,nVb,OUb,iVb,vVb,SUb,DVb,mUb,oUb,sVb,TUb,CVb,qVb,zVb,lVb,PUb,QUb,bVb,cVb,VUb,XVb,LUb,FVb,GVb,HVb,NVb,OVb,LVb,tVb,uVb,nUb,yVb,QVb,YUb,ZUb,jVb,EUb,MVb,jUb,dVb,uUb,pVb,pUb])}function n_(a,b,c){switch(b.j.f){case 96:case 148:case 151:case 159:B$(a.c, -c==0);break;case 65:(b.b?b.b.f:null).j==(m6b(),h4b)?a.c.rg(true):a.c.og(c==0);break;case 155:b.e.j!=(m6b(),h5b)&&n_(a,b.b,c);break;case 108:b.e.j!=(m6b(),h5b)&&b.b.j!=_3b&&n_(a,b.b,c);break;case 114:!!b.b&&!b.b.d&&a.c.rg(true);break;case 98:case 86:case 87:X0b(b.b).j==(m6b(),h4b)&&a.c.rg(true);break;case 156:a.c.rg(true);break;default:c==0&&a.c.rg(false)}}function pY(a,b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return ne(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=Nkc(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 Nkc(a.a.c,b.a.c)}function xbb(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(Vhb(),Zhb(c,false,a.a));d=c;for(i=new w2b(new t2b(Zd(d.e)));i.a.a;){h=v2b(i);if(h==b)return j?2:1;if(Cbb(h))d!=h.b&&(j=true);else if(wbb(a,h,k));else{for(g=(!h.b?(Sqc(),Sqc(),Rqc):new Q2b(h.b)).Pd();g.Jd();){f= -g.Kd();if(f==d)break;if(k?Yhb(f,a.b,a.d):Zhb(f,false,a.a)){k=true;j=true}}e=h.b;if(j&&h.j==(m6b(),N3b)&&(e.j==(m6b(),C4b)||e.j==B4b))return 0}d=h}throw HV(new Ujc(HGc));}function Gkc(){Gkc=gW;var a;Ckc=DD(yD(BE,1),QCc,46,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);Dkc=AD(BE,QCc,46,37,15,1);Ekc=DD(yD(BE,1),QCc,46,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]);Fkc=AD(CE,{3:1,551:1},46, -37,14,1);for(a=2;a<=36;a++){Dkc[a]=xE($wnd.Math.pow(a,Ckc[a]));Fkc[a]=LV({l:XCc,m:XCc,h:524287},Dkc[a])}}function Fcb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n;if(Icb(a,b,c,d))return;j=Bcb(a,d,f);j.p=e;k=new _cb(b,(i=(idb(),gdb),++a.a.b,i));Mcb(j,k);if(c.j==(m6b(),r3b)&&c.e.j!=r4b){g=new _cb(b,(h=bdb,++a.a.b,h));Mcb(j,g);Qd((k.b==bdb||g.b==bdb)&&(k.b==gdb||k.b==hdb||g.b==gdb||g.b==hdb))}else(l=uib(b),m=(Vhb(),n=fib(b),!n?null:Y0b(n,29)),!!m&&!!l&&((m.a&2)!=0&&l.j==w4b||((m.a&512)!=0||(m.a&EFc)!=0)&&l.j==w4b|| -(m.a&rFc)==KGc&&l.j==r5b))&&Ocb(j)}function kxb(a){var b,c,d,e,f,g,h,i,j,k;if(!oxb(a))return Zn(),new Uy(Zd(a));b=(Cn(),new Vr);k=DD(yD(tO,1),UBc,124,0,[a.e.a,a.e.q,a.e.t,a.e.B,a.e.j]);for(h=k,i=0,j=h.length;i=0){d=$wnd.Math.min(d,h); -qE(b,27)?(l=b.a.length,dl&&(b.a+=rlc(AD(zE,EBc,46,d-l,15,1))),undefined):b=olc(b,0,d)}k>0&&(k=$wnd.Math.max(nlc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=AD(zE,EBc,46,k-d,15,1);_pc(f,f.length,e);g=a.b.f;i=qE(b,27)?b:new Hlc(b);g?(i.a+=slc(f,0,f.length),i):Elc(i,j,slc(f,0,f.length));return i}function JXb(a){var b,c,d,e,f,g,h,i;h=clc(a,"\r?\n",0);b=(Po(),new pr);for(e=0;e=100)while(MV(QV(LV(d,10),NV($wnd.Math.pow(10,c+1))),g)){d=LV(d,10);++c}if(c>2)w$(a,YV(d)+"E"+c);else{h=JV(g,0)<0?RV(g):g;JV(h,1E12)>0&&skc(h,4).length+2<(""+YV(h)).length?w$(a,(JV(g,0)<0?"-":"")+"0x"+skc(h,4)):w$(a,""+YV(g))}}else w$(a,blc(_kc(""+b,".0E","E"), -"^(-?)0\\.","$1."))}function YGb(a,b){var c;if(b==(PHb(),IHb)){b=!a.n?WHb(a.i):sGb(a);if(b==xHb||b==CHb||b==MHb||b==KHb||b==LHb||b==HHb||b==JHb||b==zHb||b==BHb||b==AHb){a.n=b;return CGb(a,(m6b(),C5b))}return iHb(a,(m6b(),C5b),IGb(a,b))}else if(b==vHb)return iHb(a,(m6b(),F3b),IGb(a,!a.n?WHb(a.i):sGb(a)));else{c=IGb(a,b);if(c)if(AGb(a,IHb)){!a.n?WHb(a.i):sGb(a);return iHb(a,(m6b(),C5b),c)}else if(AGb(a,vHb)){!a.n?WHb(a.i):sGb(a);return iHb(a,(m6b(),F3b),c)}return c}}function v6b(a,b,c,d,e){var f,g, -h,i,j,k,l;g=new f3b((m6b(),x4b),a);Zd(b);Zd(c);for(j=new Lwc(new Cwc(b));j.b!=j.c.a.b;){h=Jwc(j);f=vYb(h.d);H0b(g,w6b(f,h.e))}for(i=new Lwc(new Cwc(c));i.b!=i.c.a.b;){h=Jwc(i);f=vYb(h.d);l=v1b(f,f.g,80);l!=f.g&&(f.g=l);f.g=new B2b(80,1,f.g);H0b(g,w6b(f,h.e))}if(d!=null){k=new _1b(F5b,(ie(Ukc(d,mlc(46))==-1,DDc,d),new Y2b(e5b,d)));H0b(g,(!!e&&(l=v1b(k,k.g,78),l!=k.g&&(k.g=l),!!e&&(k.g=new L2b(78,e,k.g))),k))}return g}function Chb(a,b,c){var d,e,f,g,h;d=b.j;if(d==(m6b(),K5b)){rhb(a,b,c);return}else if(d== -w4b){qhb(a,b,c);return}a.e=b;if(!a.a.Yf(a,b,c))return;d==w4b?Ehb(a,b,c):d==S3b?(e=b.b,f=(Vhb(),b.j==S3b&&!(b.j!=c5b&&cjb(b.e))),f||Chb(a,e,b),a.e=b,vhb(a,b),f&&Chb(a,e,b),g=b.b.d,h=g.d,Chb(a,g,b),Chb(a,h,b),uhb(a,false),undefined):d==c5b?(vhb(a,b),Dhb(a,b),uhb(a,false),undefined):a.p&&bib(b)?(vhb(a,b),Dhb(a,b),uhb(a,false),undefined):Dhb(a,b);a.e=b;a.a.Zf(a,b,c)}function Y1(a){var b,c,d,e,f;e=(a.L.rd!=(x4(),u4)&&!!a.W&&Ykb(a.W,DEc,true),new Ppb);try{for(c=(!a.N&&(a.N=new Uub),new Npc((f=new qpc,cqb(), -epc(f,_pb),cqb(),epc(f,Zpb),epc(f,Rpb),epc(f,Upb),epc(f,Ypb),epc(f,Xpb),epc(f,Vpb),undefined,cqb(),epc(f,Tpb),epc(f,Wpb),epc(f,Qpb),epc(f,$pb),epc(f,aqb),epc(f,bqb),undefined,cqb(),epc(f,Spb),f)));c.a"));C1b(c,d_b(d));W1b(c,f);I0b(f,c);O1(a.a,c)}if(b.d){e=(ie(Ukc(bGc,mlc(46))==-1,DDc,bGc),new Y2b((m6b(),e5b),bGc));g=bYb(e,new Z1b(Z5b),X3b);W1b(g,f);Q7(a,g);!b.b?I0b(f,g):F0b(f,g,b.b);O1(a.a,g)}}function mX(a,b,c){var d,e,f,g,h,i,j,k;IX((m6b(),w4b),b);f=o6b(b.j); -f!=-1&&(e=T0b(b),f!=e&&gY(hDc+f+iDc+e,b));RX(a,b.b.d);g=b.b;d=b.b?b.b.f:null;if(b.j==w4b&&W0b(b,60)!=0){lX(a,(TKb(),cKb),b);IX(e5b,g);g.ni()==null&&gY(oDc,g);g.ni().length==0||gY("Expected empty string.",g);h=o6b(g.j);h!=-1&&(i=T0b(g),h!=i&&gY(hDc+h+iDc+i,g));d.j==K3b?VW(a,d):kX(a,d)}else{IX(e5b,g);g.ni()==null&&gY(oDc,g);j=o6b(g.j);j!=-1&&(k=T0b(g),j!=k&&gY(hDc+j+iDc+k,g));c?IX(h4b,d):VW(a,d)}}function AZb(a){var b,c,d,e,f,g,h,i,j;e=new qpc;!!a.i&&epc(e,a.i.a);!!a.g&&epc(e,a.g.a);if(a.d){!!a.d.a&& -epc(e,a.d.a.a);if(a.d.e)for(d=new Npc(a.d.e);d.a=0||c.d!=null||c.g!=null||c.e!=null)throw HV(new wC("Invalid map format"));g=new RB;for(k=c.f.Pd();k.Jd();){j=k.Kd();h=j.d;j.c==0&&(h=null);if(h==null)throw HV(new wC("Unable to retrieve: "+j.d));PB(g,j.b,j.a, -h)}i=new Flc;try{MB(g,i,c.b)}catch(a){a=GV(a);if(qE(a,102)){e=a;throw HV(new IC(e));}else throw HV(a);}hB(b,i.a)}catch(a$1){a$1=GV(a$1);if(qE(a$1,102)){f=a$1;throw HV(new wC("IO exception: "+f));}else throw HV(a$1);}}function ikb(a,b){var c,d,e,f,g,h,i,j,k;c=b.b;Vhb();if(!!c&&(c.j==(m6b(),g6b)||c.j==Y4b||c.j==X3b)||c.j==(m6b(),S3b)){s1b(b,c);g=T1b(new Z1b((m6b(),q4b)),b);I0b(b,g);if(c.j==S3b){j=$qc(c.b);G0b(b.e,c,b);G0b(b.e,T1b(new Z1b(h4b),b),b)}else{j=nib(c);for(e=(!c.b?(Sqc(),Sqc(),Rqc):new Q2b(c.b)).Pd();e.Jd();){d= -e.Kd();s1b(c,d);k=T1b(new _1b(c.j,d),b);G0b(b.e,k,b)}}for(i=j.Pd();i.Jd();){h=i.Kd();f=T1b(new Z1b(p4b),h);I0b(f,h.li(false));I0b(f,h.li(false));H0b(g,f)}O1(a.b,b.e)}}function ueb(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+="function(";d=c.b;if(d.j==(m6b(),k5b)){b.a+="new:";veb(a,b,d.b);f=true}else if(d.j==Z5b){b.a+="this:";veb(a,b,d.b);f=true}else if(d.j==h4b){b.a+=")";return}else if(d.j!=w5b){b.a+="):";veb(a,b,d);return}i=null;d.j==w5b?i=d:d.d.j==w5b&&(i=d.d);if(i){e=true;for(h=(!i.b?(Sqc(),Sqc(),Rqc): -new Q2b(i.b)).Pd();h.Jd();){g=h.Kd();(!e||f)&&(b.a+=",",b);veb(a,b,g);e=false}}b.a+=")";j=c.b?c.b.f:null;if(j.j!=h4b){b.a+=":";veb(a,b,j)}}function Q1b(a,b,c,d,e){var f,g,h,i,j,k;Alc(b,a.j);if(qE(a,8)){b.a+=" ";Blc(b,a.ni())}else if(a.j==(m6b(),w4b)){b.a+=" ";!a.b||a.b.j!=e5b?(b.a+="",b):Blc(b,a.b.ni())}else if(a.j==p5b){b.a+=" ";vlc(b,a.mi())}if(c){h=g2b(a.i);if(h!=-1){b.a+=" ";b.a+=h}if(a.c!=0){b.a+=" [length: ";wlc(b,a.c);b.a+="]"}}if(d){g=_0b(a);for(f=0;f2;g=0;for(i=(f=(new goc(j.a)).a.Xd().b.Hj(),new moc(f));i.a.Jd();){h=(e=i.a.Kd(),e.de());g>0&&(b.a+=",",b);k?(b.a+="\n ",b):g>0&&(b.a+=" ",b);Blc((b.a+=""+h,b),": ");D6b(a.fj(h),b,c);++g;if(!c&&g==10){b.a+= -", ...";break}}k&&(b.a+=OCc,b);b.a+="}";a.t=true;return b}function akb(a,b,c,d){var e,f,g,h,i,j,k,l,m;for(e=b.b;e;e=m){m=e.d;i=!c?e:c;j=!c?b:d;switch(e.j.f){case 83:akb(a,e,i,j);break;case 73:case 101:g=e.b;if(g.j==(m6b(),g6b)){l=g;k=l.b.li(false);w1b(g.e,g,k);G0b(j,l,i);ekb(a,"FOR-IN var declaration",b)}break;case 72:if(e.b.j!=(m6b(),h4b)){h=e.b;if(h.j==Y4b||h.j==X3b||h.j==S3b||h.j==w4b)return;f=new Z1b(h4b);V1b(f,e);w1b(e,h,f);h.j==g6b?l=h:l=(Vhb(),T1b((ee(rYb(h),h),new _1b(r4b,h)),h));G0b(j,l, -i);ekb(a,"FOR initializer",b)}}}}function NIb(a,b){var c,d,e;if(!tIb(a,b,(xJb(),sJb)))return false;e=(Vd(b.j==(m6b(),N3b),cJc,b),T0b(b)-1);c=(Vd(b.j==N3b,cJc,b),S0b(b,1));if(c.j!=e5b&&c.j!=Q5b){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,["type name or type variable"])),a.b.Hg(),a.d,a.c);a.a.lh(PIc+j3b(gJc,DD(yD(nT,1),UBc,1,5,[nJc])),a.b.Hg(),a.d,a.c);return false}for(d=1;d(Qd(!(a==a.a.v||a==a.a.g)),a.j?yBc:a.i.size()+a.e.size()))return null;g=new st; -for(e=0,f=b.size();e1)return null;else j.isEmpty()?mr(d,h,a.a.G):mr(d,h,Vs(j.Pd()))}return jwb(a,bp(d.b))}function D8(a,b){var c,d,e,f,g,h,i,j,k;(b.a.a&dGc)==0&&(b.a.a&eGc)==0&&(b.a.a&$Cc)==0&&i0b(b);if(a){(f=!a.d?null:a.d.p,!f?(Sqc(),Sqc(),Rqc):f).isEmpty()||j0b(b,(e=!a.d?null:a.d.p,!e?(Sqc(), -Sqc(),Rqc):e));for(d=uZb(a).Pd();d.Jd();){c=d.Kd();b0b(b,c,vZb(a,c));c0b(b,c,lZb(a,c))}for(j=yZb(a).Pd();j.Jd();){i=j.Kd();n0b(b,i);m0b(b,i,zZb(a,i))}k=a.j;!!k&&k!=(Z$b(),U$b)&&t0b(b,k);(a.a&256)!=0&&s_b(b);(!a.d?null:a.d.b)!=null&&jZb(b.a)==null&&t_b(b,!a.d?null:a.d.b);VZb(b.a,a);for(h=xZb(a).Pd();h.Jd();){g=h.Kd();k0b(b,g)}}}function u2(a){var b,c,d,e,f,g,h,i,j,k;if(a.a.L.vc){a.b.c.a.length>0&&!J2(a.b)&&I2(a.b,OCc);de(a.d.j==(m6b(),K5b));c=a.a.L.Ib;f=Y0b(a.d,53).a;k=(d=Y0b(a.d,51),!d?null:d.Hg()); -de(k!=null);de(k.length!=0);c=_kc(_kc(_kc(c,"%name%",EAc(f)),"%num%",""+a.c),"%n%",OCc);I2(I2(a.b,c),OCc)}if(Y0b(a.d,29)){i=qZb(Y0b(a.d,29));i!=null&&H2(a.b,i)&&I2(I2(I2(a.b,"/*\n"),i),"*/\n")}b=X1(a.a,a.d,a.c==0);if(b.length!=0){I2(a.b,b);h=b.length;g=b.charCodeAt(h-1);j=h>=2?b.charCodeAt(h-2):0;e=g==59||g==10&&j==59;e||I2(a.b,";")}return null}function yib(a){var b,c,d,e;switch(a.j.f){case 31:case 91:return a.ni();case 116:e="";for(c=a.b;c;c=c.d)if(c.j==(m6b(),Q5b))e=e+c.ni();else if(c.j==Y5b)if(c.b.j== -Q5b)e=e+c.b.ni();else return null;return e;case 29:d=a.ni();if(Rkc(WFc,d)||Rkc(kHc,d)||Rkc("NaN",d))return d;break;case 30:return""+a.mi();case 34:return cEc;case 35:return dEc;case 32:return ABc;case 79:return WFc;case 19:b=tib(a.b);if(b!=($gc(),Zgc))return b.rj(true)?cEc:dEc;break;case 42:return Xhb(a);case 43:return"[object Object]"}return null}function lnb(a){inb();var b,c,d,e,f,g,h;d=new Pr;f=(Po(),new pr);for(c=nf(af(_e(gf(new ic(10))),a));Mb(c);){b=Nb(c);h=bf(_e(gf(new ic(32))),jlc(b));if(h.b.size()== -1&&h.a.getAtIndex(0).length==0)continue;else if(h.b.size()<3)throw HV(new afb("Invalid table: too few tokens on line: "+b));g=h.a.getAtIndex(0);e=new gnb($Jb(h.a.getAtIndex(1)),$Jb(h.a.getAtIndex(2)),h.b.size()>3?h.a.getAtIndex(3):"");g.indexOf(LGc)!=-1?Or(d,alc(g,".*\\.prototype\\.",""),e):(epc(f.b,(Dm(g,e),new Wq(g,e))),f)}return new knb(qn(d.a),bp(f.b))}function fAb(a,b){var c,d,e;de(true);if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return true;for(null.Qj();null.Qj();){e=null.Qj();ke(qp(a.b,e),"Type variable %s not in the domain: %s", -e,a.b.df());le(qp(b.b,e),"Other (%s) doesn't contain mapping (%s->%s) from this (%s)",b,e,rp(a.b,e),a);d=rp(a.b,e);c=rp(b.b,e);if(null.Rj&&null.Qj()){d=txb(d,null.Rj);c=txb(c,null.Rj);if(!mxb(d,c,new UBb((Zzb(),Zzb(),Yzb)))&&!mxb(c,d,new UBb((null,Yzb))))return false}else if(!mxb(d,c,new UBb((Zzb(),Zzb(),Yzb))))return false}return true}function tBb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;Zd(c);g=d;for(n=new Jmc((new Bmc(d.a)).a);n.b;){l=Imc(n);i=l.de();h=oAb(c,i);if(h){g=aBb(b,g,i,h,l.ee());if(g==a.d)return a.d}}for(m= -new Jmc((new Bmc(e.a)).a);m.b;){l=Imc(m);i=l.de();k=l.ee();if(Ei(d,i,false)){j=Oi(Ei(d,i,false));if(ABb(j,k))continue;f=b?new DBb(j.c,uxb(j.d,k.d),j.b,IBb(j.a,k.a)):new DBb(j.c==k.c?j.c:null,oyb(j.d,k.d),null,IBb(j.a,k.a))}else f=k;h=oAb(c,i);if(h){g=aBb(b,g,i,h,f);if(g==a.d)return a.d}else{if(0==f.d.Eh())return a.d;g=_zb(g,i,f)}}return g}function fQb(b){var c,d,e,f;while(b.indexOf("\\")!=-1){e=Ukc(b,mlc(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($ic(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=Mjc(f)&IBc;if(!(aQb(c)||(Vic==null&&(Vic=new RegExp("\\d")),Vic.test(String.fromCharCode(c)))))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d)}catch(a){a=GV(a);if(qE(a,92)||qE(a,296))return null;else throw HV(a);}}return b}function Kvb(){Kvb=gW;Jvb=new j6("JSC_REQUIRES_NOT_SORTED",(tZ(),sZ),new cmc("goog.require() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n")); -Ivb=new j6("JSC_PROVIDES_NOT_SORTED",sZ,new cmc("goog.provide() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n"));Hvb=new j6("JSC_PROVIDES_AFTER_REQUIRES",sZ,new cmc("goog.provide() statements should be before goog.require() statements."));Gvb=new j6("JSC_DUPLICATE_REQUIRE",sZ,new cmc("''{0}'' required more than once."))}function KAb(a,b,c){var d,e,f,g,h;if(QAb(a))return Blc(Alc(b,iwb(QAb(a))),cGc);if(!SAb(a)){if(a.b)return awb(a.b,b,c);return eAb(a.d,b,c)}!null.Qj()&& -!null.Qj()&&!null.Qj()?eAb(a.d,b,c):(a.f.a&1)!=0?(b.a+="struct",b):(a.f.a&2)!=0&&(b.a+="dict",b);if(a.b){b.a+="<|";awb(a.b,b,c);b.a+="|>"}b.a+="{";f=true;for(h=(e=(new goc((new rzc(new gnc(a.g))).a)).a.Xd().b.Hj(),new moc(e));h.a.Jd();){g=(d=h.a.Kd(),d.de());f?f=false:(b.a+=RBc,b);b.a+=""+g;b.a+=": ";zBb(Oi(Ei(a.g,g,false)),b,c)}b.a+="}";a.c&&(b.a+=" (loose)",b);return b}function d7(a,b){var c;switch(b){case uFc:case "ArrayBuffer":case OFc:case "DataView":case "Date":case "Float32Array":case PFc:case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case QFc:case "Promise":case "Proxy":case RFc:case "Set":case TCc:case nFc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c= -gob(nhb(a),b),!(!!c&&!(!c.a||T2(c.a)));default:return false}}function zyb(a,b,c){var d,e,f,g,h,i,j,k,l,m;Zd(c);l=new Pwc;for(h=a.te(b).Pd();h.Jd();){g=h.Kd();if(yBc==c.Eh()){l.a.put(g,l);continue}if(yBc==g.Eh()){c=null;break}f=c.Hh();if(f.size()==1&&Vs(f.Pd()).c){c=null;break}else{e=g.Hh();if(e.size()==1&&Vs(e.Pd()).c){l.a.put(g,l);continue}}m=yyb(c,g);if(m){l.a.put(g,l);c=m}else if(mxb(g,c,new UBb((Zzb(),Zzb(),Yzb))))l.a.put(g,l);else if(mxb(c,g,new UBb((null,Yzb)))){c=null;break}}for(k=(i=(new gnc(l.a)).a.Xd().Pd(), -new mnc(i));k.a.Jd();){j=(d=k.a.Kd(),d.de());a.xe(b,j)}!!c&&a.we(b,c)}function mIb(b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s;o=b.Hg();try{j=new iQb(o,c);k=d.b==1;f=new pIb(e,k);g=lIb(d);l=new aPb(g,f,j);p=(q=new MWb,r=wPb(l.g,0).b.b,s=DNb(l),sMb(l,(nSb(),KQb)),OWb(q.a,UV(NV(Date.now()),q.b)),new _Vb(new IWb(r,l.f),s,go(l.a.a.a)));n=null;Zn();i=l.d;if(!f.d||k){h=PEb(p,b,c,d,e);n=h.p;i=RJb(i,h.e);m=v1b(n,n.g,89);m!=n.g&&(n.g=m);!!i&&(n.g=new L2b(89,i,n.g));d.d!=(CDb(),BDb)&&go(l.a.a.a)}return new sIb(n, -l.i)}catch(a){a=GV(a);if(qE(a,38))throw HV(new HC('Exception parsing "'+o+'"'));else throw HV(a);}}function eNb(a,b){var c,d;if(GOb(a,(nSb(),MRb)))return lNb(a);else{d=new lPb(wPb(a.g,0).b.b);d.b=b;d.a=a.b.d&&Nuc(Juc(GRb,DD(yD(mP,1),ZBc,12,0,[FRb,ERb])),wPb(a.g,0).c)?FMb(a).c:null;d.c=!!wMb(a,URb);return FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,"get")&&(QOb(a,1)||wPb(a.g,1).c==uRb)?CNb(a,d):FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,"set")&&(QOb(a,1)||wPb(a.g,1).c==uRb)?lOb(a,d):FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,RDc)&&(c= -wPb(a.g,1).b.b.b>wPb(a.g,0).b.a.b,!(c||FOb(a,1,MRb)||FOb(a,1,xQb)||FOb(a,1,KQb)))&&(QOb(a,1)||wPb(a.g,1).c==uRb)?YMb(a,d):gNb(a,d)}}function Btb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new Npc(a.f);l.a",_Fc),iub(b)))),j);for(f=j.Ig().Pd();f.Jd();){e=f.Kd();lmc(a.b,e,j)}}for(m=new Npc(a.f);m.a< -m.c.a.length;){j=Lpc(m);for(i=j.Jg().Pd();i.Jd();){h=i.Kd();d=imc(a.b,h);!!d&&ai(a.d,j,d)}}for(k=new Npc(a.f);k.a0?Ygc:Xgc;case 30:return $gc(),a.mi()!=0?Ygc:Xgc;case 19:return tib(a.b?a.b.f:null).qj();case 32:case 34:return $gc(),Xgc;case 79:if(!Zhb(a.b,false,null))return $gc(),Xgc;break;case 29:b=a.ni();if(Rkc(WFc,b)||Rkc("NaN",b))return $gc(),Xgc;else if(Rkc(kHc,b))return $gc(),Ygc;break;case 35:case 38:return $gc(), -Ygc;case 65:case 96:case 23:case 42:case 43:if(!Zhb(a,false,null))return $gc(),Ygc}return $gc(),Zgc}function XD(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;c=a.l&8191;d=a.l>>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&XCc;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&aDc)<<8;u=v+w+A;p+=m>>22;m&=XCc;u+=p>>22;p&=XCc;u&=YCc;return ID(m,p,u)}function PGb(a,b){var c,d;c=NIc;if(b==(PHb(),EHb)){if(AGb(a,OHb)){d=a.i.n;!hGb.contains(d)&&!e_b(a.e,d)&&nGb(a,"msg.jsdoc.idgen.unknown",d,a.i.g,VHb(a.i));c=d;b=!a.n?WHb(a.i):sGb(a)}else{lGb(a,YIc,a.i.g,VHb(a.i));return b}AGb(a,KHb)?b=!a.n?WHb(a.i):sGb(a):lGb(a,YIc,a.i.g,VHb(a.i))}switch(c){case NIc:F_b(a.e)||lGb(a,ZIc,a.i.g,VHb(a.i));break; -case OIc:n_b(a.e)||lGb(a,ZIc,a.i.g,VHb(a.i));break;case "stable":h0b(a.e)||lGb(a,ZIc,a.i.g,VHb(a.i));break;case "xid":v0b(a.e)||lGb(a,ZIc,a.i.g,VHb(a.i));break;case "mapped":Q_b(a.e)||lGb(a,ZIc,a.i.g,VHb(a.i))}return b}function VMb(a,b){var c,d,e,f,g,h,i;i=wPb(a.g,0).b.b;yMb(a,RDc);g=wPb(a.g,0).b.b.b>a.f.b;(g||FOb(a,0,(nSb(),MRb))||FOb(a,0,(nSb(),xQb))||FOb(a,0,(nSb(),KQb)))&&ZOb(a,"No newline allowed between `async` and arrow function parameter list",DD(yD(nT,1),UBc,1,5,[]));d=null;if(GOb(a,(nSb(), -tRb)))d=xNb(a,0);else{h=ENb(a);d=new rTb(h.o,(Zn(),new Uy(Zd(h))))}f=wPb(a.g,0).b.b.b>a.f.b;(f||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb))&&ZOb(a,LJc,DD(yD(nT,1),UBc,1,5,[]));sMb(a,mQb);c=SMb(a,b,(iPb(),fPb));e=xTb(wTb(vTb(new ETb((JTb(),FTb))),d),c);return tTb(e,new IWb(i,a.f))}function S9b(a,b){var c,d,e,f,g,h,i,j,k;g=!b;d=Nac(Mac(new Pac(a.A),b?a.c.b:(c=Nac(Mac(new Pac(a.A),a.c.b),a.B.d),new eac(c.d,null,new a8b(c.d,c.c,c.e,false),c.g,c.f,c.a,c.b))),a.B.d);h=a.c.a;if(h){i=O0b(h,false);k=new Y2b((m6b(), -e5b),"thisType");D1b(k,Vcc(a.A,K6b(a.n)?cdc(a.A,(Mcc(),Icc)):a.n));I0b(i,k);if(g)for(e=k.d;e;e=e.d){j=v1b(e,e.g,37);j!=e.g&&(e.g=j);e.g=new B2b(37,1,e.g)}else if(b){f=k.d;(!f||W0b(f,37)!=0||W0b(f,30)!=0)&&(j=v1b(k,k.g,37),j!=k.g&&(k.g=j),k.g=new B2b(37,1,k.g))}d.c=i}return new eac(d.d,null,new a8b(d.d,d.c,d.e,false),d.g,d.f,d.a,d.b)}function SEb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;da.f.b,(h||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb))&&ZOb(a,LJc,DD(yD(nT,1),UBc,1,5,[])),sMb(a,mQb),i=SMb(a,b,(iPb(),hPb)),j=xTb(wTb(new ETb((JTb(),FTb)),g),i),tTb(j,zMb(a,g.o.b)));if(IOb(a)){c=$Ob(a,c);uSb(c)||ZOb(a,MJc,DD(yD(nT,1),UBc,1,5,[]));d=FMb(a);e=TMb(a,b);return new ESb(new IWb(f,a.f),c,d,e)}return c}function amb(){amb=gW;Cn();new Xy("COMPILED"); -_lb=new j6("JSC_UNKNOWN_DEFINE_WARNING",(tZ(),sZ),new cmc("unknown @define variable {0}"));new j6("JSC_INVALID_DEFINE_TYPE_ERROR",qZ,new cmc("@define tag only permits literal types"));$lb=new j6("JSC_INVALID_DEFINE_INIT_ERROR",qZ,new cmc("illegal initialization of @define variable {0}"));new j6("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",qZ,new cmc("@define variable {0} assignment must be global"));new j6("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",qZ,new cmc("@define variable {0} cannot be reassigned due to code at {1}.")); -new cmc("line {0} of {1}")}function zzb(a,b){switch(b.f){case 49:return a.u;case 50:return a.b;case 32:case 0:case 53:case 18:case 20:case 19:case 17:case 42:return a.G;case 45:return a.B;case 21:return a.j;case 13:return a.e;case 39:return a.w;case 2:return a.a;case 36:return a.t;case 22:return a.q;case 61:return kyb(a.r,a.a);case 25:return a.K;case 8:return null;case 26:return yzb(null.Qj());case 63:return a.A;case 51:return Gxb(a.I);case 14:case 16:return null.Qj();case 15:return yzb(a.s);case 27:case 46:return null.Qj().Qj(); -default:throw HV(new GC("Native type "+(b.e!=null?b.e:""+b.f)+" not found"));}}function q1(b,c,d,e){var f;r1(b,e);d.a.length==0?M1(b,new Deb(null,null,-1,-1,H0,null,DD(yD(sT,1),DBc,2,6,[]))):(_Ac(0,d.a.length),d.a[0]).d.a.length==0&&d.a.length>1&&M1(b,new Deb(null,null,-1,-1,I0,null,DD(yD(sT,1),DBc,2,6,[(_Ac(0,d.a.length),d.a[0]).e])));_1(d);b.o=t1(c);b.I=d;try{b.G=new $eb(d)}catch(a){a=GV(a);if(qE(a,291)){f=a;M1(b,new Deb(null,null,-1,-1,J0,null,DD(yD(sT,1),DBc,2,6,[f.b.e,f.a.e])));return}else throw HV(a); -}b.A=a2(d);new Ezc(b.A.size());Fi(b.w,b.L.Kb);p1(b);b.C=EYb(DD(yD(VR,1),EDc,7,0,[]));b.q=EYb(DD(yD(VR,1),EDc,7,0,[]));b.k=EYb(DD(yD(VR,1),EDc,7,0,[b.q,b.C]))}function JD(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw HV(new Fic("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(FD=ID(0,0,0));return ID(0,0,0)}if(b.h==ZCc&&b.m==0&&b.l==0)return KD(a,c);i=false;if(b.h>>19!=0){b=YD(b);i=!i}g=QD(b);f=false;e=false;d=false;if(a.h==ZCc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=HD((jE(),fE));d=true; -i=!i}else{h=$D(a,g);i&&OD(h);c&&(FD=ID(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=YD(a);d=true;i=!i}if(g!=-1)return LD(a,g,i,f,c);if(VD(a,b)<0){c&&(f?FD=YD(a):FD=ID(a.l,a.m,a.h));return ID(0,0,0)}return MD(d?a:ID(a.l,a.m,a.h),b,i,f,e,c)}function Qab(a){var b,c,d,e,f;f=a.d.d;a.b=lib(f);switch(f.j.f){case 65:{e=f.b;b=e.d;d=e.ni();d.length!=0&&(Vhb(),f.j==(m6b(),w4b)&&!(f.j!=c5b&&cjb(f.e)))&&Pab(a,a.d,e);de(b.j==(m6b(),w5b));Oab(a,a.d,b);return}case 96:{c=f.b;c.j!=(m6b(),h4b)&&(Vhb(),f.j==S3b&&!(f.j!= -c5b&&cjb(f.e)))&&Pab(a,a.d,c);return}case 81:case 85:ee(!a.d.c,a.d);Rab(a,f,a.d,a.d);return;case 111:Rab(a,f,a.d,a.d);return;case 72:case 101:case 73:case 67:Rab(a,f,null,a.d);return;case 82:Vhb();f.j==(m6b(),K3b)&&!!f.e&&f.e.j==w4b?Rab(a,f,a.d,a.d):Rab(a,f,null,a.d);return;default:throw HV(new GC("Illegal scope root: "+f));}}function sD(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.If(WCc,UCc,-1,-1);k=jlc(b);Rkc(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=jlc(k.substr(g+1));k=jlc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=jlc(k.substr(0,g))}g=Ukc(k,mlc(46));g!=-1&&(k=k.substr(g+1));(k.length==0||Rkc(k,"Anonymous function"))&&(k=UCc);h=Xkc(j,mlc(58));e=Ykc(j,mlc(58),h-1);i=-1;d=-1;f=WCc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=nD(j.substr(e+1,h-(e+1)));d=nD(j.substr(h+1))}return a.If(f,k,i,d)}function tbb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.e;g=Cib(k)&&k.j!=(m6b(),r3b)&&k.b== -b;e=null;if(g&&(Vhb(),b.j==(m6b(),C4b)||b.j==B4b))for(i=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();i.Jd();){h=i.Kd();if(h.j!=(m6b(),Q5b)&&!ubb(a,h,a.b)){d=tbb(a,h,c);!e&&(e=d)}}n=(q=a.e+"_const"+GGc+(""+a.c.a.Y++),gvc(a.b,q),q);l=T1b((ie(Ukc(n,mlc(46))==-1,DDc,n),new Y2b((m6b(),e5b),n)),b);if(g){de(b.j==e5b||(Vhb(),b.j==C4b||b.j==B4b));j=V1b(new Z1b(sib(k)),k);m=k.b?k.b.f:null;M1b(k,r3b);w1b(k,m,j);I0b(j,l);H0b(j,m);o=O0b(b,false)}else{w1b(k,b,l);o=b}p=qjb(n,o);f=c.e;G0b(f,p,c);!e&&(e=p);return e} -function Wub(){Wub=gW;Qp("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",DD(yD(sT,1),DBc,2,6,["goog.object.getAnyKey","goog.object.getAnyValue","goog.object.contains","goog.object.getValues","goog.object.getKeys","goog.object.findKey","goog.object.findValue","goog.object.isEmpty","goog.object.clear","goog.object.remove","goog.object.equals","goog.object.clone","goog.object.transpose"]));Vub=new j6("JSC_ARRAY_PASSED_TO_GOOG_OBJECT", -(tZ(),sZ),new cmc("{0} expects an object, not an array. Did you mean to use goog.array?"))}function kNb(a){var b,c,d;if(wPb(a.g,1).c==(nSb(),UQb))return hNb(a,tRb,yQb);d=wPb(a.g,0).b.b;sMb(a,tRb);if(GOb(a,yQb)){sMb(a,yQb);if(GOb(a,mQb))return new rTb(new IWb(d,a.f),(Zn(),Zn(),Yn));else{ZOb(a,OJc,DD(yD(nT,1),UBc,1,5,[]));return new $Tb(new IWb(d,a.f))}}if(GOb(a,PRb)){b=(Zn(),new Uy(Zd($Nb(a,0))));sMb(a,yQb);if(GOb(a,mQb))return new rTb(new IWb(d,a.f),b);else{ZOb(a,OJc,DD(yD(nT,1),UBc,1,5,[]));return new $Tb(new IWb(d, -a.f))}}c=GMb(a,1);if(GOb(a,BQb)){sMb(a,BQb);c=new MSb(new IWb(d,a.f),(Zn(),new Zx(qo(DD(yD(nT,1),UBc,1,5,[c,$Nb(a,0)])))))}sMb(a,yQb);return new iUb(new IWb(d,a.f),c)}function PZ(){PZ=gW;OZ=new j6("JSC_SUSPICIOUS_SEMICOLON",(tZ(),sZ),new cmc("If this if/for/while really shouldn''t have a body, use '{}'"));KZ=new j6("JSC_SUSPICIOUS_NAN",sZ,new cmc("Comparison against NaN is always false. Did you mean isNaN()?"));MZ=new j6("JSC_SUSPICIOUS_IN",sZ,new cmc('Use of the "in" keyword on non-object types throws an exception.')); -LZ=new j6("JSC_SUSPICIOUS_INSTANCEOF_LEFT",sZ,new cmc('"instanceof" with left non-object operand is always false.'));NZ=new j6("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",sZ,new cmc("Suspicious negated left operand of 'in' operator."))}function wBb(a,b){var c,d,e,f,g,h,i,j,k,l;if(a.c)return NAb(a,b)?a:null;if(b.c)return null;if(!vxc(a.e,b.e))return null;if(a==a.a.L)return b==b.a.L?a:null;else if(b==b.a.L)return null;else if(a==a.a.I)return b==b.a.I?a:null;else if(b==b.a.I)return null;f=AAb(a.d, -b.d);if(!f)return null;d=null;if(!!a.b||!!b.b){d=Iwb(a.b,b.b);if(!d)return null}e=(Zzb(),Zzb(),Yzb);for(l=(g=(new gnc(a.g)).a.Xd().Pd(),new mnc(g));l.a.Jd();){k=(c=l.a.Kd(),c.de());i=Oi(Ei(a.g,k,false));j=Oi(Ei(b.g,k,false));if(!j)return null;h=KBb(i,j);if(!h)return null;e=_zb(e,k,h)}return qBb(a.a,f,e,d,a.e,false,IAb(a.f,b.f))}function zIb(a,b){var c;if(b.j==(m6b(),l3b)||b.j==u5b||b.j==m5b)return AIb(a,b);if(b.j!=N3b){a.a.lh(PIc+j3b(eJc,DD(yD(nT,1),UBc,1,5,[uBc])),a.b.Hg(),a.d,a.c);return false}if(!wIb((Vd(b.j== -N3b,cJc,b),b.b.ni()))){a.a.lh(PIc+j3b(dJc,DD(yD(nT,1),UBc,1,5,["boolean predicate"])),a.b.Hg(),a.d,a.c);return false}c=zJb(Vb((Vd(b.j==N3b,cJc,b),b.b.ni())));if(!tIb(a,b,c))return false;switch(c.a){case 3:return RIb(a,b,(Vd(b.j==N3b,cJc,b),T0b(b)-1));case 2:return MIb(a,b,(Vd(b.j==N3b,cJc,b),T0b(b)-1));case 4:return UIb(a,b,(Vd(b.j==N3b,cJc,b),T0b(b)-1));default:throw HV(new Ujc("Invalid boolean expression"));}}function Exb(a){axb();var b;b=new lwc;iwc(b,"BOOLEAN",new Eyb(a,24));iwc(b,"BOTTOM",new Eyb(a, -0));iwc(b,YHc,new Eyb(a,16));iwc(b,"FALSY",new Eyb(a,hGc));iwc(b,ZHc,new Eyb(a,32));iwc(b,$Hc,new Eyb(a,64));iwc(b,_Hc,new Eyb(a,128));iwc(b,"TOP",new Eyb(a,-1));iwc(b,aIc,new Eyb(a,504));iwc(b,bIc,new Eyb(a,8));iwc(b,cIc,new Eyb(a,512));iwc(b,"UNDEFINED",new Eyb(a,256));iwc(b,dIc,new Eyb(a,yBc));iwc(b,eIc,new Eyb(a,280));iwc(b,fIc,new Eyb(a,320));iwc(b,gIc,new Eyb(a,384));iwc(b,hIc,new Eyb(a,56));iwc(b,iIc,new Eyb(a,96));iwc(b,jIc,new Eyb(a,160));iwc(b,kIc,new Eyb(a,288));iwc(b,lIc,new Eyb(a,192)); -return b}function fXb(a){var b,c,d,e,f;if(a.a==null)return a.b.k=false,$Wb(a,ABc,0);if(!sE(a.a))throw HV(XWb(a));e=iXb(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 Flc;switch(b){case 97:case 65:aXb(a);break;case 101:case 69:bXb(a,d);break;case 102:cXb(a,d);break;case 103:case 71:jXb(a,d);break;default:throw HV(DXb(a.b));}a.b.n=-1;f=0;if(45==d.a.charCodeAt(0)){if(a.b.g)return kXb(a,d)}else{if(a.b.j){Elc(d,0,String.fromCharCode(32));++f}if(a.b.d){Elc(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 $Wb(a,d,f)}function pnb(a,b,c){var d,e,f,g,h,i,j,k;if(j1b(c)&&jnb(a.b.b,c)){h=Z0b(c);f=false;for(e=($mb(),Ymb).Pd();e.Jd();){d=e.Kd();if(Rkc(h.substr(0,d.length),d)){h=elc(h,d.length);f=true;break}}i=rp(a.b.b.b,h);!!i&&!f&&(k=vib(c),k.j!=(m6b(),e5b)||!!gob(nhb(b),k.ni()))&&(i=null);if(!!i&&!feb(a,h)){bnb(a.b,i.c)||xhb(b,c,Zmb,DD(yD(sT,1),DBc,2,6,[h,pe(q3(a.b.a.L))]));!bnb(a.b,i.b)&&i.a.length!=0&&gvc(a.a,i.a);return}}if(c.j== -(m6b(),C4b)&&(c.b?c.b.f:null).j==Q5b){h=(c.b?c.b.f:null).ni();g=mn(a.b.b.a,h);if(!g.isEmpty()&&!feb(a,"."+h))for(j=g.Pd();j.Jd();){i=j.Kd();!bnb(a.b,i.b)&&i.a.length!=0&&gvc(a.a,i.a)}}return}function tdc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(b.r)return b;if(b.g!=(Yac(),Xac)&&!b.Sh())return b;j=false;h=K6b(b.n)?cdc(b.A,(Mcc(),Icc)):b.n;e=ydc(a,h.Yi(a));h!=e&&(j=true);g=b.c.b;d=g.Yi(a);g!=d&&(j=true);l=new Uac(a.e);for(n=(k=b.c.a,k?!k.b?(Sqc(),Sqc(),Rqc):new Q2b(k.b):(Sqc(),Sqc(),Rqc)).Pd();n.Jd();){m= -n.Kd();f=qE(m.k,23)?m.k:null;c=f.Yi(a);f!=c&&(j=true);W0b(m,37)!=0?Qac(l,DD(yD(pS,1),oKc,23,0,[c])):W0b(m,30)!=0?Sac(l,c):Rac(l,DD(yD(pS,1),oKc,23,0,[c]))}if(j){i=Nac(Oac(Mac(Lac(Kac(new Pac(a.e),b.Sh()),l.b),d),e),tgc(b.B));return new eac(i.d,null,new a8b(i.d,i.c,i.e,false),i.g,i.f,i.a,i.b)}return b}function vC(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new sC;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=GV(a);if(qE(a,40)){d=a;throw HV(new wC("JSON parse exception: "+d));}else throw HV(a);}q=f;rC(c,q.version); -lC(c,q.file);mC(c,q.getLineCount()!=null?q.lineCount:-1);nC(c,q.mappings);if(q.sections!=null){l=(Zn(),new hr);for(n=q.sections,o=0,p=n.length;o=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:Zkc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):Zkc(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):BC(d,b)}}d.a+='"';return d.a}function AMb(a,b){var c,d,e,f,g,h,i;if(b.p==(YVb(),_Ub)){f=b.a;return Rkc(f.a,RDc)&&(h=wPb(a.g,0).b.b.b>a.f.b,!(h||FOb(a,0,(nSb(),MRb))||FOb(a,0,(nSb(),xQb))||FOb(a,0,(nSb(),KQb))))&&(i=wPb(a.g,0).c,Nuc(Juc((nSb(),XQb),DD(yD(mP,1),ZBc,12,0,[eSb,FQb, -jRb,kRb])),i)||!a.b.c&&cMb(i))&&(g=wPb(a.g,1).b.b.b>wPb(a.g,0).b.a.b,!(g||FOb(a,1,(nSb(),MRb))||FOb(a,1,(nSb(),xQb))||FOb(a,1,(nSb(),KQb))))&&FOb(a,1,(nSb(),mQb))}else if(b.p==tUb){d=b;e=d.b;c=d.a;return e.p==_Ub&&Rkc(e.a.a,RDc)&&e.o.a.b==c.o.b.b&&(g=wPb(a.g,0).b.b.b>a.f.b,!(g||FOb(a,0,(nSb(),MRb))||FOb(a,0,(nSb(),xQb))||FOb(a,0,(nSb(),KQb))))&&GOb(a,(nSb(),mQb))}else return false}function b7(a,b){var c,d,e,f,g,h,i,j,k;if(!a.c)return false;i=vcb(a.c,b);if(!i)return false;d=i.d;if(!d)for(k=(!i.n?(Zn(), -Zn(),Yn):i.n).Pd();k.Jd();){j=k.Kd();(j.b==(idb(),gdb)||j.b==hdb)&&(d=j)}if(!d)return false;f=d.a;g=Y0b(f,51);if(!!g&&g.vh())return false;c=f.e;e=null;if(c.j==(m6b(),w4b))e=c;else{Vhb();if(!!c&&(c.j==g6b||c.j==Y4b||c.j==X3b)&&f.j==e5b)if(f.b)e=Zd(f.b);else return false;else if(c.j==r3b&&c.b==f)e=Zd(c.b.d);else if(c.j==r5b&&!!f.b&&!f.b.d)e=Zd(f.b);else throw HV(new Ujc("Unexpected declaration format:\n"+S1b(c)));}if(e.j==w4b){h=Zd(S0b(e,2));return!n7(new o7(a),h)}else return j1b(e)&&b7(a,Z0b(e))}function rYb(a){switch(a.j.f){case 65:case 96:return true; +(function(global,jscomp){if(global["$jscomp"])for(var key in global["$jscomp"])jscomp[key]=global["$jscomp"][key];global["$jscomp"]=jscomp})(window,$jscomp);(function(){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function lW(){}function gW(){}function ub(){}function Fb(){}function nc(){}function tc(){}function Kd(){}function Nx(){}function mB(){}function _B(){}function hC(){}function sC(){}function DC(){}function EC(){}function fD(){}function pD(){}function wD(){}function rY(){}function X_(){}function z0(){}function m4(){}function Y6(){}function Y7(){}function k8(){}function nab(){}function Nab(){}function Ebb(){}function Fbb(){}function lfb(){} +function pfb(){}function yjb(){}function Bjb(){}function Ejb(){}function Qjb(){}function Qtb(){}function Xtb(){}function ykb(){}function Kkb(){}function Kwb(){}function alb(){}function flb(){}function Plb(){}function Bmb(){}function Hmb(){}function nnb(){}function jsb(){}function yub(){}function _Bb(){}function bCb(){}function fIb(){}function DWb(){}function RWb(){}function GXb(){}function G$b(){}function v$b(){}function A$b(){}function L$b(){}function O$b(){}function U$b(){}function nbc(){}function nxc(){} +function rxc(){}function txc(){}function Cqc(){}function drc(){}function mrc(){}function vrc(){}function Ltc(){}function Ptc(){}function Oyc(){}function Xzc(){}function $zc(){}function bAc(){}function eAc(){}function zAc(){}function EAc(){}function QAc(){}function Cfb(a){}function s8b(a){}function Jpb(a){Zd(a)}function Hob(){cmc()}function pq(){this.a=0}function Vw(){this.a=8}function Xw(){this.a=8}function ic(a){this.a=a}function Te(a){this.a=a}function jf(a){this.a=a}function jr(a){this.a=a}function Qr(a){this.a= +a}function lh(a){this.a=a}function Fj(a){this.a=a}function Fp(a){this.a=a}function $l(a){this.a=a}function cm(a){this.a=a}function um(a){this.a=a}function Ym(a){this.a=a}function _s(a){this.a=a}function wu(a){this.a=a}function tw(a){this.a=a}function Hw(a){this.a=a}function qx(a){this.a=a}function ux(a){this.a=a}function Rx(a){this.a=a}function Rz(a){this.a=a}function sz(a){this.a=a}function wz(a){this.a=a}function Jz(a){this.a=a}function Uz(a){this.a=a}function Bz(a){this.b=a}function ct(a){this.b= +a}function zv(a){this.b=a}function tB(a){this.e=a}function WB(a){this.a=a}function eY(a){this.a=a}function GY(a){this.a=a}function G_(a){this.a=a}function G2(a){this.a=a}function t2(a){this.a=a}function y2(a){this.a=a}function A2(a){this.a=a}function C2(a){this.a=a}function E2(a){this.a=a}function _4(a){this.a=a}function k7(a){this.a=a}function r7(a){this.a=a}function G7(a){this.a=a}function I7(a){this.a=a}function p7(a){this.b=a}function gC(a){this.c=a}function BW(a){this.e=a}function n8(a){this.a= +a}function t8(a){this.a=a}function _8(a){this.a=a}function R1(a,b){a.n=b}function S1(a,b){a.r=b}function u3(a,b){a.Ub=b}function I$b(a,b){a.b=b}function m$b(a,b){a.f=b}function r$b(a,b){a.g=b}function t$b(a,b){a.j=b}function J$b(a,b){a.c=b}function Aob(a,b){a.c=b}function gHb(a,b){a.c=b}function hHb(a,b){a.d=b}function K$b(a,b){a.d=b}function K1b(a,b){a.i=b}function F1b(a,b){a.k=b}function P1b(a,b){a.k=b}function G1b(a,b){a.c=b}function J1b(a,b){a.g=b}function O1b(a,b){a.j=b}function BXb(a,b){a.a= +b}function DXb(a,b){a.n=b}function EXb(a,b){a.p=b}function Oec(a,b){a.a=b}function sAc(a,b){a.b=b}function Ik(a){a.c=a.d.d}function Md(a){return!a}function tdb(a){this.a=a}function lab(a){this.a=a}function zab(a){this.a=a}function mbb(a){this.a=a}function Kcb(a){this.a=a}function Kjb(a){this.a=a}function Hjb(a){this.a=a}function Njb(a){this.a=a}function Ceb(a){this.a=a}function Cyb(a){this.a=a}function ukb(a){this.a=a}function Dpb(a){this.a=a}function Ysb(a){this.a=a}function Gzb(a){this.a=a}function bAb(a){this.a= +a}function IAb(a){this.a=a}function TBb(a){this.a=a}function WBb(a){this.a=a}function iGb(a){this.a=a}function JXb(a){this.a=a}function RYb(a){this.a=a}function v2b(a){this.a=a}function y2b(a){this.a=a}function S2b(a){this.a=a}function V2b(a){this.a=a}function nPb(a){this.d=a}function GTb(a){this.j=a}function w$b(a){this.c=a}function Rac(a){this.d=a}function rbc(a){this.b=a}function bfc(a){this.b=a}function Cic(a){this.a=a}function $ic(a){this.a=a}function Yjc(a){this.a=a}function nkc(a){this.a=a} +function emc(a){this.a=a}function Dmc(a){this.a=a}function Smc(a){this.d=a}function inc(a){this.a=a}function onc(a){this.a=a}function snc(a){this.a=a}function xnc(a){this.a=a}function Unc(a){this.a=a}function ioc(a){this.a=a}function ooc(a){this.a=a}function doc(a){this.b=a}function Trc(a){this.b=a}function Crc(a){this.a=a}function Mrc(a){this.a=a}function otc(a){this.a=a}function stc(a){this.a=a}function Ttc(a){this.a=a}function xuc(a){this.a=a}function ovc(a){this.a=a}function Ewc(a){this.a=a}function Ppc(a){this.c= +a}function Rxc(a){this.c=a}function Yxc(a){this.a=a}function vzc(a){this.a=a}function SAc(a){this.a=a}function hsc(a){this.b=a}function Lsc(a){this.d=a}function smc(){qmc(this)}function spc(){epc(this)}function Ppb(){Npb(this)}function Qpb(){Npb(this)}function Ooc(){voc(this)}function mW(){nW();Mub()}function Z$(a,b){w$(a.c,b)}function B$(a,b){b&&a.qg()}function wc(a){this.a=Zd(a)}function Qc(a){this.a=Zd(a)}function sf(a){this.a=Zd(a)}function vf(a){this.a=Zd(a)}function Sm(a){this.a=Zd(a)}function iv(a){this.a= +Zd(a)}function nv(a){this.a=Zd(a)}function Kw(a){this.a=Zd(a)}function hx(a){this.a=Zd(a)}function Oj(a){this.b=Zd(a)}function wq(a){this.b=Zd(a)}function X$(a){a.d=new dvc}function Vfb(a){a.d=new dvc}function bob(a){a.e=new nwc}function O9(a){a.g=new spc}function hr(){this.a=new spc}function pr(){this.b=new spc}function FC(){FA.call(this)}function cmc(){cmc=gW;RAc()}function ekc(a){return a&-a}function On(a){Cn();this.a=a}function xr(a){Cn();this.a=a}function Cr(a){Cn();this.a=a}function Xr(a){Zn(); +this.a=a}function Hv(a){Zn();this.a=a}function xt(a,b){a.e=b;b.b=a}function N0(a,b){gpc(a.c,b)}function M1(a,b){npc(a.c,b)}function O2(a,b){gpc(a.d,b)}function P2(a,b){gpc(a.e,b)}function n3(a,b){N4(a.Bd,b)}function uC(a,b){return a[b]}function x6(a){s6();this.a=a}function U6(a){O6();this.a=a}function I8(a){y8();this.a=a}function kD(a){jD();iD.Hf(a)}function gCb(a){this.a=Xo(a)}function Vr(){this.a=new spc}function kB(){this.a=new nwc}function r5(){this.a=new lvc}function N7(){this.a=new lvc}function Yt(){this.b= +new dvc}function Vub(){Uub();new Hkb}function afb(){FC.call(this)}function GWb(){FC.call(this)}function Iic(){FC.call(this)}function Nic(){FA.call(this)}function Nlc(){FC.call(this)}function Vjc(){FC.call(this)}function Akc(){FC.call(this)}function $tc(){FC.call(this)}function wxc(){FC.call(this)}function NAc(a,b){a.length=b}function oAc(a,b){gpc(a.a,b)}function mc(){mc=gW;lc=new nc}function rc(){rc=gW;qc=new tc}function zc(){zc=gW;yc=new Ac}function zn(){zn=gW;yn=new An}function Db(){Db=gW;Cb=new Fb} +function LC(){LC=gW;KC=new ub}function jt(){jt=gW;it=new kt}function Mx(){Mx=gW;Lx=new Nx}function cD(){cD=gW;bD=new fD}function is(){is=gW;Po();Mx()}function P$b(){O$b.call(this)}function R$b(){O$b.call(this)}function T$b(){R$b.call(this)}function dvc(){smc.call(this)}function wvc(){smc.call(this)}function lvc(){this.a=new dvc}function Fzc(){this.a=new dvc}function kAc(){this.a=new dvc}function $jb(){this.a=new lvc}function ABb(){this.a=new spc}function nXb(){this.c=new Hlc}function szc(){this.a= +new pyc}function GB(a){return a.b=65&&a<=90}function Lq(a,b){return a>b&&b=97&&a<=122}function zXb(a){return a>=48&&a<= +57}function J6b(a,b){return edc(a.A,b)}function p6b(a,b){qe.call(this,a,b)}function _ac(a,b){qe.call(this,a,b)}function Pcc(a,b){qe.call(this,a,b)}function KWb(a,b){this.b=a;this.a=b}function cgc(a,b){this.b=a;this.a=b}function D0b(a,b){this.a=a;this.b=b}function C2b(a,b){this.c=a;this.b=b}function bhc(a,b){qe.call(this,a,b)}function dhc(){bhc.call(this,UEc,0)}function hhc(){bhc.call(this,VEc,1)}function lhc(){bhc.call(this,iIc,2)}function $hc(a){_hc.call(this,a,30)}function Ylc(a,b){qe.call(this, +a,b)}function yic(a,b){return Okc(a.a,b)}function Bic(a,b){return glc(a.a,b)}function Arc(a,b){return gmc(a.a,b)}function dmc(a,b){return fmc(a.a,b)}function Bdc(a,b){return edc(a.e,b)}function Vvc(a,b){return a.a.get(b)}function iwc(a,b){return gmc(a.c,b)}function Kwc(a){return a.b!=a.c.a.b}function Huc(a,b){this.b=a;this.a=b}function Inc(a,b){this.d=a;this.e=b}function fzc(a,b){qe.call(this,a,b)}function KAc(a,b,c){a.splice(b,0,c)}function wbc(a,b,c,d){dq(a.a,b,c,d)}function t9b(a,b){de(!a.pj()); +a.q=b}function PXb(a,b){OXb();return a[b]}function Tvc(){Pvc();return new Ovc}function krc(){krc=gW;jrc=new mrc}function Wxc(){Wxc=gW;Vxc=new dvc}function EJb(){EJb=gW;DJb=te(CJb())}function xAc(a){return jAc(lAc(),a)}function HB(a){return Okc(a.a,a.b++)}function Oi(a){return!a?null:a.fe()}function wE(a){return a==null?null:a}function rE(a){return typeof a===wBc}function sE(a){return typeof a===xBc}function vE(a){return typeof a===zBc}function OV(a){return typeof a===xBc}function vg(a,b){return a.de().ge(b)} +function Bf(a,b){return a.Xd().Zd(b)}function glc(a,b){return a.substr(b)}function Fpb(a,b){a.b=Ipb(b,a.a,a.b)}function uEb(a,b){wEb(a,b.b.b,b.b.a)}function zPb(a,b,c,d){pIb(a.c,b,c,d)}function bIb(a){cIb.call(this,a,0,0)}function Mkb(a){m2.call(this,a,true)}function Z2(a){$2.call(this,a,false)}function h3b(a,b){b2b.call(this,a,b)}function _ob(){Yob.call(this,"V3",1)}function Jlc(a){Cic.call(this,kW(a))}function fvc(a){qmc(this);Fi(this,a)}function Vjb(a){this.b=a;this.a=true}function f1b(a){return!!a.b&& +!a.b.d}function fQb(a){return eQb(a)&&a!=42}function lf(a,b){return Xb(a.a,a.e,b)}function zlc(a,b){return a.a+=""+b,a}function Wkc(a,b){return a.indexOf(b)}function HD(a){return ID(a.l,a.m,a.h)}function wy(a){return new Dy(a.a,a.b)}function EY(a){this.a=new rq;this.b=a}function _Hb(a,b){a.q[a.r++]=b;--a.b}function Alc(a,b){a.a+=""+b;return a}function Clc(a,b){a.a+=""+b;return a}function Dlc(a,b){a.a+=""+b;return a}function g6(a,b){nmc(e6,a,b);return b}function ecb(a,b){zrc(a.a,b)&&b.Zi(a)}function Uwc(a, +b){Wwc(a,b,a.a,a.a.a)}function Vwc(a,b){Wwc(a,b,a.c.b,a.c)}function rPb(a,b){return jMb(a.e.b,b)}function Z0b(a){return a.b?a.b.f:null}function e1b(a){return!!a.b&&!!a.b.d}function FZb(a){return!!a.d&&!!a.d.k}function h2b(a){return a==-1?-1:a&dDc}function Pmc(a){return a.b1?a.P=1:a.P=b}function lqc(a,b){iqc(a,0,a.length,b)}function Gvc(a){this.a=Tvc();this.b=a}function Yvc(a){this.a=Tvc();this.b=a}function Glb(a){this.b=a;this.a= +a.b.a}function Q6b(a){R6b.call(this,a,null)}function Ofb(){Qfb.call(this,new Wfb)}function Rwc(){ovc.call(this,new nwc)}function VAc(){SAc.call(this,"UTF-8")}function Rob(){Pob.call(this,"ALL",0)}function Dw(){zw.call(this,"VALUE",1)}function $q(a){sp.call(this,new Rz(a))}function I6(){G6.call(this,"LEGACY",0)}function Yk(a,b,c){Xk.call(this,a,b,c)}function hz(a,b){this.c=a;this.b=Zd(b)}function g7(a){this.a=a;this.b=new Ooc}function T7(a){this.a=a;this.b=new Ooc}function n7(a){this.a=a;this.b=new spc} +function A7(a){this.b=a;this.a=new _wc}function s8(a){this.b=new Rwc;this.a=a}function iub(){iub=gW;hub=new Qc("/")}function eAb(){eAb=gW;dAb=FAc("\\d+")}function tob(){rob.call(this,"LINE",0)}function Mlb(a){Nlb.call(this,a,false)}function bMb(a){_Lb();return rp(CLb,a)}function hk(a){fk(a);return a.d.size()}function fo(a){Zn();Zd(a);return go(a)}function Jm(a){return Zs(a.a.Qd(),a.b)}function Js(a){return Zs(a.a.Qd(),a.b)}function lZb(a){return!a.d?null:a.d.b}function mZb(a){return!a.d?null:a.d.c} +function rZb(a){return!a.d?null:a.d.g}function sZb(a){return!a.d?null:a.d.i}function tZb(a){return!a.d?null:a.d.j}function W0b(a){return!a.e?null:a.e.e}function i2b(a){return a==-1?-1:a>>>12}function P6b(a){return qE(a,47)?a:null}function Q7b(a){E6b();Q6b.call(this,a)}function m8b(a){E6b();l8b.call(this,a)}function Aec(a){E6b();l8b.call(this,a)}function Iec(a){E6b();l8b.call(this,a)}function egc(a){E6b();l8b.call(this,a)}function oic(a){E6b();l8b.call(this,a)}function hec(a){E6b();Tdc.call(this,a)} +function rec(a){E6b();hec.call(this,a)}function jzc(){fzc.call(this,"Head",1)}function ozc(){fzc.call(this,"Tail",3)}function Ne(){Fe.call(this,"IS_NULL",2)}function voc(a){a.a=AD(nT,WBc,1,8,5,1)}function epc(a){a.a=AD(nT,WBc,1,0,5,1)}function pAc(a,b){rAc(a,(Tzc(),Pzc),b)}function uAc(a,b){rAc(a,(Tzc(),Rzc),b)}function vAc(a,b){rAc(a,(Tzc(),Szc),b)}function hB(a,b){var c;c=vC(b);gB(a,c)}function Tr(a,b){Zd(b);Uq(a,b);return a}function Lr(a,b){Zn();this.a=a;this.b=b}function es(a,b){Zn();$r.call(this, +a,b)}function Qk(a){this.a=a;Lk.call(this,a)}function JB(a){this.a=a;this.c=a.length}function fi(a){Qd(a.size()==0);this.c=a}function duc(a){return a<10?"0"+a:""+a}function yxc(a){return a!=null?Ab(a):0}function Ed(a,b){return a!=null?a:Zd(b)}function w5(a,b){return a.b.contains(b)}function eEb(a,b){return SJb(a.a.c.a,b)}function BMb(a,b){return new KWb(b,a.f)}function ID(a,b,c){return{l:a,m:b,h:c}}function HV(a){return a.backingJsObject}function ejc(a){return a>=IBc&&a<=56319}function fjc(a){return a>= +LBc&&a<=57343}function Zuc(a){return a.ab?1:0}function DAc(a,b){return new CAc(a.a,b)}function qE(a,b){return a!=null&&nE(a,b)}function ppc(a,b){kqc(a.a,a.a.length,b)}function I4(a,b){GC.call(this,oXb(a,b))}function j$(){i$();k$.call(this,new z0)}function lzc(){fzc.call(this,"Range",2)}function Yjb(a){this.b=a;this.a=new lvc}function _sb(a){this.b=a;this.a=new spc}function bgc(a){this.c=new dvc;this.d=a}function Tjc(a){return Tkc(xBc,typeof a)}function Ykc(a){return Tkc(zBc, +typeof a)}function tlc(a){return ulc(a,0,a.length)}function Okc(a,b){return a.charCodeAt(b)}function slc(a){return a==null?CBc:kW(a)}function Rr(a,b){return gpc(a.a,Zd(b)),a}function fr(a,b){gpc(a.a,Zd(b));return a}function Sr(a,b){gpc(a.a,Zd(b));return a}function Us(a){return a.Kd()?a.Ld():null}function Vf(a){a.b.clear();a.d.b.clear()}function AA(a){a.f=AD(pT,WBc,142,0,0,1)}function Qe(){Fe.call(this,"NOT_NULL",3)}function kt(){qe.call(this,"INSTANCE",0)}function A5(a){u5();z5.call(this,null,a)} +function Qd(a){if(!a)throw HV(new afb);}function de(a){if(!a)throw HV(new Vjc);}function $t(a){if(!a)throw HV(new wxc);}function W1(a,b,c,d){N2(new w2(a,b,d,c))}function iw(a,b){return new rw(a.Qd(),b)}function SJb(a,b){return a.a.contains(b)}function Ahb(a,b,c){a.g=b;a.o=c;a.d=null}function ytb(a,b,c){xtb.call(this,a,b,c)}function uob(){rob.call(this,"REGION",1)}function WWb(a){GC.call(this,"Width:"+a)}function lMb(a){this.b=a;this.a=mMb(a.a)}function yXb(a){this.a=a;this.c=a.length}function IZb(a){return!!a.d&& +E$b(a.d,8)}function KZb(a){return!!a.d&&E$b(a.d,2)}function LZb(a){return!!a.d&&E$b(a.d,3)}function MZb(a){return!!a.d&&E$b(a.d,5)}function NZb(a){return!!a.d&&E$b(a.d,4)}function OZb(a){return!!a.d&&E$b(a.d,9)}function QZb(a){return!!a.d&&E$b(a.d,0)}function RZb(a){return!!a.d&&E$b(a.d,7)}function SZb(a){return!!a.d&&E$b(a.d,6)}function VZb(a){return!!a.d&&E$b(a.d,1)}function Qrc(a,b){return a.b.contains(b)}function ftc(a,b){return a.b.contains(b)}function Xkc(a,b,c){return a.indexOf(b,c)}function Zkc(a, +b){return a.lastIndexOf(b)}function IOb(a,b){return yPb(a.g,0).c==b}function Oc(a,b){return Mc(a,new Hlc,b).a}function af(a,b){Zd(b);return new of(a,b)}function hf(a,b,c){return new mf(b,c,a.a)}function Cf(a,b,c){return a.Xd().put(b,c)}function cMb(a){_Lb();return!!rp(CLb,a)}function dMb(a){_Lb();return!!rp(BLb,a)}function xPb(a){yPb(a,0);return Ywc(a.b)}function lwc(a,b){if(a.a){zwc(b);ywc(b)}}function Vj(a,b){this.a=a;Oj.call(this,b)}function Aq(a,b){this.a=a;wq.call(this,b)}function gt(a,b){this.a= +b;wq.call(this,a)}function aw(a,b){this.a=a;Wv.call(this,b)}function gw(a,b){this.a=a;Wv.call(this,b)}function rw(a,b){this.a=b;wq.call(this,a)}function Zs(a,b){Zd(b);return new gt(a,b)}function Tw(a){Em(2,DCc);return new cx(a)}function Uw(a){Em(2,DCc);return new ex(a)}function cr(a,b){return a.a.getAtIndex(b)}function Xz(a,b){this.a=a;wq.call(this,b)}function Ez(a){this.a=a;Bz.call(this,a.a)}function rs(a){pr.call(this);this.a=Zd(a)}function FA(){AA(this);BA(this);this.zf()}function Jk(a){a.b.Md(); +--a.d.f.d;gk(a.d)}function Y2(a,b){X2.call(this,a,a.Hg(),b)}function K6(){G6.call(this,"MULTILINE",2)}function Ric(){Ric=gW;Pic=false;Qic=true}function Ic(){Ic=gW;Hc=fkc(31);Gc=new Jc}function yw(){yw=gW;ww=new Bw;xw=new Dw}function Pcb(a){var b;for(b=a.j;b;b=b.j);}function djb(a){Whb();return Puc(Ohb,a.j)}function YA(a){XA();return a<128?WA[a]:-1}function Z0(a,b){Zd(a.L);return S4(a.Z,b)}function Pwb(a,b){de(!a.d);a.d=b;return a}function Uwb(a,b){de(!a.j);a.j=b;return a}function Vwb(a,b){de(!a.k); +a.k=b;return a}function Rwb(a,b,c){kwc(a.f,b,c);return a}function _Ob(a,b,c){pIb(a.c,qPb(a.g),b,c)}function rSb(a,b){sSb.call(this,a,b,null)}function Tob(){Pob.call(this,"SYMBOLS",1)}function aub(){qe.call(this,"RELATIVE",0)}function efc(a,b){ffc.call(this,a,b,null)}function Klc(a){Cic.call(this,(cBc(a),a))}function zYb(a){return OYb((o6b(),o5b),a)}function zxb(a,b){return av(b,new Cyb(a))}function vTb(a,b){a.k=b;return new uTb(a)}function Mab(a,b){Jab();this.a=a;this.b=b}function lsc(a){Trc.call(this, +a);this.a=a}function zsc(a){hsc.call(this,a);this.a=a}function Atc(a){Lsc.call(this,a);this.a=a}function Dtc(a){ctc.call(this,a);this.a=a}function Swc(a){ovc.call(this,new owc(a))}function Soc(a){if(!a)throw HV(new $tc);}function tzc(a){szc.call(this);Sc(this,a)}function Lyc(a){this.a=a;doc.call(this,a)}function PZb(a){return!!a.d&&E$b(a.d,10)}function Puc(a,b){return!!b&&a.b[b.f]==b}function Brc(a,b){return omc(a.a,b)!=null}function mBc(a){return a.$H||(a.$H=++lBc)}function RD(a){return a.l+a.m* +bDc+a.h*cDc}function flc(a,b,c){return a.substr(b,c-b)}function hlc(a,b,c){return a.substr(b,c-b)}function $h(a,b){return a.c.containsKey(b)}function pe(a){return a.e!=null?a.e:""+a.f}function t3(a,b){de(b!=(h4(),g4));a.Tb=b}function Dc(a,b){this.a=Zd(a);this.b=Zd(b)}function Km(a,b){this.a=Zd(a);this.b=Zd(b)}function Ov(a,b){this.a=Zd(a);this.b=Zd(b)}function cw(a,b){this.a=Zd(a);this.b=Zd(b)}function sB(a,b){this.i=a;this.a=new JB(b)}function XAc(a){if(!a)throw HV(new afb);}function aBc(a){if(!a)throw HV(new wxc); +}function gBc(a){if(!a)throw HV(new Vjc);}function nD(a){jD();return parseInt(a)||-1}function ny(a){var b;return Cn(),b=a,Jp(b)}function i9(a,b,c){return dbb(a.a,a.q,b,c)}function _Db(a,b){return aEb(a,ZDb(a,b.b))}function HOb(a,b,c){return yPb(a.g,b).c==c}function EZb(a){return!!(!a.d?null:a.d.a)}function Nub(){return(new Date).getTime()}function qpc(a){return HAc(a.a,a.a.length)}function Tpc(a,b){return Vpc(a,a.length,b)}function Upc(a,b){return Wpc(a,a.length,b)}function M0b(a,b){L0b(a,b,a.b?a.b.f: +null)}function Ytc(a,b){b.$modCount=a.$modCount}function Ktc(a){Jtc();return a==Gtc?null:a}function Awc(a){Bwc.call(this,a,null,null)}function A8b(a){Q6b.call(this,a);s8b(this)}function Lab(a){Jab();Mab.call(this,a,Iab)}function Hk(a,b,c,d){wk.call(this,a,b,c,d)}function J6(){G6.call(this,"SINGLELINE",1)}function M6(){G6.call(this,"SOURCELESS",3)}function He(){Fe.call(this,"ALWAYS_TRUE",0)}function Xk(a,b,c){ik.call(this,a,b,c,null)}function Mk(a,b){this.d=a;Ik(this);this.b=b}function ec(a,b){Qd(b>= +a);this.b=a;this.a=b}function sh(a){this.a=a;this.b=Yf(this.a.d)}function xl(a){this.a=Zd(a);this.b=Ex(this)}function L2(){this.c=new Hlc;this.d=new lvc}function gwc(a){a.b=new Awc(a);a.c=new dvc}function $zb(){$zb=gW;Zzb=new bAb(new dvc)}function rq(){cg.call(this,new nwc,new dvc)}function $2(a,b){Y2.call(this,new hfb(a),b)}function o5(a,b){this.a=a;this.c=b;this.b=0}function Fyb(a,b){Dxb.call(this,a);this.a=b}function W2(a,b){Qd(!b||!a.g||a.g==b);a.g=b}function Xm(a,b){var c;c=a.a;a.a=b;return c} +function A$(a,b){a.ig();b&&a.qg();a.r=false}function JAb(a,b){HAb();return GAb[a.a|b.a]}function KAb(a,b){HAb();return GAb[a.a&b.a]}function _zb(a){$zb();return aAb(Zzb,"_",a)}function dBb(a,b){return gAb(a,b)||gAb(b,a)}function qfb(a,b,c){return dbb(a.a,a.d,b,c)}function bnb(a,b){return ne(r3(a.a.L),b)>=0}function VJb(a,b){return new YJb(ly(a.a,b))}function fCb(a,b){return a.a.containsKey(b)}function hnc(a,b){return a.a.containsKey(b)}function AAc(a){return a.c.exec(a.a)!=null}function Noc(a){return a.c- +a.b&a.a.length-1}function Rkc(a){return tlc(UAc(a,a.length))}function Rrc(a,b){return a.b.containsAll(b)}function Ouc(a,b){return qE(b,14)&&Puc(a,b)}function Quc(a,b){return qE(b,14)&&Ruc(a,b)}function jvc(a,b){return a.a.containsKey(b)}function XHb(a){return a.g==a.d?a.c+a.a:a.a}function oE(a){return String.fromCharCode(a)}function uE(a,b){return a&&b&&a instanceof b}function Uic(a,b){Ric();return a==b?0:a?1:-1}function i3b(a,b){_1b.call(this,a);this.a=b}function afc(){Tec();bfc.call(this,new pyc)} +function vxc(){GC.call(this,"no key found")}function Ke(){Fe.call(this,"ALWAYS_FALSE",1)}function Yg(a){this.b=a;this.a=this.b.b.Yd()}function Ll(a){this.e=a;this.c=a.a.Yd().Qd()}function UBb(a){this.a=(Zn(),new Uy(Zd(a)))}function _tc(a){this.a=new $wnd.Date(WV(a))}function ojc(a){if(a.p!=null)return;Ejc(a)}function S0b(a){Zd(a.e);u1b(a.e,a);return a}function plc(a){return vE(a)?a.length:a.uj()}function ni(a){return qE(a,45)?a.Sd():a.Qd()}function Cc(a,b){return a.a.Od(b)||a.b.Od(b)}function xo(a, +b){return a.af().getAtIndex(b)}function $n(a,b){return new dr(a,a.size(),b)}function VC(a,b,c){return a.apply(b,c);var d}function J1(a,b,c){c.b=a;return Ezc(a.B,b,c)}function fcb(a){this.b=a;this.a=Zqc(new wvc)}function hfb(a){this.a=new RYb(a.b);this.c=a}function Bm(){Am.call(this,new dvc);this.a=3}function An(){on.call(this,(Po(),Po(),Oo),0)}function kTb(a){xSb.call(this,($Vb(),PUb),a)}function gTb(a){xSb.call(this,($Vb(),LUb),a)}function YSb(a){xSb.call(this,($Vb(),CUb),a)}function ZSb(a){xSb.call(this, +($Vb(),DUb),a)}function $Sb(a){xSb.call(this,($Vb(),BUb),a)}function aUb(a){xSb.call(this,($Vb(),mVb),a)}function eUb(a){xSb.call(this,($Vb(),rVb),a)}function fUb(a){xSb.call(this,($Vb(),sVb),a)}function iWb(a){xSb.call(this,($Vb(),FVb),a)}function nWb(a){xSb.call(this,($Vb(),KVb),a)}function SWb(a){GC.call(this,"codePoint:"+a)}function ubc(a){rbc.call(this,a);this.a=null}function xbc(a){rbc.call(this,a);this.a=null}function Agc(a){return a.d.size()-a.e.size()}function kvc(a,b){return a.a.remove(b)!= +null}function gEb(a,b){return P0b(new _1b(b),a.t)}function o_b(a,b){a.e=true;return eZb(a.a,b)}function Nnc(a,b){var c;c=b;return!!a.Jj(c)}function Bnc(a,b){var c;c=a.e;a.e=b;return c}function Mvc(a,b){var c;c=a[GJc];c.call(a,b)}function Nvc(a,b){var c;c=a[GJc];c.call(a,b)}function kBc(b,c,d){try{b[c]=d}catch(a){}}function JAc(a,b){return OAc(new Array(b),a)}function $kc(a,b,c){return a.lastIndexOf(b,c)}function rzc(a,b){return a.a.remove(b)!=null}function Af(a,b){return a.Xd().containsKey(b)}function AX(a, +b){IX((o6b(),e5b),b);XX(a,b.b)}function n$b(a,b){if(!WZb(a))return;a.b.i=b}function $0(a){!a.L&&s1(a,new x3);return a.j}function gf(a){Zd(a);return new ef(new jf(a))}function Pc(a){Zd(a);return qE(a,375)?a:kW(a)}function Rc(a,b,c){Zd(c);return new Bd(c,a,b)}function uq(a,b,c){this.a=a;ih.call(this,b,c)}function Bd(a,b,c){this.b=a;this.a=b;this.c=c}function Qz(a,b,c){this.b=a;this.a=b;this.c=c}function ZB(a,b,c){this.j=a;this.b=b;this.a=c}function IW(a,b,c){qe.call(this,a,b);this.a=c}function xx(a, +b){si.call(this,a);this.a=Zd(b)}function zx(a,b){fm.call(this,a);this.a=Zd(b)}function IY(a,b,c){this.a=a;this.c=b;this.b=c}function k6(a,b,c){this.b=a;this.c=b;this.a=c}function Y9(a,b,c){this.a=a;this.b=b;this.c=c}function P9(a){this.i=a;O9(this);this.a=false}function Wmb(a){Tmb();this.a=a;this.b=new dvc}function sp(a){Po();this.d=(Uqc(),new Lsc(a))}function Sp(a){Cn();this.b=(Uqc(),new ctc(a))}function Cn(){Cn=gW;new On((Uqc(),Uqc(),Sqc))}function qBc(){qBc=gW;nBc=new ub;pBc=new ub}function qob(){qob= +gW;oob=new tob;pob=new uob}function Oob(){Oob=gW;Mob=new Rob;Nob=new Tob}function Xob(){Xob=gW;Vob=new $ob;Wob=new _ob}function ZBb(){ZBb=gW;YBb=new _Bb;XBb=new bCb}function hwc(a){qmc(a.c);a.b.b=a.b;a.b.a=a.b}function ek(a){a.b?ek(a.b):a.f.c.put(a.e,a.d)}function Opb(a){return UV(NV(Date.now()),a.a)}function RJb(a,b){return a.a.containsAll(b.a)}function TJb(a,b){return new YJb(ly(a.a,b.a))}function TXb(a,b){return XXb((o6b(),n3b),a,b)}function SXb(a,b){return XXb((o6b(),m3b),a,b)}function bYb(a, +b){return XXb((o6b(),X3b),a,b)}function fYb(a,b){return XXb((o6b(),n4b),a,b)}function qYb(a,b){return XXb((o6b(),O4b),a,b)}function sYb(a,b){return XXb((o6b(),a5b),a,b)}function BYb(a,b){return XXb((o6b(),w5b),a,b)}function HYb(a,b){return XXb((o6b(),O5b),a,b)}function IYb(a){return new $2b((o6b(),S5b),a)}function JYb(a){return new $2b((o6b(),T5b),a)}function LYb(a,b){return XXb((o6b(),V5b),a,b)}function j6(a,b){return qE(b,5)&&Tkc(b.b,a.b)}function sPb(a,b){return b>=0&&b0){wlc(a.i,10);++a.k;a.n=0}}function A1(a){a.P=0;H4(a.L);v1(a);B1(a);a.P=.15}function Rjc(a){return sE(a)?xE((cBc(a),a)):a.Cj()}function CD(a){return Array.isArray(a)&&a.Qj===lW}function pE(a){return!Array.isArray(a)&&a.Qj===lW}function j1b(a){return a.j==(o6b(),u5b)||a.j==r3b}function JZb(a){return(a.a&512)!=0||(a.a&IFc)!=0}function bx(a){return new xx(a.a.uf(),new Zw(a.b))}function Tec(){Tec=gW; +Sec=new bfc((Po(),Po(),Oo))}function eCb(){eCb=gW;dCb=new gCb((Po(),Po(),Oo))}function neb(){neb=gW;meb=new qeb(null,false,null)}function z0b(a){y0b.call(this,new w$b(a),a,false)}function Twc(a){ovc.call(this,new nwc);Sc(this,a)}function Duc(a){this.c=a;this.a=new _uc(this.c.a)}function ef(a){ff.call(this,a,false,(zc(),yc),ABc)}function Aeb(a){a.j==(o6b(),H3b)&&(a=a.b);return a}function w1b(a){var b;b=a.b;!!b&&u1b(a,b);return b}function AGb(a){var b;b=ZHb(a.i);a.n=null;return b}function tl(a,b){var c; +c=ow(a.a,b);return!c?0:c.a}function $$(a,b){var c;for(c=b;c;c=c.d)a.Bg(c,4)}function bqc(a,b,c){var d;for(d=0;d0?1:0}function q1b(a,b){return b!=null&&r1b(a,b,b.length)}function qyc(a){this.b=null;this.a=(Jtc(),!a?Gtc:a)}function wAc(a){this.c=a;this.e=true;this.a= +new spc}function Zk(a,b,c){this.a=a;ik.call(this,a,b,c,null)}function _r(a,b){Zn();$r.call(this,a,vo(new vqc(b)))}function dBc(a,b){if(a==null)throw HV(new Ckc(b));}function peb(a,b){return b==a.c?a:new qeb(a.a,b,a.b)}function yeb(a,b,c){return c?"{"+Beb(a,c.a)+"} "+b:b}function aib(a,b,c){Whb();return Aib(a,new Njb(b),c)}function Yib(a,b,c){Whb();return Aib(a,new Kjb(b),c)}function Mtb(a,b,c){Ktb.call(this,a,b,($tb(),Ztb),c)}function Dsb(a){wsb();ysb.call(this,AFc,null,a,null)}function upc(a){epc(this); +LAc(this.a,0,a.toArray())}function Rub(){kY.call(this);this.a=L6((F6(),false))}function Kqb(){m2.call(this,"convertEs7ToEs6",true)}function tyb(a){if((a&24)!=0)return a|8|16;return a}function O6b(a){if(qE(a,85))return a.o;return false}function bB(a){var b;b=(a&1)==1;a=a>>1;return b?-a:a}function oe(a){var b,c;b=a.Oj;c=b.f;return c==_S?b:c}function L6(a){var b;b=(xW(),new Efb);b.d=a;return b}function F$b(a,b){var c;c=(Rd(b>=0,gKc),1<1?a.G:null}function C8b(a){E6b();return!a?null:qE(a,47)?a:null}function b8b(a,b,c){E6b();c8b.call(this,a,b,c,false)}function dr(a,b,c){this.a=a;be(c,b);this.c=b;this.b=c}function Cq(a,b){this.a=a;this.b=b;this.c= +this.b.fe()}function Wac(a){this.b=new _1b((o6b(),y5b));this.a=a}function Ly(a,b){this.b=a;this.c=b;this.a=this.b.Qd()}function yA(a,b){qA.call(this,a,b);Qd(a.c.length==64)}function EB(a,b,c,d,e){zB.call(this,a,b,c,d);this.a=e}function Vkc(a,b,c,d,e){while(b0}function Xf(a){var b;b=a.c;return!b?a.c=new Yg(a):b}function Yf(a){var b;b=a.e;return!b?a.e=new lh(a):b}function my(a){if(qE(a,300))return a;return new Ny(a)}function mv(a,b){var c;c=a.a.size();be(b,c);return c-b}function nvc(a){this.a=new evc(a.a.size());Sc(this,a)}function mfb(a){this.b=new spc;this.c=new spc;this.a=a}function ylb(a){this.f=a;this.d=new spc;this.c=new lvc} +function Qcb(a,b){this.b=a;this.j=b;this.p=(Zcb(),Xcb)}function efb(a,b,c){bfb.call(this,a);this.b=b;this.a=c}function _2b(a,b,c,d){a2b.call(this,a,c,d);Z2b(this,b)}function Ktb(a,b,c,d){Ltb.call(this,null,a,b,c,d,null)}function v9b(a,b,c,d,e){E6b();w9b.call(this,a,b,c,d,e)}function ffc(a,b,c){B8b.call(this,a,c);dfc(this,Zd(b))}function Jc(){wc.call(this,"CharMatcher.whitespace()")}function Pr(){Qr.call(this,bx(Tw((Em(8,BCc),new Xw))))}function Zn(){Zn=gW;Cn();Yn=new Zx((Uqc(),Uqc(),Sqc))}function cy(){cy= +gW;Cn();by=new dy((Uqc(),Uqc(),Tqc))}function ot(){jt();return DD(yD(XG,1),_Bc,307,0,[it])}function oPb(a,b,c){return new $Kb(b,kMb(a.e.b,c,a.d))}function jmc(a,b){return vE(b)?kmc(a,b):Oi(Dvc(a.d,b))}function mlc(a,b){return vE(a)?a.charCodeAt(b):a.tj(b)}function wr(a,b){return Dn(Qo(a.a)).getAtIndex(b).ee()}function vlc(a,b){return a.a+=String.fromCharCode(b),a}function wlc(a,b){a.a+=String.fromCharCode(b);return a}function Aic(a,b){zic(a,b,b+1,String.fromCharCode(32))}function Qqc(a,b){var c;c= +b+1;c>a.length&&(a.length=c)}function v8b(a){var b;b=new szc;Uec(a.fj(),b);return b}function Coc(a){var b;b=a.a[a.b];aBc(b!=null);return b}function ul(a){var b;b=a.a.Yd().Qd();return new Cl(a,b)}function YW(a,b){var c;c=V0b(a);b!=c&&gY(kDc+b+lDc+c,a)}function Ld(a,b){return wE(a)===wE(b)||a!=null&&wb(a,b)}function $f(a,b){return a.b.containsKey(b)?_f(a,b):null}function X1(a,b){!a.L&&s1(a,new x3);return Y1(a,b,true)}function Beb(a,b){var c;c=new Hlc;web(a,c,b);return c.a}function cBc(a){if(a==null)throw HV(new Akc); +return a}function _wc(){this.a=new nxc;this.c=new nxc;$wc(this)}function Id(a){this.b=new Kd;this.c=this.b;this.a=Zd(a)}function Qt(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function js(a,b){is();sp.call(this,a);this.a=b;this.c=a}function aLb(a,b){$Kb.call(this,(pSb(),ZQb),a);this.a=b}function zSb(a,b){xSb.call(this,($Vb(),lUb),a);this.a=b}function ASb(a,b){xSb.call(this,($Vb(),mUb),a);this.a=b}function BSb(a,b){xSb.call(this,($Vb(),nUb),a);this.a=b}function CSb(a,b){xSb.call(this,($Vb(),oUb),a); +this.a=b}function DSb(a,b){xSb.call(this,($Vb(),pUb),a);this.a=b}function ESb(a,b){xSb.call(this,($Vb(),qUb),a);this.a=b}function FSb(a,b){xSb.call(this,($Vb(),rUb),a);this.a=b}function HSb(a,b){xSb.call(this,($Vb(),tUb),a);this.a=b}function ISb(a,b){xSb.call(this,($Vb(),uUb),a);this.a=b}function OSb(a,b){xSb.call(this,($Vb(),AUb),a);this.a=b}function fTb(a,b){xSb.call(this,($Vb(),KUb),a);this.a=b}function hTb(a,b){xSb.call(this,($Vb(),MUb),a);this.a=b}function oTb(a,b){xSb.call(this,($Vb(),TUb), +a);this.a=b}function pTb(a,b){xSb.call(this,($Vb(),UUb),a);this.a=b}function tTb(a,b){xSb.call(this,($Vb(),VUb),a);this.a=b}function PTb(a,b){xSb.call(this,($Vb(),_Ub),a);this.a=b}function RTb(a,b){xSb.call(this,($Vb(),bVb),a);this.a=b}function YTb(a,b){xSb.call(this,($Vb(),iVb),a);this.a=b}function cUb(a,b){xSb.call(this,($Vb(),pVb),a);this.a=b}function gUb(a,b){xSb.call(this,($Vb(),tVb),a);this.a=b}function hUb(a,b){xSb.call(this,($Vb(),uVb),a);this.a=b}function iUb(a,b){xSb.call(this,($Vb(),vVb), +a);this.a=b}function kUb(a,b){xSb.call(this,($Vb(),xVb),a);this.a=b}function dWb(a,b){xSb.call(this,($Vb(),AVb),a);this.a=b}function eWb(a,b){xSb.call(this,($Vb(),BVb),a);this.a=b}function fWb(a,b){xSb.call(this,($Vb(),CVb),a);this.a=b}function hWb(a,b){xSb.call(this,($Vb(),EVb),a);this.a=b}function lWb(a,b){xSb.call(this,($Vb(),IVb),a);this.a=b}function mWb(a,b){xSb.call(this,($Vb(),JVb),a);this.a=b}function oWb(a,b){xSb.call(this,($Vb(),LVb),a);this.a=b}function rWb(a,b){xSb.call(this,($Vb(),PVb), +a);this.a=b}function sWb(a,b){xSb.call(this,($Vb(),QVb),a);this.a=b}function vWb(a,b){xSb.call(this,($Vb(),SVb),a);this.a=b}function zWb(a,b){xSb.call(this,($Vb(),WVb),a);this.a=b}function Wqb(){Mkb.call(this,"Es6RewriteDestructuring")}function arb(){Mkb.call(this,"Es6RewriteArrowFunction")}function wA(){vA.call(this,new kA("base16()",ilc(PBc)))}function Nwc(a){this.c=a;this.b=a.a.b.a;Ytc(a.a.c,this)}function R6b(a,b){this.A=a;this.B=!b?_cc(a,null,null):b}function Tab(a,b,c){this.a=a;this.c=b;this.d= +c;de(true)}function ff(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function x5(a){u5();this.a=null;this.b=(Cn(),new Xy(a))}function Ks(a,b){this.a=a;this.b=b;this.c=(Db(),Db(),Cb)}function zt(a,b,c,d){Wq.call(this,a,b);this.d=c;this.a=d}function Ryc(a,b){return fyc(a.c,a.f,b,a.b,a.a,a.e,a.d)}function av(a,b){return qE(a,65)?new Ov(a,b):new cw(a,b)}function lv(a,b){var c;c=a.a.size();Yd(b,c);return c-1-b}function cjc(a){var b;b=a-10;return(b<0?48+a:97+b)&KBc}function bjb(a){Whb();return a.j!=(o6b(), +e5b)&&djb(a.e)}function Nib(a){Whb();return a.j==(o6b(),x4b)||a.j==w4b}function Pib(a){Whb();return a.j==(o6b(),E4b)||a.j==D4b}function Aw(){yw();return DD(yD(xH,1),_Bc,191,0,[ww,xw])}function x0(){v0();return DD(yD(OJ,1),_Bc,270,0,[t0,u0])}function L3(){J3();return DD(yD(bK,1),_Bc,259,0,[H3,I3])}function Po(){Po=gW;Oo=new ay(DD(yD(WU,1),vCc,48,0,[]))}function iuc(a){Uc(a.a);a.b=AD(nT,WBc,1,a.b.length,5,1)}function Kk(a){fk(a.d);if(a.d.d!=a.c)throw HV(new $tc);}function ey(a){Sp.call(this,a);this.a= +(Uqc(),new Dtc(a))}function U4(a){T4.call(this,(Zn(),Zd(a),go(new vqc(a))))}function Hkb(){m2.call(this,"garbageCollectChecks",true)}function Q_(a,b,c,d){I_.call(this,c,d);this.a=a;this.c=b}function w2(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function xC(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function kQb(a,b){this.c=a;this.a=b;this.b=new lMb(this)}function zDb(a,b,c,d){yDb.call(this,a,(EDb(),DDb),b,c,d)}function Onb(a,b,c,d,e){N1(a.a,Lnb(a,b,c,d,e,(tZ(),qZ)))}function Pnb(a,b,c,d,e){N1(a.a, +Lnb(a,b,c,d,e,(tZ(),sZ)))}function jEb(a,b,c,d,e){return P0b(new e2b(b,c,d,e),a.t)}function mEb(a,b){return P0b(new $2b((o6b(),S5b),b),a.t)}function FYb(a){de(tYb(a));return new b2b((o6b(),J5b),a)}function MYb(a){de(tYb(a));return new b2b((o6b(),a6b),a)}function QYb(a){de(tYb(a));return new b2b((o6b(),n6b),a)}function _tb(){$tb();return DD(yD(YN,1),_Bc,265,0,[Ztb])}function Z8b(a,b,c,d){return z7b(a,b,c,d)||a.d.Qi(b,c,d)}function mmc(a,b,c){return vE(b)?nmc(a,b,c):Evc(a.d,b,c)}function Scc(a,b,c){return Kac(Oac(Nac(new Rac(a), +c),b))}function _qc(a){Uqc();return!a?(Jtc(),Jtc(),Itc):a.Ue()}function Cib(a){Whb();Qd(a.j==(o6b(),c6b));return g1b(a)}function CGb(a,b){a.n=!a.n?YHb(a.i):uGb(a);return a.n==b}function Ycc(a,b){var c;c=new Wac(a);Sac(c,b);return c.b}function Gsc(a){!a.b&&(a.b=new itc(a.d.Yd()));return a.b}function al(a){var b;b=a.c;!b&&(a.c=b=new $l(a));return b}function bl(a){var b;b=a.d;!b&&(a.d=b=new cm(a));return b}function Uc(a){var b;for(b=a.Qd();b.Kd();){b.Ld();b.Md()}}function V2(a){if(!a.a||!a.a.Lg())return; +a.a.Lg().c=true}function qSb(a){return a.a==null?(_Lb(),rp(CLb,a)).b:a.a}function xxc(a,b){return wE(a)===wE(b)||a!=null&&wb(a,b)}function kuc(a,b){return Quc(a.a,b)?luc(a,b.f,null):null}function nlc(a){return String.fromCharCode.apply(null,a)}function apc(a){this.d=a;this.a=this.d.b;this.b=this.d.c}function F_(a){this.c=new x3;this.a=new G_(this);this.f=a}function WKb(a,b,c,d){qe.call(this,a,b);this.a=c;this.b=d}function aMb(a,b,c,d){qe.call(this,a,b);this.b=c;this.a=d}function IWb(a,b,c,d){this.d= +a;this.c=b;this.b=c;this.a=d}function pIb(a,b,c,d){var e;a.d=true;e=oXb(c,d);a.ki(b,e)}function zic(a,b,c,d){a.a=hlc(a.a,0,b)+(""+d)+glc(a.a,c)}function Pec(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function Kkc(a,b,c){this.a=ZCc;this.d=a;this.b=b;this.c=c}function hkc(a,b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function h6(a,b){var c;c=new y5(a,b);nmc(e6,a,c);return c}function i6(a,b){var c;c=new z5(a,b);nmc(e6,a,c);return c}function oXb(a,b){var c;c=new nXb;$Wb(c,a,b);return c.c.a}function B0b(a){if(!a)return new z0b(true); +return A0b(a)}function qlc(a,b,c){return vE(a)?a.substr(b,c-b):a.vj(b,c)}function pmc(a,b){return b==null?Fvc(a.d,null):Xvc(a.e,b)}function qPb(a){return rPb(a,a.b.b==0?a.d:yPb(a,0).b.b.c)}function rt(a){var b;return b=a.g,!b?a.g=new Vj(a,a.c):b}function s6(){s6=gW;r6=new k6(pFc,(tZ(),sZ),new emc(qFc))}function J3(){J3=gW;H3=new K3(TEc,0);I3=new K3("CUSTOM",1)}function Jtc(){Jtc=gW;Gtc=new Ltc;Htc=new Ltc;Itc=new Ptc}function ahc(){ahc=gW;Zgc=new dhc;$gc=new hhc;_gc=new lhc}function jD(){jD=gW;var a, +b;b=!oD();a=new wD;iD=b?new pD:a}function hlb(a){var b;b=new flb;Y$(new q_(b),a,4);return b}function g9(a,b){var c;c=new P9(a);Jhb(a.c,b,c);return c.d}function W_(a,b){if(b||r3(a)==(h4(),b4))return 1;return 0}function r3(a){if(a.Ub==(h4(),g4))return a.Tb;return a.Ub}function Wwb(a,b){Zd(b);de(a.n.a.isEmpty());a.n=b;return a}function Gfb(a,b){BW.call(this,a);Cfb(this);Zd(a);this.a=b}function Hqb(){m2.call(this,"rewriteAsyncFunctions",true)}function $C(a){UC();$wnd.setTimeout(function(){throw a;},0)} +function gYb(a){ee(tYb(a),a);return new b2b((o6b(),t4b),a)}function Jeb(a,b,c,d,e,f){return new Eeb(a,null,b,c,e,d,f)}function XJb(a,b){return new YJb(gy(a.a,(Cn(),new Xy(b))))}function s3(a,b){return RJb(j4(a.Tb),b)&&!RJb(j4(r3(a)),b)}function O0b(a){return!a.b?(Uqc(),Uqc(),Tqc):new S2b(a.b)}function gk(a){a.b?gk(a.b):a.d.isEmpty()&&a.f.c.remove(a.e)}function $wc(a){a.a.a=a.c;a.c.b=a.a;a.a.b=a.c.a=null;a.b=0}function nuc(a){this.a=Nuc(a.a);this.b=HAc(a.b,a.b.length)}function Gu(a){this.b=a;this.c= +a;a.e=null;a.c=null;this.a=1}function qr(a){this.b=(Em(a,"initialArraySize"),new tpc(a))}function vy(a){return Kp(new Ppc(Ur(Ur(new Vr,a.a),a.b).a))}function ZV(a,b){return KV(eE(OV(a)?VV(a):a,OV(b)?VV(b):b))}function qmb(a,b,c){var d;umb.call(this,a,b,(d=c,o6b(),d))}function rmb(a,b,c){var d;umb.call(this,a,b,(d=c,o6b(),d))}function smb(a,b,c){var d;umb.call(this,a,b,(d=c,o6b(),d))}function QWb(a,b){NWb();var c;c=PWb(a);++c.a;c.b=IV(c.b,b)}function EA(a,b){var c;c=qjc(a.Oj);return b==null?c:c+PCc+ +b}function CA(a,b){a.backingJsObject=b;b!=null&&kBc(b,OCc,a)}function tBc(){if(oBc==256){nBc=pBc;pBc=new ub;oBc=0}++oBc}function Ee(){Ee=gW;Be=new He;Ae=new Ke;Ce=new Ne;De=new Qe}function F6(){F6=gW;B6=new I6;D6=new J6;C6=new K6;E6=new M6}function wW(){uW();return DD(yD(rJ,1),_Bc,211,0,[rW,tW,sW])}function PW(){NW();return DD(yD(vJ,1),_Bc,222,0,[LW,MW,KW])}function vZ(){tZ();return DD(yD(DJ,1),_Bc,218,0,[qZ,sZ,rZ])}function R3(){P3();return DD(yD(cK,1),_Bc,215,0,[M3,N3,O3])}function s4(){q4();return DD(yD(gK, +1),_Bc,216,0,[n4,p4,o4])}function G4(){E4();return DD(yD(iK,1),_Bc,217,0,[C4,B4,D4])}function Hs(a){if(a)return a.isEmpty();return!a.Qd().Kd()}function ebb(a,b,c){abb();if(!a)return null;return b.ih(c)}function U0b(a,b){var c;c=a.b;while(b>0){c=c.d;--b}return c}function V0b(a){var b,c;b=0;for(c=a.b;c;c=c.d)++b;return b}function Ztc(a){var b,c;c=a;b=c.$modCount|0;c.$modCount=b+1}function Wmc(a){aBc(a.b>0);return a.a.getAtIndex(a.c=--a.b)}function crc(a){Uqc();return qE(a,65)?new ztc(a):new lsc(a)} +function H6b(a,b){return qE(b,23)&&G6b(a,b,0,new ubc(true))}function lmc(a,b){return b==null?!!Dvc(a.d,null):Uvc(a.e,b)}function Hi(a,b){return b===a?"(this Map)":b==null?CBc:kW(b)}function EGb(a,b){return P0b(new a2b(b,a.i.g,XHb(a.i)),a.k)}function dx(a){return new zx(new evc(jw(a.a.a)),new _w(a.b))}function v3(a){return Sic(Eb((Ric(),i4(r3(a))?true:false)))}function P0(a){var b;if(a.L.xc){b=Y0(a);Tkc(b,a.F)||(a.F=b)}}function DX(a,b,c){var d;zX(c);for(d=c.b;d;d=d.d)CX(a,b,d)}function Jhb(a,b,c){var d; +d=new Ihb(a,c,new Lab(a));Chb(d,b)}function aC(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function hwb(a){de(!(a==a.a.v||a==a.a.g));return a.i.size()}function Yec(a){if(!a.a)return Zn(),Zn(),Yn;return a.a.bj()}function Cmc(a,b){if(qE(b,48))return Ci(a.a,b);return false}function Flc(a,b){a.a=hlc(a.a,0,b)+""+glc(a.a,b+1);return a}function Ksc(a){!a.e&&(a.e=new Trc(a.d.values()));return a.e}function Isc(a){!a.c&&(a.c=new ctc(a.d.keySet()));return a.c}function nhb(a){while(!!a&&a.j!=(o6b(),M5b))a= +a.e;return a}function wuc(a,b){if(qE(b,48))return Ci(a.a,b);return false}function Cwc(a,b){if(qE(b,48))return Ci(a.a,b);return false}function iW(a){function b(){}b.prototype=a||{};return new b}function ws(){ws=gW;Cn();vs=(Mx(),Lx);us=new ey(new uzc(vs))}function htc(a,b){var c;for(c=0;c=0,gKc),1<= +a.c)throw HV(new wxc);return cr(a,a.b++)}function Mqc(a){if(a<0)throw HV(new Jic("bitIndex < 0: "+a));}function ns(a){is();return new qyc((qE(a,226)?a:new Sm(a)).Te())}function zs(a,b){ws();Zd(a);return Zd(a),As(a,new hsc(b.b.Qd()))}function Nc(a,b,c,d){return Oc(a,(Zd(d),new Smc(new Bd(d,b,c))))}function nmc(a,b,c){return b==null?Evc(a.d,null,c):Wvc(a.e,b,c)}function _2(a,b){return Kp(new Ppc(Ur(Ur((Cn(),new Vr),a),b).a))}function GAc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function MPb(a){while(aQb(sPb(a, +a.d)?Okc(a.e.a,a.d):0))tPb(a)}function jX(a){var b;IX((o6b(),s4b),a);for(b=a.b;b;b=b.d)iX(b)}function rX(a){var b;IX((o6b(),M4b),a);for(b=a.b;b;b=b.d)qX(b)}function Ts(a){var b;while(true){b=a.Ld();if(!a.Kd())return b}}function phb(a){var b;b=Noc(a.n)+a.k.a.length;de(b>0);return b-1}function Flb(a){var b;b=a.b.e>a.a;a.a=a.b.b.a;++a.b.b.a;return b}function rnb(a){feb();this.b=a;ieb.call(this,a.a);this.a=new Rwc}function ysb(a,b,c,d){wsb();this.b=a;this.c=b;this.d=c;this.a=d}function NC(a){LC();JC.call(this, +a);this.a="";this.b=a;this.a=""}function Bqb(){Mkb.call(this,"Es6RewriteBlockScopedDeclaration")}function mwb(a){if(a.n.a.isEmpty())return a;return kwb(a,a.a.i)}function job(a,b){de(b.d==a);de(jwc(a.e,b.b).Dd(b));mwc(a.e,b.b)}function s0(a,b){Vd(l1b(a),sEc,a);Vd(l1b(b),sEc,b);_0b(a);_0b(b)}function O4(a,b){var c,d;for(d=b.Qd();d.Kd();){c=d.Ld();N4(a,c)}}function Khb(a,b,c,d){var e;e=new Ihb(a,b,new Lab(a));Hhb(e,c,d)}function Y0b(a,b){var c;c=o1b(a,b);if(!c)return 0;return c.vi()}function tPb(a){if(!sPb(a, +a.d))return 0;return Okc(a.e.a,a.d++)}function Oib(a){Whb();return a.j==(o6b(),M3b)&&!!a.e&&a.e.j==y4b}function ktb(){itb();return DD(yD(PN,1),_Bc,221,0,[htb,gtb,ftb])}function GDb(){EDb();return DD(yD(KO,1),_Bc,224,0,[DDb,BDb,CDb])}function vHb(){tHb();return DD(yD(RO,1),_Bc,244,0,[rHb,sHb,qHb])}function SBb(){QBb();return DD(yD(CO,1),_Bc,247,0,[NBb,OBb,PBb])}function awb(){$vb();return DD(yD(iO,1),_Bc,250,0,[Yvb,Xvb,Zvb])}function mPb(){kPb();return DD(yD(hP,1),_Bc,234,0,[jPb,iPb,hPb])}function abc(){$ac(); +return DD(yD(eS,1),_Bc,233,0,[Zac,Xac,Yac])}function Dbc(){Bbc();return DD(yD(lS,1),_Bc,229,0,[ybc,zbc,Abc])}function chc(){ahc();return DD(yD(MS,1),_Bc,155,0,[Zgc,$gc,_gc])}function JW(){HW();return DD(yD(tJ,1),_Bc,168,0,[DW,GW,EW,CW,FW])}function AW(a,b){if(!a.d)return b;return(HW(),CW).a+(""+b)+FW.a}function fj(a,b){var c;c=b.ee();return new Wq(c,di(a.b,c,b.fe()))}function WV(a){var b;if(OV(a)){b=a;return b==-0?0:b}return bE(a)}function T2(a){var b;if(!a.i){b=a.b.H;a.i=Jtb(b,a.f.a)}return a.i} +function U2(a){if(!a.a||!a.a.Lg())return false;return a.a.Lg().c}function C$(a){if(a.r){a.hg(";");a.xg();a.qg();a.r=false}a.s=true}function a_(a,b){de(b.j==(o6b(),M3b));a.c.lg();$$(a,b.b);a.c.ng()}function obb(a,b){var c;c=Abb(b);if(c)return ybb(a,c,b);return 0}function _fc(a,b,c,d){a.b=false;nmc(a.c,b,new cgc(c,d));return a}function FBb(a,b,c,d){Qd(!!b);this.c=a;this.d=b;this.b=c;this.a=d}function Oy(a,b){Pq.call(this,brc(Zd(a),Zd(b)));this.b=a;this.c=b}function Poc(a){voc(this);NAc(this.a,ckc($wnd.Math.max(8, +a))<<1)}function Jmb(a){Zd(a);this.a=a;this.b=new Ooc;woc(this.b,new Qmb)}function Zx(a){Zn();this.a=(Uqc(),qE(a,65)?new ztc(a):new lsc(a))}function Hxb(a){bxb();return oyb(a.a,2,(Cn(),new Xy(a)),null,$wb)}function Z3(){X3();return DD(yD(dK,1),_Bc,163,0,[T3,W3,U3,V3,S3])}function A4(){y4();return DD(yD(hK,1),_Bc,162,0,[t4,w4,u4,x4,v4])}function v0(){v0=gW;t0=new w0("INHERITS",0);u0=new w0("MIXIN",1)}function kIb(a,b,c){var d;mIb();d=iIb;return new yDb(d,b,jIb,a,c)}function ZOb(a,b,c,d){!b?pIb(a.c, +qPb(a.g),c,d):pIb(a.c,b.b.b,c,d)}function APb(a,b,c){zPb(a,rPb(a,a.b.b==0?a.d:yPb(a,0).b.b.c),b,c)}function isb(a,b,c){Dlc(Dlc(Dlc(Dlc((a.a+="@",a),b)," {"),c),"}")}function sdc(a,b,c){E6b();gac.call(this,a,TFc,b,c,null,true,true)}function Blc(a,b,c,d){a.a+=""+hlc(b==null?CBc:kW(b),c,d);return a}function Yd(a,b){if(a<0||a>=b)throw HV(new Jic(Nd(a,b)));return a}function ce(a,b,c){if(a<0||bc)throw HV(new Jic(Pd(a,b,c)));}function Czc(a,b){if(b==null)throw HV(new Akc);return gmc(a.a,b)}function Dzc(a, +b){if(b==null)throw HV(new Akc);return jmc(a.a,b)}function yMb(a,b){if(yPb(a.g,0).c==b)return uMb(a,b);return null}function lib(a){Whb();Rd(a.j==(o6b(),y4b),a);return a.b?a.b.f:null}function mob(a){Rd(a.j==(o6b(),K5b)||a.j==M5b,a);return new lob(a)}function Npc(a){aBc(a.a=0)return c;return-c-2}function YXb(a){var b;de(uYb(a));b=new b2b((o6b(),M3b),a);return b}function $ec(a,b,c){var d;d=a.b.Zd(b);!!d&&Oec(c,d.a);a.b.put(b,c)}function YC(a,b,c){var d;d=WC();try{return VC(a,b,c)}finally{ZC(d)}}function cbb(a,b,c){abb();N1(a,Ieb(b,$ab,DD(yD(sT,1),FBc,2,6,[c])))}function Byc(a){Cyc.call(this, +a,(ezc(),azc),null,false,null,false)}function Gyc(a){Hyc.call(this,a,(ezc(),azc),null,false,null,false)}function Efb(){xW();BW.call(this,null);Cfb(this);this.a=(qob(),oob)}function enb(a){_mb();fnb.call(this,a,mnb(QXb("js/polyfills.txt")))}function B5(a){u5();gmc(t5,a)||mmc(t5,a,new x5(a));return jmc(t5,a)}function lX(a,b,c){SJb(a.a.r,b)||gY("AST should not contain "+b,c)}function Dkb(a,b,c){var d;d=c.e;de(!!d);de(d1b(d,b));Khb(a.b,a,b,c)}function jMb(a,b){var c;c=iMb(a,b);return new IWb(a.b,b,c, +b-a.a[c])}function $Ob(a,b,c){!b?pIb(a.c,qPb(a.g),WJc,c):pIb(a.c,b.o.b,WJc,c)}function BPb(a,b,c){qIb(a.c,rPb(a,a.b.b==0?a.d:yPb(a,0).b.b.c),b,c)}function Zkb(a,b,c){woc(a.f,new elb(b,c));Tkc(b,EEc)||(a.d.a=false)}function bGb(a,b){return!b?lEb(a.a,(o6b(),g5b),RIc):EFb(a,b,false)}function LGb(a,b){return b==(RHb(),KHb)?EGb(a,(o6b(),E5b)):KGb(a,b)}function JPb(a){while(iQb(sPb(a,a.d)?Okc(a.e.a,a.d):0)>=0)tPb(a)}function QPb(a){while(jQb(sPb(a,a.d)?Okc(a.e.a,a.d):0)>=0)tPb(a)}function Rmc(a){gBc(a.c!= +-1);a.d.removeAtIndex(a.c);a.b=a.c;a.c=-1}function bnc(a,b,c){fBc(b,c,a.size());this.c=a;this.a=b;this.b=c-b}function bbc(a,b,c){v9b.call(this,a,null,null,c,b.B);Zd(b);this.a=b}function Ivc(a){this.e=a;this.b=this.e.a.entries();this.a=new Array}function Xtc(a,b){if(b.$modCount!=a.$modCount)throw HV(new $tc);}function GZb(a,b){if(!a.d||!a.d.n)return false;return iwc(a.d.n,b)}function TZb(a,b){if(!a.d.q)return false;return kpc(a.d.q,b,0)!=-1}function qXb(a){if(a.b>=a.c)throw HV(xXb(a));return Okc(a.a, +a.b++)}function XXb(a,b,c){ee(tYb(b),b);ee(tYb(c),c);return new d2b(a,b,c)}function ei(a,b,c,d){return qE(c,65)?new Hk(a,b,c,d):new wk(a,b,c,d)}function g7b(a,b){E6b();return!a||!b?a==b:G6b(a,b,0,new ubc(true))}function cl(a,b){var c;return c=qE(b,203)?al(b):b,al(a).removeAll(c)}function bX(a,b){var c;IX((o6b(),K5b),b);for(c=b.b;c;c=c.d)UX(a,c)}function KX(a,b){var c;IX((o6b(),t5b),b);for(c=b.b;c;c=c.d)LX(a,c)}function gX(a,b){var c;IX((o6b(),l4b),b);for(c=b.b;c;c=c.d)MX(a,c)}function vX(a,b){var c; +IX((o6b(),U4b),b);for(c=b.b;c;c=c.d)uX(a,c)}function GX(a,b){switch(b.j.f){case 29:BX(b);break;case 26:nX(a,b)}}function hkb(a,b){if(!!b.b&&!b.b.d){J0b(b,Q0b(b.b,false));P1(a.b,b)}}function ikb(a,b){if(!!b.b&&!b.b.d){J0b(b,Q0b(b.b,false));P1(a.b,b)}}function L1(a,b){if(Y0b(b,94)!=0)return;A1b(b,a.a);++a.a;Fpb(a.b,b)}function XB(a){vlc(a.b,34);eC(new gC(a.j),a);vlc(a.b,59);vlc(a.b,34)}function CYb(a){de(a.j==(o6b(),g5b)||a.j==H5b);return new b2b(y5b,a)}function $0b(a,b){var c;c=o1b(a,b);if(!c)return null; +return c.wi()}function xdc(a,b){var c,d;c=b.d;d=c.Zi(a);if(d!=c)return d;return b}function rXb(a){while(zXb(a.bb)throw HV(new Jic(Od(a,b,ZBc)));return a}function _Ac(a){if(a<0)throw HV(new zkc("Negative array size: "+a));}function F1(a){if(a.L.dd){$1(a);s3(a.L,(QJb(),IJb))&&Z1(a)}else Q0(a)}function OPb(a){while(ajc(sPb(a,a.d)? +Okc(a.e.a,a.d):0,16)>=0)tPb(a)}function ZC(a){a&&eD((cD(),bD));--RC;if(a)if(TC!=-1){_C(TC);TC=-1}}function l_(a,b){if($0b(b,78)){w$(a.c,":");a.c.wg();a.Bg($0b(b,78),4)}}function m_(a,b){if(b.j==(o6b(),S3b))return m_(a,b.b);return ujb(b.j)}function WMb(a){if(HOb(a,0,(pSb(),RRb)))return rOb(a);return VMb(a,1)}function oZb(a){if(!a.d||!a.d.e)return Zn(),Zn(),Yn;return crc(a.d.e)}function qZb(a){if(!a.d||!a.d.f)return Zn(),Zn(),Yn;return crc(a.d.f)}function AZb(a){if(!a.d||!a.d.r)return Zn(),Zn(),Yn; +return crc(a.d.r)}function HWb(a){if(!a.d)return"";return Gs(af(gf(new ic(47)),a.d.c))}function Yxb(a,b){bxb();return 0==a.Fh()||0==b.Fh()||0!=pyb(a,b).Fh()}function bdc(a,b){return iwc(a.c,b)?jwc(a.c,b).values():(Zn(),Zn(),Yn)}function M6b(a){return a.Ki()||a.Ii()||a.Ji()||edc(a.A,(Occ(),acc))==a}function $uc(a){aBc(a.a=0&&(a[b]|0)==0;--b);return b}function arc(a){Uqc();var b;b=new mvc(1);b.a.put(a,b);return new ctc(b)}function tZ(){tZ=gW;qZ=new uZ(gDc,0);sZ=new uZ(hDc,1);rZ=new uZ(iDc,2)}function ymb(){ymb= +gW;xmb=new zmb(iDc,0);wmb=new zmb("ALL_UNQUOTED",1)}function bxb(){bxb=gW;_wb=(Cn(),cy(),by);$wb=(null,by);axb=new Qc("|")}function Tzc(){Tzc=gW;Pzc=new Xzc;Qzc=new $zc;Rzc=new bAc;Szc=new eAc}function Wwc(a,b,c,d){var e;e=new nxc;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.b}function dlc(a,b,c){var d;c=rlc(c);d=new RegExp(b);return a.replace(d,c)}function kYb(a,b){de(tYb(a));de(tYb(b));return new d2b((o6b(),D4b),a,b)}function hbb(a){this.c=rf(new mbb(this));this.b=a;this.a=(uW(),sW)==a.J}function Dy(a,b){this.c= +a;this.d=b;this.a=this.c.Qd();this.b=this.d.Qd()}function $vc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function nwc(){dvc.call(this);gwc(this);this.b.b=this.b;this.b.a=this.b}function Nu(a,b){var c;this.f=a;this.b=b;c=jmc(a.b,b);this.c=!c?null:c.b}function or(a,b){var c,d;for(d=b.Qd();d.Kd();){c=d.Ld();nr(a,c)}return a}function aX(a,b,c){var d;IX((o6b(),V3b),b);for(d=b.b;d;d=d.d)_W(a,d,c)}function vbb(a,b,c){return b.j==(o6b(),g5b)&&(Iib(b,a.d)||jvc(c,b.oi()))}function Xib(a){Whb(); +return!!a&&(a.j==(o6b(),i6b)||a.j==$4b||a.j==Z3b)}function jjb(a){Whb();return a.j==(o6b(),y4b)&&!(a.j==y4b&&Y0b(a,60)!=0)}function Nnb(a){a=GAc(a);return FAc(clc(a,"\\{\\d+\\}","\\\\E.*\\\\Q"))}function XSb(){VSb();return DD(yD(EP,1),_Bc,175,0,[QSb,TSb,SSb,USb,RSb])}function b_b(){_$b();return DD(yD(HR,1),_Bc,171,0,[Y$b,X$b,Z$b,$$b,W$b])}function XC(b){UC();return function(){return YC(b,this,arguments);var a}}function QC(){if(Date.now)return Date.now();return(new Date).getTime()}function Qxc(a){aBc(a.a< +a.c.b.a.length);a.b=a.a++;return jpc(a.c.b,a.b)}function Ob(a){a.i=3;a.g=kf(a);if(a.i!=2){a.i=0;return true}return false}function M_b(a){if(!KZb(a.a)){b$b(a.a);a.e=true;return true}return false}function N_b(a){if(!LZb(a.a)){c$b(a.a);a.e=true;return true}return false}function O_b(a){if(!MZb(a.a)){d$b(a.a);a.e=true;return true}return false}function P_b(a){if(!NZb(a.a)){e$b(a.a);a.e=true;return true}return false}function c_b(a,b){if(dZb(a.a,b)){a.e=true;return true}else return false}function e_b(a,b){if(hZb(a.a, +b)){a.e=true;return true}else return false}function v_b(a,b){if($Zb(a.a,b)){a.e=true;return true}else return false}function E_b(a,b){if(fZb(a.a,b)){a.e=true;return true}else return false}function h0b(a,b){if(iZb(a.a,b)){a.e=true;return true}else return false}function u0b(a,b){if(kZb(a.a,b)){a.e=true;return true}else return false}function l0b(a,b){if(q$b(a.a,b)){a.e=true;return true}else return false}function m0b(a,b){if(_Yb(a.a,b)){a.e=true;return true}else return false}function mwc(a,b){var c;c= +omc(a.c,b);if(c){zwc(c);return c.e}return null}function lpc(a,b,c){for(;c>=0;--c)if(xxc(b,a.a[c]))return c;return-1}function opc(a,b,c){var d;d=(bBc(b,a.a.length),a.a[b]);a.a[b]=c;return d}function Xpc(a,b){var c,d;c=(d=a.slice(0,b),ED(d,a));c.length=b;return c}function Jlb(a,b){var c;Ilb(a,b);for(c=b.b;c;c=c.d){de(c.e==b);Jlb(a,c)}}function hA(a,b){var c;if(qE(b,235)){c=b;return Zpc(a.c,c.c)}return false}function rB(a,b){if(GB(a.a)&&IB(a.a)==b){HB(a.a);return true}return false}function Kh(a){a.f= +3;a.e=a.oe();if(a.f!=2){a.f=0;return true}return false}function BA(a){if(a.g){a.backingJsObject!==NCc&&a.zf();a.f=null}return a}function Os(a){if(a<0)throw HV(new Jic(CCc+a+") must not be negative"));}function Q1(a,b){$d(b,"the error manager cannot be null");a.j=new Dpb(b)}function CAc(a,b){this.b=a;this.c=new $wnd.RegExp(a.source,"g");this.a=b}function _xc(a,b){this.b=TBc;this.d=a;this.e=b;this.c=this.d+(""+this.e)}function lYb(a,b){de(tYb(a));de(b.j==(o6b(),S5b));return new d2b(E4b,a,b)}function oYb(a, +b){de(tYb(a));de(b.j==(o6b(),M3b));return new d2b(I4b,a,b)}function PYb(a,b){de(b.j==(o6b(),M3b));de(tYb(a));return new d2b(l6b,a,b)}function njb(a){Whb();return V1b((ee(tYb(a),a),new b2b((o6b(),t4b),a)),a)}function hxb(a){return a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()):null}function gxb(a){return a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()).d:null}function n2b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|dDc:a<<12|b&dDc}function Mjc(a){return Tkc(xBc,typeof a)||uE(a,$wnd.java.lang.Number$impl)}function U2b(a){var b; +if(!a.a)throw HV(new wxc);b=a.a;a.a=a.a.d;return b}function wjc(a,b,c){var d;d=ujc(a);Ijc(a,d);d.i=c?8:0;d.f=b;d.e=c;return d}function ky(a,b){var c;c=false;while(b.Kd())c=c|a.remove(b.Ld());return c}function Pkc(a,b){var c,d;c=(cBc(a),a);d=(cBc(b),b);return c==d?0:c>22&$Cc;d=a<0?_Cc:0;return ID(b,c,d)}function xY(a,b){var c;Vf(a.a);a.c=a.b.a;c=Q0b(b,false);vY(a,b,c);return a}function VW(a,b){var c;IX((o6b(),M3b),b);for(c=b.b;c;c=c.d)WX(a,c,false)}function WW(a, +b){var c;IX((o6b(),P3b),b);zX(b);for(c=b.b;c;c=c.d)kX(a,c)}function HX(a,b){var c;IX((o6b(),m5b),b);zX(b);for(c=b.b;c;c=c.d)kX(a,c)}function rAc(a,b,c){var d;b.Cj()>=(qAc(a),800)&&(d=new mAc(b,c),nAc(a,d))}function Ph(a,b,c){var d;Zd(c);d=c;return!d.isEmpty()&&_h(a,b).addAll(d)}function eGb(a,b,c){return!c||c.isEmpty()?gEb(a.a,(o6b(),j4b)):dGb(a,b,c)}function kHb(a,b,c){return!c?null:P0b(new c2b(b,c,i2b(c.i),h2b(c.i)),a.k)}function y$b(a,b){if(a)return b?new D0b(Q0b(a.a,false),a.b):a;return null} +function jwc(a,b){var c;c=jmc(a.c,b);if(c){lwc(a,c);return c.e}return null}function mpc(a,b){var c;c=(bBc(b,a.a.length),a.a[b]);MAc(a.a,b,1);return c}function $xc(a,b){!a.a?a.a=new Klc(a.d):Dlc(a.a,a.b);Alc(a.a,b);return a}function UB(a,b,c){c||(a.a+=",\n",a);a.a+='"';a.a+=""+b;a.a+='"';a.a+=":"}function gsb(a,b,c){r_.call(this,a,b);Zd(c);this.b=c;this.a=new Ceb(false)}function ik(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function bz(a){this.d=a;this.c=new Nwc(new Ewc(this.d.a)); +this.a=(jt(),it)}function Wfb(){Vfb(this);this.i=null;this.e=true;this.g=new Jq;this.f=this}function xYb(a){ie(Wkc(a,olc(46))==-1,GDc,a);return new $2b((o6b(),g5b),a)}function _9b(a,b){if(Tkc(IDc,b)){$9b(a);return a.i}else return Zec(a.u,b)}function i4(a){switch(a.f){case 0:case 1:return false;default:return true}}function xsb(a){if(!a.c)return false;return Y0b(a.c,65)!=0||Y0b(a.c,43)!=0}function qB(a){var b;if(!GB(a.a))return true;b=IB(a.a);return b==59||b==44}function uFb(a,b){var c;c=gEb(a.a,(o6b(), +t4b));J0b(c,yEb(a.a,b.a));return c}function qs(a,b){var c,d;for(d=new Lmc(b.a);d.b;){c=Kmc(d);nr(a,c)}return a}function SA(a){if(a<=0)throw HV(new bfb("x ("+a+") must be > 0"));return a}function P0b(a,b){ee(!a.g,"Node has existing properties.");a.g=b.g;return a}function v1b(a){var b,c;c=a.b;for(b=a.b;b;b=b.d)b.e=null;a.b=null;return c}function D1b(a){var b;b=x1b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new D2b(67,1,a.g)}function I1b(a){var b;b=x1b(a,a.g,37);b!=a.g&&(a.g=b);a.g=new D2b(37,1,a.g)}function Q1b(a){var b; +b=x1b(a,a.g,30);b!=a.g&&(a.g=b);a.g=new D2b(30,1,a.g)}function uwb(a,b){return new vwb(a.a,a.i,a.e,a.j,b,a.d,a.g,a.f,a.n,a.c,a.b)}function cjb(a){Whb();return a.j==(o6b(),K5b)||a.j==M5b||a.j==M3b||a.j==e5b}function Vac(a,b){var c;c=new $2b((o6b(),g5b),"");c.k=b;J0b(a.b,c);return c}function tgc(a,b){var c;c=ugc(a,b);return c==-1?edc(a.b,(Occ(),Kcc)):a.c[c]}function Mnc(a,b){var c,d;c=b.ee();d=a.Jj(c);return!!d&&xxc(d.fe(),b.fe())}function WXb(a,b){ee(n1b(a),a);ee(tYb(b),b);return new d2b((o6b(),t3b), +a,b)}function cYb(a,b){ee(tYb(a),a);ee(tYb(b),b);return new d2b((o6b(),Y3b),a,b)}function Xxc(a,b){var c;c=IXb(a.a,b);if(c==null)throw HV(new vxc);return c}function Xec(a){var b;if(!a.a)return null;b=a.a.cj();return!b?null:b.fj()}function x1(a){a.L.sd!=(y4(),v4)&&!!a.W&&Zkb(a.W,EEc,true);return new Qpb}function hBc(a){if(!a)throw HV(new Wjc("Unable to add element to queue"));}function eBc(a,b){if(a<0||a>b)throw HV(new Jic("Index: "+a+", Size: "+b));}function iBc(a,b,c){if(a<0||b>c||b=0,"Initial capacity must not be negative")}function RAc(){RAc=gW;new VAc;new TAc("ISO-LATIN-1");new TAc("ISO-8859-1")}function uW(){uW=gW;rW=new vW("NONE",0);tW=new vW("OTI",1);sW=new vW("NTI",2)}function _cb(){Zcb();return DD(yD(xL,1),_Bc,156,0,[Tcb,Wcb,Ucb,Vcb,Ycb,Xcb])}function QDb(){NDb();return DD(yD(LO,1),_Bc,146,0,[HDb,IDb,JDb,KDb,LDb,MDb])}function l4(){h4(); +return DD(yD(eK,1),_Bc,124,0,[$3,_3,a4,c4,b4,d4,e4,f4,g4])}function Wcc(a,b){return adc(a,DD(yD(pS,1),tKc,23,0,[b,edc(a,(Occ(),ecc))]))}function tE(a){return a!=null&&(typeof a===vBc||typeof a===yBc)&&!(a.Qj===lW)}function v1(a){if(a.L.sd!=(y4(),v4)){a.W=new _kb(a.q,a.C,a.L.sd);N0(a,a.W.d)}}function bBc(a,b){if(a<0||a>=b)throw HV(new Jic("Index: "+a+", Size: "+b));}function wGb(a,b){if(b==(RHb(),wHb)){a.g=(tHb(),rHb);return b}return vGb(a,b)}function aTb(a,b,c,d){xSb.call(this,($Vb(),FUb),a);this.c= +b;this.b=c;this.a=d}function qTb(a,b,c,d){xSb.call(this,($Vb(),WUb),a);this.c=b;this.b=c;this.a=d}function rTb(a,b,c,d){xSb.call(this,($Vb(),XUb),a);this.c=b;this.b=c;this.a=d}function eTb(a,b,c,d){xSb.call(this,($Vb(),JUb),a);this.a=b;this.b=c;this.c=d}function GSb(a,b,c,d){xSb.call(this,($Vb(),sUb),a);this.a=b;this.b=c;this.c=d}function pWb(a,b,c,d){xSb.call(this,($Vb(),MVb),a);this.a=b;this.b=c;this.c=d}function STb(a,b,c,d){xSb.call(this,($Vb(),cVb),a);this.a=b;this.c=c;this.b=d}function cTb(a, +b,c,d){xSb.call(this,($Vb(),HUb),a);this.a=b;this.c=c;this.b=d}function wWb(a,b,c,d){xSb.call(this,($Vb(),TVb),a);this.b=b;this.c=c;this.a=d}function yWb(a,b,c,d){xSb.call(this,($Vb(),UVb),a);this.c=b;this.a=c;this.b=d}function Feb(a,b,c,d){Eeb.call(this,a,b,b?i2b(b.i):-1,b?h2b(b.i):-1,c,null,d)}function KYb(a,b){var c;de(tYb(b));c=new $2b((o6b(),T5b),a);K0b(c,b);return c}function s_b(a){if(IZb(a.a))return false;else{ZZb(a.a);a.e=true;return true}}function U_b(a){if(OZb(a.a))return false;else{i$b(a.a); +a.e=true;return true}}function V_b(a){if(PZb(a.a))return false;else{j$b(a.a);a.e=true;return true}}function X_b(a){if(QZb(a.a))return false;else{l$b(a.a);a.e=true;return true}}function f0b(a){if(RZb(a.a))return false;else{o$b(a.a);a.e=true;return true}}function g0b(a){if(SZb(a.a))return false;else{p$b(a.a);a.e=true;return true}}function w0b(a){if(VZb(a.a))return false;else{u$b(a.a);a.e=true;return true}}function C_b(a,b){if(!!b&&VYb(a.a,b)){a.e=true;return true}else return false}function I_b(a,b){if(!!b&& +WYb(a.a,b)){a.e=true;return true}else return false}function d1b(a,b){var c;for(c=a.b;c;c=c.d)if(b==c)return true;return false}function dj(a,b){var c,d;c=ow(a.a,b);if(!c)return null;d=b;return di(a.b,d,c)}function Fd(a,b,c){var d,e;d=(e=new Kd,a.c=a.c.b=e,e);d.c=c;d.a=Zd(b);return a}function y1(a){var b,c;for(c=new Ppc(a.c);c.a0)return ABc;if(JV(a,DBc)<0)return DBc;return XV(a)}function _u(a){return qE(a,116)?_n(a):qE(a,166)?a.a:qE(a,65)?new yv(a):new nv(a)}function ywb(a){return!a?null:a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()).d:null}function DMb(a){var b;b=null;IOb(a,(pSb(),CQb))&&(b=(uMb(a,CQb),vOb(a)));return b}function zhb(a){var b;b=a.f;de(!!b&&(Whb(),b.j==(o6b(),M5b)||b.j==y4b));O1(a.c,b)}function ndb(a,b){var c,d;d=b.oi();ivc(a.a,d);c=$0b(b,51);!!c&&c.wh()&&ivc(a.c, +d)}function Dwc(a,b){var c;if(Cwc(a,b)){c=b.ee();mwc(a.a,c);return true}return false}function jkc(a,b){var c;if(b==10||b<2||b>36)return""+a;return c=a,c.toString(b)}function Jp(a){Cn();var b;if(qE(a,105)&&!qE(a,237)){b=a;return b}return Kp(a.Qd())}function x2b(a){var b;if(!a.a.a)throw HV(new wxc);b=a.a.a;a.a.a=a.a.a.e;return b}function G_b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.e=true;return true}}function _0(a){if(!a.j)return DD(yD(IL,1),xDc,62,0,[]);return jY(a.j.a,(tZ(),qZ))}function l1(a){if(!a.j)return DD(yD(IL, +1),xDc,62,0,[]);return jY(a.j.a,(tZ(),sZ))}function ZAc(a,b){if(!a)throw HV(new bfb(jBc("Enum constant undefined: %s",b)));}function _Pb(a,b,c,d){this.b=new _wc;this.c=a;this.a=b;this.e=c;this.d=d;this.f=0}function q8(a){this.e=a;this.c=new nwc;this.b=new st;this.a=new Hq;this.d=new st}function bc(){this.a=ilc("0123456789_.");this.a.sort(hW(Cqc.prototype.Lj,Cqc,[]))}function tmb(){umb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function xub(a,b){var c;c=Zjc(b.length,a.length);if(c!= +0)return c;return Pkc(a,b)}function GNb(a){var b,c;c=yPb(a.g,0).b.b;b=vMb(a);return new RTb(new KWb(c,a.f),b)}function QNb(a){var b,c;c=yPb(a.g,0).b.b;b=HMb(a);return new YTb(new KWb(c,a.f),b)}function OFb(a,b){var c;c=gEb(a.a,(o6b(),J5b));!!b.a&&J0b(c,yEb(a.a,b.a));return c}function uXb(a,b){var c,d;c=qXb(a);b.b=c;if(c==116||c==84){d=qXb(a);b.c=d}return b}function X0b(a,b){var c,d;d=a.b;c=0;while(d){if(b==d)return c;d=d.d;++c}return-1}function Vq(a,b){var c,d;Zd(b);for(d=b.Qd();d.Kd();){c=d.Ld(); +a.nf(Zd(c))}return a}function Dxc(a){var b;b=a.b.a.length==0?null:jpc(a.b,0);b!=null&&Exc(a,0);return b}function Vhc(a){if(!a.j){a.j=Zhc(a);!a.j&&(a.j=new Chc(a.i,go(Whc(a))))}return a.j}function q_b(a){if((a.a.a&37)!=0)return false;else{a.a.a|=1;a.e=true;return true}}function Omb(a){if(Nmb(a.d))a.d.b=true;else{de(a.a.Id()&&i1b(a.a.Hd()));a.b=true}}function Pmb(a){if(Nmb(a.d))a.d.c=true;else{de(a.a.Id()&&i1b(a.a.Hd()));a.c=true}}function Ms(a,b){var c;Zd(a);Zd(b);c=false;while(b.Kd())c=c|a.add(b.Ld()); +return c}function ze(a,b){var c;cBc(b);c=a[":"+b];ZAc(!!c,DD(yD(nT,1),WBc,1,5,[b]));return c}function eD(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=hD(b,c)}while(a.b);a.b=c}}function dD(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=hD(b,c)}while(a.a);a.a=c}}function k_b(a,b,c,d,e,f){var g;if(a.b){g=new R$b;g.d=b;N$b(g,c,d,e,f);I$b(a.b,g)}}function tbc(a,b,c,d){var e;e=jmc(a.a,b);!e&&(e=new wvc);Evc(e.d,c,d);mmc(a.a,b,e)}function c8(a,b,c){var d;d=c;while(d.e.j==(o6b(),V4b))d=d.e;I0b(d.e,b,d);P1(a.a, +b)}function Mcb(a,b,c){var d;!a.k&&(a.k=new spc);d=new Qcb(b,a);c&&gpc(a.k,d);return d}function IGb(a,b,c,d,e,f){var g;f?g=cHb(a,b):g=_Gb(a,b);fHb(a,c,d,g,e);return g}function hNb(a,b){var c;c=(Zn(),new hr);while(LOb(a))fr(c,gNb(a,b));return go(c.a)}function xjb(a,b,c){Whb();var d;b.Yf(a);if(c.Nd(a))for(d=a.b;d;d=d.d)xjb(d,b,c)}function gPb(a,b){this.d=a==5;this.a=!(a==0||a==1);this.b=a==4;this.c=b;this.e=a==0}function cC(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 T0b(a){var b, +c;for(b=a.b;b;){c=b.d;b.e=null;b.d=null;b.f=null;b=c}a.b=null}function c0b(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.e=true;return true}}function F_b(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.e=true;return true}}function eIb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function rf(a){if(qE(a,369)||qE(a,368))return a;return qE(a,3)?new sf(a):new vf(a)}function NW(){NW=gW;LW=new OW(iDc,0);MW=new OW("UNMAPPED",1);KW=new OW("MAPPED",2)}function CZ(){CZ=gW;BZ=new k6("JSC_MISSING_RETURN_STATEMENT", +(tZ(),sZ),new emc(CDc))}function vmb(){pmb();return DD(yD(HM,1),_Bc,97,0,[mmb,nmb,omb,lmb,imb,hmb,jmb,kmb])}function Kac(a){return new gac(a.d,null,new c8b(a.d,a.c,a.e,false),a.g,a.f,a.a,a.b)}function jlc(a,b){return b==(qxc(),qxc(),pxc)?a.toLocaleLowerCase():a.toLowerCase()}function zD(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function Ruc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function ijb(a){Whb();switch(a.f){case 63:case 64:return true; +default:return false}}function kjb(a,b){Whb();var c;a.j==(o6b(),y4b)&&b.Tf(a);for(c=a.b;c;c=c.d)kjb(c,b)}function ljb(a,b){Whb();var c;a.j==(o6b(),y4b)&&b.Sf(a);for(c=a.b;c;c=c.d)ljb(c,b)}function ufb(a,b){var c;if(!b.b){c=gbb(xYb(b.oi()),b.k);X1b(c,b);J0b(b,c);P1(a.c,c)}}function R2(a,b){var c;c=a.a.Gg(b);if(c){de(c.j==(o6b(),M5b));Zd($0b(c,53))}return c}function Yuc(a){var b;++a.a;for(b=a.c.a.length;a.a>>b%31&1)==1}function _V(){aW();var a=$V;for(var b=0;bb){b<<=1;return b>0?b:ACc}return b}function Uvb(a){var b;for(b=a.Qd();b.Kd();){b.Ld();if(null.Rj())return true}return false} +function Ex(a){var b,c,d;d=0;for(c=bl(a).Qd();c.Kd();){b=c.Ld();d=IV(d,Jl(b))}return UA(d)}function fEb(a,b,c,d){b.p==($Vb(),xVb)&&(c.a&vFc)==wFc&&(d=hEb(a,(o6b(),S3b),d));return d}function cEb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&CEc)!=0&&(a.c=true);return true}return false}function Gwb(a,b){var c;if(!a)return b;if(!b)return a;c=pyb(a,b);return 0==c.Fh()?null:c}function mD(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&c[1]||XCc}function $Hb(a){var b;b=WHb(a);if(b==47)return true; +else{a.q[a.r++]=b;--a.b;return false}}function dZb(a,b){if(!WZb(a))return true;!a.b.a&&(a.b.a=new spc);gpc(a.b.a,b);return true}function eZb(a,b){if(!WZb(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}function hZb(a,b){if(!WZb(a))return true;!a.b.g&&(a.b.g=new spc);gpc(a.b.g,b);return true}function iZb(a,b){if(!WZb(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function kZb(a,b){if(!WZb(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function Klb(a,b, +c){if(a.a)Jlb(a,c);else{!!b&&Jhb(a.b,b,new Plb);!!c&&Jhb(a.b,c,new Plb)}}function l_b(a,b,c,d,e,f,g){var h;if(a.b){h=new U$b;h.d=b;h.a=g;N$b(h,c,d,e,f);K$b(a.b,h)}}function FGb(a,b,c,d){var e;e=P0b(new _2b((o6b(),S5b),b,c,d),a.k);G1b(e,b.length);return e}function brc(a,b){Uqc();var c;c=new evc(1);vE(a)?nmc(c,a,b):Evc(c.d,a,b);return new Lsc(c)}function I6b(a,b){var c;if(qE(b,127)){c=b.c;if(!!c&&c.Li())return I6b(a,c)}return b.hj()}function _oc(a){gBc(a.c>=0);if(Joc(a.d,a.c)<0){a.a=a.a-1&a.d.a.length- +1;a.b=a.d.c}a.c=-1}function P_(a){if(a.n>0){a.e=a.i.a.length;a.f=a.b;wlc(a.i,10);a.n=0;++a.k;a.b=a.i.a.length}}function K2(a){return a.c.a.length>RCc.length&&Tkc(RCc,Bic(a.c,a.c.a.length-RCc.length))}function IEb(a){if(a>=48&&a<=49)return a-48;throw HV(new Wjc(OIc+String.fromCharCode(a)));}function NEb(a){if(a>=48&&a<=55)return a-48;throw HV(new Wjc(OIc+String.fromCharCode(a)));}function Mub(){Mub=gW;Lub=new A5(DD(yD(tK,1),WBc,5,0,[new k6(JGc,(tZ(),qZ),new emc(""))]))}function Pvb(){Pvb=gW;Ovb=new k6("JSC_USELESS_BLOCK", +(tZ(),rZ),new emc("Useless block."))}function JZ(){JZ=gW;IZ=new k6("JSC_USELESS_CODE",(tZ(),sZ),new emc("Suspicious code. {0}"))}function SZ(){SZ=gW;RZ=new k6("JSC_UNREACHABLE_CODE",(tZ(),sZ),new emc("unreachable code"))}function Nvb(){Nvb=gW;Mvb=new k6("JSC_UNUSED_LABEL",(tZ(),rZ),new emc("Unused label {0}."))}function P3(){P3=gW;M3=new Q3(iDc,0);N3=new Q3("USE_GLOBAL_TEMP",1);O3=new Q3("USE_IIFE",2)}function v6b(){v6b=gW;t6b=new $wnd.RegExp("^[a-zA-Z_$][\\w$]*$");u6b=new $wnd.RegExp("\\s")}function FOb(a){var b, +c;c=yPb(a.g,0).b.b;b=EOb(a,1);zMb(a);return new zWb(new KWb(c,a.f),b)}function u9(a){var b,c;c=w1b(a.f);b=w1b(a.f);if(Wib(b)){a.f=b;v9(a,c.oi())}else K0b(a.p,b)}function Exc(a,b){var c;c=mpc(a.b,a.b.a.length-1);if(b2)&&gY(oDc+c,a);for(b=a.b;b;b=b.d)BX(b)}function qX(a){var b,c;IX((o6b(), +L4b),a);c=V0b(a);(c<1||c>2)&&gY(oDc+c,a);for(b=a.b;b;b=b.d)BX(b)}function SX(a){var b,c;IX((o6b(),G5b),a);c=V0b(a);(c<1||c>2)&&gY(oDc+c,a);for(b=a.b;b;b=b.d)YX(b)}function H1b(a,b){var c;c=h2b(a.i);c==-1&&(c=0);a.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|dDc:b<<12|c&dDc}function Hfb(a,b){var c;c=new Hlc;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=PCc}return c.a}function lAc(){var a;if(!hAc){hAc=new kAc;a=new wAc("");sAc(a,(Tzc(),Qzc));iAc(hAc,a)}return hAc}function ld(a,b){var c,d;for(c=0,d=a.size();c< +d;++c)if(xxc(b,a.getAtIndex(c)))return c;return-1}function MXb(a){var b;for(b=0;b>22);e=a.h+b.h+(d>>22);return ID(c&$Cc,d&$Cc,e&_Cc)}function aE(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 ID(c&$Cc,d&$Cc,e&_Cc)}function qhb(a){var b,c;b=a.k.a.length;if(b>0)return jpc(a.k,b-1);else{c=Eoc(a.n);return c?c.d:null}} +function MA(a){var b;if(a!=null){b=a[OCc];if(b)return b}return uE(a,TypeError)?new Bkc(a):new JC(a)}function mib(a){Whb();while(!!a&&a.j!=(o6b(),M5b))a=a.e;return!!a&&a.j==(o6b(),M5b)?$0b(a,53):null}function Xnb(a,b,c){bX(a.a,b);bX(a.a,c);$nb(a,b,c);Ynb(a,c);qW(a.b.$)&&Ssb(new Tsb(a.b),b,c);Znb(a,b)}function nGb(a,b,c,d){var e;a.b.mh(l3b(b,DD(yD(nT,1),WBc,1,5,[])),(e=$0b(a.k,51),!e?null:e.Ig()),c,d)}function wsb(){wsb=gW;vsb=br(Luc((o6b(),i6b),DD(yD(XR,1),_Bc,10,0,[$4b,Z3b,y4b,U3b,T3b,K4b,y5b])))} +function zC(){zC=gW;yC=DD(yD(zE,1),GBc,46,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function pW(){pW=gW;oW=new k6("JSC_READ_ERROR",(tZ(),qZ),new emc("Cannot read file {0}: {1}"))}function QBb(){QBb=gW;NBb=new RBb("CONSTANT",0);OBb=new RBb("OPTIONAL",1);PBb=new RBb("REQUIRED",2)}function KMb(a){var b,c;c=yPb(a.g,0).b.b;uMb(a,(pSb(),HQb));b=LMb(a);return new zSb(new KWb(c,a.f),b)}function W9b(a){var b,c;c=a.c.a;if(c){b=c.b?c.b.f:null;if(!b||Y0b(b,30)==0)return V0b(c)}return ABc}function iBb(a, +b,c){if(Ei(a,c,false))return Oi(Ei(a,c,false));else if(b)return pAb(b,c);return null}function zoc(a,b){if(b==null)return false;while(a.a!=a.b)if(wb(b,$oc(a)))return true;return false}function Jmc(a){if(a.a.Kd())return true;if(a.a!=a.d)return false;a.a=new Ivc(a.e.d);return a.a.Kd()}function k$b(a,b){var c;!a.d&&(a.d=new G$b);if(a.d.k)return false;a.d.k=(Cn(),c=b,Jp(c));return true}function q$b(a,b){var c;!a.d&&(a.d=new G$b);if(a.d.p)return false;a.d.p=(Cn(),c=b,Jp(c));return true}function Yb(a,b){var c; +for(c=b.length-1;c>=0;c--)if(!Cc(a,b.charCodeAt(c)))return false;return true}function kjc(a){var b;if(a<128){b=(mjc(),ljc)[a];!b&&(b=ljc[a]=new $ic(a));return b}return new $ic(a)}function qAc(a){var b,c;if(a.b)return a.b;c=a.d;while(c){b=c.b;if(b)return b;c=c.d}return Tzc(),Qzc}function XYb(a){var b;if(!WZb(a))return null;!a.b.d&&(a.b.d=new spc);b=new L$b;gpc(a.b.d,b);return b}function Web(a){var b,c,d,e,f;f=new dvc;for(c=a.a,d=0,e=c.length;db)return 1;if(a==b)return 0;return isNaN(a)?isNaN(b)?0:1:-1}function uAb(a,b){de(a.d.d.isEmpty()||a.ef().containsAll(null.Sj)&&null.Rj(a.ef()));this.b=a;this.a=b}function jC(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 DD(a,b,c, +d,e){e.Oj=a;e.Pj=b;e.Qj=lW;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}function npc(a,b){var c;c=kpc(a,b,0);if(c==-1)return false;bBc(c,a.a.length);MAc(a.a,c,1);return true}function Goc(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 yib(a){Whb();var b,c;c=null;while(c==null&&!!a){c=(b=$0b(a,51),!b?null:b.Ig());a=a.e}return c}function uMb(a,b){var c;c=HMb(a);if(c.c!=b){ZOb(a,c,NJc,DD(yD(nT,1),WBc,1,5,[b]));return null}return c}function lw(a, +b){var c;if(a===b)return true;else if(qE(b,44)){c=b;return hy(Qo(a),c.Yd())}return false}function fMb(a){_Lb();switch(a){case pEc:case oEc:case ODc:case nEc:return true;default:return false}}function tmc(a,b){YAc(a>=0,"Negative initial capacity");YAc(b>=0,"Non-positive load factor");qmc(this)}function Cyc(a,b,c,d,e,f){var g;this.c=a;g=new spc;eyc(a,g,b,a.b,c,d,e,f);this.a=new Xmc(g,g.a.length)}function yDb(a,b,c,d,e){var f;this.a=ADb(a);this.d=b;this.b=0;this.f=(Cn(),f=c,Jp(f));this.c=d;this.e=e} +function PB(a,b,c,d){var e,f;de(b>=0);de(c>=0);a.f=new cB(b,c);e=new kB;f=vC(d);gB(e,f);jB(e,new WB(a))}function kq(a,b,c){var d,e;return b!=null&&c!=null&&(e=ow((d=a.c,!d?a.c=new wz(a):d),b),!!e&&nw(e,c))}function wEb(a,b,c){var d,e;if(i2b(a.i)==-1){e=b.b+1;H1b(a,e);d=b.a;a.i=n2b(i2b(a.i),d);G1b(a,c.c-b.c)}}function iY(a,b,c){var d;d=new mY(c,b);if(ivc(a.c,d)){hBc(Cxc(a.e,d));b==(tZ(),qZ)?++a.d:b==sZ&&++a.f}}function imc(a,b,c){var d,e;for(e=c.Qd();e.Kd();){d=e.Ld();if(a.Dj(b,d.fe()))return true}return false} +function Wqc(a){Uqc();var b,c,d;d=0;for(c=a.Qd();c.Kd();){b=c.Ld();d=d+(b!=null?Ab(b):0);d=d|0}return d}function X1b(a,b){if(!$0b(a,51)){N1b(a,b);a.i=b.i;a.c=b.c}$0b(a,40)==null&&t1b(a,40,$0b(b,40));return a}function W_b(a,b){if(!((a.a.a&16384)!=0||FZb(a.a))&&k$b(a.a,b)){a.e=true;return true}else return false}function rOb(a){var b,c;c=yPb(a.g,0).b.b;uMb(a,(pSb(),RRb));b=VMb(a,1);return new hWb(new KWb(c,a.f),b)}function bf(a,b){var c,d;Zd(b);c=hf(a.c,a,b);d=new spc;while(Mb(c))gpc(d,Nb(c));return Uqc(), +new ztc(d)}function O0(a,b){var c;if(a.L.wd){c=Oc(new Qc(""),new Smc(new vqc(b)));Dlc(a.f,c);wlc(a.f,10);pAc(L0,c)}}function Ud(a,b){if(!a)throw HV(new bfb(me("too many occurrences: %s",DD(yD(nT,1),WBc,1,5,[wkc(b)]))));}function MX(a,b){var c;IX((o6b(),T5b),b);NX(b);c=V0b(b);(c<0||c>1)&&gY(qDc+c,b);!!b.b&&!b.b.d&&kX(a,b.b)}function v5(a,b){var c,d;for(d=b.b.Qd();d.Kd();){c=d.Ld();if(!a.b.contains(c))return false}return true}function YD(a){var b,c,d;b=~a.l+1&$Cc;c=~a.m+(b==0?1:0)&$Cc;d=~a.h+(b==0&& +c==0?1:0)&_Cc;return ID(b,c,d)}function pGb(a,b,c,d,e){var f;a.b.mh(l3b(b,DD(yD(nT,1),WBc,1,5,[c])),(f=$0b(a.k,51),!f?null:f.Ig()),d,e)}function xW(){xW=gW;Cn();Mp(DD(yD(nT,1),WBc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function $A(){$A=gW;var a;ZA=AD(BE,TCc,46,256,15,1);$pc(ZA);for(a=0;a<64;a++)ZA[KCc.charCodeAt(a)]=a}function bQb(a){return cQb(a)||(Xic==null&&(Xic=new RegExp("\\d")),Xic.test(String.fromCharCode(a)))}function QXb(a){OXb();var b;b=PXb(NXb,a);if(b!=null)return b; +throw HV(new GC("Resource not found: "+a));}function ckc(a){var b;if(a<0)return DBc;else if(a==0)return 0;else{for(b=ACc;(b&a)==0;b>>=1);return b}}function Wic(a){if(Tkc(typeof a,zBc))return true;return a!=null&&a.$implements__java_lang_CharSequence}function JC(a){AA(this);BA(this);this.backingJsObject=a;a!=null&&kBc(a,OCc,this);this.e=a==null?CBc:kW(a)}function Jl(a){var b,c;b=a.b.fe();if(!b||b.a==0){c=a.a.a.a.Zd(a.b.ee());if(c)return c.a}return!b?0:b.a}function pgc(a,b){var c;c=a.d.size()-a.e.size(); +ca.size()?Ws(a.Qd(),b):ky(a,b.Qd())}function uub(a,b,c,d){oub();xtb.call(this,a,b,d);this.a=vub(a);!c?this.b=(Po(),Po(),Oo):this.b=pub(c)}function zzb(a){return bxb(),oyb(a.a,2,(Cn(),new Xy(sBb(a.a,null,null,a,null,a.c,(HAb(),FAb)))),null,$wb)}function aEb(a,b){var c;if(b){c=YDb(a,b);ivc(a.n,b);if(!cEb(a,c))return qEb(a,b.a,f_b(c.e))}return null}function PD(a){var b,c;c=fkc(a.h); +if(c==32){b=fkc(a.m);return b==32?fkc(a.l)+32:b+20-10}else return c-12}function XNb(a){var b;b=(Zn(),new hr);while(!IOb(a,(pSb(),zQb))&&!IOb(a,MQb))fr(b,mOb(a));return go(b.a)}function NYb(a,b){var c;de(a.j==(o6b(),M3b));de(b.j==T3b);c=X1b(new b2b(M3b,b),b);return new d2b(c6b,a,c)}function rhc(a){var b,c;for(b=0;b=rmc(a.d.n.c))return null;return Fs(new inc(a.d.n),b)}function upb(a,b){if(b>0&&b=a.b.a.length)return;Axc(a,2*b+1);c=2*b+2;c0){a.k+=c;a.n=b.length-Zkc(b,olc(10))}}function hY(a){var b,c;b=new spc;for(c=Dxc(a.e);c;c=Dxc(a.e)){a.Wf(c.b,c.a);b.a[b.a.length]=c}zxc(a.e,b);a.Vf()}function N1(a,b){var c,d;c=b.b;if(a.Z){d=S4(a.Z,b);!!d&&(c=d)}if(c!=(tZ(),rZ)){!a.L&& +s1(a,new x3);Cpb(a.j,c,b)}}function k5(a,b){var c,d;d=AD(oK,WBc,298,b.length,0,1);for(c=0;c127)return false}return true}function Bvc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f=d||bb&&d.Se(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function aB(a,b){var c;b=b<0?(-b<<1)+1:b<<1;do{c=b&31;b>>>=5;b>0&&(c|=32);vlc(a,($A(),KCc.charCodeAt(c)))}while(b>0)}function kkc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(mkc(),lkc)[b];!c&&(c=lkc[b]=new Yjc(a));return c}return new Yjc(a)}function wlb(a){var b,c;for(c=new Ppc(a.d);c.a>>0,b.toString(16));return a.toString()}function a2(a){var b,c;for(c=new Ppc(a);c.ac&&(b[c]=null);return b}function cob(a,b,c,d){var e;de(b!=null&&b.length!=0);de(jwc(a.e,b)==null);e=new ysb(b,c,a,(rmc(a.e.c),d));kwc(a.e,b,e); +return e}function $Yb(a,b,c){!a.d&&(a.d=new G$b);!a.d.n&&(a.d.n=new nwc);if(iwc(a.d.n,c))return false;else{kwc(a.d.n,c,b);return true}}function KD(a,b){if(a.h==aDc&&a.m==0&&a.l==0){b&&(FD=ID(0,0,0));return HD((jE(),hE))}b&&(FD=ID(a.l,a.m,a.h));return ID(0,0,0)}function sxb(a){if(-1==a.Fh())return a;if(ABc==a.Fh())return a.e.A;return oyb(a.e,a.Fh()&-33&-17&-257,a.Ih(),a.Rh(),a.Dh())}function wcb(a,b){return a.e||(!!a.c&&Jhb(a.a,a.c,new Kcb(a)),Jhb(a.a,a.i,new Kcb(a)),a.e=true,a.d=null,undefined),kmc(a.g, +b)}function vhb(a,b){var c,d;!b&&!!a.i&&a.i.oh(a);c=a.k.a.length;c>0?d=mpc(a.k,c-1):d=Koc(a.n).d;Whb();Puc(Nhb,d.j)&&Koc(a.b)}function Jqc(a,b){var c,d;if(a==b)return;Qqc(a.a,b.a.length-1);for(c=0;c=48&&c<=57){DXb(b,sXb(a));return uXb(a,b)}else throw HV(xXb(a));}function p0b(a,b){if(!!b&&!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)){aZb(a.a,b);a.e=true;return true}return false} +function qOb(a){var b;b=(Zn(),new hr);while(HOb(a,0,(pSb(),XQb))||VOb(a)||IOb(a,hRb)||HOb(a,0,xQb))fr(b,pOb(a));return go(b.a)}function sOb(a){var b;b=(Zn(),new hr);while(HOb(a,0,(pSb(),XQb))||VOb(a)||IOb(a,hRb)||HOb(a,0,xQb))fr(b,pOb(a));return go(b.a)}function Q0(a){a.O=slb(T0(a),new Elb(a.P));nlb(a.O,(!a.N&&(a.N=new Vub),new spc));qlb(a.O,a.q,a.C);if(a.j.a.d>0)return;a.O=null}function HAb(){HAb=gW;FAb=new IAb(0);EAb=new IAb(1);DAb=new IAb(2);CAb=new IAb(3);GAb=DD(yD(yO,1),WBc,205,0,[FAb,EAb,DAb, +CAb])}function Dtb(a){this.f=new spc;this.c=new spc;this.a=new lvc;this.e=new nwc;this.b=new dvc;this.d=new st;ipc(this.f,a);Ctb(this)}function RB(){this.e=new spc;this.k=new nwc;this.j=new nwc;this.g=new nwc;this.f=new cB(0,0);this.i=new cB(0,0);this.a=new nwc}function fbb(a,b){abb();return U0(a,CFc+jlc(DFc,(qxc(),oxc)),false),$Xb(pjb(a,"$jscomp.makeIterator"),DD(yD(VR,1),HDc,7,0,[b]))}function XDb(a,b){var c,d;!!b.g||P0b(b,a.t);for(d=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();d.Kd();){c=d.Ld(); +XDb(a,c)}return b}function rYb(a,b){var c,d;c=OYb((o6b(),P4b),a);d=x1b(c,c.g,32);d!=c.g&&(c.g=d);(b?1:0)!=0&&(c.g=new D2b(32,b?1:0,c.g));return c}function Y8(a,b){var c,d;c=b.b?b.b.f:null;if(c.j!=(o6b(),M3b)){S0b(c);d=Y1b(YXb((de(tYb(c)),new b2b(J5b,c))),c);J0b(b,d);zhb(a)}}function ZXb(a){var b,c,d,e,f,g;c=(b=new _1b((o6b(),M3b)),b);for(e=a,f=0,g=e.length;f0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return QCc in new Error}function fBc(a,b,c){if(a<0||b>c)throw HV(new Jic(HKc+a+IKc+b+", size: "+c));if(a>b)throw HV(new bfb(HKc+a+" > toIndex: "+b));}function zY(a,b,c){var d;d=Y0b(c,56);if(d==0||d=0;c--)if(a.d.getAtIndex(c)== +b)return c;return-1}function N1b(a,b){var c;if(!!b.g&&(!a.g||a.g.c==51&&!a.g.b)){c=b.g;while(c.b)c=c.b;if(c.c==51){a.g=c;return}}t1b(a,51,$0b(b,51))}function kOb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;c=oOb(a);while(TOb(a,b)){d=HMb(a);e=oOb(a);c=new GSb(new KWb(f,a.f),c,d,e)}return c}function ejb(a){var b,c;b=a.b;if(b.j==(o6b(),E4b)||b.j==D4b){c=b.b?b.b.f:null;return c.j==S5b&&Tkc("toString",c.oi())}return false}function UXb(a){var b,c,d,e,f;b=new _1b((o6b(),q3b));for(d=a,e=0,f=d.length;e=0,"numberToAdvance must be nonnegative"); +for(d=0;d>1);g=a[f];if(gc)d=f-1;else return f}return-e-1}function Wpc(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 kwc(a,b,c){var d,e,f;e=jmc(a.c,b);if(!e){d=new Bwc(a,b,c);mmc(a.c,b,d);ywc(d);return null}else{f=Bnc(e,c);lwc(a,e);return f}}function CNb(a,b,c){var d;xoc(a.e,c);zTb(ETb(yTb(BTb(ATb(b,c==(kPb(),iPb)),EMb(a)),zNb(a,0)),DMb(a)),ANb(a));d=Hoc(a.e);aBc(d!=null)}function _Xb(a,b){var c;de(tYb(a));de(b.j==(o6b(),M3b));c=x1b(b,b.g,39);c!=b.g&&(b.g=c);b.g=new D2b(39,1,b.g);return new d2b(R3b,a,b)}function agc(a){var b; +if(a.b)return edc(a.d,(Occ(),qcc));b=(is(),new rs((Mx(),Lx)));qs(b,new Dmc(a.c));return new Ufc(a.d,ps(b),a.a)}function yW(a,b){switch(b.f){case 0:return zW(a,gDc,(HW(),DW));case 1:return zW(a,hDc,(HW(),GW));default:return b.e!=null?b.e:""+b.f}}function LOb(a){var b;b=yPb(a.g,0);switch(b.c.f){case 2:case 65:case 43:case 49:case 52:return true;default:return _Lb(),!!bMb(b.c)}}function lGb(){lGb=gW;kGb=(Cn(),Mp(DD(yD(nT,1),WBc,1,5,[cEc,AFc])));jGb=Mp(DD(yD(nT,1),WBc,1,5,[SIc,TIc,"stable","mapped","xid"]))} +function cFb(a,b,c){a.a.e=WJb(a.a.e,DD(yD(_O,1),_Bc,29,0,[c]));eEb(a.a,c)||a.a.d.mh(PIc+PDb(c)+QIc+c,a.a.r,(WDb(),b.o.b.b+1),b.o.b.a)}function HFb(a,b){var c,d,e;e=hEb(a.a,(o6b(),m5b),yEb(a.a,b.b));if(b.a)for(d=b.a.a.Qd();d.Kd();){c=d.Ld();J0b(e,yEb(a.a,c))}return e}function BGb(a,b){var c,d;d=false;while(true){c=VHb(a.i);if(c==32)continue;else if(c==b){d=true;break}else break}_Hb(a.i,c);return d}function dyc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.Se(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 ulc(a,b,c){var d,e,f,g;f=b+c;iBc(b,f,a.length);g="";for(e=b;e0)return true;c=Eoc(a.d);if(!c.c)return false;while(!!c&&!!c.a){ai(a.g,c.a,b);c=c.b}return true}function rj(a,b){var c;if(b===a)return true;if(!qE(b,31))return false;c= +b;if(c.size()!=a.size())return false;return a.containsAll(c)}function Aib(a,b,c){var d;if(b.Nd(a))return true;if(!c.Nd(a))return false;for(d=a.b;d;d=d.d)if(Aib(d,b,c))return true;return false}function WC(){var a;if(RC!=0){a=QC();if(a-SC>2E3){SC=a;TC=$wnd.setTimeout(aD,10)}}if(RC++==0){dD((cD(),bD));return true}return false}function d0b(a,b,c){if(!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&$Yb(a.a,c,b)){a.e=true;return true}else return false}function TOb(a,b){switch(yPb(a.g,0).c.f){case 54:case 55:case 57:case 56:case 17:return true; +case 16:return b==1;default:return false}}function r_b(a){if(!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&!HZb(a.a)){a.a.a|=2;a.e=true;return true}else return false}function tX(a){var b,c,d;IX((o6b(),T4b),a);for(b=a.b;b;b=b.d){IX(h5b,b);c=q6b(b.j);c!=-1&&(d=V0b(b),c!=d&&gY(kDc+c+lDc+d,b));BX(b.b)}}function cY(a,b){var c;Whb();if(!!b&&(b.j==(o6b(),i6b)||b.j==$4b||b.j==Z3b)){c=V0b(b);1!=c&&gY(nDc+c,b);DX(a,b.j,b)}else wX(a,b.e.j,b)}function Hjc(a,b){var c=0;while(!b[c]||b[c]=="")c++;var d= +b[c++];for(;c0&&JV(a,128)<0){b=XV(a)+128;c=(ykc(),xkc)[b];!c&&(c=xkc[b]=new nkc(a));return c}return new nkc(a)}function sXb(a){var b;b=0;while(a.b0)return rXb(a)}return XV(b)}function Qs(a,b){if(b==null)while(a.Kd()){if(a.Ld()==null)return true}else while(a.Kd())if(wb(b,a.Ld()))return true;return false}function M$b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return S$b(a.a,b.a)&&Q$b(a.c,b.c)&&S$b(a.b,b.b)&&V$b(a.d,b.d)}function $Ac(a,b){if(0>a)throw HV(new bfb("fromIndex: 0 > toIndex: "+a));if(a>b)throw HV(new Kic("fromIndex: 0, toIndex: "+a+GKc+b));}function vY(a,b,c){var d,e;(b.j==(o6b(),K5b)||(Whb(), +b.j==M5b||b.j==y4b))&&Zf(a.a,b,c,false);d=b.b;e=c.b;while(d){vY(a,d,e);d=d.d;e=e.d}}function E1(a,b,c){var d,e;!a.L&&s1(a,new x3);d=(wob(),new Iob((new Hob,b),c));Zn();new Uy(Zd(d));return e=new Z2(d),J1(a,e.f,e),R2(e,a)}function dNb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;b&&uMb(a,(pSb(),nRb));c=EMb(a);d=zNb(a,1);e=DMb(a);return new KSb(new KWb(f,a.f),b,c,d,e)}function oNb(a){var b,c,d;d=yPb(a.g,0).b.b;uMb(a,(pSb(),NQb));c=vMb(a);uMb(a,uRb);b=pNb(a);uMb(a,zQb);return new lTb(new KWb(d,a.f),c,b)}function tFb(a, +b){var c,d,e;e=EFb(a,b.b,true);O1b(e,(o6b(),g5b));d=hEb(a.a,r4b,e);if(b.a){c=EFb(a,b.a,true);O1b(c,g5b);J0b(d,c)}return d}function Joc(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;Soc(c=f){Loc(a,b);return-1}else{Moc(a,b);return 1}}function rpc(a,b){var c,d;d=a.a.length;b.lengthd&&(b[d]=null);return b}function uqc(a,b){var c,d;d=a.a.length;b.length +d&&(b[d]=null);return b}function myb(a,b){var c,d,e,f,g;e=a.b;for(g=(d=(new inc(b.a)).a.Yd().Qd(),new onc(d));g.a.Kd();){f=(c=g.a.Ld(),c.ee());e=lyb(e,f)}return e}function D$b(a,b){var c,d,e,f;e=null;if(a){e=new nwc;for(d=new Nwc(new Ewc(a));d.b!=d.c.a.b;){c=Lwc(d);f=c.e;kwc(e,c.d,y$b(f,b))}}return e}function ZYb(a,b){var c;c=new v$b;c.d=!a.d?null:B$b(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=y$b(a.i,b);c.g=y$b(a.g,b);c.c=a.c;c.f=a.f;return c}function J2(a,b){var c,d;Dlc(a.c,b);c=-1;d=c;while((c=Xkc(b,olc(10), +c+1))>=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function wib(a){Whb();var b;for(b=a;true;b=b.b){if(b.j==(o6b(),g5b)||b.j==_5b||b.j==W5b)return b;ie(b.j==E4b,"Not a getprop node: ",b)}}function dY(a,b){var c;Whb();!!b&&(b.j==(o6b(),i6b)||b.j==$4b||b.j==Z3b)?DX(a,b.j,b):b.j==(o6b(),j4b)?(c=V0b(b),0!=c&&gY(jDc+c,b)):kX(a,b)}function l1b(a){switch(a.j.f){case 29:return a.oi().length!=0;case 33:case 99:return true;case 26:return l1b(a.b);default:return false}}function Y9b(a){var b; +if(!a.i)return a.u.b.keySet();else{b=(Cn(),new Vr);gpc(b.a,Zd(IDc));Ur(b,a.u.b.keySet());return Kp(new Ppc(b.a))}}function Qp(a,b,c,d,e,f,g){Cn();var h,i;i=g.length+6;h=new tpc(i);Vqc(h,DD(yD(nT,1),WBc,1,5,[a,b,c,d,e,f]));Vqc(h,g);return Kp(new Ppc(h))}function v_(b){var c;if(y_(b))try{c=Pjc(b);if(PV(c,{l:0,m:0,h:512}))return WV(c)}catch(a){a=GV(a);if(!qE(a,92))throw HV(a);}return NaN}function rMb(a,b){var c;c=(Zn(),new hr);fr(c,b?b.a:"");while(IOb(a,(pSb(),BRb))){uMb(a,BRb);b=vMb(a);if(!b)break; +fr(c,b.a)}return go(c.a)}function dOb(a,b){var c,d,e;e=yPb(a.g,0).b.b;c=eOb(a,b);if(IOb(a,(pSb(),OQb))){uMb(a,OQb);d=VMb(a,1);c=new iTb(new KWb(e,a.f),c,d)}return c}function rjb(a,b){Whb();var c,d;c=(ie(Wkc(a,olc(46))==-1,GDc,a),new $2b((o6b(),g5b),a));if(b){J0b(c,b);V1b(c,b)}d=V1b(eYb(c,i6b),c);return d}function Xab(a,b,c){var d,e;d=gbb(UXb(DD(yD(VR,1),HDc,7,0,[])),b);for(e=a.b;e;e=e.d)e.j==(o6b(),S5b)&&J0b(d,gbb(IYb($0b(e,71)),c));return d}function Ukc(a,b){cBc(a);if(b==null)return false;if(Tkc(a, +b))return true;return a.length==b.length&&Tkc(a.toLowerCase(),b.toLowerCase())}function di(a,b,c){return qE(c,206)?new Yk(a,b,c):qE(c,130)?new Xk(a,b,c):qE(c,31)?new Zk(a,b,c):qE(c,45)?ei(a,b,c,null):new ik(a,b,c,null)}function Yeb(a){var b,c,d,e;e=AD(BE,TCc,46,a.a.length,15,1);for(c=0;c=0;d=Kqc(b,d-1))e[d]+=1}return e}function ijc(a,b,c){XAc(a>=0&&a<=UCc);if(a>=HBc){b[c++]=IBc+(a-HBc>>10&JBc)&KBc;b[c]=LBc+(a-HBc&JBc)&KBc;return 2}else{b[c]=a&KBc;return 1}}function lu(b, +c){var d;d=b.Td(c);try{return d.Ld()}catch(a){a=GV(a);if(qE(a,75))throw HV(new Jic("Can't get element "+c));else throw HV(a);}}function fz(a){var b,c;c=!a.a||a.a.isEmpty()&&iwc(a.c.a,a.b)?a.a=jwc(a.c.a,a.b):a.a;if(!c)return jt(),it;b=c.Yd().Qd();return new oz(a,b)}function U8(a,b,c,d,e,f){switch(c.j.f){case 93:S8(a,b,c,d,e,f);break;case 94:T8(a,b,c,d,e,f);break;default:throw HV(new Wjc("unexpected"));}}function sib(a){switch(a.j.f){case 91:case 86:case 87:case 98:return a;case 114:return a.b.j==(o6b(), +S5b)?a.b:null}throw HV(new Wjc(oHc+a));}function eMb(a){_Lb();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 aQb(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 POb(a){var b;b=yPb(a.g,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;default:return _Lb(),!!bMb(b.c)}}function Wkb(a){var b,c,d;for(d=O0b(a.n).Qd();d.Kd();){b= +d.Ld();a.k+=1;a.j+=Tkb(b)}for(c=O0b(a.u).Qd();c.Kd();){b=c.Ld();a.v+=1;a.t+=Tkb(b)}}function LFb(a,b){var c,d,e,f;e=(Zn(),new hr);for(d=b.a.Qd();d.Kd();){c=d.Ld();fr(e,yEb(a.a,c))}f=yEb(a.a,b.b);return XDb(a.a,A6b(f,go(e.a)))}function IBb(a,b){var c,d,e;d=a.b;e=b.b;!d||!e?c=null:exb(d,e)?c=d:c=null;return new FBb(a.c==b.c?a.c:null,lyb(a.d,b.d),c,JBb(a.a,b.a))}function Twb(a,b){if(a.e.a.length!=0||!!a.j)throw HV(new Zwb("Cannot add required formal after optional or rest args"));gpc(a.i,b);return a} +function mXb(a,b){b.a=b.a.substr(0,0)+"("+b.a.substr(1);if(a.b.k){EXb(a.b,a.b.p-1);b=aXb(a,b,1);b.a+=")"}else{b.a+=")";b=aXb(a,b,0)}return b}function $cc(a,b,c){var d,e,f;d=new Wac(a);f=c.length-1;for(e=0;e<=f;e++)b&&e==f?Uac(d,c[e]):Tac(d,DD(yD(pS,1),tKc,23,0,[c[e]]));return d.b}function je(a,b,c){if(!a)throw HV(new Wjc(me('Bad binary operator "%s": expected 2 arguments but got %s',DD(yD(nT,1),WBc,1,5,[b,kkc(c)]))));}function A_(a){if(!a.f)throw HV(new Wjc("Cannot build without root node being specified")); +return z_(a.f,W_(a.c,a.d),a.c,a.j,a.g,a.i,a.b,a.a)}function jOb(a){var b,c;b=yPb(a.g,0).b.b;if(IOb(a,(pSb(),uRb))){uMb(a,uRb);c=new dWb(new KWb(b,a.f),ONb(a));uMb(a,zQb)}else c=zOb(a);return c}function ZGb(a,b){var c;c=$Gb(a,b);if(c)if(CGb(a,(RHb(),JHb))){!a.n?YHb(a.i):uGb(a);iHb(a);b=!a.n?YHb(a.i):uGb(a);return dHb(a,b,c)}return c}function VFb(a,b){var c;Qd(b.c==(pSb(),qRb)||b.c==$Rb||b.c==_Rb||b.c==aSb);c=mEb(a.a,oEb(a.a,b,true));t1b(c,71,b.a);wEb(c,b.b.b,b.b.a);return c}function Mib(a){Whb();var b; +if(!!a&&(a.j==(o6b(),i6b)||a.j==$4b||a.j==Z3b))for(b=a.b;b;b=b.d)if(b.j==(o6b(),f4b))return true;return false}function n0b(a,b){if(!!b&&!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&!a.a.g){r$b(a.a,b);a.e=true;return true}else return false}function NPb(a){if(ajc(sPb(a,a.d)?Okc(a.e.a,a.d):0,16)<0){APb(a,"Hex digit expected",DD(yD(nT,1),WBc,1,5,[]));return false}tPb(a);return true}function lBb(a,b,c){if(b.a==(QBb(),OBb)){if(!!a&&!nxb(a.d,b.d,c))return false}else if(!a||a.a==OBb||!nxb(a.d, +b.d,c))return false;return true}function EIb(a,b){if(!vIb(a,b,(zJb(),eJb)))return false;if(!UIb(a,(Vd(b.j==(o6b(),P3b),hJc,b),U0b(b,1)))){$Ib(a,eJb.d);return false}return true}function LIb(a,b){if(!vIb(a,b,(zJb(),pJb)))return false;if(!UIb(a,(Vd(b.j==(o6b(),P3b),hJc,b),U0b(b,1)))){$Ib(a,pJb.d);return false}return true}function VSb(){VSb=gW;QSb=new WSb("BLOCK",0);TSb=new WSb("LINE",1);SSb=new WSb("JSDOC",2);USb=new WSb("SHEBANG",3);RSb=new WSb("IMPORTANT",4)}function Xwc(a,b){var c,d;eBc(b,a.b);if(b>= +a.b>>1){d=a.c;for(c=a.b;c>b;--c)d=d.b}else{d=a.a.a;for(c=0;c0){d=(Zn(),new hr);Vq(d,b);for(e=0;e=a.length)throw HV(new XWb(hlc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function iYb(a,b,c,d){de(a.j==(o6b(),i6b)||a.j==j4b||tYb(a));de(b.j==j4b||tYb(b));de(c.j==j4b||tYb(c));de(d.j==M3b);return new f2b(v4b,a,b,c,d)}function N4(a,b){var c;if(qE(b,209)){c=b;c.a&&(a.a=c.a);O4(a,new upc(new vzc(c.c.a.Hj())))}else{++a.d;mmc(a.e,b,kkc(a.d));rzc(a.c,b);qzc(a.c,b)}}function lOb(a,b){var c;c=eOb(a,b);IOb(a,(pSb(),OQb))&&_Ob(a, +"A default value cannot be specified after '...'",DD(yD(nT,1),WBc,1,5,[]));return c}function n_b(a,b){if(!!b&&!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&!EZb(a.a)){YZb(a.a,b);a.e=true;return true}else return false}function nE(a,b){if(vE(a))return!!mE[b];else if(a.Pj)return!!a.Pj[b];else if(sE(a))return!!lE[b];else if(rE(a))return!!kE[b];return false}function _b(a){var b,c;c=DD(yD(zE,1),GBc,46,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=PBc.charCodeAt(a&15);a=a>>4&KBc}return ulc(c,0, +c.length)}function xX(a){var b,c;IX((o6b(),W4b),a);a.oi()==null&&gY(rDc,a);a.oi().length==0&&gY(sDc,a);c=q6b(a.j);c!=-1&&(b=V0b(a),c!=b&&gY(kDc+c+lDc+b,a))}function BX(a){var b,c;IX((o6b(),g5b),a);a.oi()==null&&gY(rDc,a);a.oi().length==0&&gY(sDc,a);c=q6b(a.j);c!=-1&&(b=V0b(a),c!=b&&gY(kDc+c+lDc+b,a))}function R8(a,b,c){var d,e,f;d=(Whb(),e=gib(b),!e?null:$0b(e,29));!!d&&vZb(d,c)!=null?f=vZb(d,c):f=mGc+a.b++;de((v6b(),t6b.test(f)));return f}function vIb(a,b,c){var d;d=(Vd(b.j==(o6b(),P3b),hJc,b),V0b(b)- +1);if(dc.b){YIb(a,c.d);return false}return true}function GEb(a,b){var c;if(b.j==(o6b(),J5b)){c=b;while(c=c.e)if(c.j==y4b)return;a.d.lh("return must be inside function",a.r,i2b(b.i),h2b(b.i))}}function uhc(a,b){var c,d,e;d=new $hc(a.A);for(c=0;c=0&&a<=UCc);return a>=HBc?DD(yD(zE,1),GBc,46,15,[IBc+(a-HBc>>10&JBc)&KBc,LBc+(a-HBc&JBc)&KBc]):DD(yD(zE,1),GBc,46,15,[a&KBc])}function sBc(a){qBc();var b,c,d;c=":"+a;d=pBc[c];if(d!=null)return xE((cBc(d),d));d=nBc[c];b=d==null?rBc(a):xE((cBc(d),d));tBc();pBc[c]=b;return b}function wb(a,b){return vE(a)?Tkc(a,b):sE(a)? +(cBc(a),a===b):rE(a)?(cBc(a),a===b):pE(a)?a.Dd(b):CD(a)?a===b:!!a&&!!a.equals?a.equals(b):wE(a)===wE(b)}function sX(a,b){switch(b.j.f){case 29:case 26:case 27:kX(a,b);break;case 92:YW(b.b,1);sX(a,b.b);break;default:gY("Invalid INC/DEC target "+b.j,b)}}function bbb(a,b){abb();return U0(a,CFc+jlc("arrayFromIterable",(qxc(),oxc)),false),$Xb(pjb(a,"$jscomp.arrayFromIterable"),DD(yD(VR,1),HDc,7,0,[b]))}function fjb(a,b){var c,d;if(a.j==(o6b(),S5b))return true;if(b.Mf().zd){d=a.k;if(d){c=b.Of().ih((Occ(), +zcc));if(d.Vh(c))return true}}return false}function fBb(a){var b,c,d,e;for(e=(c=(new snc(a)).a.Yd().Qd(),new xnc(c));e.a.Kd();){d=(b=e.a.Ld(),b.fe());if(0==d.d.Fh())return true}return false}function MGb(a,b){var c,d;switch(b.f){case 4:d=a.i.n;c=P0b(new _2b((o6b(),T5b),d,a.i.g,XHb(a.i)),a.k);G1b(c,d.length);return c;default:return null}}function zGb(a){var b,c,d;aIb(a.i);d=a.i.g;b=XHb(a.i)+1;c=llc(AGb(a));c.length>0&&k_b(a.e,c,d,b,d,b+c.length);return new pHb(c,!a.n?YHb(a.i):uGb(a))}function _Mb(a, +b){var c,d,e,f;f=yPb(a.g,0).b.b;c=qNb(a,b);while(IOb(a,(pSb(),lQb))){d=uMb(a,lQb);e=qNb(a,b);c=new GSb(new KWb(f,a.f),c,d,e)}return c}function aNb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;c=bNb(a,b);while(IOb(a,(pSb(),qQb))){d=uMb(a,qQb);e=bNb(a,b);c=new GSb(new KWb(f,a.f),c,d,e)}return c}function RNb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;c=aNb(a,b);while(IOb(a,(pSb(),nQb))){d=uMb(a,nQb);e=aNb(a,b);c=new GSb(new KWb(f,a.f),c,d,e)}return c}function bNb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;c=_Mb(a,b);while(IOb(a, +(pSb(),tQb))){d=uMb(a,tQb);e=_Mb(a,b);c=new GSb(new KWb(f,a.f),c,d,e)}return c}function SNb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;c=RNb(a,b);while(IOb(a,(pSb(),xRb))){d=uMb(a,xRb);e=RNb(a,b);c=new GSb(new KWb(f,a.f),c,d,e)}return c}function i0b(a,b){if(!!b&&!yZb(a.a)&&!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)){s$b(a.a,b,ACc);a.e=true;return true}else return false}function Rs(a,b){var c,d;while(a.Kd()){if(!b.Kd())return false;c=a.Ld();d=b.Ld();if(!(wE(c)===wE(d)||c!=null&&wb(c,d)))return false}return!b.Kd()} +function YEb(a){var b,c;Qd(a.j==(o6b(),M5b));if(!a.b)return false;c=a.b;if(c.j!=t4b)return false;b=c.b;if(b.j!=P3b)return false;return q1b(b.b,IGc)}function E7(a,b,c){var d,e,f;f=c.oi();d=ohb(b);while(d){e=lq(a.a,d.d,f);if(e!=null){c.ti(e);zhb(b);return}else if(iob(d,f,false))return;else d=d.c}}function J8(a,b,c){var d,e;d=Y0b(a,58)!=0?b:c;d=Q0b(d,false);if(a.j==(o6b(),Y3b))return kYb(d,w1b(a));else{e=a.b.b;return W1b(lYb(d,IYb(a.oi())),e)}}function Chb(b,c){var d;try{thb(b,c);b.e=c;whb(b,c);Dhb(b, +c,null);vhb(b,false)}catch(a){a=GV(a);if(qE(a,89)||qE(a,40)){d=a;Bhb(b,d)}else throw HV(a);}}function Uub(){Uub=gW;new k6("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(tZ(),qZ),new emc("Rename prototypes and inline variables cannot be used together."))}function Mlc(a,b,c){var d,e;dBc(a,"src");dBc(b,"dest");yb(a);yb(b);e=a.length;d=b.length;if(c<0||c>e||c>d)throw HV(new Iic);c>0&&IAc(a,0,b,0,c,true)}function EX(a,b,c){var d,e;lX(a,(VKb(),FKb),b);IX((o6b(),i5b),b);e=q6b(b.j);e!=-1&&(d=V0b(b),e!=d&&gY(kDc+e+lDc+ +d,b));GX(a,b.b);FX(a,b.b?b.b.f:null,c)}function vwb(a,b,c,d,e,f,g,h,i,j,k){Zd(a);this.a=a;this.i=b;this.e=c;this.j=d;this.k=e;this.d=f;this.g=g;this.f=h;this.n=i;this.c=j;this.b=k;cwb(this)}function PAb(a,b){var c;if(b==null)return false;if(a===b)return true;Qd(qE(b,180));c=b;return xxc(a.b,c.b)&&xxc(a.e,c.e)&&xxc(a.d,c.d)&&xxc(a.g,c.g)}function UAb(a){var b,c,d,e;for(e=(c=(new inc(a.g)).a.Yd().Qd(),new onc(c));e.a.Kd();){d=(b=e.a.Ld(),b.ee());if(!Tkc(d,IDc))return true}return false}function GGb(a, +b,c,d){var e,f;if(c!=-1&&d==0){f=XHb(a.i)-c;for(e=0;e0&&(yic(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function nHb(a){var b,c;c=0;while(ca.g?edc(a.i,(Occ(),Kcc)):b>1?null:b==1?jpc(a.a,0):edc(a.i,(Occ(),dcc))}function alc(a,b,c){var d,e,f,g;d=(e=b>>>0,e.toString(16));f="\\u"+glc("0000",d.length)+d;g=String.fromCharCode(c);return a.replace(new RegExp(f,"g"),g)}function llc(a){var b,c,d;c=a.length;d=0;while(dd&&a.charCodeAt(b-1)<=32)--b;return d>0||b57)return false}return d==1||a.charCodeAt(0)!=48}function K9(a){var b;if(!a.b)return null;for(b=a.b.b;b;b=b.d)if(b.j==(o6b(),y4b)&&Tkc("$jscomp$generator$function$name",b.b.oi()))return b;return null}function tlb(a,b){mlb();var c;this.b=a;this.d=a.C;this.q=b;this.i=new spc;this.c=false;this.e=0;this.r=a.L.yd;c=a.L.dc;c>0&&c<=100?this.g=c:this.g=100}function dsb(a,b,c,d,e){var f, +g;g=b.getAtIndex(c);if(c>>4];this.a[b|256]=a.c[b&15]}}function Wab(a,b,c){var d,e,f;d=gbb(UXb(DD(yD(VR,1),HDc,7,0,[])),b);for(e=a.b;e;e=e.d)if(e.j==(o6b(),S5b)){f=gbb(o2b(Vab($0b(e,71))),c);J0b(d,f)}return d}function Gvb(){Gvb=gW;Fvb=new k6("JSC_ILLEGAL_PROTOTYPE_MEMBER",(tZ(),rZ),new emc("Prototype property {0} should be a primitive, not an Array or Object."))}function EDb(){EDb=gW;DDb=new FDb("TYPES_ONLY",0);BDb=new FDb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",1);CDb=new FDb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)} +function CEb(a,b){var c,d,e;e=new Ooc;while(b){FEb(a,b);DEb(a,b);GEb(a,b);EEb(a,b);d=b.d;c=b.b;if(c){!!d&&woc(e,d);b=c}else d?b=d:b=Goc(e)}de(e.b==e.c)}function tMb(a,b){var c,d,e;d=b.b;c=b.a;if(d.o.a.b' unexpected",DD(yD(nT,1),WBc,1,5,[]));e=b}return e}function gjc(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==a&&(Zic==null&&(Zic=new RegExp(SBc,"i")),Zic.test(String.fromCharCode(a)))}function R7(a,b){var c,d,e;e=x1b(b,b.g, +85);e!=b.g&&(b.g=e);b.g=new D2b(85,1,b.g);for(d=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();d.Kd();){c=d.Ld();R7(a,c)}}function Lnb(a,b,c,d,e,f){var g;g=Mnb(a,b);if(g)return new Eeb(c,null,d,e,g,null,DD(yD(sT,1),FBc,2,6,[b]));return Jeb(c,d,e,f,Dnb,DD(yD(sT,1),FBc,2,6,[b]))}function dob(a){if(!a.c||a.d.j==(o6b(),e5b))return null;if(a.d.j!=(o6b(),y4b)||h1b(a.d))return dob(a.c);!a.a&&(a.a=(wsb(),Qd(true),new Dsb(a)));return a.a}function Jtb(a,b){var c;return new Vtb(a,Otb((iub(),c=blc(blc(blc(blc(blc(alc(alc(b, +58,45),92,47)," ",_Fc),"[",aGc),"]",bGc),"<",cGc),">",dGc),jub(c)),a.d))}function yzb(a){var b;xzb();new Rwc;new nwc;Zd(a);b=new Ywb(a);Uwb(b,a.G);Vwb(b,a.G);de(!b.c);de(rmc(b.f.c)==0);new Rvb(b.a,b.i,b.e,b.j,b.k,b.d,b.g,b.n,b.b)}function mIb(){var a;if(iIb)return;a=Zxc(gJc);iIb=lIb(Xxc(a,"jsdoc.annotations"));jIb=lIb(Xxc(a,"jsdoc.suppressions"));lIb(Xxc(a,"compiler.reserved.vars"))}function Boc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=ckc($wnd.Math.max(8,d))<<1;if(a.b!=0){b=JAc(a.a,c);Aoc(a, +b,d);a.a=b;a.b=0}else NAc(a.a,c);a.c=d}function SD(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&$Cc;a.m=d&$Cc;a.h=e&_Cc;return true}function aab(a,b){var c,d;if(hab(b))return true;c=new nab;Jhb(a.c,b,c);if(c.a)return false;d=V1b(new _1b((o6b(),e5b)),b);M0b(d,v1b(b));J0b(b,d);return true}function yfb(a){this.c=a;this.a=(uW(),sW)==a.J;this.d=k1(a);this.f=ebb(this.a,this.d,(Occ(),Kcc));this.e=ebb(this.a,this.d,zcc);this.b=ebb(this.a,this.d, +Jbc)}function L_b(a){if((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc||(a.a.a&2)!=0||JZb(a.a)||(a.a.a&aHc)!=0)return false;a.a.a|=512;a.e=true;return true}function c8b(a,b,c,d){E6b();Q6b.call(this,a);this.a=!b?$cc(a,true,DD(yD(pS,1),tKc,23,0,[J6b(this,(Occ(),Kcc))])):b;this.b=!c?J6b(this,(Occ(),Kcc)):c;this.c=d}function fyc(a,b,c,d,e,f,g){var h,i;if(b.Mj()&&(i=a.a.Se(c,d),i<0||!e&&i==0))return false;if(b.Nj()&&(h=a.a.Se(c,f),h>0||!g&&h==0))return false;return true}function wX(a,b,c){switch(c.j.f){case 29:BX(c); +break;case 93:SW(a,b,c);break;case 94:OX(a,b,c);break;case 26:case 27:oX(a,b,c);break;default:gY(tDc+b+pDc,c)}}function h5(){h5=gW;f5=ilc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");g5=ilc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function shb(a,b,c){var d,e;a.f=b;Ahb(a,$0b(b,53),(e=(d=$0b(b,51),!d?null:d.Ig()),e==null?"":e));a.e=b;if(a.a.Zf(a,b,c)){Ehb(a,b);a.e=b;a.a.$f(a,b,c)}a.f=null}function Fib(a){Whb();if(a.j==(o6b(),g5b))switch(a.e.j.f){case 100:case 88:case 78:return true; +case 96:return a.e.b==a;case 65:return Gib(a.e)}return false}function i_b(a,b,c,d){var e,f;e=XYb(a.a);if(e){f=new T$b;Rd(b.charCodeAt(0)!=32&&Okc(b,b.length-1)!=32,hKc);f.d=b;N$b(f,c,d,c,d+b.length);e.a=f;a.e=true}a.b=e}function Fgc(a,b,c){var d,e,f,g;g=c.Ri().Xi();if(!g)return false;f=g.b;for(e=f.Qd();e.Kd();){d=e.Ld();if(!!d.Wi()&&Ggc(a,b,d.Wi()))return true}return false}function Bx(a,b){var c,d,e;if(b.isEmpty())return false;if(qE(b,203)){e=b;for(d=bl(e).Qd();d.Kd();){c=d.Ld();rl(a,c.b.ee(),Jl(c))}}else Ms(a, +b.Qd());return true}function z8b(a){var b,c,d;if(a.v){b=a.cj();if(!b||b.kj()){a.v=false;for(d=a.bj().Qd();d.Kd();){c=d.Ld();if(c.ai()){a.v=true;break}}}else a.v=b.ai()}return a.v}function zxc(a,b){var c,d,e;cBc(b);XAc(b!=a);e=a.b.a.length;for(d=b.Qd();d.Kd();){c=d.Ld();gpc(a.b,cBc(c))}if(e!=a.b.a.length){Axc(a,0);return true}return false}function jBb(a,b){var c,d,e,f;for(f=(d=(new inc(a.g)).a.Yd().Qd(),new onc(d));f.a.Kd();){e=(c=f.a.Ld(),c.ee());if(!XAb(b,new UBb(e)))return false}return true}function Dt(a){var b, +c,d,e,f;if(Lq(a.f,a.b.length)){d=AD(YG,vCc,239,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.rf()){f=c;b=f.d&e;f.a=d[b];d[b]=f}}}function w_(a){var b,c,d;if(Tib(a))return a;d=new Hlc;for(c=0;c31&&b<127?(d.a+=String.fromCharCode(b),d):BC(d,b)}return d.a}function u7(){u7=gW;t7=new k6("JSC_MISSING_ES6_EXTERNS",(tZ(),qZ),new emc("Missing externs definition for Symbol. Did you forget to include the ES6 externs?"))}function $9b(a){var b;if(!a.i){b=a.hj();b== +null?dac(a,ddc(a.A,(Occ(),Kcc)),null):bac(a,new v9b(a.A,a.hj()+gGc,ddc(a.A,(Occ(),qcc)),a.r,null),null)}return a.i.e}function Uac(a,b){var c;c=Z0b(a.b);if(!!c&&Y0b(c,30)!=0)return false;b.Ki()||b.Ii()||b.Ji()||edc(b.A,(Occ(),acc))==b||(b=Zcc(a.a,b));Q1b(Vac(a,b));return true}function Yc(a){var b,c,d;d=new _xc("[","]");for(c=a.Qd();c.Kd();){b=c.Ld();$xc(d,b===a?UBc:b==null?CBc:kW(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function LV(a,b){var c;if(OV(a)&&OV(b)){c=a/b;if(eDc=d)return-1;e=(a.a[c]|0)&ABc<=d)return-1;e=a.a[c]|0}return c*31+gkc(e)}function blc(a,b,c){var d,e;d=clc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=clc(clc((cBc(c),c),EBc,"\\\\\\\\"), +"\\$","\\\\$");return clc(a,d,e)}function Ci(a,b){var c,d,e;c=b.ee();e=b.fe();d=a.Zd(c);if(!(wE(e)===wE(d)||e!=null&&wb(e,d)))return false;if(d==null&&!a.containsKey(c))return false;return true}function y0(a){var b,c,d;b=a.b;if((r1b(b,tEc,tEc.length)||r1b(b,uEc,uEc.length))&&V0b(a)==3){c=b.d;d=c.d;if(l1b(c)&&l1b(d))return new s0((v0(),c),d)}return null}function wob(){wob=gW;vob=new k6("JSC_DUPLICATE_ZIP_CONTENTS",(tZ(),sZ),new emc("Two zip entries containing the same relative path.\nEntry 1: {0}\nEntry 2: {1}"))} +function e5(){e5=gW;d5=new k6("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(tZ(),sZ),new emc("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}function jAb(a){var b,c,d,e;if(null.Rj())return rp(a.b,null.Rj());d=null.Sj;for(c=nAb().Qd();c.Kd();){b=c.Ld();e=jAb(b);!!e&&(d=lyb(d,e))}return 0==d.Fh()?null:d}function K_b(a){if(!((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&!JZb(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=IFc;a.e=true;return true}else return false}function Kp(a){Cn(); +var b,c;if(!a.Kd())return cy(),by;c=a.Ld();if(!a.Kd())return new Xy(c);b=new Rwc;ivc(b,Zd(c));do ivc(b,Zd(a.Ld()));while(a.Kd());return Rp(b)}function VD(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 i1(a,b,c,d){var e,f,g;if(b==null)return null;g=Dzc(a.w,b);if(!g)return null;e=dpb(g,a.j);if(!e)return null;f=dB(e,c,d+1);if(!f)return null;return null}function $nb(a,b,c){var d,e;d=new Fbb; +N0(a.b,d);Klb(new Nlb(a.b,true),null,c);if(qW(a.b.$)){Tjb(new Vjb(a.b),b,c);if(a.b.$==1){e=new Ekb(a.b);Dkb(e,b,c)}}M1(a.b,d)}function tNb(a){var b,c,d;d=yPb(a.g,0).b.b;c=wMb(a);b=null;if(HOb(a,0,(pSb(),ZQb))&&Tkc(yPb(a.g,0).a,"as")){AMb(a,"as");b=wMb(a)}return new nTb(new KWb(d,a.f),c,b)}function Z_(a,b){var c,d;if(a.n==0)for(c=0;c0){a.k+=d;a.n=b.length-Zkc(b,olc(10))}}function d8(a,b,c){var d,e;while(!!b.b&&!!b.b.d){d= +b.b?b.b.f:null;e=V1b(eYb(S0b(d),(o6b(),i6b)),b);h8(b,c,d,e);H0b(c,e,b);P1(a.a,c)}h8(b,c,b.b,b);O1b(b,(o6b(),i6b))}function dYb(a,b,c){if(a.j==(o6b(),g5b))de(!a.b);else{de(a.j==r3b||a.j==u5b);a=new b2b(f4b,a)}ie(tYb(b),"%s can't be an expression",b);J0b(a,b);return new b2b(c,a)}function mYb(a,b,c){var d,e,f,g,h;de(tYb(a));de(b.j==(o6b(),S5b));h=new d2b(E4b,a,b);for(e=c,f=0,g=e.length;f1)&&gY(qDc+e,c);if(!!c.b&& +!c.b.d){d=c.b;switch(d.j.f){case 118:dX(a,b,d);break;default:wX(a,b,d)}}}function fsb(a,b){var c,d;if(!b.ci())return b;d=b.di();if(b.Zh()){c=a.b.ih((Occ(),ecc));return a.b.hh((Zn(),new Zx(qo(DD(yD(nT,1),WBc,1,5,[d,c])))))}return d.Sh()?b:d}function w9b(a,b,c,d,e){B8b.call(this,a,e);this.u=new afc;_ec(this.u,this);this.p=b;this.r=d;this.o=false;d||!!c?(de(!this.pj()),this.q=c):t9b(this,ddc(a,(Occ(),qcc)))}function bW(b,c,d,e){aW();var f=$V;$moduleName=c;$moduleBase=d;FV=e;function g(){for(var a=0;a< +f.length;a++)f[a]()}if(b)try{uBc(g)()}catch(a){b(c,a)}else uBc(g)()}function lD(a){var b,c,d,e;b="kD";c="LA";e=$wnd.Math.min(a.length,5);for(d=e-1;d>=0;d--)if(Tkc(a[d].d,b)||Tkc(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}return a}function U9(a,b,c){if(c.e.j==(o6b(),t4b))return;if(obb(a.b,c)!=0){rbb(a.b,c);zhb(b)}else N1(a.a,Ieb(c,(abb(),$ab),DD(yD(sT,1),FBc,2,6,["Undecomposable expression"])))}function Ei(a,b,c){var d,e,f;for(e=a.Yd().Qd();e.Kd();){d=e.Ld();f=d.ee();if(wE(b)===wE(f)||b!=null&& +wb(b,f)){if(c){d=new Inc(d.ee(),d.fe());e.Md()}return d}}return null}function bcb(a,b){var c,d,e,f;if(b.Vi())for(f=b.dj().Qd();f.Kd();){e=f.Ld();c=$0b((d=b.ij(e),!d?null:d.d),51);if(!!c&&c.wh()){ivc(a.b.b,e);ecb(a,b.gj(e))}}return a.b.b}function MBb(a,b){var c,d;c=null;if(!!a.b&&!!b.b){c=zyb(a.b,b.b);if(!c)return null}d=zyb(a.d,b.d);if(!d)return null;return new FBb(a.c==b.c?a.c:null,d,c,KBb(a.a,b.a))}function Yu(a,b){var c,d;d=a.size();if(b==null)for(c=0;c0)return}}function Tvb(a,b){var c,d,e,f;e=a.Dh();if(!e)return true;f=b.Dh();for(d=e.Qd();d.Kd();){c=d.Ld();if(!!f&&f.contains(c))continue;if(!null.Rj())return false}return true}function lNb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;c=SNb(a,b);if(IOb(a,(pSb(),JRb))){uMb(a,JRb);d=VMb(a,b);uMb(a,CQb); +e=VMb(a,b);return new eTb(new KWb(f,a.f),c,d,e)}return c}function _Yb(a,b){!a.d&&(a.d=new G$b);if(UZb(a,b)||(a.a&vFc)==DBc)return false;if(!a.d.q)a.d.q=new spc;else if(kpc(a.d.q,b,0)!=-1)return false;gpc(a.d.q,b);return true}function Gqc(a){var b,c,d,e;d=Pqc(a.a);b=-2128831035^d;for(c=0;c<=d;c++){e=a.a[c]|0;b=b*BKc&-1^e&255;b=b*BKc&-1^e>>>8&255;b=b*BKc&-1^e>>>16&255;b=b*BKc&-1^e>>>24}return b}function _h(a,b){var c;c=a.c.Zd(b);!c&&(c=a.Ce(b));return qE(c,206)?new Yk(a,b,c):qE(c,130)?new Xk(a,b,c): +qE(c,31)?new Zk(a,b,c):qE(c,45)?ei(a,b,c,null):new ik(a,b,c,null)}function As(a,b){var c,d;Zd(a);if(!b.Kd())return Zd(a),vs==a?us:new ey(new uzc(a));c=new uzc(a);while(b.Kd()){d=b.Ld();Zd(d);c.a.put(d,(Ric(),Pic))==null}return new ey(c)}function Ss(a,b){var c,d;Os(b);d=Ns(a,b);if(!a.a.Kd())throw HV(new Jic(CCc+b+") must be less than the number of elements that remained ("+d+")"));return c=a.a.Ld(),c.ee()}function O_(a){var b;if(a.n>a.o)if(a.d>a.b&&a.d36)return-1;if(a>=48&&a<48+$wnd.Math.min(b,10))return a-48;if(a>=97&&a=65&&a>24;for(a=0;a<=26;a++){c[65+a]=10+a<<24>>24;c[97+a]=10+a<<24>>24}WA=c}function HW(){HW=gW;DW=new IW(gDc,0,"\u001b[31m");GW=new IW(hDc,1,"\u001b[35m");EW=new IW("NO_COLOR",2,"\u001b[39m");CW=new IW("BOLD",3,"\u001b[1m");FW=new IW("UNBOLD",4,"\u001b[0m")}function XW(a,b){var c,d,e;IX((o6b(),T3b),b);e=q6b(b.j);e!=-1&&(d=V0b(b),e!=d&&gY(kDc+e+lDc+d,b));c=b.b;c.j==g5b?BX(c):c.j==r3b?SW(a,T3b,c):OX(a,T3b,c);VW(a,b.b?b.b.f:null)}function V1(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+ +a;c=new HC(d);!!b&&DA(c,(b.f==null&&(b.f=(jD(),e=iD.If(b),lD(e))),b.f));throw HV(c);}function b7(a){var b,c,d,e;b=_0b(pib(a));c=Zd((Whb(),iib(a,Vhb)));for(d=c.d;d;d=d.d){e=a7(d,b);if(e!=null)return e}throw HV(new Wjc("$jscomp.inherits() call not found."));}function lob(a){bob(this);Rd((Whb(),cib(a)||a.j==(o6b(),y4b)||a.j==(o6b(),e5b)||a.j==(o6b(),K5b)&&!a.e||a.j==(o6b(),M5b)||a.j==(o6b(),K5b)),a);this.c=null;this.d=a;this.b=0}function vpb(a,b){var c,d;this.b=new dvc;this.a=a;for(d=Qo(b).Qd();d.Kd();){c= +d.Ld();nmc(this.b,c.ee(),new D5(c.fe(),(tZ(),rZ)))}nmc(this.b,oFc,new D5((f6(),$5),(tZ(),rZ)))}function NAb(a,b,c,d){var e,f,g,h,i;for(h=(f=c.a.Yd().Qd(),new onc(f));h.a.Kd();){g=(e=h.a.Ld(),e.ee());i=new UBb(g);if(!lBb(RAb(a,i),RAb(b,i),d))return false}return true}function V0(a,b){var c,d,e,f,g,h;for(e=(g=b.a.Yd().Qd(),new xnc(g));e.a.Kd();){d=(c=e.a.Ld(),c.fe());d.b=a;O2(d,lub(T2(d).a));h=R2(d,a);if(!h)continue;f=new gab(a);aab(f,h)}}function PMb(a){var b,c,d;b=EOb(a,0);for(d=b.b.Qd();d.Kd();){c= +d.Ld();!!c.b&&_Ob(a,"Ambient variable declaration may not have initializer",DD(yD(nT,1),WBc,1,5,[]))}return b}function L0b(a,b,c){var d,e,f;if(!b)return;Qd(!c||c.e==a);Zd(b.f);if(!c){N0b(a,b);return}for(d=b;d;d=d.d){Qd(!d.e);d.e=a}e=b.f;f=c.d;e.d=f;!f?a.b.f=e:f.f=e;c.d=b;b.f=c}function mdb(a,b){switch(b){case wBc:return a.b.a;case xBc:return a.b.q;case zBc:return a.b.t;case CBc:return a.b.j;case $Fc:case kEc:return a.b.B;default:return null.Rj()}}function wMb(a){var b;b=HMb(a);if(b.c==(pSb(),ZQb))return b; +else{_Lb();if(bMb(b.c))return new aLb(b.b,bMb(b.c).b);else ZOb(a,b,NJc,DD(yD(nT,1),WBc,1,5,[ZQb]))}return null}function qhc(a,b,c,d){var e,f,g;g=shc(b);if(c==0&&shc(a).size()!=g.size())return false;for(e=0;e=97&&b<=122&&(c[d]=b&95&KBc)}return ulc(c,0,c.length)}return a}function Ub(a){var b,c,d,e;e=a.length;for(d=0;d=65&&b<=90&&(c[d]=(b^32)&KBc)}return ulc(c,0,c.length)}return a}function plb(b,c,d,e){if(!b.p)return;try{Xnb(p2(b.b),d,e);DY(b.a,c,b.d)}catch(a){a=GV(a);if(qE(a,40))throw HV(new Xjc("Sanity check failed for pass: "+c));else throw HV(a);}}function AFb(a,b){var c,d,e,f,g;f=gEb(a.a,(o6b(),C4b));for(e= +new Nwc(new Ewc(b.a));e.b!=e.c.a.b;){d=Lwc(e);g=lEb(a.a,B4b,d.d.a);c=d.e;!!c&&J0b(g,yEb(a.a,c));J0b(f,g)}return f}function sGb(a,b){var c,d;for(d=new Ppc(b);d.aa.length||e+f>d.length)return false;g=a.substr(c,f);h=d.substr(e,f);return b?Ukc(g,h):Tkc(g,h)}function NX(b){if(b.qi())try{b.oi()}catch(a){a= +GV(a);if(qE(a,20))gY("getString failed for"+b.j,b);else throw HV(a);}else{b.oi()==null&&gY(rDc,b);b.oi().length==0&&gY(sDc,b)}}function Jib(a){Whb();switch(a.j.f){case 72:case 73:case 101: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 ojb(a,b){var c,d;c=(ie(Wkc(b,olc(46))==-1,GDc,b),new $2b((o6b(),g5b),b));G1b(c,b.length);X0(a).bg(b)&&(d=x1b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new D2b(43,1,c.g));return c}function RPb(a){tPb(a); +if(dQb(sPb(a,a.d)?Okc(a.e.a,a.d):0)){APb(a,"New line not allowed in regular expression literal",DD(yD(nT,1),WBc,1,5,[]));return false}tPb(a);return true}function t0b(a){if((a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc||JZb(a.a)||(a.a.a&iGc)!=0||(a.a.a&bDc)!=0||(a.a.a&hGc)!=0)return false;a.a.a|=hGc;a.e=true;return true}function Ykb(a,b){var c,d;Wkb(a);if(a.D==(y4(),x4))return;b.c=a.q=a.b=bib(a.u);if(!(a.D==w4||a.D==t4))return;c=hlb((d=a.u,a.D==t4,d));b.o=a.r=a.e=c.b;a.D==t4&&(b.g=a.s=a.o=0)} +function qub(a,b,c){var d,e,f;for(d=0;d=0;c--){if(a.getAtIndex(c)==null)return c}else for(c=a.size()-1;c>=0;c--)if(wb(b,a.getAtIndex(c)))return c;return-1}function i_(a,b){var c,d;d=b.oi();if(!b.qi()&&!(a.i&&s6b(d))&&(v6b(),t6b.test(d))&&Tib(d))w$(a.c,d);else{c=v_(d);isNaN(c)?e_(a,b):a.c.gg(c, +b)}if(b.b){w$(a.c,":");b_(a,b.b,1,4)}}function lbb(a){var b,c,d,e;d=pjb(a.a.b,"Math.pow");if(a.a.a){c=k1(a.a.b).jh("Math");b=c.gi().Kh("pow");e=ebb(a.a.a,k1(a.a.b),(Occ(),zcc));d.k=b;P1b(d.b,c);P1b(d.b.d,e)}return d}function KOb(a){switch(yPb(a.g,0).c.f){case 82:case 85:case 86:case 95:case 87:case 83:case 84:case 88:case 89:case 90:case 91:case 93:case 92:return true;default:return false}}function _0b(a){var b,c;switch(a.j.f){case 29:c=a.oi();return c.length==0?null:c;case 26:b=a1b(a,0);return b? +b.a:null;case 33:return cEc;case 99:return dEc;default:return null}}function lB(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=(bBc(f,a.a.length),a.a[f]).Af()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d= +HBc){b=IBc+(a-HBc>>10&JBc)&KBc;c=LBc+(a-HBc&JBc)&KBc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&KBc)}function AYb(a){var b,c,d,e,f;b=new _1b((o6b(),t5b));for(d=a,e=0,f=d.length;e0,rCc,c);d=a.a.Zd(b);if(!d)return 0;g=d.a;if(g>c)f=c;else{f=g;a.a.remove(b)}d.a+=-f;a.b=UV(a.b,f); +return g}function JX(b){var c,d;IX((o6b(),r5b),b);d=q6b(b.j);d!=-1&&(c=V0b(b),d!=c&&gY(kDc+d+lDc+c,b));try{b.ni()}catch(a){a=GV(a);if(qE(a,20))gY("Invalid NUMBER node.",b);else throw HV(a);}}function YX(b){var c,d;IX((o6b(),S5b),b);d=q6b(b.j);d!=-1&&(c=V0b(b),d!=c&&gY(kDc+d+lDc+c,b));try{b.oi()}catch(a){a=GV(a);if(qE(a,20))gY("Invalid STRING node.",b);else throw HV(a);}}function ZX(a,b){var c,d;IX((o6b(),X5b),b);zX(b);kX(a,b.b);d=0;for(c=b.b.d;c;c=c.d){$X(a,b.b?b.b.f:null);c.j==c4b&&++d}d>1&&gY("Expected at most 1 'default' in switch but was "+ +d,b)}function W0(a){var b;if(a.j==(o6b(),M5b))return a;b=hib(a.e);if(!b)throw HV(new Wjc("An enclosing scope is required for change reports but node "+a+" doesn't have one."));return b}function Q4(a,b){var c,d,e,f;for(f=(d=(new ioc(a.c.a)).a.Yd().b.Ij(),new ooc(d));f.a.Kd();){e=(c=f.a.Ld(),c.ee());if(e.Ng(b))return true;else if(e.Mg(b))return false}return false}function CIb(a,b){var c;b.j==(o6b(),o5b)?c=BIb(a,b.b):c=BIb(a,b.b)&&BIb(a,b.b.d);if(!c){a.a.mh(UIc+l3b(lJc,DD(yD(nT,1),WBc,1,5,[wBc])),a.b.Ig(), +a.d,a.c);return false}return true}function Cxc(a,b){var c,d;cBc(b);d=a.b.a.length;gpc(a.b,b);while(d>0){c=d;d=(d-1)/2|0;if(qY(jpc(a.b,d),b)<=0){opc(a.b,c,b);return true}opc(a.b,c,jpc(a.b,d))}opc(a.b,d,b);return true}function yAc(a){var b,c,d;b=window.console!=null?new QAc:null;if(!b)return;Tzc();if(DBc>a.a.Cj())return;c=(d=a.a.Cj(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");PAc(c,a.b)}function $1(a){var b,c;c=(a.L.sd!=(y4(),v4)&&!!a.W&&Zkb(a.W,IEc,true),new Qpb);try{!a.N&&(a.N=new Vub);Uqc(); +krc()}finally{b=UV(NV(Date.now()),c.a);a.L.sd!=v4&&!!a.W&&$kb(a.W,IEc,b)}}function e8(a){var b,c,d,e;if(a.b.a.size()!=0)for(d=(e=(new inc(a.b.a)).a.Yd().Qd(),new onc(e));d.a.Kd();){c=(b=d.a.Ld(),b.ee());c.j==(o6b(),Z3b)&&d8(a,c,c.e);O1b(c,i6b);P1(a.a,c)}}function Fhb(a,b,c){var d,e,f,g;f=b.b;g=!!c&&(Whb(),b.j==(o6b(),y4b)&&!(b.j!=e5b&&djb(b.e)));g||Dhb(a,f,b);a.e=b;whb(a,b);g&&Dhb(a,f,b);d=f.d;e=d.d;Dhb(a,d,b);Dhb(a,e,b);vhb(a,false)}function fpb(a,b){var c,d,e;if(Tkc(b.substr(0,29),"data:application/json;base64,")){c= +dA((cA(),cA(),bA),b.substr(29));e=Rkc((d=c,cmc(),d));return Cob(a.b+".inline.map",e)}return null}function dPb(a,b,c,d,e){this.a=new fPb(this);this.e=new Ooc;this.d=(QJb(),FJb);this.b=a;this.c=b;this.g=new _Pb(b,this.a,c,d);xoc(this.e,e?(kPb(),iPb):(kPb(),jPb));this.f=qPb(this.g)}function s$b(a,b,c){if((a.a&vFc)!=0)throw HV(new Wjc("API tried to add two incompatible type tags. This should have been blocked and emitted a warning."));a.a=a.a&1073741823|c;a.i=b}function m_b(a){if(!((a.a.a&vFc)==wFc|| +(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&!JZb(a.a)&&(a.a.a&aHc)==0&&(a.a.a&32)==0&&a.a.j!=(_$b(),Y$b)){a.a.a|=aHc;a.e=true;return true}return false}function bp(a){Po();var b,c,d;d=a.a.length;switch(d){case 0:return Oo;case 1:b=Vs(new Ppc(a));return hp(b.ee(),b.fe());default:c=rpc(a,AD(WU,vCc,48,a.a.length,0,1));return new ay(c)}}function hy(b,c){var d;if(b===c)return true;if(qE(c,31)){d=c;try{return b.size()==d.size()&&b.containsAll(d)}catch(a){a=GV(a);if(qE(a,67))return false;else throw HV(a);}}return false} +function _kb(a,b,c){this.d=new Bmb;this.f=new Ooc;this.w=new spc;Rd(c!=(y4(),v4),"PerformanceTracker can't work without tracer data.");this.H=NV(Date.now());this.n=a;this.u=b;this.D=c}function cac(a,b,c){if(b.jj()||a.r||!!b.ej()){if(!!a.i&&(a.Th()||a.g==($ac(),Yac))&&H6b(b,(ie(a.Th()||a.g==($ac(),Yac),WHc,a),P6b(a.n))))return;b=new u9b(a.A,a.hj()+gGc,b)}bac(a,b,c)}function z7(a,b,c,d){var e,f,g,h;for(f=Xwc(a.a,0);f.b!=f.d.c;){e=exc(f);if(c!=e.a&&p1b(c,e.a)){h=hob(ohb(b),c.oi());if(!!h&&h.c==e.a){g= +V1b(xYb(e.b),c);y1b(d,c,g);P1(a.b.b,g);return}}}}function P8(a,b,c,d,e){this.g=a;this.d=AYb(DD(yD(VR,1),HDc,7,0,[]));this.e=AYb(DD(yD(VR,1),HDc,7,0,[]));this.j=new nwc;this.i=new nwc;this.b=new nwc;this.f=b;this.a=c;this.c=d;this.k=e}function Hhb(b,c,d){var e,f;try{e=c.e;Zd(e);thb(b,e);b.e=e;whb(b,e);Dhb(b,c,e);de(d.e==e);Dhb(b,d,e);vhb(b,false)}catch(a){a=GV(a);if(qE(a,89)||qE(a,40)){f=a;Bhb(b,f)}else throw HV(a);}}function Hib(a,b){Whb();var c;c=b.e;if(c.j==(o6b(),E4b)&&b==(c.b?c.b.f:null))return a.cg(b.oi()); +else if($ib(b))return a.cg(b.oi());else if(b.j==g5b)return a.bg(b.oi());return false}function mkb(a,b){var c,d,e,f;d=a.b;c=d.mi(false);f=V1b(eYb(c,(o6b(),i6b)),a);d.ti("");L1(b,W0(d));y1(b);e=a.e;if(e.j==V4b)y1b(e,a,f);else{u1b(e,a);K0b(e,f)}L1(b,W0(f));y1(b);K0b(c,a)}function Xkb(a,b){var c,d,e;e=bib(a.u);b.b=a.b-e;a.b=b.c=e;if(!(a.D==(y4(),w4)||a.D==t4))return;c=hlb((d=a.u,a.D==t4,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==t4){e=0;b.f=a.o-e;a.o=b.g=e}}function dnb(a,b,c){var d,e,f,g,h;h=b.b;while(!!h&& +h!=c){g=h.d;Whb();if(h.j==(o6b(),t4b)&&h.b.j==P3b){d=h.b;e=d.b;if(r1b(e,FHc,FHc.length)){f=aKb(e.d.d.d.oi());cnb(a,f)&&wjb(b,h)}}h=g}}function HNb(a){var b,c,d,e;e=yPb(a.g,0).b.b;uMb(a,(pSb(),$Qb));uMb(a,vRb);b=IMb(a,1);uMb(a,AQb);d=pOb(a);c=null;if(IOb(a,LQb)){uMb(a,LQb);c=pOb(a)}return new STb(new KWb(e,a.f),b,d,c)}function BNb(a){var b,c,d;d=yPb(a.g,0).b.b;uMb(a,(_Lb(),uLb).a);c=!!yMb(a,(pSb(),SRb));b=CTb(new GTb((LTb(),ITb)),vMb(a));CNb(a,b,c?(kPb(),iPb):(kPb(),jPb));return vTb(b,new KWb(d,a.f))} +function s1(a,b){var c,d;a.L=b;S1(a,j4(b.Tb));!a.j&&Q1(a,new Ifb((c=a.L.K,d=new Ffb(a),d.d=c,d),L0));a.H=(Itb(),Etb);K1(a);if(!b.A){b.bb=false;b.f=false;b.Fb=false;b.zd=false}t1(a,b.Bd)}function xbb(a,b,c){var d;if(b.j==(o6b(),t3b)){d=b.b;switch(d.j.f){case 29:return true;case 26:return!wbb(a,d.b,c);case 27:return!wbb(a,d.b,c)&&!wbb(a,d.b?d.b.f:null,c)}}return false}function ixb(a,b){if(0==a.Fh()||ABc==a.Fh()||512==a.Fh())return a.e.G;ke(!a.Ih().isEmpty()||!a.Dh().isEmpty(),"Can't getProp %s of type %s", +b,a);return syb(jCb(a.Ih(),b),jCb(a.Dh(),b))}function wFb(a,b){var c,d,e,f;f=gEb(a.a,(o6b(),y5b));if(UEb(a,b.a))for(d=b.a.Qd();d.Kd();){c=d.Ld();e=AEb(a.a,c);de(e.j==g5b||e.j==H5b||e.j==r3b||e.j==u5b||e.j==d4b);J0b(f,e)}return f}function OIb(a,b,c){var d;for(d=0;d0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.Se(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 Zf(a,b,c,d){var e,f;a.$d(b);a._d(c);e=a.b.containsKey(b);if(e&&Ld(c,a.b.Zd(b)))return c;d?$f(a.d,c):Vd(!Af(a.d,c),eCc,c);f=a.b.put(b,c);e&&a.d.b.remove(f);a.d.b.put(c,b);return f}function R4(a,b){var c,d,e,f;for(f=(d=(new ioc(a.c.a)).a.Yd().b.Ij(),new ooc(d));f.a.Kd();){e=(c=f.a.Ld(),c.ee());switch(e.Og(b)){case 0:return 0;case 1:return 1;case 2:continue}}return 2}function cHb(a,b){var c;if(b==(RHb(),GHb)){iHb(a); +c=bHb(a,!a.n?YHb(a.i):uGb(a));if(c){iHb(a);CGb(a,MHb)?!a.n?YHb(a.i):uGb(a):(qGb(a,YIc,a.i.g,XHb(a.i)),null)}return c}else return bHb(a,b)}function qw(a){var b,c,d,e;e=wlc((Em(a.size(),"size"),new Ilc),123);d=true;for(c=Qo(a).Qd();c.Kd();){b=c.Ld();d||(e.a+=TBc,e);d=false;Clc(wlc(Clc(e,b.ee()),61),b.fe())}return(e.a+="}",e).a}function S2(a){!a.c&&(a.c=Q2(a));if(a.e.a.length!=0||a.d.a.length!=0){a.c=new Eub(a.f.a,a.f.a,_2(a.c.c,a.d),_2(a.c.d,a.e),a.c.a);a.e.a=AD(nT,WBc,1,0,5,1);a.d.a=AD(nT,WBc,1,0, +5,1)}return a.c}function d7(a,b){var c;switch(b){case OFc:case "EvalError":case PFc:case QFc:case RFc:case "TypeError":case "URIError":return c=hob(ohb(a),b),!(!!c&&!(!c.a||U2(c.a)));default:return false}}function BBb(a,b,c){switch(a.a.f){case 0:return wlc(cxb(a.d,b,c),94);case 2:return cxb(a.d,b,c);case 1:return wlc(cxb(a.d,b,c),61);default:throw HV(new GC("Unknown Attribute value "+a.a));}}function UNb(a,b,c,d,e,f){var g;g=zTb(ETb(yTb(BTb(wTb(DTb(ATb(FTb(CTb(new GTb((LTb(),KTb)),c),d),e),false), +f),EMb(a)),zNb(a,1)),DMb(a)),new kTb(new KWb(b,a.f)));return vTb(g,new KWb(b,a.f))}function Zpc(a,b){var c;if(wE(a)===wE(b))return true;if(a==null||b==null)return false;if(a.length!=b.length)return false;for(c=0;ca.f.b,b||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb)?zMb(a):uMb(a,DQb))}return go(c.a)}function jAc(a,b){var c,d,e,f;c=kmc(a.a,b);if(!c){d=new wAc(b);e=d.c;f=hlc(e,0,$wnd.Math.max(0,Zkc(e,olc(46))));tAc(d,jAc(a,f));d.c.length==0&&oAc(d,new zAc);nmc(a.a,d.c,d);return d}return c}function f1(a,b){var c,d,e,f;Zd(b);if(!a.C)return null;for(d=O0b(a.C).Qd();d.Kd();){e=d.Ld();f=$0b(e,51);if((!f?null:f.Ig())!= +null&&Skc((c=$0b(e,51),!c?null:c.Ig()),b))return e}return null}function cib(a){Whb();var b;switch(a.j.f){case 82:b=a.e;return!!b&&!(b.j==(o6b(),R3b)||b.j==c4b)&&b.j!=(o6b(),T3b);case 72:case 73:case 101:case 67:case 96:return true;default:return false}}function nxb(a,b,c){var d,e,f;if(a==b)return true;f=b;return e=a.Ih(),e.size()==1&&Vs(e.Qd()).c||(d=f.Ih(),d.size()==1&&Vs(d.Qd()).c)?a.e.J?Yxb(dxb(a),dxb(f)):oxb(dxb(a),dxb(f),c):oxb(a,f,c)}function Mgc(a,b,c){E6b();var d,e,f,g;ffc.call(this,a,b,pgc(b.Ci(), +c));g=vgc(b.Ci());d=(Zn(),new hr);for(f=g.Qd();f.Kd();){e=f.Ld();fr(d,tgc(this.B,e))}this.b=go(d.a);this.a=new Hgc(a,this.B)}function nqc(a){var b,c,d,e,f;if(a==null)return CBc;f=new _xc("[","]");for(c=a,d=0,e=c.length;d=a.a.length)return Hqc(a)-1;d=(a.a[c]|0)&ABc>>>31-b%31-1;while(d==0){if(--c<0)return-1;d=a.a[c]|0}return c*31+(32-fkc(d))-1}function tp(a){var b,c,d,e,f,g,h;b=new nwc;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<0,rCc,c);d=a.a.Zd(b);if(!d){g=0;a.a.put(b,new Ym(c))}else{g=d.a;f=IV(g,c);Ud(JV(f,ABc)<=0,f);d.a+=c}a.b=IV(a.b,c);return g}function MC(a){var b;if(a.c==null){b=wE(a.b)===wE(KC)?null:a.b;a.d= +b==null?CBc:tE(b)?b==null?null:b.name:vE(b)?WCc:qjc(yb(b));a.a=a.a+PCc+(tE(b)?b==null?null:b.message:b+"");a.c="("+a.d+") "+a.a}}function oib(a){Whb();var b;Rd(!!a&&(a.j==(o6b(),i6b)||a.j==$4b||a.j==Z3b)||a.j==(o6b(),y5b)||a.j==(o6b(),T3b)||a.j==(o6b(),f4b)||a.j==(o6b(),d4b)||a.j==(o6b(),K4b),a);b=new spc;nib(a,b);return b}function BEb(a,b){var c,d,e,f;f=nEb(a,b);c=P0b(new $2b((o6b(),S5b),""+f),a.t);d=aEb(a,ZDb(a,b.b));!!d&&(e=x1b(c,c.g,29),e!=c.g&&(c.g=e),!!d&&(c.g=new N2b(29,d,c.g)),c);wEb(c,b.b.b, +b.b.a);return c}function YB(a,b,c){var d,e,f,g;aB(a.b,c-a.c);a.c=c;if(b){e=OB(a.j,b.d);aB(a.b,e-a.g);a.g=e;g=b.c.b;f=b.c.a;aB(a.b,g-a.i);a.i=g;aB(a.b,f-a.f);a.f=f;if(b.b!=null){d=NB(a.j,b.b);aB(a.b,d-a.e);a.e=d}}}function Ccb(a,b,c){var d,e,f,g;e=kmc(a.a.g,b);if(!e){d=Zkc(b,olc(46));if(d>=0){g=b.substr(0,d);f=Ccb(a,g,true);e=Mcb(f,b.substr(d+1),c)}else{e=new Qcb(b,null);gpc(a.a.f,e)}nmc(a.a.g,b,e)}return e}function Cxb(a){var b,c,d;if(a.Ih().isEmpty()){de(!a.Dh().isEmpty());return a}b=(Cn(),new Vr); +for(d=a.Ih().Qd();d.Kd();){c=d.Ld();Sr(b,aBb(c))}return oyb(a.e,a.Fh(),Kp(new Ppc(b.a)),a.Rh(),a.Dh())}function xEb(a){var b;switch(a.p.f){case 6:case 20:case 67:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=JEb(a);if(b.p==($Vb(),xVb))return false;return true;default:return true}}function gXb(a){var b,c;if(a.a==null)return a.b.k=false,aXb(a,CBc,0);b=null;if(qE(a.a,154))b=new _tc(a.a.a);else if(qE(a.a,279))b=a.a;else throw HV(ZWb(a));c=new Hlc;c.a+=""+b;return aXb(a,c,0)}function y9(a){var b, +c;b=w1b(a.f);while(b){!!b.b&&J0b(a.g,gYb(gbb(WXb(b,w1b(b)),b.k)));H0b(a.n.e,eYb(Q0b(b,false),(o6b(),i6b)),a.n);c=x1b(b,b.g,85);c!=b.g&&(b.g=c);b.g=new D2b(85,1,b.g);b=w1b(a.f)}}function odb(a){var b,c;new spc;new nwc;new nwc;new nwc;this.a=new Rwc;this.c=new Rwc;b=o3(a.L,(f6(),W5));new spc;new spc;ivc(this.a,IDc);this.b=new Czb(b);new yzb((c=this.b,X0(a),new tdb(this),c))}function mMb(a){var b,c,d;d=new spc;gpc(d,kkc(0));for(c=0;c=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++0)Lu(this)}this.b=b;this.a=null}function _D(a,b){var c,d,e,f;b&=63;c=a.h&_Cc;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 ID(d& +$Cc,e&$Cc,f&_Cc)}function jib(a,b){Whb();var c,d;de(a.j==(o6b(),t5b));for(d=(!a.b?(Uqc(),Uqc(),Tqc):new S2b(a.b)).Qd();d.Kd();){c=d.Ld();if(c.j==Y3b&&c.b.pi(b,false,true,false,false))return c.b?c.b.f:null}return null}function lXb(a,b){var c,d;d=a.b.n;d=0==d?1:d;DXb(a.b,d);c=Qjc(a.a);if(c==0){--d;DXb(a.b,d);eXb(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;DXb(a.b,d);dXb(a,b);return}eXb(a,b)}function Xt(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= +omc(a.b,b.a);c.a=0;++a.c}else{c=jmc(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 _hb(a){var b;Vd(a.j==(o6b(),m5b),"Expected NEW node, got %s",a.j);if((Y0b(a,42)&15)==15)return false;if((Y0b(a,42)&15&11)==11&&Xhb(a))return false;b=a.b;return b.j!=g5b||!Mhb.contains(b.oi())}function Umb(a,b,c){var d,e,f,g;for(e=(!c.b?(Uqc(),Uqc(),Tqc):new S2b(c.b)).Qd();e.Kd();){d=e.Ld();g=d.b;de(d.j==(o6b(),T5b)&&(g.j==S5b||g.j==u4b));f=g.j==S5b?b+(""+g.oi()):DHc;nmc(a.b,b+(""+d.oi()), +f)}}function T9b(a){var b,c;a.v=true;if(a.k)for(c=new Ppc(a.k);c.ac)return Od(a,c,"start index");if(b<0||b>c)return Od(b,c,"end index");return me("end index (%s) must not be less than start index (%s)",DD(yD(nT,1),WBc,1,5,[kkc(b), +kkc(a)]))}function _mb(){_mb=gW;$mb=new k6("JSC_INSUFFICIENT_OUTPUT_VERSION",(tZ(),rZ),new emc("Built-in ''{0}'' not supported in output version {1}"));Zmb=(Cn(),Mp(DD(yD(nT,1),WBc,1,5,["goog.global.","window."])))}function w8b(a,b){var c;c=a.ij(b);if(!c){if(a.Ji()||a.Fi())return J6b(a,(Occ(),Kbc));else if(a.Ki()||a.Ii()||a.Ji()||edc(a.A,(Occ(),acc))==a)return J6b(a,(Occ(),dcc));return J6b(a,(Occ(),Kcc))}return c.e}function V8(a,b,c,d){var e,f;f=(ie(Wkc(d,olc(46))==-1,GDc,d),new $2b((o6b(),g5b),d)); +E1b(f,$0b(c,29));y1b(c.e,c,f);e=dYb(c,(ie(Wkc(d,olc(46))==-1,GDc,d),new $2b(g5b,d)),i6b);H0b(a.b?a.b.f:null,e,b);return e}function xlb(a){var b,c,d,e,f;d=new spc;for(f=$s(new hsc((mlb(),klb).a.b.Qd()));f.Kd();){e=f.Ld();for(c=new Ppc(a.d);c.a=c?new cB(f+1,e-c):a;else if(f==b)return new cB(f-1,e+c);else if(f>b)throw HV(new Wjc("Cannot undo line cut on a previous line."));else return a}function sEb(a,b){var c,d,e;e=f_b(a.f);!!e&&(d=x1b(b,b.g,29),d!=b.g&&(b.g=d),!!e&&(b.g=new N2b(29,e,b.g)),b);if(a.g){if(!!$0b(b,29)&&sZb($0b(b,29))!=null){c=A0b(a.g);R_b(c,sZb($0b(b,29)));a.g=f_b(c)}E1b(b,a.g)}}function WGb(a,b){var c,d;d=EGb(a,(o6b(), +Y4b));c=OGb(a,b);if(!c)return qGb(a,_Ic,a.i.g,XHb(a.i)),null;iHb(a);if(!CGb(a,(RHb(),MHb)))return qGb(a,YIc,a.i.g,XHb(a.i)),null;!a.n?YHb(a.i):uGb(a);J0b(d,c);return d}function a1b(a,b){var c,d,e;e=(a.b?a.b.f:null).oi();b+=1+e.length;if(a.b.j==(o6b(),E4b)){c=a1b(a.b,b);if(!c)return null}else{d=_0b(a.b);if(d==null)return null;c=new Ilc;c.a+=""+d}Dlc((c.a+=".",c),e);return c}function jqc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){gqc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);jqc(b,a,i,j,-e,f);jqc(b,a,j, +h,-e,f);if(f.Se(a[j-1],a[j])<=0){while(c=0;d--){i=jpc(a.b,d);for(e=i.size()-1;e>=0;e--){f=i.getAtIndex(e);if(b!=f&&Fqc(a.c[b.c],f.c)&&c!=f&&Fqc(a.c[c.c], +f.c))return f}}return null}function WNb(a,b){var c,d,e,f,g;e=yPb(a.g,0).b.b;!yMb(a,(pSb(),lRb))&&uMb(a,mRb);d=(f=yPb(a.g,0).b.b,g=vMb(a),new cUb(new KWb(f,a.f),rMb(a,g)));uMb(a,uRb);c=b?OMb(a):XNb(a);uMb(a,zQb);return new bUb(new KWb(e,a.f),d,c)}function XGb(a){iHb(a);if(!CGb(a,(RHb(),yHb)))return EGb(a,(o6b(),j4b));!a.n?YHb(a.i):uGb(a);iHb(a);if(CGb(a,QHb)&&Tkc(kEc,a.i.n)){!a.n?YHb(a.i):uGb(a);return EGb(a,(o6b(),j6b))}else return $Gb(a,!a.n?YHb(a.i):uGb(a))}function ZHb(a){var b,c,d;for(;;){b=VHb(a); +switch(b){case 42:if((d=VHb(a),a.q[a.r++]=d,--a.b,d)!=47){UHb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=(c=ulc(a.o,0,a.p),cBc(c),c);a.p=0;return a.n;default:UHb(a,b)}}}function OMb(a){var b;b=(Zn(),new hr);while(HOb(a,0,(pSb(),kSb))||HOb(a,0,hRb)||HOb(a,0,EQb)||HOb(a,0,XQb)||HOb(a,0,xQb)||HOb(a,0,dRb)||HOb(a,0,NQb)||HOb(a,0,lRb)||HOb(a,0,mRb)||HOb(a,0,SQb))fr(b,NMb(a));return go(b.a)}function Jac(a,b){E6b();gac.call(this,a,b,new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[edc(a,(Occ(),Ebc)),edc(a,Ebc), +edc(a,Ebc)])),null),null,null,true,true);this.c.b=(ie(this.g==($ac(),Xac)||this.g==Yac,WHc,this),P6b(this.n))}function Xlc(){Xlc=gW;Wlc=new Ylc("UP",0);Qlc=new Ylc("DOWN",1);Plc=new Ylc("CEILING",2);Rlc=new Ylc("FLOOR",3);Ulc=new Ylc("HALF_UP",4);Slc=new Ylc("HALF_DOWN",5);Tlc=new Ylc("HALF_EVEN",6);Vlc=new Ylc("UNNECESSARY",7)}function os(a,b){is();var c,d,e,f;d=Zd(b.ee());f=Zd(b.fe());c=d;if(cyc(a,c)){e=(new doc(new Syc(a,(ezc(),dzc),d))).b.Ij().Ld();throw HV(new bfb("Duplicate keys in mappings "+ +e.ee()+"="+e.fe()+" and "+d+"="+f));}iyc(a,d,f)}function a7(a,b){var c,d,e,f;if(a.j!=(o6b(),t4b))return null;c=a.b;if(c.j!=P3b)return null;e=c.b;if(!r1b(e,tEc,tEc.length))return null;d=Zd(e.d);if(b!=null&&r1b(d,b,b.length)){f=Zd(d.d);return _0b(f)}else return null}function bi(a,b){var c,d;c=a.c.remove(b);if(!c)return a.De();d=a.Be();d.addAll(c);a.d-=c.size();c.clear();return qE(d,206)?my(d):qE(d,130)?(Uqc(),new Dtc(d)):qE(d,31)?(Uqc(),new ctc(d)):qE(d,45)?crc(d):(Uqc(),new Trc(d))}function Gib(a){var b; +if(!(a.j==(o6b(),y4b)&&Lib(a.e)))return false;b=a.e;while(b)switch(b.j.f){case 82:return b.e.j!=y4b;case 65:case 85:case 155:case 108:case 111:return false;default:de(b.j==V4b);b=b.e}return false}function jCb(a,b){var c,d,e,f,g;if(!a)return null;d=null;for(f=a.Qd();f.Kd();){e=f.Ld();c=RAb(e,b);if(!!c&&(b.a.size()==1||txb(c.d,(Qd(b.a.size()!=1),new TBb(b.a._e(1,b.a.size())))))){g=TAb(e,b);d=!d?g:lyb(d,g)}}return d}function JEb(a){while(true)switch(a.p.f){case 6:a=a.a;continue;case 49:a=a.b;continue; +case 42:a=a.a;continue;case 43:a=a.a;continue;case 46:a=a.b;continue;case 55:a=a.b;continue;case 45:a=a.a;continue;default:return a}}function YMb(a){var b,c;c=yPb(a.g,0).b.b;AMb(a,UDc);uMb(a,(pSb(),XQb));if(IOb(a,SRb)){_Ob(a,SJc,DD(yD(nT,1),WBc,1,5,[]));uMb(a,SRb)}b=xTb(CTb(new GTb((LTb(),ITb)),vMb(a)));CNb(a,b,(kPb(),hPb));return vTb(b,new KWb(c,a.f))}function lFb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){e=c;c=hEb(a.a,PEb(b.b.c),yEb(a.a,b.c));i2b(c.i)==-1&&wEb(c,b.o.b,b.o.a);!!e&&K0b(e,c); +if(qE(b.a,107))b=b.a;else{d=yEb(a.a,b.a);K0b(c,d);b=null}!f&&(f=c)}return f}function NGb(a,b){var c,d,e;c=MGb(a,b);if(!c)return null;iHb(a);if(!CGb(a,(RHb(),yHb)))return c;!a.n?YHb(a.i):uGb(a);iHb(a);e=$Gb(a,!a.n?YHb(a.i):uGb(a));if(!e)return null;d=EGb(a,(o6b(),W3b));J0b(d,c);J0b(d,e);return d}function zMb(a){var b;if(HOb(a,0,(pSb(),ORb))&&yPb(a.g,0).b.b.b==a.f.b){uMb(a,ORb);return}b=yPb(a.g,0).b.b.b>a.f.b;if(b||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb))return;_Ob(a,"Semi-colon expected",DD(yD(nT, +1),WBc,1,5,[]))}function JNb(a){var b,c,d;d=yPb(a.g,0).b.b;c=wMb(a);b=null;if(HOb(a,0,(pSb(),ZQb))&&Tkc(yPb(a.g,0).a,"as")){AMb(a,"as");b=vMb(a)}else dMb(c.a)&&ZOb(a,null,NJc,DD(yD(nT,1),WBc,1,5,["as"]));return new UTb(new KWb(d,a.f),c,b)}function KXb(a){if(a.indexOf(":")!=-1||a.indexOf("=")!=-1){if(Wkc(a,olc(58))==-1)return Wkc(a,olc(61));if(Wkc(a,olc(61))==-1)return Wkc(a,olc(58));return $wnd.Math.min(Wkc(a,olc(61)),Wkc(a,olc(58)))}return Wkc(a,olc(32))}function ai(a,b,c){var d;d=a.c.Zd(b);if(!d){d= +a.Ce(b);if(d.add(c)){++a.d;a.c.put(b,d);return true}else throw HV(new Oic("New Collection violated the Collection spec"));}else if(d.add(c)){++a.d;return true}else return false}function b_(a,b,c,d){var e;if(d==3&&b.j==(o6b(),O4b)||(Whb(),gjb(b.j)&&(e=b.e,!!e&&e.j==(o6b(),p4b)&&e.b==b)||(b.j==(o6b(),t5b)||b.j==S3b&&b.b.j==t5b)&&h1b(b.e)||m_(a,b)>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-16384;b=d>>16&2; +c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function nAc(a,b){var c,d,e,f,g,h,i;for(d=rpc(a.a,AD(oV,EKc,271,a.a.a.length,0,1)),f=0,h=d.length;fY0b(c,56)){if(FY(b,c))throw HV(new Wjc(a+"unchanged scope marked as changed: "+wY(b)));}else if(!FY(b,c))throw HV(new Wjc(a+"changed scope not marked as changed: "+wY(b)));}function Eab(){Eab=gW;Cab=new k6(HFc,(tZ(),qZ),new emc("super() not allowed except in the constructor of a subclass"));Dab=new k6("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION",qZ,new emc("super() not allowed here. Did you mean super.{0}?"))} +function mjb(a,b){Whb();var c,d,e,f,g,h,i;d=!(a.j==(o6b(),E4b)||a.j==D4b);c=$Xb(a,DD(yD(VR,1),HDc,7,0,[]));i=x1b(c,c.g,50);i!=c.g&&(c.g=i);(d?1:0)!=0&&(c.g=new D2b(50,d?1:0,c.g));for(f=b,g=0,h=f.length;g0&(a&a-1)==0);case 1:case 3:return 31- +fkc(a);case 0:case 2:return 32-fkc(a-1);case 5:case 4:case 6:d=fkc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw HV(new Nic);}}function aY(a,b){var c,d,e;IX((o6b(),c6b),b);d=V0b(b);(d<2||d>3)&&gY(vDc+d,b);VW(a,b.b);e=false;c=b.b.d;IX(M3b,c);yX(c);if(c.b){XW(a,c.b);e=true}if(V0b(b)==3){VW(a,b.b?b.b.f:null);e=true}e||gY("Missing catch or finally for try statement.",b)}function ekb(a,b){var c,d,e;Qd(b.j==(o6b(),V4b));e=b.b?b.b.f:null;switch(e.j.f){case 83:case 82:case 72:case 73:case 101:case 70:case 71:return; +default:d=(c=new _1b(M3b),c);X1b(d,e);y1b(b,e,d);K0b(d,e);fkb(a,"LABEL normalization",b);return}}function Fvc(a,b){var c,d,e,f,g;f=b==null?0:a.b.Ej(b);d=(c=a.a.get(f),c==null?new Array:c);for(g=0;g>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?_Cc:0;f=c>>b-22;e=a.m>> +b-22|c<<44-b}else{g=d?_Cc:0;f=d?$Cc:0;e=c>>b-44}return ID(e&$Cc,f&$Cc,g&_Cc)}function tAb(a,b,c,d,e){var f,g,h;b=b;if(!b)return false;if(null.Rj())return true;if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return true;g=true;for(null.Rj();null.Rj();){h=null.Rj();f=rp(b.b,h);ae(f,h,b.b);g=g&&Bxb(rp(a.b,h),f,c,d,e)}return g}function Q_b(a,b){if((a.a.a&2)!=0||JZb(a.a)||(a.a.a&aHc)!=0||uZb(a.a)>0||(a.a.a&vFc)==ACc||EZb(a.a)||pZb(a.a)>0||rZb(a.a)!=null||!!a.a.g||(a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)== +OGc)return false;else{f$b(a.a,b);a.e=true;return true}}function p1b(a,b){if(!b||b.j!=a.j)return false;switch(a.j.f){case 29:return a.oi().length!=0&&Tkc(a.oi(),b.oi());case 33:case 99:return true;case 26:return Tkc((a.b?a.b.f:null).oi(),(b.b?b.b.f:null).oi())&&p1b(a.b,b.b);default:return false}}function ndc(){new Rwc;this.o=new dvc;this.k=new lvc;this.b=new lvc;this.c=new nwc;this.e=new dvc;new st;new Bm;new Bm;this.n=new dvc;this.d=new Bgc(this,(Zn(),Zn(),Yn),(null,Yn));this.j=AD(pS,tKc,23,Qcc().length, +0,1);this.i=new dvc;mdc(this)}function Q2(a){var b,c;_d(a.b,"Expected setCompiler to be called first: %s",a);_d($0(a.b),"Expected compiler to call an error manager: %s",a);b=new k3(T2(a));c=R2(a,a.b);if(!c)return Dub(),Cub;j3(b,R2(a,a.b));return new Eub("","",b.c,b.d,b.a)}function Ssb(a,b,c){var d,e,f,g,h,i,j;f=Rsb(a);if(!a.c){h=new Ihb(a.a,new Ysb(a),f);Chb(h,b)}g=new Ihb(a.a,a,f);Hhb(g,b,c);for(j=(e=(new inc(a.e.a)).a.Yd().Qd(),new onc(e));j.a.Kd();){i=(d=j.a.Ld(),d.ee());Usb(a.a,i);kvc(a.e,i)}!!a.b&& +$sb(a.b)}function TMb(a){var b,c,d;c=yPb(a.g,0).b.b;d=bOb(a);while(b=yPb(a.g,0).b.b.b>a.f.b,!(b||HOb(a,0,(pSb(),ORb))||HOb(a,0,(pSb(),zQb))||HOb(a,0,(pSb(),MQb)))&&HOb(a,0,(pSb(),wRb))){uMb(a,(pSb(),wRb));uMb(a,BQb);d=new DSb(new KWb(c,a.f),d)}return d}function j_b(a,b,c,d,e){var f,g,h;if(a.b){h=new T$b;Rd(b.charCodeAt(0)!=32&&Okc(b,b.length-1)!=32,hKc);h.d=b;N$b(h,d,e,d,e+b.length);g=new P$b;f=new _2b((o6b(),g5b),b,d,e);G1b(f,b.length);!!c&&N1b(f,c);g.d=f;N$b(g,d,e,d,e+b.length);J$b(a.b,g)}}function Qab(a, +b,c){var d,e,f;ie(c.j==(o6b(),g5b)||c.j==T5b||c.j==N4b,"Invalid node for declareVar: %s",c);e=c.oi();f=jwc(b.e,e);if(!!f&&f.c==c)return;d=a1(a.a,a.b);!!f||Uab(e,b)||(b.d.j==y4b||Oib(b.d))&&Tkc(e,AFc)?a.c.Rg(b,e,c,d):cob(b,e,c,d)}function Zeb(a){var b,c,d,e,f,g,h;b=AD(_T,WBc,273,a.a.length,0,1);for(f=0;f0||(a.a.a&vFc)== +ACc||EZb(a.a)||pZb(a.a)>0||rZb(a.a)!=null||!!a.a.g||(a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)&&cZb(a.a,b)){a.e=true;return true}return false}function eX(a,b,c){var d,e;e=V0b(c);(e<1||e>2)&&gY(oDc+e,c);d=c.b;switch(d.j.f){case 93:SW(a,b,d);break;case 94:OX(a,b,d);break;default:gY("Invalid destructuring lhs first child for "+b+pDc,c)}!!c.b&&!!c.b.d&&c.b.d==(c.b?c.b.f:null)&&kX(a,c.b.d)}function o$(a){var b,c,d;c=null;if(a.j==(o6b(),E4b))c=(a.b?a.b.f:null).oi();else if(a.j==g5b){d=a.oi(); +b=Zkc(d,olc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(Tkc(c,"inherits"))return v0(),t0;else if(Tkc(c,"mixin"))return v0(),u0;return null}function ZAb(a,b){var c,d,e,f,g,h;if(b.isEmpty())return a;e=($zb(),$zb(),Zzb);for(h=new Lmc((new Dmc(a.g.a)).a);h.b;){g=Kmc(h);f=g.ee();d=DBb(g.fe(),b);e=aAb(e,f,d)}c=!a.b?null:qwb(a.b,b);return sBb(a.a,sAb(a.d,b),e,c,a.e,!!c&&c==c.a.s||a.c,a.f)}function QFb(a,b){var c,d,e,f,g,h;g=b.a;d=PFb(a,g);h=d.oi();if(Wkc(h,olc(11))!=-1){f=g.b.b.c;c=g.b.a.c;fb.d.length)return null;c<1&&(c=1);e=b.d[c-1];d="";try{d=b.a}catch(a){a=GV(a);if(qE(a,102))return null; +else throw HV(a);}return Xkc(d,olc(10),e)==-1?e>=d.length?null:hlc(d,e,d.length):hlc(d,e,Xkc(d,olc(10),e))}function UJb(a){if(RJb(GJb,a))return"es3";if(RJb(HJb,a))return"es5";if(RJb(JJb,a))return"es6";if(RJb(OJb,a))return"ntiSupported";if(RJb(LJb,a))return"es7";if(RJb(NJb,a))return"es8";if(RJb(PJb,a))return"ts";throw HV(new Wjc(a.a.Gd()));}function hMb(){_Lb();return DD(yD(cP,1),_Bc,37,0,[cLb,dLb,eLb,hLb,iLb,kLb,lLb,mLb,nLb,sLb,tLb,uLb,vLb,yLb,zLb,GLb,MLb,PLb,QLb,RLb,TLb,VLb,WLb,XLb,YLb,ZLb,fLb,gLb, +oLb,pLb,qLb,xLb,OLb,wLb,ALb,DLb,ILb,JLb,KLb,LLb,NLb,$Lb,HLb,SLb,rLb,jLb,ULb,ELb,FLb])}function gA(a,b){var c,d;if(b>127)throw HV(new PA((c=b>>>0,MCc+c.toString(16))));d=a.e[b];if(d==-1)if(b<=32||b==127)throw HV(new PA((c=b>>>0,MCc+c.toString(16))));else throw HV(new PA("Unrecognized character: "+String.fromCharCode(b)));return d}function c_(a,b,c,d,e){var f,g;f=e==2;f&&w$(a.c,"(");Z$(a,b.j==(o6b(),y4b)&&Y0b(b,61)!=0?qEc:yBc);if(Y0b(b,59)!=0){w$(a.c,"*");c.oi().length==0||a.c.wg()}a.Bg(c,4);g=$0b(c, +81);!!g&&a.Bg(g,4);a.Bg(c.d,4);l_(a,b);a.Bg(d,4);a.c.pg(e==0);f&&w$(a.c,")")}function WFb(a,b){var c,d,e,f,g;g=hEb(a.a,(o6b(),c6b),zEb(a.a,b.a));c=gEb(a.a,M3b);f=false;d=b.b;if(d){i2b(c.i)==-1&&wEb(c,d.o.b,d.o.a);f=true;J0b(c,yEb(a.a,d))}J0b(g,c);e=b.c;!!e&&J0b(g,zEb(a.a,e));!f&&!!e&&i2b(c.i)==-1&&wEb(c,e.o.b,e.o.a);return g}function $W(a,b,c){var d,e,f,g,h,i;lX(a,(VKb(),jKb),b);IX((o6b(),U3b),b);g=q6b(b.j);g!=-1&&(e=V0b(b),g!=e&&gY(kDc+g+lDc+e,b));h=b.b;h.j==j4b?(f=V0b(h),0!=f&&gY(jDc+f,h)):BX(h); +i=h.d;i.j==j4b?(d=V0b(i),0!=d&&gY(jDc+d,i)):kX(a,i);aX(a,b.b?b.b.f:null,c)}function V$b(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.pi(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 d1(a,b){switch(b.f){case 0:return NDb(),HDb;case 1:case 2:return NDb(),IDb;case 3:return NDb(),JDb;case 4:return NDb(),MDb;case 5:return NDb(),KDb;case 6:case 7:return NDb(), +LDb;default:throw HV(new Wjc("Unexpected language mode: "+a.L.Tb));}}function seb(){seb=gW;reb=new k6("JSC_IMPLICITLY_NULLABLE_JSDOC",(tZ(),rZ),new emc("Name {0} in JSDoc is implicitly nullable, and is discouraged by the style guide.\nPlease add a '!' to make it non-nullable, or a '?' to make it explicitly nullable."))}function Eib(a){Whb();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 gkb(a,b){var c,d,e;switch(b.j.f){case 91:if(!b.b){c=rib(b);d=V1b(new $2b((o6b(),g5b),c),b);J0b(b,d);fkb(a,wHc,b)}break;case 118:if(b.e.j==(o6b(),u5b)){e=V1b(JYb(b.b.oi()),b);y1b(b.e,b,e);J0b(e,b);fkb(a,wHc,b)}break;default:throw HV(new Vjc);}}function tub(a,b,c){var d,e,f;f="/".length;Tkc(c.substr(c.length-f,f),"/")&&(c=hlc(c,0,c.length-1));for(d=0;d0){e.a+=".";f=AD(zE,GBc,46,a.b.n,15,1);bqc(f,f.length,48);e.a+=ulc(f,0,f.length)}e.a+="E+00";c=kW(a.a);Dlc(b,alc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=hlc(b.a,0,d)+"."+glc(b.a,d)}}function pxb(a){if(0==a.Fh()||-1==a.Fh()||ABc==a.Fh()||a.Fh()==64||a.Fh()==128||a.Fh()==32||a.Fh()==256||(a.Fh()&-25)==0&&(a.Fh()&24)!=0||a.Fh()==1||a.Fh()==4&&a.Dh().size()==1||512==a.Fh()||lGc==a.Fh())return false;return!(a.Fh()==2&&a.Ih().size()==1)}function z_b(a,b){if(!!b&& +!((a.a.a&2)!=0||JZb(a.a)||(a.a.a&aHc)!=0||uZb(a.a)>0||(a.a.a&vFc)==ACc||EZb(a.a)||pZb(a.a)>0||rZb(a.a)!=null||!!a.a.g||(a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)){s$b(a.a,b,OGc);a.e=true;return true}else return false}function q0b(a,b){if(!!b&&!((a.a.a&2)!=0||JZb(a.a)||(a.a.a&aHc)!=0||uZb(a.a)>0||(a.a.a&vFc)==ACc||EZb(a.a)||pZb(a.a)>0||rZb(a.a)!=null||!!a.a.g||(a.a.a&vFc)==wFc||(a.a.a&vFc)==DBc||(a.a.a&vFc)==OGc)){s$b(a.a,b,wFc);a.e=true;return true}else return false}function h9(a,b,c){var d, +e,f,g,h;d=e9++;g=gYb(D9(a,WXb(Q0b(b,false),D9(a,new I2b(d)))));h=gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc,pGc),new $2b((o6b(),g5b),pGc))),D9(a,new I2b(c)))));f=n9(a,d);e=ZXb(DD(yD(VR,1),HDc,7,0,[g,h,J9()]));J0b(e,f);return e}function eqb(a,b,c){dqb();var d,e,f,g,h,i,j,k;if(RJb(j4(a.L.Tb),(QJb(),IJb)))for(j=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();j.Kd();){i=j.Ld();h=$0b(i,89);if(!!h&&!RJb(HJb,h))for(e=c,f=0,g=e.length;f",dGc),jub(c));Itb();if(Tkc(b.substr(0,2),KEc)||Tkc(b.substr(0,3),YHc)){e=a;d=e.lastIndexOf("/");f=jub(e.substr(0,d+1)+(""+f))}return f} +function f2b(a,b,c,d,e){Qd(!b.e);Qd(!b.d);Qd(!b.f);Qd(!c.e);Qd(!c.d);Qd(!c.f);Qd(!d.e);Qd(!d.d);Qd(!d.f);Qd(!e.e);Qd(!e.d);Qd(!e.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=e;b.e=this;c.d=d;c.f=b;c.e=this;d.d=e;d.f=c;d.e=this;e.d=null;e.f=d;e.e=this;this.i=-1}function Wu(a,b){var c,d,e;if(wE(b)===wE(Zd(a)))return true;if(!qE(b,45))return false;d=b;e=a.size();if(e!=d.size())return false;if(qE(d,65)){for(c=0;c>>, objs <<<%s>>>, typeVar <<<%s>>>, enums <<<%s>>>", +DD(yD(nT,1),WBc,1,5,[kkc(b),c,d,e]))));}function XIb(a,b){var c,d;if(!vIb(a,b,(zJb(),xJb)))return false;d=(Vd(b.j==(o6b(),P3b),hJc,b),V0b(b)-1);for(c=0;c=0?a.c=new tpc(a.b):a.c=new spc;Fi(a.a,b.a);nB(new sB(a,b.d))}function Fwb(a,b,c,d,e,f,g,h,i,j,k){var l;!b&&(b=(Zn(),Zn(),Yn));!c&&(c=(Zn(),Zn(),Yn));!h&&(h=(Po(),Po(),Oo));if(d)for(l=c.size()-1;l>=0;l--)if(exb(d,c.getAtIndex(l)))c.removeAtIndex(l);else break;return new vwb(a,go(b),go(c),d,e,f,g,Xo(h),Ed(i,(eCb(),dCb)),j,k)}function fAb(a,b,c){var d,e,f,g;c.ji()&&(b.a+="!",b);if(a.b.d.d.isEmpty())return null.Rj();Dlc(b,null.Sj);g=null.Sj;de(a.b.ef().containsAll(g)); +e=true;b.a+="<";for(null.Rj();null.Rj();){f=null.Rj();e?e=false:(b.a+=",",b);d=rp(a.b,f);cxb(Zd(d),b,c)}b.a+=">";return b}function AIb(a){var b,c,d,e;c=new zDb(new lvc,new lvc,(NDb(),JDb),1);e=oIb(a.b,a.f,c,a.a);b=e.a;if(b.j!=(o6b(),M5b)||b.b.j!=t4b){a.a.mh(UIc+l3b(jJc,DD(yD(nT,1),WBc,1,5,[kJc])),a.b.Ig(),a.d,a.c);return false}d=b.b.b;if(!UIb(a,d))return false;wIb(a,d);a.e=d;return true}function QD(a){var b,c,d;c=a.l;if((c&c-1)!=0)return-1;d=a.m;if((d&d-1)!=0)return-1;b=a.h;if((b&b-1)!=0)return-1; +if(b==0&&d==0&&c==0)return-1;if(b==0&&d==0&&c!=0)return gkc(c);if(b==0&&d!=0&&c==0)return gkc(d)+22;if(b!=0&&d==0&&c==0)return gkc(b)+44;return-1}function VX(a){var b,c,d;IX((o6b(),Q5b),a);c=q6b(a.j);c!=-1&&(b=V0b(a),c!=b&&gY(kDc+c+lDc+b,a));d=a.e;switch(d.j.f){case 28:case 23:a==d.b&&gY("SPREAD node is not callable.",a);break;case 42:break;default:gY("SPREAD node should not be the child of a "+d.j+" node.",a)}}function aGb(a,b){var c,d,e,f;switch(b.a.f){case 30:cFb(a,b,(VKb(),mKb));e=(o6b(),Z3b); +break;case 38:cFb(a,b,(VKb(),BKb));e=(o6b(),$4b);break;case 25:e=(o6b(),i6b);break;default:throw HV(new Vjc);}f=gEb(a.a,e);for(d=b.b.Qd();d.Kd();){c=d.Ld();J0b(f,AEb(a.a,c))}return f}function Evb(){Evb=gW;Cvb=new k6("JSC_PRIMITIVE_OBJECT",(tZ(),sZ),new emc("Explicit creation of a {0} object."));Dvb=new k6("JSC_PRIMITIVE_OBJECT_DECLARATION",sZ,new emc("Declaration of {0} object instead of primitive type."));Cn();Mp(DD(yD(nT,1),WBc,1,5,[SFc,UFc,WCc]))}function N$b(a,b,c,d,e){if(b>d)throw HV(new Wjc("Recorded bad position information\nstart-line: "+ +b+RCc+"end-line: "+d));else if(b==d&&c>=e)throw HV(new Wjc("Recorded bad position information\nline: "+b+RCc+"start-char: "+c+RCc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function _eb(a){var b,c;new wvc;this.a=AD(LL,WBc,290,a.a.length,0,1);for(c=0;c=0,"Invalid module index: %s",c);b.c=c;this.a[c]=b}this.b=Xeb(this);this.c=Zeb(this);Yeb(this)}function h4(){h4=gW;$3=new k4(WEc,0);_3=new k4(XEc,1);a4=new k4("ECMASCRIPT5_STRICT", +2);c4=new k4("ECMASCRIPT_2015",3);b4=new k4("ECMASCRIPT6_TYPED",4);d4=new k4("ECMASCRIPT_2016",5);e4=new k4("ECMASCRIPT_2017",6);f4=new k4("ECMASCRIPT_NEXT",7);g4=new k4("NO_TRANSPILE",8)}function Dcb(a,b){var c,d,e;if(!b)return Zcb(),Xcb;switch(b.j.f){case 96:return Zcb(),Tcb;case 43:return Zcb(),Wcb;case 65:return Zcb(),Ucb;case 61:return Dcb(a,b.b?b.b.f:null);case 60:c=b.b.d;d=Dcb(a,c);if(d!=(Zcb(),Xcb))return d;e=c.d;return Dcb(a,e)}return Zcb(),Xcb}function UGb(a,b){var c,d;c=false;if(b==(RHb(), +AHb)){b=!a.n?YHb(a.i):uGb(a);if(b==MHb){a.n=b;return kHb(a,(o6b(),i4b),new _1b(j4b))}c=true}d=ZGb(a,b);if(d){iHb(a);if(c)d=kHb(a,(o6b(),i4b),d);else if(CGb(a,EHb)){!a.n?YHb(a.i):uGb(a);iHb(a);d=kHb(a,(o6b(),o4b),d)}}return d}function ueb(){ueb=gW;teb=new k6("JSC_J2CL_REFERENCE_EQUALITY",(tZ(),sZ),new emc("Reference equality may not be used with the specified type: {0}"));Po();new ay(DD(yD(WU,1),vCc,48,0,[(Dm(VGc,WGc),new Wq(VGc,WGc)),(Dm(XGc,YGc),new Wq(XGc,YGc)),(Dm(ZGc,$Gc),new Wq(ZGc,$Gc))]))} +function yNb(a,b,c){var d,e,f;!c&&(c=new fUb(BMb(a,yPb(a.g,0).b.b)));uMb(a,(pSb(),ORb));IOb(a,ORb)?e=new fUb(BMb(a,yPb(a.g,0).b.b)):e=IMb(a,1);uMb(a,ORb);IOb(a,AQb)?f=new fUb(BMb(a,yPb(a.g,0).b.b)):f=IMb(a,1);uMb(a,AQb);d=pOb(a);return new sTb(new KWb(b,a.f),c,e,f,d)}function gac(a,b,c,d,e,f,g){E6b();v9b.call(this,a,b,edc(a,(Occ(),Ubc)),g,e);this.e=(Zn(),Zn(),Yn);this.d=(null,Yn);this.t=true;Qd(true);Zd(c);this.j=null;if(f){this.g=($ac(),Xac);this.n=d?d:new bbc(a,this,g)}else{this.g=($ac(),Zac);this.n= +d?d:edc(a,Kcc)}this.c=c;this.f=false}function ZEb(a,b,c,d){var e,f;if(d){switch(d.f){case 42:e=(_$b(),$$b);break;case 41:e=(_$b(),Z$b);break;case 40:e=(_$b(),Y$b);break;default:throw HV(new Wjc("Unexpected access modifier type"));}fFb(a,b,(VKb(),bKb));f=x1b(c,c.g,84);f!=c.g&&(c.g=f);!!e&&(c.g=new N2b(84,e,c.g))}}function NFb(a,b){var c,d,e,f,g,h,i,j,k;i=b.a;f=mEb(a.a,(j=i.a,k=Zkc(j,olc(47)),j.substr(1,k-1)));wEb(f,i.b.b,i.b.a);g=hEb(a.a,(o6b(),G5b),f);h=i.a;e=Zkc(h,olc(47));c="";e=0x7fffffffffffffff)return jE(),fE;e=false;if(a<0){e=true;a=-a}d=0;if(a>=cDc){d=xE(a/cDc);a-=d*cDc}c=0;if(a>=bDc){c=xE(a/bDc);a-=c*bDc}b=xE(a);f=ID(b,c,d);e&&OD(f);return f}function Kib(a,b){Whb();switch(a.j.f){case 71:return a.b== +b;case 44:return a.b==b||(a.b?a.b.f:null)==b;case 72:case 73:case 101:case 70:case 83:case 77:case 78:return(a.b?a.b.f:null)==b;case 66:case 67:case 68:return a.b!=b;case 69:return true;default:de(Jib(a));return false}}function Hwb(a,b){var c;if(!a)return null;c=a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()).d:null;if(!c)return xxb(a,b);if(null.Rj())return!null.Rj()&&!c.b.d.d.isEmpty()?Hxb(sBb(null.Sj,c,null,null,null,false,null.Sj)):null.Sj;if(b.isEmpty())return a;return Hxb(hBb(sAb(c,b)))}function $Ab(a, +b,c,d,e,f){var g,h,i,j,k,l,m;for(k=(i=c.a.Yd().Qd(),new onc(i));k.a.Kd();){j=(g=k.a.Ld(),g.ee());l=new UBb(j);m=RAb(a,l);h=RAb(b,l);if(m.a==(QBb(),OBb)){if(!!h&&!Bxb(m.d,h.d,d,e,f))return false}else if(!h||h.a==OBb||!Bxb(m.d,h.d,d,e,f))return false}return true}function oBb(a,b,c,d){var e,f,g,h,i,j;f=($zb(),$zb(),Zzb);for(h=wy(ly(new inc(a),new inc(b)));Ih(h);){g=Jh(h);i=iBb(a,c,g);j=iBb(b,d,g);e=null;!i?e=j.a==(QBb(),OBb)?j:new FBb(j.c,j.d,j.b,OBb):!j?e=i.a==(QBb(),OBb)?i:new FBb(i.c,i.d,i.b,OBb): +e=IBb(i,j);f=aAb(f,g,e)}return f}function fac(a,b,c){var d,e,f,g,h;e=null;if(Y7b(a.c,b.c,0,new ubc(true)))e=a.c.a;else return null;f=c?a.c.b.Bi(b.c.b):a.c.b.Ai(b.c.b);h=null;if(g7b(a.n,b.n))h=a.n;else{d=c?a.n.Bi(b.n):a.n.Ai(b.n);h=d}g=a.c.c||b.c.c;return new gac(a.A,null,new c8b(a.A,e,f,g),h,null,false,false)}function cnb(a,b){switch(UJb(b)){case "ts":return bnb(a,(h4(),b4));case "es8":return bnb(a,(h4(),e4));case "es7":return bnb(a,(h4(),d4));case "es6":case "es6-impl":return bnb(a,(h4(),c4));case "es5":return bnb(a, +(h4(),_3));case "es3":return bnb(a,(h4(),$3));default:return false}}function eC(a,b){var c,d,e,f,g,h,i;g=new Ooc;for(d=new Ppc(a.c.e);d.a=HBc&&a<=UCc){c=(XAc(a>= +0&&a<=UCc),a>=HBc?DD(yD(zE,1),GBc,46,15,[IBc+(a-HBc>>10&JBc)&KBc,LBc+(a-HBc&JBc)&KBc]):DD(yD(zE,1),GBc,46,15,[a&KBc]));AC(c[0],b);AC(c[1],b);return}vlc(vlc(vlc(vlc((b.a+="\\u",b),yC[a>>>12&15]),yC[a>>>8&15]),yC[a>>>4&15]),yC[a&15])}function P4(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Qd();i.Kd();){h=i.Ld();g=(u5(),gmc(t5,h)||mmc(t5,h,new x5(h)),jmc(t5,h));for(f=(d=(new ioc(a.c.a)).a.Yd().b.Ij(),new ooc(d));f.a.Kd();){e=(c=f.a.Ld(),c.ee());if(e.Mg(g))continue j;else if(e.Ng(g))return false}return false}return true} +function cA(){cA=gW;bA=new zA("base64()",KCc,kjc(61));new zA("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",kjc(61));new rA("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",kjc(61));new rA("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",kjc(61));new wA}function D8(a){var b,c,d,e,f;d=$0b(a,29);if(d){c=a.j==(o6b(),F4b)||Y0b(a,73)!=0;if(c&&!!((vFc&d.a)==ACc?d.i:null))return(vFc&d.a)==ACc?d.i:null;else{e=wZb(d);if(e.size()==1){f=xZb(d,Vs(wZb(d).Qd()));if(f)return f}}}return new D0b(new _1b((o6b(), +E5b)),(b=$0b(a,51),!b?null:b.Ig()))}function I1(b,c){var d,e,f,g;f=new Wmb(b);for(e=c.Qd();e.Kd();){d=e.Ld();if(!Skc(d.a.Lg().b,".json"))continue;d.b=b;try{zob(d.a.Lg(),"("+d.a.Lg().a+")")}catch(a){a=GV(a);if(qE(a,102))continue;else throw HV(a);}g=R2(d,b);if(!g)continue;de(g.j==(o6b(),M5b));Jhb(f.a,g,f)}return Xo(f.b)}function Vkb(a){var b,c,d,e,f;f=new dvc;for(d=new Ppc(a.w);d.a2)&&gY(oDc+d,b);b.b.j==s4b?jX(b.b):WX(a,b.b,c);!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&YX(b.b.d)}}function KIb(a,b){if(!vIb(a,b,(zJb(),oJb)))return false;if((Vd(b.j==(o6b(),P3b),hJc,b),U0b(b,1)).j!=S5b){a.a.mh(UIc+l3b(iJc,DD(yD(nT,1),WBc,1,5,["property name"])),a.b.Ig(),a.d,a.c);$Ib(a,oJb.d);return false}if(!UIb(a,(Vd(b.j==P3b,hJc,b),U0b(b,2)))){$Ib(a,oJb.d);return false}return true}function Tjb(a,b,c){var d,e,f,g,h;Jhb(a.b,c,new ukb(a)); +Khb(a.b,new lkb(a.b,a.a),b,c);f=new ykb;g=new Mab(a.b,new Yjb(a));h=new Ihb(a.b,f,g);Hhb(h,b,c);e=new Ofb;Khb(a.b,e,b,c);qkb(new rkb(a.b,a.a),b,c);d=new $jb;Jhb(a.b,c,d);d.a.a.size()==0||Jhb(a.b,c,new wkb(a,d.a));qW(a.b.$)||(a.b.$=1)}function Hd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=wlc(Dlc(new Ilc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=TBc;h.a!=null&&wlc(Dlc(c,h.a),61);if(g!=null&&(yb(g).i&4)!=0){e=DD(yD(nT,1),WBc,1,5,[g]);b=Ypc(e,new lvc);Blc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+= +"}",c).a}function pX(a,b){var c,d,e;lX(a,(VKb(),EKb),b);IX((o6b(),K4b),b);d=q6b(b.j);d!=-1&&(c=V0b(b),d!=c&&gY(kDc+d+lDc+c,b));b.b.j==g5b?BX(b.b):IX(j4b,b.b);e=b.b.d;switch(e.j.f){case 105:rX(e);break;case 107:e.oi()==null&&gY(rDc,e);e.oi().length==0&&gY(sDc,e);break;default:IX(j4b,e)}YX(U0b(b,2))}function Otb(a,b){Itb();var c,d,e,f;e=a;!Tkc(e.substr(0,"/".length),"/")&&!(Tkc(e.substr(0,KEc.length),KEc)||Tkc(e.substr(0,YHc.length),YHc))&&(e="/"+e);for(d=b.Qd();d.Kd();){c=d.Ld();if(Tkc(e.substr(0, +c.length),c)){f=glc(e,c.length);if(Tkc(f.substr(0,1),"/"))return f.substr(1)}}return a}function MNb(a){var b,c,d,e,f,g;e=yPb(a.g,0).b.b;uMb(a,(pSb(),dRb));d=vMb(a);c=EMb(a);f=(Zn(),new hr);if(IOb(a,TQb)){uMb(a,TQb);g=vOb(a);gpc(f.a,Zd(g));while(IOb(a,DQb)){uMb(a,DQb);g=vOb(a);!!g&&(gpc(f.a,Zd(g)),f)}}uMb(a,uRb);b=ONb(a);uMb(a,zQb);return new WTb(new KWb(e,a.f),d,c,go(f.a),b)}function Mp(a){Cn();var b,c,d,e,f,g;g=new Rwc;Vqc(g,a);for(c=(f=(new inc(g.a)).a.Yd().Qd(),new onc(f));c.a.Kd();){b=(d=c.a.Ld(), +d.ee());Zd(b)}switch(g.a.size()){case 0:return cy(),by;case 1:return new Xy((e=(new inc(g.a)).a.Yd().Qd(),d=(new onc(e)).a.Ld(),d.ee()));default:return new dy(g)}}function v7(a,b,c){var d;d=b.b.j==(o6b(),j4b);Whb();if(b.j==U3b&&Lib(b.e)||d&&c.j==g5b||d&&c.j==t3b&&l1b(c.b)&&c.e.j==t4b)return false;if($hb(b,false,null)||obb(a.c,b)!=1){N1(a.b,Ieb(b,(abb(),$ab),DD(yD(sT,1),FBc,2,6,["class expression that cannot be extracted"])));return false}return true}function IFb(a,b){var c,d;if(!b)return lEb(a.a, +(o6b(),g5b),RIc);else if(b.c==(pSb(),ZQb))d=EFb(a,b,true);else if(b.c==sRb){d=BEb(a.a,b);c=x1b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new D2b(36,1,d.g)}else{d=PFb(a,b);c=x1b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new D2b(36,1,d.g)}de(d.j==(o6b(),S5b));return d}function kFb(a,b){var c,d,e,f,g,h;h=gEb(a.a,(o6b(),M5b));for(d=b.b.Qd();d.Kd();){c=d.Ld();J0b(h,yEb(a.a,c))}gFb(h);e=YEb(h);if(e||SJb(a.a.e,(VKb(),EKb))){f=gEb(a.a,e5b);i2b(f.i)==-1&&wEb(f,b.o.b,b.o.a);M0b(f,v1b(h));J0b(h,f);e&&(g=x1b(h,h.g,87),g!=h.g&&(h.g= +g),h.g=new D2b(87,1,h.g))}return h}function GOb(a,b){var c,d,e,f;f=yPb(a.g,0).b.b;uMb(a,(pSb(),oSb));d=false;c=null;e=yPb(a.g,0).b.b.b>a.f.b;if(!(e||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb))){d=!!yMb(a,SRb);NOb(a)?c=VMb(a,b):d&&_Ob(a,"yield* requires an expression",DD(yD(nT,1),WBc,1,5,[]))}return new CWb(new KWb(f,a.f),d,c)}function ajb(a){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 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 vub(a){var b,c,d,e,f,g,h,i;g=new uzc(new yub);for(d=a.Qd();d.Kd();){c=d.Ld();e=elc(c,"/node_modules/",0);f="";for(b=0;ba.f.b,!(c||HOb(a,0,(pSb(),ORb))||HOb(a,0,(pSb(),zQb))||HOb(a,0,(pSb(),MQb))))){e=HMb(a);return new wWb(new KWb(f,a.f),e,1,b)}else return b}}function eBb(a,b){var c,d;if(a==a.a.L||b==b.a.L)return true;c=a.d;d=b.d;if((null.Rj()||null.Rj())&&(null.Rj()||null.Rj()))return true;if(null.Rj())return a.c&&WAb(b,a,new WBb(($zb(),$zb(),Zzb))); +if(null.Rj())return b.c&&WAb(a,b,new WBb(($zb(),$zb(),Zzb)));return gAb(c,d)||gAb(d,c)||(eAb(),true)}function WEb(a,b,c,d){var e,f,g;e=d.j==(o6b(),S3b)?d.b:d;n1b(e)||a.a.d.lh(oXb("Invalid %s %s operand.",DD(yD(nT,1),WBc,1,5,[c?"postfix":"prefix",b==P4b?"increment":"decrement"])),a.a.r,i2b(d.i),h2b(d.i));f=hEb(a.a,b,d);g=x1b(f,f.g,32);g!=f.g&&(f.g=g);(c?1:0)!=0&&(f.g=new D2b(32,c?1:0,f.g));return f}function sFb(a,b){var c,d,e;cFb(a,b,(VKb(),EKb));c=null;if(b.e)de(!b.a&&!b.b);else if(b.a){de(!b.b); +c=yEb(a.a,b.a)}else c=dGb(a,(o6b(),s4b),b.b);!c&&(c=gEb(a.a,(o6b(),j4b)));i2b(c.i)==-1&&wEb(c,b.o.b,b.o.a);d=hEb(a.a,(o6b(),q4b),c);if(b.c){e=PFb(a,b.c);J0b(d,e)}s1b(d,64,b.e);s1b(d,63,b.d);return d}function $lb(){$lb=gW;Zlb=new k6("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",(tZ(),sZ),new emc("Unrecognized require.ensure call: {0}"));Ylb=new k6("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",sZ,new emc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}function HIb(a, +b){var c,d,e;if(!vIb(a,b,(zJb(),vJb)))return false;e=(Vd(b.j==(o6b(),P3b),hJc,b),U0b(b,1));if(e.j!=S5b){a.a.mh(UIc+l3b(jJc,DD(yD(nT,1),WBc,1,5,["native type"])),a.b.Ig(),a.d,a.c);$Ib(a,vJb.d);return false}d=(lGb(),c=mHb(e.oi()),ZGb(c,!c.n?YHb(c.i):uGb(c)));S0b(e);J0b(b,d);return true}function pOb(a){var b;if(HOb(a,0,(pSb(),ZQb))&&Tkc(yPb(a.g,0).a,UDc)&&(b=yPb(a.g,1).b.b.b>yPb(a.g,0).b.a.b,!(b||HOb(a,1,ORb)||HOb(a,1,zQb)||HOb(a,1,MQb)))&&HOb(a,1,XQb))return YMb(a);if(HOb(a,0,XQb))return BNb(a);if(HOb(a, +0,xQb))return fNb(a,false,false);if(IOb(a,hRb))return FOb(a);return tOb(a)}function Bgc(a,b,c){var d,e,f,g,h,i,j;Zd(b);Zd(c);Qd(c.size()<=b.size());this.b=a;this.d=b;this.e=c;g=new Igc(a,this);f=this.e.size();e=this.d.size();h=AD(pS,tKc,23,e,0,1);for(d=0;d=a.c.a.length)return null;de(b>=0);de(c>=0);if(jpc(a.c,b)==null)return fB(a,b);d=jpc(a.c, +b);de(d.a.length!=0);if((bBc(0,d.a.length),d.a[0]).Af()>c)return fB(a,b);e=lB(d,c,0,d.a.length-1);fe(e>=0,"unexpected:%s",e);return eB(a,(bBc(e,d.a.length),d.a[e]))}function Ltb(a,b,c,d,e,f){Itb();Zd(b);Zd(c);Zd(d);this.e=d;this.a=!a?new Xtb:a;this.d=Ntb(b);this.b=Ptb(Is(Is(c,Htb),d),this.d);switch(e.f){case 0:this.c=new ytb(this.b,this.d,this.a);break;case 1:this.c=new uub(this.b,this.d,f,this.a);break;default:throw HV(new GC("Unexpected resolution mode "+e));}}function MIb(a,b){var c,d;if(b.j== +(o6b(),t5b))for(d=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();d.Kd();){c=d.Ld();if(c.b){if(!UIb(a,c.b))return false}else{a.a.mh(UIc+l3b(iJc,DD(yD(nT,1),WBc,1,5,["property, missing type"])),a.b.Ig(),a.d,a.c);return false}}else if(!UIb(a,b))return false;return true}function gyc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.Se(c.d,b.d);if(e==0){d.d=Bnc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=gyc(a,b.a[f],c,d);if(hyc(b.a[f]))if(hyc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else hyc(b.a[f].a[f])? +b=oyc(b,1-f):hyc(b.a[f].a[1-f])&&(b=nyc(b,1-f))}return b}function RMb(a){var b,c,d;c=yPb(a.g,0).b.b;b=(Zn(),new hr);uMb(a,(pSb(),wRb));d=null;while(IOb(a,DQb)||IOb(a,RRb)||NOb(a)){d=null;IOb(a,DQb)?fr(b,new fUb(BMb(a,yPb(a.g,0).b.b))):IOb(a,RRb)?fr(b,rOb(a)):fr(b,VMb(a,1));IOb(a,BQb)||(d=uMb(a,DQb))}uMb(a,BQb);GMb(a,d);return new BSb(new KWb(c,a.f),go(b.a))}function fqb(a,b,c){dqb();var d,e,f,g,h,i,j,k,l;if(s3(a.L,(QJb(),IJb)))for(k=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();k.Kd();){j=k.Ld();h=$0b(j, +89);if(!!h&&!RJb(HJb,h))for(e=c,f=0,g=e.length;f127)continue; +if(eIb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function m0(b){var c,d,e,f,g;if(b.j!=(o6b(),r5b))return null;g=xib(b);if(!qE(g,185))return null;e=g;try{f=e.a}catch(a){a=GV(a);if(qE(a,102))return null;else throw HV(a);}try{d=c1b(b)}catch(a$0){a$0=GV(a$0);if(qE(a$0,41))return null;else throw HV(a$0);}c=d+b.c;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function Qcc(){Occ();return DD(yD(mS,1),_Bc,28,0,[Gbc,Fbc,Jbc,Ibc,Hbc,Kbc,Mbc,Lbc,Nbc,Obc,Pbc,Qbc,Rbc,Sbc,Tbc,Ubc,Vbc,Wbc,$bc, +Zbc,_bc,ecc,kcc,hcc,gcc,qcc,mcc,pcc,rcc,scc,tcc,ucc,wcc,vcc,ycc,xcc,zcc,Bcc,Ccc,Ecc,Gcc,Hcc,Kcc,Lcc,Mcc,Ncc,Dcc,Acc,lcc,Ebc,dcc,bcc,ccc,Xbc,Icc,Jcc,acc,Ybc,fcc,ncc,occ,jcc,icc,Fcc])}function WDb(){WDb=gW;VDb=(Cn(),new Xy(MDc));RDb=VDb;TDb=Qp($Dc,lFc,mEc,WDc,_Dc,ZDc,DD(yD(sT,1),FBc,2,6,[dEc]));UDb=Qp($Dc,lFc,mEc,WDc,_Dc,ZDc,DD(yD(sT,1),FBc,2,6,[dEc,aEc,lEc,"let",HIc,IIc,JIc,KIc,LIc,"yield"]));SDb=FAc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]");new zDb((cy(),by),(null,by),(NDb(),MDb),0)}function aFb(a, +b){a.a.e=WJb(a.a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),wKb)]));if(a.a.a.c==(NDb(),HDb)){a.a.d.lh("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.r,(WDb(),b.o.b.b+1),0);return true}return false}function bFb(a,b){a.a.e=WJb(a.a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),MKb)]));if(a.a.a.c==(NDb(),HDb)){a.a.d.lh("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.r,(WDb(),b.o.b.b+1),0);return true}return false}function OGb(a,b){var c,d,e,f,g;d=EGb(a,(o6b(),X4b));f=new lvc;do{c=NGb(a,b);if(!c)return null;e=c.j==T5b?c.oi():c.b.oi();g=f.a.put(e,f);g==null?J0b(d,c):rGb(a,e,a.i.g,XHb(a.i));iHb(a);if(!CGb(a,(RHb(),zHb)))break;!a.n?YHb(a.i):uGb(a);iHb(a);if(CGb(a,MHb))break;b=!a.n?YHb(a.i):uGb(a)}while(true);return d}function q9(a){var b,c;if(a.f.b){c=k9(a,w1b(a.f).oi());if(!c){N1(a.c,Ieb(a.f,(abb(),_ab),DD(yD(sT,1),FBc,2,6,["Breaking to a label that is not a loop"]))); +return}b=c.a}else b=jpc(a.e,0).a;J0b(a.g,gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc,pGc),new $2b((o6b(),g5b),pGc))),D9(a,new I2b(b))))));J0b(a.g,J9())}function Ntb(a){var b,c,d,e,f;b=(Zn(),new hr);for(e=$s(a.af().Qd());e.Kd();){d=e.Ld();f=(iub(),c=blc(blc(blc(blc(blc(alc(alc(d,58,45),92,47)," ",_Fc),"[",aGc),"]",bGc),"<",cGc),">",dGc),jub(c));!Tkc(f.substr(0,1),"/")&&!(Tkc(f.substr(0,2),KEc)||Tkc(f.substr(0,3),YHc))&&(f="/"+f);gpc(b.a,Zd(f))}return go(b.a)}function dac(a,b,c){var d,e,f,g,h;f= +!a.i?null:a.i.e;g=!!f;a.i=new Pec(IDc,b,true,!c?a.j:c);b.lj(a);!!f&&f.lj(null);if(a.Th()||a.g==($ac(),Yac)){h=aac(a);!!h&&(!h.k&&(h.k=new spc),gpc(h.k,a));if(a.g==($ac(),Yac))for(e=$s(new hsc(a.d.a.b.Qd()));e.Kd();){d=e.Ld();!!d.aj()&&P9b(d.aj(),a)}}g&&T9b(a);return true}function eFb(a,b){var c,d;c=b.a;d=false;if(s6b(c)){a.a.e=WJb(a.a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),qKb)]));d=a.a.a.c==(NDb(),HDb)}if(!!a.a.o&&a.a.o.contains(c)){a.a.e=WJb(a.a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),AKb)]));d=a.a.a.c==(NDb(), +HDb)}d&&a.a.d.lh("identifier is a reserved word",a.a.r,(WDb(),b.b.b.b+1),b.b.b.a)}function wdc(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.Li()||qE(b,127)||!b.Vi())return b;if(Arc(a.f,b))return b;zrc(a.f,b);f=false;e=new bgc(a.e);for(i=b.dj().Qd();i.Kd();){h=i.Ld();j=(g=b.ij(h),!g?null:g.d);d=b.gj(h);c=d.Zi(a);d!=c&&(f=true);e.b=false;nmc(e.c,h,new cgc(c,j))}Brc(a.f,b);if(f)return agc(e);return b}function Bwb(a,b){var c,d,e;if(!a||!b)return null;c=!a?null:a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()).d:null; +d=!b?null:b.Fh()==2&&b.Ih().size()==1?Vs(b.Ih().Qd()).d:null;if(!!c&&!!d){e=xAb(c,d);if(e)return!null.Rj()&&!e.b.d.d.isEmpty()?Hxb(sBb(null.Sj,e,null,null,null,false,null.Sj)):null.Sj}return lyb(a,b)}function xxb(a,b){var c,d,e,f;if(-1==a.Fh()||ABc==a.Fh()||a.Ih().isEmpty()&&a.Rh()==null||b.isEmpty())return a;c=(Cn(),new Vr);for(f=a.Ih().Qd();f.Kd();){e=f.Ld();Sr(c,ZAb(e,b))}d=oyb(a.e,a.Fh()&-2,Kp(new Ppc(c.a)),null,a.Dh());(a.Fh()&1)!=0&&(d=lyb(d,b.containsKey(a.Rh())?b.Zd(a.Rh()):Ixb(a.e,a.Rh()))); +return d}function y3(a){var b,c,d,e,f;d=(Po(),new pr);for(c=new Lmc((new Dmc(a)).a);c.b;){b=Kmc(c);e=b.ee();f=b.fe();if(rE(f))mr(d,e,(Whb(),(cBc(f),f)?new _1b((o6b(),b6b)):new _1b((o6b(),u4b))));else if(qE(f,134))mr(d,e,new I2b(f.a));else if(sE(f))mr(d,e,new I2b((cBc(f),f)));else{de(vE(f));mr(d,e,IYb(f))}}return bp(d.b)}function cwb(a){var b,c,d;if(a==a.a.v||a==a.a.g||a==a.a.s)return;_d(a.i,"null required formals for function: %s",a);for(d=a.i.Qd();d.Kd();){b=d.Ld();Zd(b);de(a.c||0!=b.Fh())}_d(a.e, +"null optional formals for function: %s",a);for(c=a.e.Qd();c.Kd();){b=c.Ld();Zd(b);de(0!=b.Fh())}de(!a.j||0!=a.j.Fh());Zd(a.k);Zd(a.n)}function B$b(a,b){var c,d,e;e=new G$b;e.a=y$b(a.a,b);e.e=C$b(a.e,b);e.f=C$b(a.f,b);e.n=D$b(a.n,b);e.r=C$b(a.r,b);e.q=!a.q?null:new upc(a.q);e.d=!a.d?null:new nvc(a.d);e.s=!a.s?null:new pwc(a.s);e.c=a.c;e.j=a.j;e.b=a.b;e.i=a.i;e.p=!a.p?null:(Cn(),d=a.p,Jp(d));e.k=!a.k?null:(Cn(),c=a.k,Jp(c));e.g=a.g;e.o=a.o;return e}function ZMb(a){var b,c,d;c=yPb(a.g,0).b.b;AMb(a, +UDc);uMb(a,(pSb(),XQb));if(IOb(a,SRb)){_Ob(a,SJc,DD(yD(nT,1),WBc,1,5,[]));uMb(a,SRb)}b=xTb(CTb(new GTb((LTb(),JTb)),(d=yPb(a.g,0).c,Puc(Luc(ZQb,DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),d)||!a.b.c&&eMb(d)?wMb(a):null)));CNb(a,b,(kPb(),hPb));return vTb(b,new KWb(c,a.f))}function mw(a){var b,c,d,e,f,g,h,i,j;e=new Duc((new xuc(a)).a);if(!Zuc(e.a))return Po(),Po(),Oo;d=(e.b=$uc(e.a),new Huc(e.c,e.b));h=d.a;j=d.b.b[d.a.f];Dm(h,j);b=oe(h);f=new muc(b);Muc(f.a,h);luc(f,h.f,j);while(Zuc(e.a)){c=(e.b=$uc(e.a), +new Huc(e.c,e.b));g=c.a;i=c.b.b[c.a.f];Dm(g,i);Muc(f.a,g);luc(f,g.f,i)}return _q(f)}function $X(a,b){var c,d,e,f;switch(b.j.f){case 68:IX((o6b(),R3b),b);c=q6b(b.j);c!=-1&&(d=V0b(b),c!=d&&gY(kDc+c+lDc+d,b));kX(a,b.b);VW(a,b.b?b.b.f:null);return;case 69:IX((o6b(),c4b),b);e=q6b(b.j);e!=-1&&(f=V0b(b),e!=f&&gY(kDc+e+lDc+f,b));VW(a,b.b?b.b.f:null);return;default:gY("Expected switch member but was "+b.j,b)}}function wPb(a,b,c){var d,e;d=a.d;ZPb(a);!sPb(a,a.d)&&zPb(a,jMb(a.e.b,d),XJc,DD(yD(nT,1),WBc,1,5, +[]));e=hlc(a.e.a,d,a.d);switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 96:tPb(a);return new pMb(b,e,kMb(a.e.b,d-1,a.d));case 36:tPb(a);tPb(a);return new pMb(c,e,kMb(a.e.b,d-1,a.d));default:return new pMb(b,e,kMb(a.e.b,d-1,a.d))}}function CPb(a,b){switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 101:case 69:tPb(a);switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 43:case 45:tPb(a)}aQb(sPb(a,a.d)?Okc(a.e.a,a.d):0)||APb(a,"Exponent part must contain at least one digit",DD(yD(nT,1),WBc,1,5,[]));MPb(a)}return new pMb((pSb(), +sRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d))}function y$(a,b,c){var d,e;C$(a);d=b.charCodeAt(0);e=a.tg();(d==43||d==45)&&e==d?a.hg(" "):(Zic==null&&(Zic=new RegExp(SBc,"i")),Zic.test(String.fromCharCode(d))&&(e==95||e==36||(Yic==null&&(Yic=new RegExp(RBc,"i")),Yic.test(String.fromCharCode(e))))?a.hg(" "):(e==45&&d==62||e==60&&d==33)&&a.hg(" "));a.kg(b,c);c&&a.vg()}function W6b(a){var b,c,d,e,f,g,h;if(a.Ji())return J6b(a,(Occ(),ccc));else if(a.Yi()){h=a.Yi();g=false;c=rhc(h);for(f=0;f=0){++g;f=Xkc(d,olc(46),f+1)}}if(!!c&&$ib(b))return true;for(e=0;e>19!=0)return"-"+dE(YD(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=GD(1E9);c=JD(c,e,true);b=""+cE(FD);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 Skb(a){var b,c,d;if(a.I)return;a.i=NV(Date.now());Vkb(a);for(c=Qo(a.I).Qd();c.Kd();){b=c.Ld();d=b.fe();a.F=XV(IV(a.F,d.n));a.C=$wnd.Math.max(a.C,d.a);a.G+=d.k;a.c+=d.d; +if(!d.i){a.B+=d.k;a.A+=d.d}a.a+=d.b;a.g+=d.e;a.p+=d.f}de(a.D==(y4(),x4)||a.q==a.a+a.b);de(!(a.D==w4||a.D==t4)||a.r==a.g+a.e);de(a.D!=t4||a.s==a.p+a.o)}function rAb(a,b){var c,d,e;if(b.isEmpty())return a;if(null.Rj())return null.Sj;ie(a.b.d.d.isEmpty(),"Expected empty typemap, found: %s",a.b);c=(Po(),new pr);for(null.Rj();null.Rj();){d=null.Rj();b.containsKey(d)&&mr(c,d,b.Zd(d))}e=bp(c.b);if(e.d.d.isEmpty())return a;if(e.d.d.size()n&&Blc(a.c,b,n,m);h=m;if(h0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(b=e;bABc)throw HV(new Jkc(BBc+a+'"'));return f}function yAb(a,b){var c,d,e,f,g;de(true);c=(Po(),new pr);if(null.Rj()){d=null.Rj();mr(c,d,pyb(jAb(a),jAb(b)));e=null.Rj();mr(c,e,lyb(kAb(a),kAb(b)));return new uAb(bp(c.b),a.a)}if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return null.Rj();for(g=a.b.ef().Qd();g.Kd();){f=g.Ld();mr(c,f,lyb(rp(a.b,f),rp(b.b,f)))}return new uAb(bp(c.b),a.a)}function OAb(a,b,c){var d,e,f,g,h,i,j;f=jAb(b);if(64!=f.Fh()&&128!=f.Fh()&&ABc!=f.Fh())return(new Dmc(a.g.a)).a.size()== +0;j=kAb(b);for(e=new Lmc((new Dmc(a.g.a)).a);e.b;){d=Kmc(e);g=d.ee();h=d.fe().d;if(64==f.Fh()&&(i=VA(g),!(!i||SV(i.a,XV(i.a))?null:kkc(XV(i.a)))))return false;if(!nxb(uxb(h,a.a.B),j,c))return false}return true}function YDb(a,b){var c,d,e,f,g,h,i,j;d=b.c;f=b.a.b.b+1;c=b.a.b.a;g=b.a.b.c;e=new lHb(new cIb(d.substr(3),f,c+3),d,g,a.t,a.a,a.d);gHb(e,a.f);hHb(e,a.g);b.b==(VSb(),RSb)&&b.c.length>0?(e.g=(tHb(),rHb),iHb(e),h=!e.n?YHb(e.i):uGb(e),i=xGb(e,h,0,false,true),j=" "+i.a,e.c?d_b(e.c,j):e.e.d?o_b(e.e, +j):o_b(e.e,""),undefined):HGb(e);return e}function GFb(a,b){var c,d,e,f,g;e=b.a;if(e.size()==1){c=lEb(a.a,(o6b(),g5b),e.getAtIndex(0));i2b(c.i)==-1&&wEb(c,b.o.b,b.o.a);return c}else{f=e.Ze();d=xYb(f.Ld());i2b(d.i)==-1&&wEb(d,b.o.b,b.o.a);while(f.Kd()){g=lEb(a.a,(o6b(),S5b),f.Ld());i2b(g.i)==-1&&wEb(g,b.o.b,b.o.a);d=iEb(a.a,E4b,d,g);i2b(d.i)==-1&&wEb(d,b.o.b,b.o.a)}return d}}function akb(a,b,c){var d,e,f,g,h;de(b.j==(o6b(),g5b)||b.j==S5b||b.j==T5b||b.j==F4b||b.j==N5b);if(a.b.$==2)return;e=$ib(b);f= +e||c.j==E4b&&(c.b?c.b.f:null)==b;if(b.j==g5b||f){d=Y0b(b,43)!=0;if(!d&&Hib(X0(a.b),b)){if(a.a){g=b.oi();throw HV(new Wjc(vHc+g+RCc+" parent:"+U1b(b.e)));}h=x1b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new D2b(43,1,b.g)}}}function NOb(a){switch(yPb(a.g,0).c.f){case 76:case 29:case 9:case 99:case 14:case 2:case 108:case 109:case 110:case 111:case 64:case 69:case 18:case 97:case 100:case 45:case 47:case 49:case 63:case 68:case 94:case 95:case 101:case 107:case 104:case 35:case 21:case 77:case 98:case 24:case 26:case 44:return true; +default:return false}}function Xjb(a,b,c,d){var e,f,g;if(b.b){u1b(c,b);g=b.b;u1b(b,g);e=WXb(b,g);E1b(e,$0b(c,29));X1b(e,c);f=(Whb(),V1b((ee(tYb(e),e),new b2b((o6b(),t4b),e)),e));y1b(d,c,f);Ujb(a.b,tHc,f)}else{Whb();if(d.j==(o6b(),K5b)||d.j==M5b||d.j==M3b||d.j==e5b)u1b(d,c);else if(d.j==w4b||d.j==x4b){u1b(c,b);y1b(d,c,b)}else ee(d.j==V4b,d);Ujb(a.b,tHc,d)}}function Ynb(a,b){var c,d,e;if(a.b.j.a.d>0)return null;d=X1(a.b,b);c=E1(a.b,"",d);if(a.b.j.a.d>0){N1(a.b,new Eeb(null,null,-1, +-1,Tnb,null,DD(yD(sT,1),FBc,2,6,[tpb(d)])));throw HV(new Wjc(MHc));}e=X1(a.b,c);if(!Tkc(d,e)){N1(a.b,new Eeb(null,null,-1,-1,Vnb,null,DD(yD(sT,1),FBc,2,6,[d,e])));throw HV(new Wjc(MHc));}return c}function jxb(a){var b,c;de(a.Fh()==2&&a.Ih().size()==1);c=(a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()).d:null,de(null.Sj),null.Rj());if(exb(a,c)){ie((b=a.Fh()==2&&a.Ih().size()==1?Vs(a.Ih().Qd()):null,!!b&&null.Rj()&&!!SAb(b)),"Failed to reach Object.prototype in prototype chain, unexpected self-link found at %s", +a);return null}return c}function Y0(a){var b,c,d,e,f,g,h,i,j;e=a.L.ob;if(e.a.a.isEmpty())return N2(new t2(a));else{b=new Hlc;Zd(a.C);for(g=O0b(a.C).Qd();g.Kd();){f=g.Ld();d=(c=$0b(f,51),!c?null:c.Ig());for(i=$s(new hsc(e.a.b.Qd()));i.Kd();){h=i.Ld();if((new RegExp("^("+h+")$")).test(d)){j="// "+d+RCc+(!a.L&&s1(a,new x3),Y1(a,f,true));b.a+=j;break}}}return b.a}}function Vsb(a,b){Qsb();var c,d,e,f,g,h;ee(a.j==(o6b(),g5b)||a.j==H5b||a.j==T5b,a);f=a.e;e=!b.c?null:b.c.e;if(a.e.j==i6b&&(c=$0b(a,51),!!c&& +c.wh())&&Zib(a))return true;d=$0b(f,29);if(!!d&&(h=!d.d?null:d.d.p,!h?(Uqc(),Uqc(),Tqc):h).contains(mFc))return true;d=$0b(e,29);return!!d&&(g=!d.d?null:d.d.p,!g?(Uqc(),Uqc(),Tqc):g).contains(mFc)}function pBb(a,b){var c,d,e,f,g,h;c=($zb(),$zb(),Zzb);for(h=new Lmc((new Dmc(a.a)).a);h.b;){f=Kmc(h);d=f.ee();!!Ei(b,d,false)||(c=aAb(c,d,EBb(f.fe())))}for(g=new Lmc((new Dmc(b.a)).a);g.b;){f=Kmc(g);d=f.ee();e=f.fe();Ei(a,d,false)?c=aAb(c,d,EBb(IBb(Oi(Ei(a,d,false)),e))):c=aAb(c,d,e.a==(QBb(),PBb)?e:new FBb(e.c, +e.d,e.b,PBb))}return c}function REb(a,b,c,d,e){var j;WDb();var f,g,h,i;h=new HEb(c,b,d,e,a.a);i=hFb(h.u,a);i2b(i.i)==-1&&wEb(i,a.o.b,a.o.a);if(a.a)for(g=a.a.Qd();g.Kd();){f=g.Ld();(f.b==(VSb(),SSb)||f.b==RSb)&&!jvc(h.n,f)?(j=YDb(h,f),ivc(h.n,f),cEb(h,j),undefined):f.b==QSb&&AAc(DAc(SDb,f.c))&&h.d.mh(LHc,h.r,f.a.b.b+1,f.a.b.a)}sEb(h,i);CEb(h,i);h.p=i;return h}function q1(a){var b,c,d,e,f;(new Dmc(a.B.a)).a.clear();for(e=new Ppc(a.o);e.a",dGc),jub(c));Itb();if(Tkc(b.substr(0,2),KEc)||Tkc(b.substr(0,3),YHc)){e=a.a;d=e.lastIndexOf("/");f=jub(e.substr(0,d+1)+(""+f))}return new Vtb(a.b,Otb(f,a.b.d))}function CXb(a,b){var c;c=false;switch(b){case 43:c=a.d;a.d=true;break;case 44:c=a.e;a.e=true;break;case 45:c=a.f;a.f=true;break;case 40:c=a.g;a.g=true;break;case 35:c= +a.i;a.i=true;break;case 32:c=a.j;a.j=true;break;case 48:c=a.k;a.k=true;break;default:return false}if(c)throw HV(new GC(""+b));!a.o&&(a.o=new Ilc);wlc(a.o,b&KBc);return true}function Ut(a,b,c,d){var e,f,g;g=new Hu(b,c);if(!a.a){a.a=a.e=g;mmc(a.b,b,new Gu(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=jmc(a.b,b);if(!e){mmc(a.b,b,e=new Gu(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=jmc(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?jmc(a.b,b).b=g:d.e.c=g;!d.d?a.a=g:d.d.b=g;d.d=g;d.e=g}++a.d;return g} +function xA(a,b,c){var d,e,f;Zd(b);c=pA(a,c);if(!iA(a.b,plc(c)))throw HV(new PA("Invalid input length "+plc(c)));d=0;for(f=0;f>>16<<24>>24;if(f>>8&255)<<24>>24;if(f>24}}}return d}function EMb(a){var b,c,d,e,f;if(!IOb(a,(pSb(),tRb)))return null;d=yPb(a.g,0).b.b;uMb(a,tRb);++a.g.f;f=new nwc;do{c=vMb(a);b=null;if(IOb(a,TQb)){uMb(a,TQb);b= +vOb(a)}kwc(f,c,b);IOb(a,DQb)&&uMb(a,DQb)}while(e=yPb(a.g,0).c,Puc(Luc(ZQb,DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),e)||!a.b.c&&eMb(e));uMb(a,yQb);--a.g.f;return new PTb(new KWb(d,a.f),f)}function zNb(a,b){var c,d,e;d=yPb(a.g,0).b.b;uMb(a,(pSb(),vRb));e=(Zn(),new hr);while(ROb(a,b)){fr(e,aOb(a,b));if(!IOb(a,AQb)){c=uMb(a,DQb);if(IOb(a,AQb)){a.d=WJb(a.d,DD(yD(_O,1),_Bc,29,0,[(VKb(),SKb)]));a.b.b||ZOb(a,c,"Invalid trailing comma in formal parameter list",DD(yD(nT,1),WBc,1,5,[]))}}}uMb(a,AQb);return new tTb(new KWb(d, +a.f),go(e.a))}function QMb(a){var b,c,d;d=yPb(a.g,0).b.b;b=(Zn(),new hr);uMb(a,(pSb(),vRb));while(HOb(a,0,RRb)||NOb(a)){fr(b,WMb(a));if(!IOb(a,AQb)){c=uMb(a,DQb);if(IOb(a,AQb)){a.d=WJb(a.d,DD(yD(_O,1),_Bc,29,0,[(VKb(),SKb)]));a.b.b||ZOb(a,c,"Invalid trailing comma in arguments list",DD(yD(nT,1),WBc,1,5,[]))}}}uMb(a,AQb);return new ASb(new KWb(d,a.f),go(b.a))}function Ufc(a,b,c){E6b();var d,e,f,g;u9b.call(this,a,null,null);this.a=false;this.t=true;for(g=$s(new hsc((d=b.b,!d?b.b=zs(b.a,Isc(b.c)):d).b.b.Qd()));g.Kd();){f= +g.Ld();e=f==null?null:ow(b.d,f);if(!e)throw HV(new Wjc("RecordProperty associated with a property should not be null!"));c?u8b(this,f,e.b,e.a):Rfc(this,f,e.b,false,e.a)}this.a=true}function tC(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw HV(new wC("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new xC(0,a.url,c,b);else if(a.map!=null)return new xC(1,slc(a.map),c,b);throw HV(new wC("Invalid map format: section must have either 'map' or 'url'")); +}function k$(a){var b;this.b=a;this.a=Qp("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",DD(yD(sT,1),FBc,2,6,["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"]));b=(Cn(),new Vr);Tr(b,DD(yD(sT,1),FBc,2,6,["superClass_","instance_","getInstance"]));Ur(b,(Zn(),Zn(),Yn));Kp(new Ppc(b.a))}function g_(a,b,c,d){var e,f,g,h;h=b;if(!d&&b.j!=(o6b(),M3b))throw HV(new Lic("Missing BLOCK child."));if(b.j==(o6b(),M3b)){f=u_(b,2);if(f==0){if(a.c.zg()){z$(a.c); +A$(a.c,a.c.mg(b,c==0))}else a.c.sg(true);return}if(f==1){g=t_(b);e=a.c.zg();if(e||x_(g)){z$(a.c);a.Bg(g,0);a.c.xg();A$(a.c,a.c.mg(b,c==0));return}else h=g}}h.j==j4b?a.c.sg(true):a.Bg(h,c)}function jB(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;j=false;k=null;n=null;l=null;m=null;i=a.c.a.length;for(f=0;f1&&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 Oc(hub,new Smc(new vqc((_Ac(j),Xpc(d,j)))))}function R6(a,b,c,d){var e,f,g,h,i,j,k;ee(c.j==(o6b(),P3b),c);ee(b.j==W5b,b);f=(Whb(),iib(b,new Hjb(U3b)));k=f.b.d;if(!l1b(k))return; +if(d.j==b5b&&Tkc(d.oi(),LFc)){i=$0b(b,51);if(!!i&&i.wh()||(e=(j=gib(f),!j?null:$0b(j,29)),!!e&&((e.a&512)!=0||(e.a&IFc)!=0))){g=iib(b,Vhb);h=g.e;S0b(g);P1(a.a,h)}return}else{N1(a.a,Ieb(b,N6,DD(yD(sT,1),FBc,2,6,[])));return}}function GPb(a,b,c){while(sPb(a,a.d)&&(sPb(a,a.d)?Okc(a.e.a,a.d):0)!=c&&!dQb(sPb(a,a.d)?Okc(a.e.a,a.d):0))if(!XPb(a))return new pMb((pSb(),XRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d));(sPb(a,a.d)?Okc(a.e.a,a.d):0)!=c?zPb(a,jMb(a.e.b,b),"Unterminated string literal",DD(yD(nT,1),WBc, +1,5,[])):tPb(a);return new pMb((pSb(),XRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d))}function VA(a){var b,c,d,e;if(Zd(a).length==0)return null;e=a.charCodeAt(0)==45;d=e?1:0;if(d==a.length)return null;c=YA(Okc(a,d++));if(c<0||c>=10)return null;b=-c;while(d=10||PV(b,{l:3355444,m:838860,h:996147}))return null;b=QV(b,10);if(PV(b,IV(SCc,c)))return null;b=UV(b,c)}return e?wkc(b):MV(b,SCc)?null:wkc(RV(b))}function Vib(a,b){var c,d,e;switch(a.j.f){case 92:return Vib(a.b,b); +case 42:for(d=a.b;d;d=d.d)if(d.j!=(o6b(),j4b)&&!Vib(d,b))return false;return true;case 38:for(e=a.b;e;e=e.d)if(!Vib(e,b))return false;return true;case 43:for(c=a.b;c;c=c.d)if(!Vib(c.b,b))return false;return true;case 65:return b&&!(a.j==(o6b(),y4b)&&Lib(a.e));default:return Rib(a)}}function kwb(a,b){var c,d,e,f,g,h,i;de(!a.n.a.isEmpty());if(b.isEmpty())return a;c=new Ywb(a.a);for(g=a.i.Qd();g.Kd();){f=g.Ld();Twb(c,xxb(f,b))}for(e=a.e.Qd();e.Kd();){d=e.Ld();Qwb(c,xxb(d,b))}!!a.j&&Uwb(c,xxb(a.j,b)); +Vwb(c,xxb(a.k,b));a.c&&(c.c=true,c);Pwb(c,Hwb(a.d,b));Swb(c,Hwb(a.g,b));for(i=a.f.ef().Qd();i.Kd();){h=i.Ld();Rwb(c,h,a.f.Zd(h))}return Xwb(c)}function dHb(a,b,c){var d,e,f;f=EGb(a,(o6b(),z5b));!!c&&J0b(f,c);d=null;do{if(d){iHb(a);b=!a.n?YHb(a.i):uGb(a);de(b==(RHb(),JHb));iHb(a);b=!a.n?YHb(a.i):uGb(a)}d=$Gb(a,b);if(!d)return null;J0b(f,d)}while(CGb(a,(RHb(),JHb)));if(!c){iHb(a);if(!CGb(a,NHb))return qGb(a,aJc,a.i.g,XHb(a.i)),null;!a.n?YHb(a.i):uGb(a)}if(!!f.b&&!f.b.d){e=f.b;u1b(f,e);return e}return f} +function nOb(a,b){var c,d,e,f,g,h;AMb(a,"set");if(SOb(a,0)){f=xMb(a);uMb(a,(pSb(),vRb));d=vMb(a);h=DMb(a);uMb(a,AQb);g=DMb(a);!!g&&ZOb(a,yPb(a.g,0),"setter should not have any returns",DD(yD(nT,1),WBc,1,5,[]));c=ANb(a);return new gWb(BMb(a,b.d),f,b.c,d,h,c)}else{e=kNb(a);uMb(a,(pSb(),vRb));d=vMb(a);DMb(a);uMb(a,AQb);c=ANb(a);return new dTb(BMb(a,b.d),e,b.c,d,c)}}function Lfb(a,b,c,d){var e,f,g,h;h=Eoc(a.b);g=c.e;if(d&&g.j==(o6b(),y4b)&&c!=g.b)return;if(Fib(c))qhb(b)==(Whb(),iib(c,Uhb))?h.ph(c.oi(), +false):qhb(b).j==(o6b(),y4b)&&iib(c,Uhb)==lib(qhb(b))&&h.ph(c.oi(),false);else if(c.j==(o6b(),g5b)&&c.e.j==i6b)h.ph(c.oi(),true);else{Whb();if(c.j==y4b&&Lib(c.e)){f=c.b;h.ph(f.oi(),false)}}for(e=c.b;e;e=e.d)Lfb(a,b,e,true)}function q6(){q6=gW;o6=new k6("JSC_INVALIDATION",(tZ(),rZ),new emc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));p6=new k6("JSC_INVALIDATION_TYPE",rZ,new emc("Property disambiguator skipping instances of property {0} on type {1}. {2}")); +new k6("JSC_INVALID_RENAME_FUNCTION",qZ,new emc("{0} call is invalid: {1}"))}function Itb(){Itb=gW;new k6("JSC_MODULE_CONFLICT",(tZ(),sZ),new emc("File has both goog.module and ES6 modules: {0}"));Gtb=new k6("JSC_JS_MODULE_LOAD_WARNING",sZ,new emc('Failed to load module "{0}"'));Ftb=new k6("JSC_INVALID_MODULE_PATH",sZ,new emc('Invalid module path "{0}" for resolution mode "{1}"'));Htb=new Qtb;Etb=new Mtb((Zn(),Zn(),Yn),(null,Yn),(eub(),cub))}function BOb(a){var b,c,d,e,f;d=yPb(a.g,0).b.b;if(WOb(a)){c= +HMb(a);b=BOb(a);return new uWb(new KWb(d,a.f),c,b)}else return HOb(a,0,(pSb(),ZQb))&&Tkc(yPb(a.g,0).a,"await")?(e=yPb(a.g,0).b.b,(Doc(a.e)||wE(Foc(a.e))!==wE((kPb(),hPb)))&&_Ob(a,"'await' used in a non-async function context",DD(yD(nT,1),WBc,1,5,[])),AMb(a,"await"),f=BOb(a),new FSb(new KWb(e,a.f),f)):COb(a)}function y8(){y8=gW;x8=new k6("JSC_DYNAMIC_EXTENDS_TYPE",(tZ(),qZ),new emc("The class in an extends clause must be a qualified name."));v8=new k6("CLASS_REASSIGNMENT",qZ,new emc("Class names defined inside a function cannot be reassigned.")); +w8=new k6("CONFLICTING_GETTER_SETTER_TYPE",qZ,new emc("The types of the getter and setter for property ''{0}'' do not match."))}function PPb(a){var b,c,d,e;c=a.d;tPb(a);tPb(a);while(sPb(a,a.d)&&((sPb(a,a.d)?Okc(a.e.a,a.d):0)!=42||(sPb(a,a.d+1)?Okc(a.e.a,a.d+1):0)!=47))tPb(a);if(sPb(a,a.d)){tPb(a);tPb(a);d=(VSb(),QSb);a.d-c>4&&(Okc(a.e.a,c+2)==42?d=SSb:Okc(a.e.a,c+2)==33&&(d=RSb));b=kMb(a.e.b,c,a.d);e=hlc(a.e.a,c,a.d);ePb(a.a,d,b,e)}else APb(a,"unterminated comment",DD(yD(nT,1),WBc,1,5,[]))}function VHb(a){var b; +if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=Okc(a.k,a.i++);if(a.e>=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{v6b();if(b>127)continue;if(eIb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function pB(a,b,c){var d;switch(c){case 1:d=new tB(b[0]+a.c);a.c=d.e;return d;case 4:d=new zB(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.Df();a.g= +d.Ef();a.e=d.Cf();return d;case 5:d=new EB(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.Df();a.g=d.Ef();a.e=d.Cf();a.d=d.Bf();return d;default:throw HV(new wC("Unexpected number of values for entry:"+c));}}function Axb(a,b,c,d,e){var f,g,h,i,j;Vd(!pxb(b),"Expected non-union type but found: %s",b);if(b.Fh()==4&&b.Dh().size()==1){f=b.Fh()==4&&b.Dh().size()==1?Vs(b.Dh().Qd()).Rj():null;return Axb(a,f,c,d,e)}if(b.Fh()==2&&b.Ih().size()==1){g=b.Fh()==2&&b.Ih().size()==1?Vs(b.Ih().Qd()): +null;h=false;for(j=a.Ih().Qd();j.Kd();){i=j.Ld();_Ab(i,g,c,d,e)&&(h=true)}return h}return false}function Bcb(a,b){var c,d,e,f,g,h;h=b.e;de(h.j==(o6b(),t5b));c=h.e;if(!c)return null;d=c.e;switch(c.j.f){case 29:if(!d||(Whb(),!(!!d&&(d.j==i6b||d.j==$4b||d.j==Z3b))))return null;g=c.oi();break;case 47:f=c.b;g=_0b(f);break;case 91:if(!!d&&d.j==t5b)g=Bcb(a,c);else return null;break;default:return null}if(g!=null){e=b.oi();v6b();if(t6b.test(e))return g+"."+e}return null}function Cwb(a,b){var c,d,e,f,g,h; +Qd(a.c||b.c);c=new Ywb(a.a);g=$wnd.Math.min((de(!(a==a.a.v||a==a.a.g)),a.i.size()),(de(!(b==b.a.v||b==b.a.g)),b.i.size()));for(e=0;e=0&&b<=UCc))throw HV(new SWb(b));c=b=0&&b<=UCc),b>=HBc?DD(yD(zE,1),GBc,46,15,[IBc+(b-HBc>>10&JBc)&KBc,LBc+ +(b-HBc&JBc)&KBc]):DD(yD(zE,1),GBc,46,15,[b&KBc])));return aXb(a,c,0)}else throw HV(ZWb(a));}function r1b(a,b,c){var d,e,f;f=$kc(b,olc(46),c-1)+1;switch(a.j.f){case 29:case 98:d=a.oi();return f==0&&d.length!=0&&d.length==c&&Tkc(b.substr(0,d.length),d);case 33:return f==0&&4==c&&Tkc(b.substr(0,4),cEc);case 99:return f==0&&5==c&&Tkc(b.substr(0,5),dEc);case 26:e=(a.b?a.b.f:null).oi();return f>1&&e.length==c-f&&_kc(e,false,0,b,f,c-f)&&r1b(a.b,b,f-1);default:return false}}function uOb(a,b){var c,d,e,f, +g;e=!b?yPb(a.g,0).b.b:b.o.b;f=HMb(a);c=(Zn(),new hr);fr(c,new lWb(f.b,f));if(f.c==(pSb(),qRb))return new kWb(new KWb(e,a.f),b,go(c.a));d=IMb(a,1);fr(c,new mWb(d.o,d));while(!a.c.d){f=(g=vPb(a.g),a.f=g.b.a,g);if(f.c==RQb||f.c==MQb)break;fr(c,new lWb(f.b,f));if(f.c==aSb)break;d=IMb(a,1);fr(c,new mWb(d.o,d))}return new kWb(new KWb(e,a.f),b,go(c.a))}function tib(a){Whb();switch(a.j.f){case 48:return o6b(),K3b;case 49:return o6b(),L3b;case 50:return o6b(),I3b;case 51:return o6b(),_4b;case 52:return o6b(), +L5b;case 53:return o6b(),h6b;case 54:return o6b(),m3b;case 55:return o6b(),V5b;case 56:return o6b(),f5b;case 59:return o6b(),p4b;case 57:return o6b(),g4b;case 58:return o6b(),d5b}throw HV(new bfb("Not an assignment op:"+a));}function t8b(a,b,c,d){var e,f,g,h,i,j,k;if(!!a.Xi()&&Lgc(a.Xi(),b))return qgc(a.Ci(),b.Ci(),c,d,0);k=sbc(d,a,b);if(k)return k.a;i=v8b(a);j=v8b(b);if(!rj(j,i)){tbc(d,a,b,(Bbc(),zbc));return false}for(h=(f=(new ioc(i.a)).a.Yd().b.Ij(),new ooc(f));h.a.Kd();){g=(e=h.a.Ld(),e.ee()); +if(!G6b(b.gj(g),a.gj(g),c,d)){tbc(d,a,b,(Bbc(),zbc));return false}}tbc(d,a,b,(Bbc(),ybc));return true}function MD(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=PD(b)-PD(a);g=ZD(b,j);i=ID(0,0,0);while(j>=0){h=SD(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&&OD(i);if(f)if(d){FD=YD(a);e&&(FD=aE(FD,(jE(),hE)))}else FD=ID(a.l,a.m,a.h);return i}function bBb(a,b,c, +d,e,f,g){Zd(a);Zd(b);Wd(!d||d==d.a.s||d.c==f,"isLoose: %s, fn: %s",(Ric(),f?true:false),d);Qd(!d||d!=d.a.c);f&&Vd(null.Rj()||null.Rj(),"Cannot create loose objectType with nominal type %s",b);Wd(!d||null.Rj(),"Cannot create objectType of nominal type %s with function (%s)",b,d);this.a=a;this.d=b;this.g=f?rBb(c):c;this.b=d;this.e=e;this.c=f;this.f=f?(HAb(),FAb):g}function uX(a,b){var c,d,e,f,g,h,i;switch(b.j.f){case 98:h=q6b(b.j),h!=-1&&(d=V0b(b),h!=d&&gY(kDc+h+lDc+d,b));mX(a,b.b,true);break;case 156:e= +V0b(b),0!=e&&gY(jDc+e,b);break;case 157:i=q6b(b.j),i!=-1&&(f=V0b(b),i!=f&&gY(kDc+i+lDc+f,b));YW(b.b,0);break;case 158:g=q6b(b.j),g!=-1&&(c=V0b(b),g!=c&&gY(kDc+g+lDc+c,b));break;default:gY("Interface contained member of invalid type "+b.j,b)}}function kf(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=lf(a,a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=d+1}if(a.c==c){++a.c;a.c>a.e.length&&(a.c=-1);continue}while(ee&&a.f.Od(Okc(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.Od(Okc(a.e,b-1)))--b}else--a.b;return klc(flc(a.e,e,b))}return a.i=2,null}function eac(a,b,c){var d,e,f,g,h,i;Zd(b);if(G6b(a,b,0,new ubc(true)))return a;if(a.g==($ac(),Zac)&&b.g==Zac&&!$7b(a.c)&&!$7b(b.c)){f=a.Pi(b);g=b.Pi(a);if(f&&!g)return c?b:a;else if(g&&!f)return c?a:b;i=fac(a,b,c);if(i)return i}d=edc(a.A,(Occ(),Ubc));if(G6b(d,b,0,new ubc(true)))return c?b:a;else if(G6b(d,a,0,new ubc(true)))return c?a:b;e=edc(a.A,Icc);h=edc(a.A,acc);return c?e:h}function elc(a, +b,c){var d,e,f,g,h,i,j,k;d=new RegExp(b,"g");j=AD(sT,FBc,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=hlc(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;f>31;switch(c.f){case 7:TA(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==(Xlc(),Ulc)||c==Tlc&(f&1)!=0:g=e>0;break;default:throw HV(new Nic);}return g?f+i:f}function acb(a,b){var c,d,e,f,g,h,i,j;for(i=(g=b.c.a,g?!g.b?(Uqc(),Uqc(),Tqc):new S2b(g.b):(Uqc(),Uqc(),Tqc)).Qd();i.Kd();){h=i.Ld();ecb(a,qE(h.k,23)?h.k:null)}ecb(a,b.c.b);if(b.g==($ac(),Yac))for(d= +$s(new hsc(b.d.a.b.Qd()));d.Kd();){c=d.Ld();zrc(a.a,c)&&c.Zi(a)}if(b.Th()){for(f=$s(new hsc(b.e.a.b.Qd()));f.Kd();){e=f.Ld();zrc(a.a,e)&&e.Zi(a)}j=$9b(b).cj();!!j&&zrc(a.a,j)&&j.Zi(a)}return a.b.b}function S6(a,b,c,d){var e,f,g,h,i;ee(c.j==(o6b(),E4b)||c.j==D4b,c);ee(b.j==W5b,b);f=c.e;if(Sib(c)){N1(a.a,Ieb(c,(abb(),_ab),DD(yD(sT,1),FBc,2,6,["assigning to a super property"])));return}e=(Whb(),iib(b,new Hjb(U3b)));i=e.b.d;if(!l1b(i))return;if(Y0b(d,58)!=0)z1b(b,Q0b(i,false));else{g=Nc(new Qc(String.fromCharCode(46)), +_0b(i),IDc,DD(yD(nT,1),WBc,1,5,[]));h=qjb(a.a,g,b);y1b(b.e,b,h)}P1(a.a,f)}function Sib(a){Whb();var b;switch(a.j.f){case 29:case 26:case 27:case 91:break;default:return false}b=a.e;if(!b)return false;switch(b.j.f){case 106:return(b.b?b.b.f:null)==a;case 76:case 100:case 88:case 112:case 45:case 104:case 63:case 64:case 78:return true;case 96:case 65:case 118:case 72:case 73:case 101:return b.b==a;case 94:case 93:case 91:return Uib(a);default:return Dib(b)&&b.b==a}}function Bvb(){Bvb=gW;zvb=new k6("JSC_NULLABLE_RETURN", +(tZ(),rZ),new emc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));Avb=new k6("JSC_NULLABLE_RETURN_WITH_NAME",rZ,new emc('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 oxb(a,b,c){var d,e,f;if(ABc==a.Fh()||ABc==b.Fh()||-1==b.Fh())return true;if(512==a.Fh())return 0!=sxb(b).Fh();if(lGc==a.Fh())return 0!=rxb(b).Fh(); +if(512==b.Fh())return e=a.Fh(),e!=0&&(e|522)==522;if(!Tvb(a,b))return false;d=a.Fh()&-5;if((d|b.Fh())!=b.Fh())return false;if(a.Rh()!=null&&!Tkc(a.Rh(),b.Rh()))return false;if(a.Ih().isEmpty())return true;f=mBb(a.Ih(),b.Ih(),c);return f}function qBb(a,b){var c,d,e,f,g,h,i,j;if(a.isEmpty())return b;else if(b.isEmpty())return a;j=new upc(a);ipc(j,b);for(d=0;d0){if(!m5(a.a,"".charCodeAt(0))){b=AD(zE,GBc,46,a.a.length,15,1);for(c=0;c=48&&c<=57){d=sXb(a);if((a.b=48&&c<=57?wXb(a,b,sXb(a)):c==46?vXb(a,b):uXb(a,b)}function _6(a,b,c){var d,e,f,g,h,i,j;Rd(c.j==(o6b(),P3b),c);f=c.mi(false);e=w1b(c);if(e.j==W5b){i=W1b(lYb(pjb(a.a,b),new $2b(S5b,MFc)),e);J0b(f,i);h=x1b(f,f.g,50);h!=f.g&&(f.g=h);H0b(f,V1b(new _1b(_5b),e),i)}else{ee(e.j==E4b,e);d=Zd(e.b.d);ee(Tkc(d.oi(),sFc),d);J0b(f,e);j=e.b;y1b(e,j,W1b(pjb(a.a,b),j));g=c.b;if(g.j!= +_5b){ee(g.j==p5b,g);u1b(c,g);J0b(f,V1b(new _1b(_5b),g))}}while(c.b)J0b(f,w1b(c));return f}function HEb(a,b,c,d,e){var f,g;this.n=new lvc;this.e=(QJb(),FJb);this.s=a;this.k=e.Ze();this.b=OEb(this.k);this.j=new spc;this.q=b;this.t=(g=new _1b((o6b(),M5b)),M1b(g,this.q),g);this.f=new z0b(c.d!=(EDb(),DDb));for(f=0;true;f++){f=Xkc(a,olc(10),f);if(f==-1)break;gpc(this.j,kkc(f))}this.r=!b?null:b.Ig();this.a=c;this.d=d;this.u=new iGb(this);c.e==0?this.o=UDb:c.c==(NDb(),HDb)?this.o=null:this.o=TDb}function Rkb(){Rkb= +gW;new k6("JSC_INVALID_GETELEM_INDEX_ERROR",(tZ(),sZ),new emc("Array index not integer: {0}"));Pkb=new k6("JSC_INDEX_OUT_OF_BOUNDS_ERROR",sZ,new emc("Array index out of bounds: {0}"));Qkb=new k6("JSC_NEGATING_A_NON_NUMBER_ERROR",sZ,new emc("Can''t negate non-numeric value: {0}"));Okb=new k6("JSC_FRACTIONAL_BITWISE_OPERAND",sZ,new emc("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function Pub(a,b){Mub();var c,d,e,f,g,h,i;i=Nub();f=new x3;t3(f,(h4(),e4));f.Qb=new Te(Zd((Ric(),true)));u3(f, +$3);f.dd=true;e=(wob(),new Iob((new Hob,"externs.js"),"var window;"));h=new Iob((new Hob,b),a);f.uc=true;f.Cc=true;q5(f.Z);n3(f,new D5(Lub,(tZ(),rZ)));c=new Qub;Q1(c,new Rub);R0(c,(Zn(),new Uy(Zd(e))),new Uy(Zd(h)),f);g=N2(new t2(c));d=Nub();Oub("Transpiled "+b+" in "+(d-i)/1E3+" seconds");return g}function KEb(a){switch(a){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10; +case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15;default:throw HV(new Wjc(OIc+String.fromCharCode(a)));}}function R0(a,b,c,d){var e,f;de(!a.C);try{p1(a,b,c,d);a.j.a.d>0||N2(new E2(a));if(a.j.a.d<=0){ee(!!a.A&&!a.A.isEmpty(),xEc);de(a.j.a.d<=0);de(true);N2(new y2(a));a.j.a.d>0||(ee(!!a.A&&!a.A.isEmpty(),xEc),de(a.j.a.d<=0),de(true),N2(new A2(a)),undefined);N2(new C2(a))}}finally{e=(a.L.sd!=(y4(),v4)&&!!a.W&&Zkb(a.W, +yEc,true),new Qpb);hY(a.j.a);f=UV(NV(Date.now()),e.a);a.L.sd!=v4&&!!a.W&&$kb(a.W,yEc,f)}return e1(a)}function G8(a,b,c){var d,e,f,g,h,i,j,k;j=J8(b,pjb(a.a,c.f),pjb(a.a,c.f+gGc));h=S0b(b.b?b.b.f:null);d=WXb(j,h);Y1b(d,b);f=$0b(b,29);if(Y0b(b,58)!=0&&vjb(d.b?d.b.f:null)){g=B0b(f);n0b(g,new D0b(new b2b((o6b(),H3b),new _1b(E5b)),(e=$0b(b,51),!e?null:e.Ig())));f=f_b(g)}!!f&&(k=x1b(d,d.g,29),k!=d.g&&(d.g=k),!!f&&(d.g=new N2b(29,f,d.g)),d);i=(Whb(),V1b((ee(tYb(d),d),new b2b((o6b(),t4b),d)),d));H0b(c.g.e, +i,c.g);c.g=i}function H1(a){var b;a.L.Dc&&(pAc(L0,"Recording function information"),de(!a.e),a.d=GEc,a.e=(a.L.sd!=(y4(),v4)&&!!a.W&&Zkb(a.W,GEc,true),new Qpb),undefined,b=new Emb(a),Dmb(b,a.C),null.Rj(),ee(!!a.e,"Tracer should not be null at the end of a pass."),U1(a,a.e,a.d),P0(a),a.d=null,a.e=null,a.L.$==(E3(),A3)&&Xnb(new _nb(a),a.q,a.C),undefined,undefined);a.L.$==(E3(),D3)&&Xnb(new _nb(a),a.q,a.C);a.P=1;!!a.W&&Ukb(a.W)}function _Ab(a,b,c,d,e){var f,g,h;if(a.b)if(!b.b||!swb(a.b,b.b,c,d,e))return false; +g=a.d;f=b.d;if(!null.Rj()&&!null.Rj()){if(tAb(g,f,c,d,e))return true;if(null.Sj==2){if(hAb(g,Oi(Ei(e.a,f,false))))return true;e=(Qd(null.Sj!=0),new WBb(aAb(e.a,f,g)))}else return false}if(!null.Rj()&&null.Sj!=2&&null.Rj())return false;h=!null.Rj()&&null.Sj==2?null.Rj():new inc(a.g);if(!h)return true;return $Ab(a,b,h,c,d,e)}function KB(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 cB(e.b+o,e.a+p); +g=new cB(f.b+o,f.a+i)}l=new _B;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;le(n>k||n==k&&m>=j,"Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",kkc(k),kkc(j),kkc(n),kkc(m))}a.b=l;gpc(a.e,l)}function iOb(a){var b,c,d,e,f,g;f=yPb(a.g,0).b.b;e=xMb(a);b=yMb(a,(pSb(),CQb));if(!b)if(e.c!=ZQb)ZOb(a,yPb(a.g,0),NJc,DD(yD(nT,1),WBc,1,5,[CQb]));else if(dMb(e.a)&&!fMb(e.a))ZOb(a,e,"Cannot use keyword in short object literal",DD(yD(nT,1),WBc,1,5,[]));else if(HOb(a, +0,OQb)){d=new RTb(new KWb(f,a.f),e);uMb(a,OQb);c=VMb(a,1);return new iTb(new KWb(f,a.f),d,c)}g=!b?null:VMb(a,1);return new cWb(new KWb(f,a.f),e,g)}function pjb(a,b){Whb();var c,d,e,f,g,h,i,j;c=Wkc(b,olc(46));if(c==-1)return ojb(a,b);f=b.substr(0,c);Tkc(cEc,f)?e=new _1b((o6b(),_5b)):Tkc(dEc,f)?e=new _1b((o6b(),W5b)):e=ojb(a,f);do{j=c+1;c=Xkc(b,olc(46),j);g=c==-1?b.substr(j):b.substr(j,c-j);h=new $2b((o6b(),S5b),g);G1b(h,g.length);X0(a).cg(g)&&(i=x1b(h,h.g,43),i!=h.g&&(h.g=i),h.g=new D2b(43,1,h.g)); +d=e.c+1+g.length;e=lYb(e,h);e.c=d}while(c!=-1);return e}function Xo(a){Po();var b,c,d,e,f,g,h,i,j;if(qE(a,137)&&!qE(a,322)){g=a;return g}else if(qE(a,228)){f=a;for(e=new Duc((new xuc(f)).a);Zuc(e.a);){d=(e.b=$uc(e.a),new Huc(e.c,e.b));Zd(d.a);Zd(d.b.b[d.a.f])}i=_q(new nuc(f));return i}j=a.size();switch(j){case 0:return Oo;case 1:d=Vs(a.Yd().Qd());return hp(d.ee(),d.fe());default:h=new nwc;for(c=a.Yd().Qd();c.Kd();){b=c.Ld();kwc(h,Zd(b.ee()),Zd(b.fe()))}return new _x(h)}}function jHb(a,b){switch(b.f){case 13:return"@"+ +a.i.n;case 19:return"!";case 11:return",";case 12:return":";case 3:return">";case 5:return"[";case 7:return"{";case 9:return"(";case 2:return"<";case 17:return"?";case 14:return"|";case 6:return"]";case 8:return"}";case 10:return")";case 15:return"*";case 18:return VDc;case 20:return"=";case 4:return a.i.n;default:throw HV(new Wjc(b.e!=null?b.e:""+b.f));}}function d2b(a,b,c){Rd(!b.e,"first new child has existing parent");Rd(!b.d,"first new child has existing next sibling");Rd(!b.f,"first new child has existing previous sibling"); +Rd(!c.e,"second new child has existing parent");Rd(!c.d,"second new child has existing next sibling");Rd(!c.f,"second new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=c;b.f=c;b.e=this;c.d=null;c.f=b;c.e=this;this.i=-1}function gib(a){Whb();var b,c;if(a.j==(o6b(),t4b))return gib(a.b);b=$0b(a,29);if(!b){c=a.e;if(!c||a.j==t4b)return null;if(c.j==g5b)return gib(c);else if(c.j==t3b)return gib(c);else if($ib(c)||c.j==Y3b)return c;else if((c.j==y4b||c.j==U3b)&&a==c.b)return gib(c); +else if(!!c&&(c.j==i6b||c.j==$4b||c.j==Z3b)&&!!c.b&&!c.b.d)return c;else if(c.j==H4b&&c.b!=a||c.j==w5b||c.j==n3b||c.j==X3b&&c.b!=a)return gib(c)}return a}function dxb(a){var b,c,d,e;if(-1==a.Fh()||ABc==a.Fh())return a;d=a.Fh();if((d&220)==0)return a;switch(d){case 64:return a.e.q;case 24:case 8:case 16:return a.e.a;case 128:return a.e.t}b=(Cn(),new Vr);Ur(b,a.Ih());(d&64)!=0&&Sr(b,a.e.L);(d&128)!=0&&Sr(b,a.e.L);(d&24)!=0&&Sr(b,a.e.L);e=oyb(a.e,d&-217,Kp(new Ppc(b.a)),a.Rh(),$wb);for(c=a.Dh().Qd();c.Kd();){c.Ld(); +e=lyb(e,(de(null.Sj==($vb(),Zvb)),null.Sj).Rj())}return e}function bHb(a,b){var c,d,e,f,g;if(b!=(RHb(),QHb))return qGb(a,_Ic,a.i.g,XHb(a.i)),null;f=a.i.n;d=a.i.g;c=XHb(a.i);while(CGb(a,DHb)&&Okc(f,f.length-1)==46){iHb(a);if(CGb(a,QHb)){!a.n?YHb(a.i):uGb(a);f+=a.i.n}}g=FGb(a,f,d,c);if(CGb(a,FHb)){!a.n?YHb(a.i):uGb(a);iHb(a);e=aHb(a,f,!a.n?YHb(a.i):uGb(a));if(e){K0b(g,e);iHb(a);if(!CGb(a,LHb))return qGb(a,"msg.jsdoc.missing.gt",a.i.g,XHb(a.i)),null;!a.n?YHb(a.i):uGb(a)}}return g}function pyb(a,b){bxb(); +var c,d,e,f,g;g=ryb(a,b);if(0==g.Fh()&&(d=a.Ih(),d.size()==1&&Vs(d.Qd()).c||(e=b.Ih(),e.size()==1&&Vs(e.Qd()).c))){g=ryb(dxb(a),dxb(b));if(0!=g.Fh()){f=a.Ih();if(f.size()==1&&Vs(f.Qd()).c){ke((c=b.Ih(),!(c.size()==1&&Vs(c.Qd()).c)),"Two loose types %s and %s that meet to bottom, meet to non-bottom after autoboxing.",cxb(a,new Hlc,(ZBb(),YBb)).a,cxb(b,new Hlc,YBb).a);return b}else return a}}return g}function QIb(a,b){var c;if(!vIb(a,b,(zJb(),tJb)))return false;if(!UIb(a,(Vd(b.j==(o6b(),P3b),hJc,b), +U0b(b,1)))){$Ib(a,tJb.d);return false}if((Vd(b.j==P3b,hJc,b),U0b(b,2)).j!=r5b){a.a.mh(UIc+l3b(iJc,DD(yD(nT,1),WBc,1,5,[ZBc])),a.b.Ig(),a.d,a.c);$Ib(a,tJb.d);return false}c=(Vd(b.j==P3b,hJc,b),U0b(b,2)).ni();if(c<0||c%1!=0){a.a.mh(UIc+l3b(iJc,DD(yD(nT,1),WBc,1,5,[ZBc])),a.b.Ig(),a.d,a.c);$Ib(a,tJb.d);return false}return true}function _rb(a,b){var c,d,e,f,g,h,i,j;i=b.Eh().Nh();if(i){j=(ie(i.Th()||i.g==($ac(),Yac),WHc,i),P6b(i.n));if(!Tkc(j.xi(new Hlc,false).a,WFc)){a.a+=XHc;isb(a,_Dc,j.xi(new Hlc,true).a); +a.a+=RCc}}e=new szc;for(h=b.Ah().Qd();h.Kd();){f=h.Ld();qzc(e,f.ei(1))}for(g=(d=(new ioc(e.a)).a.Yd().b.Ij(),new ooc(d));g.a.Kd();){f=(c=g.a.Ld(),c.ee());a.a+=XHc;Dlc(Dlc(Dlc(Dlc((a.a+="@",a),aEc)," {"),f),"}");a.a+=RCc}a.a+=" * @constructor\n"}function Ptb(a,b){var c,d,e,f,g,h;h=(Cn(),new Vr);e=new lvc;for(g=Zs(a.a.Qd(),a.b);g.b.Kd();){f=ft(g,g.b.Ld());c=(iub(),d=blc(blc(blc(blc(blc(alc(alc(f,58,45),92,47)," ",_Fc),"[",aGc),"]",bGc),"<",cGc),">",dGc),jub(d));if(!ivc(e,Otb(c,b)))throw HV(new bfb("Duplicate module path after resolving: "+ +f));!Tkc(c.substr(0,1),"/")&&!(Tkc(c.substr(0,2),KEc)||Tkc(c.substr(0,3),YHc))&&(c="/"+c);gpc(h.a,Zd(c))}return Kp(new Ppc(h.a))}function Xeb(a){var b,c,d,e,f,g,h;h=new spc;for(g=0;g=0,"invalid depth: %s",e);f.b=e;e==h.a.length&& +gpc(h,new spc);(bBc(e,h.a.length),h.a[e]).add(f)}return h}function SMb(a,b){var c,d,e,f,g,h;f=yPb(a.g,0).b.b;d=(Zn(),new hr);uMb(a,(pSb(),wRb));while(IOb(a,DQb)||NOb(a)||HOb(a,0,RRb))if(IOb(a,DQb)){uMb(a,DQb);fr(d,new fUb(BMb(a,yPb(a.g,0).b.b)))}else{c=(IOb(a,RRb)?e=(g=yPb(a.g,0).b.b,uMb(a,RRb),h=lOb(a,b),new ESb(new KWb(g,a.f),h)):e=dOb(a,b),e);gpc(d.a,Zd(c));if(c.p==($Vb(),qUb))break;else if(IOb(a,DQb))uMb(a,DQb);else break}uMb(a,BQb);return new CSb(new KWb(f,a.f),go(d.a))}function ryb(a,b){var c, +d;if(-1==a.Fh())return b;if(-1==b.Fh())return a;if(ABc==a.Fh())return b;if(ABc==b.Fh())return a;if(0==a.Fh()||0==b.Fh())return a.e.b;if(512==a.Fh())return sxb(b);if(lGc==a.Fh())return rxb(b);if(512==b.Fh())return sxb(a);if(lGc==b.Fh())return rxb(a);c=a.Fh()&b.Fh();if(a.Rh()==b.Rh())d=a.Rh();else{d=null;c=c&-2}return qyb(a.e,c,a.Fh()|b.Fh(),wBb(false,a.Ih(),b.Ih()),d,a.Ih(),b.Ih(),a.Dh(),b.Dh())}function aWb(){$Vb();return DD(yD(EQ,1),_Bc,18,0,[yVb,ZUb,tUb,WVb,UVb,PUb,TUb,cVb,OUb,XVb,WUb,YUb,VVb,KUb, +uUb,CVb,YVb,xUb,MUb,GVb,hVb,LVb,yUb,MVb,LUb,KVb,bVb,iVb,nUb,tVb,BUb,DUb,CUb,aVb,DVb,zVb,EUb,FUb,HUb,IUb,mVb,AUb,sUb,JUb,RVb,TVb,jVb,qVb,mUb,vUb,zUb,gVb,oVb,pVb,QUb,kVb,xVb,UUb,FVb,oUb,qUb,uVb,VUb,EVb,sVb,BVb,nVb,RUb,SUb,dVb,eVb,XUb,ZVb,NUb,HVb,IVb,JVb,PVb,QVb,NVb,vVb,wVb,pUb,AVb,SVb,$Ub,_Ub,lVb,GUb,OVb,lUb,fVb,wUb,rVb,rUb])}function n_(a,b,c){switch(b.j.f){case 96:case 148:case 151:case 159:B$(a.c,c==0);break;case 65:(b.b?b.b.f:null).j==(o6b(),j4b)?a.c.sg(true):a.c.pg(c==0);break;case 155:b.e.j!= +(o6b(),j5b)&&n_(a,b.b,c);break;case 108:b.e.j!=(o6b(),j5b)&&b.b.j!=b4b&&n_(a,b.b,c);break;case 114:!!b.b&&!b.b.d&&a.c.sg(true);break;case 98:case 86:case 87:Z0b(b.b).j==(o6b(),j4b)&&a.c.sg(true);break;case 156:a.c.sg(true);break;default:c==0&&a.c.sg(false)}}function pY(a,b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return ne(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=Pkc(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 Pkc(a.a.c,b.a.c)}function ybb(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(Whb(),$hb(c,false,a.a));d=c;for(i=new y2b(new v2b(Zd(d.e)));i.a.a;){h=x2b(i);if(h==b)return j?2:1;if(Dbb(h))d!=h.b&&(j=true);else if(xbb(a,h,k));else{for(g=(!h.b?(Uqc(),Uqc(),Tqc):new S2b(h.b)).Qd();g.Kd();){f=g.Ld();if(f==d)break;if(k?Zhb(f,a.b,a.d):$hb(f,false,a.a)){k=true;j=true}}e= +h.b;if(j&&h.j==(o6b(),P3b)&&(e.j==(o6b(),E4b)||e.j==D4b))return 0}d=h}throw HV(new Wjc(LGc));}function Ikc(){Ikc=gW;var a;Ekc=DD(yD(BE,1),TCc,46,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);Fkc=AD(BE,TCc,46,37,15,1);Gkc=DD(yD(BE,1),TCc,46,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]);Hkc=AD(CE,{3:1,551:1},46,37,14,1);for(a=2;a<=36;a++){Fkc[a]=xE($wnd.Math.pow(a,Ekc[a]));Hkc[a]=LV({l:$Cc, +m:$Cc,h:524287},Fkc[a])}}function Gcb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n;if(Jcb(a,b,c,d))return;j=Ccb(a,d,f);j.p=e;k=new adb(b,(i=(jdb(),hdb),++a.a.b,i));Ncb(j,k);if(c.j==(o6b(),t3b)&&c.e.j!=t4b){g=new adb(b,(h=cdb,++a.a.b,h));Ncb(j,g);Qd((k.b==cdb||g.b==cdb)&&(k.b==hdb||k.b==idb||g.b==hdb||g.b==idb))}else(l=vib(b),m=(Whb(),n=gib(b),!n?null:$0b(n,29)),!!m&&!!l&&((m.a&2)!=0&&l.j==y4b||((m.a&512)!=0||(m.a&IFc)!=0)&&l.j==y4b||(m.a&vFc)==OGc&&l.j==t5b))&&Pcb(j)}function lxb(a){var b,c,d,e,f,g,h,i,j,k;if(!pxb(a))return Zn(), +new Uy(Zd(a));b=(Cn(),new Vr);k=DD(yD(tO,1),WBc,125,0,[a.e.a,a.e.q,a.e.t,a.e.B,a.e.j]);for(h=k,i=0,j=h.length;i"}LAb(a,b,c);a.c&&(b.a+=" (loose)",b);return b}function a8b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!qE(b,77))return false;f=b;if(!a.b.Qi(f.b,c,d))return false;m=a.a.b;i=f.a.b;while(!!m&&!!i){n=qE(m.k,23)?m.k:null;j=qE(i.k,23)?i.k:null;if(n)if(!j||!j.Qi(n,c,d))return false;l=Y0b(m,30)!=0;h=Y0b(i,30)!=0;k=l||Y0b(m,37)!=0;g=h||Y0b(i, +37)!=0;if(!k&&g){e=h&&(!j||j.ai()||j.Ki());if(!e)return false}l||(m=m.d);h||(i=i.d);if(l&&h){m=null;i=null}}return!m||Y0b(m,37)!=0||Y0b(m,30)!=0||!!i}function gfb(b,c){var d,e,f,g;e=new mfb(c.Lf());try{f=oIb(b.c,b.c.a,c.Nf(b.c.c?1:0),e);b.b=f.a;c.Mf();if(f.b!=null&&c.Mf().Zc){c.Mf();g=fpb(b.c,f.b);!!g&&c.Kf(b.c.b,new epb(g))}}catch(a){a=GV(a);if(qE(a,102))c.Rf(new Eeb(null,null,-1,-1,(pW(),oW),null,DD(yD(sT,1),FBc,2,6,[b.c.b])));else throw HV(a);}!b.b?b.b=(d=new _1b((o6b(),M5b)),d):c.Qf(b.b);if(e.b.a.length!= +0||e.c.a.length!=0){f=(go(e.b),go(e.c),new lfb);t1b(b.b,86,f)}M1b(b.b,b.c)}function uPb(a){var b;a.d=a.b.b==0?a.d:yPb(a,0).b.b.c;$wc(a.b);b=a.d;tPb(a);if(!SPb(a))return new pMb((pSb(),KRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d));if((sPb(a,a.d)?Okc(a.e.a,a.d):0)!=47){APb(a,"Expected '/' in regular expression literal",DD(yD(nT,1),WBc,1,5,[]));return new pMb((pSb(),KRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d))}tPb(a);while(bQb(sPb(a,a.d)?Okc(a.e.a,a.d):0))tPb(a);return new pMb((pSb(),KRb),hlc(a.e.a,b,a.d),kMb(a.e.b, +b,a.d))}function HZ(){HZ=gW;GZ=new k6("JSC_REGEXP_REFERENCE",(tZ(),sZ),new emc("References to the global RegExp object prevents optimization of regular expressions."));FZ=new k6("JSC_MALFORMED_REGEXP",sZ,new emc("Malformed Regular Expression: {0}"));Qp("$1","$2","$3","$4","$5","$6",DD(yD(sT,1),FBc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext","global","ignoreCase","lastIndex","multiline","source"]))}function uBb(a,b){var c,d,e,f,g,h,i,j,k;f=a.d;g=b.d; +ke(gAb(f,g)||gAb(g,f),"Unrelated nominal types %s and %s",f,g);if(a==a.a.L||b==b.a.I)return b;else if(b==b.a.L||a==a.a.I)return a;c=a.a;j=zAb(f,g);d=Dwb(a.b,b.b);if(!(!d||d!=d.a.c))return c.I;e=a.c&&b.c||!!d&&d.c;if(null.Rj()&&!d){d=!a.b?b.b:a.b;e=d.c}e?i=pBb(a.g,b.g):i=vBb(c,false,j,a.g,b.g);if(i==c.d)return c.I;h=KAb(a.f,b.f);k=xxc(a.e,b.e)?a.e:null;return new bBb(c,j,i,d,k,e,h)}function TGb(a,b){var c,d;if(b==(RHb(),GHb)){c=new lvc;while(true){if(CGb(a,QHb)){d=a.i.n;!kGb.contains(d)&&!g_b(a.e, +d)&&pGb(a,"msg.jsdoc.modifies.unknown",d,a.i.g,XHb(a.i));ivc(c,a.i.n);b=!a.n?YHb(a.i):uGb(a)}else{nGb(a,dJc,a.i.g,XHb(a.i));return b}if(CGb(a,JHb))b=!a.n?YHb(a.i):uGb(a);else break}if(CGb(a,MHb)){b=!a.n?YHb(a.i):uGb(a);W_b(a.e,c)||nGb(a,"msg.jsdoc.modifies.duplicate",a.i.g,XHb(a.i))}else nGb(a,dJc,a.i.g,XHb(a.i))}return b}function MB(a,b,c){var d,e,f,g,h,i,j;g=QB(a)+1;b.a+="{\n";UB(b,"version",true);b.a+="3";TB(b,(zC(),CC(c)));UB(b,"lineCount",false);b.a+=""+g;UB(b,"mappings",false);XB(new ZB(a,b, +g));UB(b,"sources",false);b.a+="[";SB(b,a.k);b.a+="]";LB(a,b);UB(b,"names",false);b.a+="[";SB(b,a.g);b.a+="]";for(f=(i=(new inc(a.a)).a.Yd().Qd(),new onc(i));f.a.Kd();){e=(d=f.a.Ld(),d.ee());h=jwc(a.a,e);vE(h)?j=CC(h):j=kW(h);UB(b,e,false);b.a+=""+j}b.a+="\n}\n"}function VOb(a){switch(yPb(a.g,0).c.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 BAb(a,b){eAb();var c,d,e,f,g,h,i,j,k;f=a.b;g=b.b;if(f.d.d.isEmpty()&&g.d.d.isEmpty())return a;else if(f.d.d.isEmpty()||g.d.d.isEmpty())return null;c=(Po(),new pr);for(e=Qo(f).Qd();e.Kd();){d=e.Ld();k=d.ee();i=d.fe();j=k==null?null:ow(g.d,k);if(ABc==i.Fh())gpc(c.b,(Dm(k,j),new Wq(k,j)));else if(ABc==j.Fh())gpc(c.b,(Dm(k,i),new Wq(k,i)));else{h=zyb(i,j);if(!h)return null;gpc(c.b,(Dm(k,h),new Wq(k,h)))}}return new uAb(bp(c.b),a.a)}function UIb(a,b){var c,d;if(!(b.j==(o6b(), +g5b)||b.j==S5b||b.j==P3b)){a.a.mh(UIc+l3b(jJc,DD(yD(nT,1),WBc,1,5,[kJc])),a.b.Ig(),a.d,a.c);return false}if(b.j==g5b||b.j==S5b)return true;d=(Vd(b.j==P3b,hJc,b),b.b.oi());if(!xIb(d)){a.a.mh(UIc+l3b(jJc,DD(yD(nT,1),WBc,1,5,[kJc])),a.b.Ig(),a.d,a.c);return false}c=BJb(Vb(d));switch(c.a){case 0:return RIb(a,b);case 1:return IIb(a,b);default:throw HV(new Wjc("Invalid type transformation expression"));}}function aXb(a,b,c){var d,e,f,g,h,i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=plc(b);if(h>=0){d=$wnd.Math.min(d,h); +qE(b,27)?(l=b.a.length,dl&&(b.a+=tlc(AD(zE,GBc,46,d-l,15,1))),undefined):b=qlc(b,0,d)}k>0&&(k=$wnd.Math.max(plc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=AD(zE,GBc,46,k-d,15,1);bqc(f,f.length,e);g=a.b.f;i=qE(b,27)?b:new Jlc(b);g?(i.a+=ulc(f,0,f.length),i):Glc(i,j,ulc(f,0,f.length));return i}function LXb(a){var b,c,d,e,f,g,h,i;h=elc(a,"\r?\n",0);b=(Po(),new pr);for(e=0;e=100)while(MV(QV(LV(d,10),NV($wnd.Math.pow(10,c+1))),g)){d=LV(d,10);++c}if(c>2)w$(a,YV(d)+"E"+c);else{h=JV(g,0)<0?RV(g):g;JV(h,1E12)>0&&ukc(h,4).length+2<(""+YV(h)).length?w$(a,(JV(g,0)<0?"-":"")+"0x"+ukc(h,4)):w$(a,""+YV(g))}}else w$(a,dlc(blc(""+b,".0E","E"), +"^(-?)0\\.","$1."))}function $Gb(a,b){var c;if(b==(RHb(),KHb)){b=!a.n?YHb(a.i):uGb(a);if(b==zHb||b==EHb||b==OHb||b==MHb||b==NHb||b==JHb||b==LHb||b==BHb||b==DHb||b==CHb){a.n=b;return EGb(a,(o6b(),E5b))}return kHb(a,(o6b(),E5b),KGb(a,b))}else if(b==xHb)return kHb(a,(o6b(),H3b),KGb(a,!a.n?YHb(a.i):uGb(a)));else{c=KGb(a,b);if(c)if(CGb(a,KHb)){!a.n?YHb(a.i):uGb(a);return kHb(a,(o6b(),E5b),c)}else if(CGb(a,xHb)){!a.n?YHb(a.i):uGb(a);return kHb(a,(o6b(),H3b),c)}return c}}function x6b(a,b,c,d,e){var f,g, +h,i,j,k,l;g=new h3b((o6b(),z4b),a);Zd(b);Zd(c);for(j=new Nwc(new Ewc(b));j.b!=j.c.a.b;){h=Lwc(j);f=xYb(h.d);J0b(g,y6b(f,h.e))}for(i=new Nwc(new Ewc(c));i.b!=i.c.a.b;){h=Lwc(i);f=xYb(h.d);l=x1b(f,f.g,80);l!=f.g&&(f.g=l);f.g=new D2b(80,1,f.g);J0b(g,y6b(f,h.e))}if(d!=null){k=new b2b(H5b,(ie(Wkc(d,olc(46))==-1,GDc,d),new $2b(g5b,d)));J0b(g,(!!e&&(l=x1b(k,k.g,78),l!=k.g&&(k.g=l),!!e&&(k.g=new N2b(78,e,k.g))),k))}return g}function Dhb(a,b,c){var d,e,f,g,h;d=b.j;if(d==(o6b(),M5b)){shb(a,b,c);return}else if(d== +y4b){rhb(a,b,c);return}a.e=b;if(!a.a.Zf(a,b,c))return;d==y4b?Fhb(a,b,c):d==U3b?(e=b.b,f=(Whb(),b.j==U3b&&!(b.j!=e5b&&djb(b.e))),f||Dhb(a,e,b),a.e=b,whb(a,b),f&&Dhb(a,e,b),g=b.b.d,h=g.d,Dhb(a,g,b),Dhb(a,h,b),vhb(a,false),undefined):d==e5b?(whb(a,b),Ehb(a,b),vhb(a,false),undefined):a.p&&cib(b)?(whb(a,b),Ehb(a,b),vhb(a,false),undefined):Ehb(a,b);a.e=b;a.a.$f(a,b,c)}function Z1(a){var b,c,d,e,f;e=(a.L.sd!=(y4(),v4)&&!!a.W&&Zkb(a.W,HEc,true),new Qpb);try{for(c=(!a.N&&(a.N=new Vub),new Ppc((f=new spc,dqb(), +gpc(f,aqb),dqb(),gpc(f,$pb),gpc(f,Spb),gpc(f,Vpb),gpc(f,Zpb),gpc(f,Ypb),gpc(f,Wpb),undefined,dqb(),gpc(f,Upb),gpc(f,Xpb),gpc(f,Rpb),gpc(f,_pb),gpc(f,bqb),gpc(f,cqb),undefined,dqb(),gpc(f,Tpb),f)));c.a"));E1b(c,f_b(d));Y1b(c,f);K0b(f,c);P1(a.a,c)}if(b.d){e=(ie(Wkc(fGc,olc(46))==-1,GDc,fGc),new $2b((o6b(),g5b),fGc));g=dYb(e,new _1b(_5b),Z3b);Y1b(g,f);R7(a,g);!b.b?K0b(f,g):H0b(f,g,b.b);P1(a.a,g)}}function mX(a,b,c){var d,e,f,g,h,i,j,k;IX((o6b(),y4b),b);f=q6b(b.j); +f!=-1&&(e=V0b(b),f!=e&&gY(kDc+f+lDc+e,b));RX(a,b.b.d);g=b.b;d=b.b?b.b.f:null;if(b.j==y4b&&Y0b(b,60)!=0){lX(a,(VKb(),eKb),b);IX(g5b,g);g.oi()==null&&gY(rDc,g);g.oi().length==0||gY("Expected empty string.",g);h=q6b(g.j);h!=-1&&(i=V0b(g),h!=i&&gY(kDc+h+lDc+i,g));d.j==M3b?VW(a,d):kX(a,d)}else{IX(g5b,g);g.oi()==null&&gY(rDc,g);j=q6b(g.j);j!=-1&&(k=V0b(g),j!=k&&gY(kDc+j+lDc+k,g));c?IX(j4b,d):VW(a,d)}}function CZb(a){var b,c,d,e,f,g,h,i,j;e=new spc;!!a.i&&gpc(e,a.i.a);!!a.g&&gpc(e,a.g.a);if(a.d){!!a.d.a&& +gpc(e,a.d.a.a);if(a.d.e)for(d=new Ppc(a.d.e);d.a=0||c.d!=null||c.g!=null||c.e!=null)throw HV(new wC("Invalid map format"));g=new RB;for(k=c.f.Qd();k.Kd();){j=k.Ld();h=j.d;j.c==0&&(h=null);if(h==null)throw HV(new wC("Unable to retrieve: "+j.d));PB(g,j.b,j.a,h)}i=new Hlc;try{MB(g, +i,c.b)}catch(a){a=GV(a);if(qE(a,102)){e=a;throw HV(new IC(e));}else throw HV(a);}hB(b,i.a)}catch(a$1){a$1=GV(a$1);if(qE(a$1,102)){f=a$1;throw HV(new wC("IO exception: "+f));}else throw HV(a$1);}}function jkb(a,b){var c,d,e,f,g,h,i,j,k;c=b.b;Whb();if(!!c&&(c.j==(o6b(),i6b)||c.j==$4b||c.j==Z3b)||c.j==(o6b(),U3b)){u1b(b,c);g=V1b(new _1b((o6b(),s4b)),b);K0b(b,g);if(c.j==U3b){j=arc(c.b);I0b(b.e,c,b);I0b(b.e,V1b(new _1b(j4b),b),b)}else{j=oib(c);for(e=(!c.b?(Uqc(),Uqc(),Tqc):new S2b(c.b)).Qd();e.Kd();){d= +e.Ld();u1b(c,d);k=V1b(new b2b(c.j,d),b);I0b(b.e,k,b)}}for(i=j.Qd();i.Kd();){h=i.Ld();f=V1b(new _1b(r4b),h);K0b(f,h.mi(false));K0b(f,h.mi(false));J0b(g,f)}P1(a.b,b.e)}}function S1b(a,b,c,d,e){var f,g,h,i,j,k;Clc(b,a.j);if(qE(a,8)){b.a+=" ";Dlc(b,a.oi())}else if(a.j==(o6b(),y4b)){b.a+=" ";!a.b||a.b.j!=g5b?(b.a+="",b):Dlc(b,a.b.oi())}else if(a.j==r5b){b.a+=" ";xlc(b,a.ni())}if(c){h=i2b(a.i);if(h!=-1){b.a+=" ";b.a+=h}if(a.c!=0){b.a+=" [length: ";ylc(b,a.c);b.a+="]"}}if(d){g=b1b(a);for(f=0;f< +g.length;f++){i=g[f];k=o1b(a,i);b.a+=" [";Dlc(b,p2b(i));b.a+=PCc;b.a+=""+k;b.a+="]"}}if(e&&!!a.k){j=kW(a.k);if(j!=null){b.a+=" : ";b.a+=""+j}}}function r9b(a,b,c){var d,e,f,g,h,i,j,k;if(a.jj())return Dlc(b,a.hj());if(!a.t)return b.a+=c?"?":"{...}",b;a.t=false;j=new szc;for(d=a;!!d&&!d.kj()&&j.a.size()<=10;d=d.cj())Sc(j,d.dj());b.a+="{";k=!c&&j.a.size()>2;g=0;for(i=(f=(new ioc(j.a)).a.Yd().b.Ij(),new ooc(f));i.a.Kd();){h=(e=i.a.Ld(),e.ee());g>0&&(b.a+=",",b);k?(b.a+="\n ",b):g>0&&(b.a+=" ",b);Dlc((b.a+= +""+h,b),PCc);F6b(a.gj(h),b,c);++g;if(!c&&g==10){b.a+=", ...";break}}k&&(b.a+=RCc,b);b.a+="}";a.t=true;return b}function VGb(a,b){var c,d,e;e=EGb(a,(o6b(),y5b));c=false;d=null;if(b!=(RHb(),NHb)){do{if(d){!a.n?YHb(a.i):uGb(a);iHb(a);b=!a.n?YHb(a.i):uGb(a)}if(b==AHb){iHb(a);if(CGb(a,NHb))d=EGb(a,i4b);else{iHb(a);d=kHb(a,i4b,$Gb(a,!a.n?YHb(a.i):uGb(a)));iHb(a)}c=true}else{d=$Gb(a,b);if(CGb(a,EHb)){iHb(a);!a.n?YHb(a.i):uGb(a);d=kHb(a,o4b,d)}}if(!d)return null;J0b(e,d);if(c)break}while(CGb(a,zHb))}if(c&& +CGb(a,zHb))return qGb(a,"msg.jsdoc.function.varargs",a.i.g,XHb(a.i)),null;return e}function bkb(a,b,c,d){var e,f,g,h,i,j,k,l,m;for(e=b.b;e;e=m){m=e.d;i=!c?e:c;j=!c?b:d;switch(e.j.f){case 83:bkb(a,e,i,j);break;case 73:case 101:g=e.b;if(g.j==(o6b(),i6b)){l=g;k=l.b.mi(false);y1b(g.e,g,k);I0b(j,l,i);fkb(a,"FOR-IN var declaration",b)}break;case 72:if(e.b.j!=(o6b(),j4b)){h=e.b;if(h.j==$4b||h.j==Z3b||h.j==U3b||h.j==y4b)return;f=new _1b(j4b);X1b(f,e);y1b(e,h,f);h.j==i6b?l=h:l=(Whb(),V1b((ee(tYb(h),h),new b2b(t4b, +h)),h));I0b(j,l,i);fkb(a,"FOR initializer",b)}}}}function PIb(a,b){var c,d,e;if(!vIb(a,b,(zJb(),uJb)))return false;e=(Vd(b.j==(o6b(),P3b),hJc,b),V0b(b)-1);c=(Vd(b.j==P3b,hJc,b),U0b(b,1));if(c.j!=g5b&&c.j!=S5b){a.a.mh(UIc+l3b(iJc,DD(yD(nT,1),WBc,1,5,["type name or type variable"])),a.b.Ig(),a.d,a.c);a.a.mh(UIc+l3b(lJc,DD(yD(nT,1),WBc,1,5,[sJc])),a.b.Ig(),a.d,a.c);return false}for(d=1;d(Qd(!(a==a.a.v||a==a.a.g)), +a.j?ABc:a.i.size()+a.e.size()))return null;g=new st;for(e=0,f=b.size();e1)return null;else j.isEmpty()?mr(d,h,a.a.G):mr(d,h,Vs(j.Qd()))}return kwb(a,bp(d.b))}function E8(a,b){var c,d,e,f,g,h,i,j,k;(b.a.a&hGc)==0&&(b.a.a&iGc)==0&&(b.a.a&bDc)==0&&k0b(b);if(a){(f=!a.d?null:a.d.p,!f?(Uqc(),Uqc(),Tqc): +f).isEmpty()||l0b(b,(e=!a.d?null:a.d.p,!e?(Uqc(),Uqc(),Tqc):e));for(d=wZb(a).Qd();d.Kd();){c=d.Ld();d0b(b,c,xZb(a,c));e0b(b,c,nZb(a,c))}for(j=AZb(a).Qd();j.Kd();){i=j.Ld();p0b(b,i);o0b(b,i,BZb(a,i))}k=a.j;!!k&&k!=(_$b(),W$b)&&v0b(b,k);(a.a&256)!=0&&u_b(b);(!a.d?null:a.d.b)!=null&&lZb(b.a)==null&&v_b(b,!a.d?null:a.d.b);XZb(b.a,a);for(h=zZb(a).Qd();h.Kd();){g=h.Ld();m0b(b,g)}}}function v2(a){var b,c,d,e,f,g,h,i,j,k;if(a.a.L.wc){a.b.c.a.length>0&&!K2(a.b)&&J2(a.b,RCc);de(a.d.j==(o6b(),M5b));c=a.a.L.Ib; +f=$0b(a.d,53).a;k=(d=$0b(a.d,51),!d?null:d.Ig());de(k!=null);de(k.length!=0);c=blc(blc(blc(c,"%name%",GAc(f)),"%num%",""+a.c),"%n%",RCc);J2(J2(a.b,c),RCc)}if($0b(a.d,29)){i=sZb($0b(a.d,29));i!=null&&I2(a.b,i)&&J2(J2(J2(a.b,"/*\n"),i),"*/\n")}b=Y1(a.a,a.d,a.c==0);if(b.length!=0){J2(a.b,b);h=b.length;g=b.charCodeAt(h-1);j=h>=2?b.charCodeAt(h-2):0;e=g==59||g==10&&j==59;e||J2(a.b,";")}return null}function zib(a){var b,c,d,e;switch(a.j.f){case 31:case 91:return a.oi();case 116:e="";for(c=a.b;c;c=c.d)if(c.j== +(o6b(),S5b))e=e+c.oi();else if(c.j==$5b)if(c.b.j==S5b)e=e+c.b.oi();else return null;return e;case 29:d=a.oi();if(Tkc($Fc,d)||Tkc(pHc,d)||Tkc("NaN",d))return d;break;case 30:return""+a.ni();case 34:return fEc;case 35:return gEc;case 32:return CBc;case 79:return $Fc;case 19:b=uib(a.b);if(b!=(ahc(),_gc))return b.sj(true)?fEc:gEc;break;case 42:return Yhb(a);case 43:return"[object Object]"}return null}function mnb(a){jnb();var b,c,d,e,f,g,h;d=new Pr;f=(Po(),new pr);for(c=nf(af(_e(gf(new ic(10))),a));Mb(c);){b= +Nb(c);h=bf(_e(gf(new ic(32))),llc(b));if(h.b.size()==1&&h.a.getAtIndex(0).length==0)continue;else if(h.b.size()<3)throw HV(new bfb("Invalid table: too few tokens on line: "+b));g=h.a.getAtIndex(0);e=new hnb(aKb(h.a.getAtIndex(1)),aKb(h.a.getAtIndex(2)),h.b.size()>3?h.a.getAtIndex(3):"");g.indexOf(PGc)!=-1?Or(d,clc(g,".*\\.prototype\\.",""),e):(gpc(f.b,(Dm(g,e),new Wq(g,e))),f)}return new lnb(qn(d.a),bp(f.b))}function gAb(a,b){var c,d,e;de(true);if(a.b.d.d.isEmpty()||b.b.d.d.isEmpty())return true; +for(null.Rj();null.Rj();){e=null.Rj();ke(qp(a.b,e),"Type variable %s not in the domain: %s",e,a.b.ef());le(qp(b.b,e),"Other (%s) doesn't contain mapping (%s->%s) from this (%s)",b,e,rp(a.b,e),a);d=rp(a.b,e);c=rp(b.b,e);if(null.Sj&&null.Rj()){d=uxb(d,null.Sj);c=uxb(c,null.Sj);if(!nxb(d,c,new WBb(($zb(),$zb(),Zzb)))&&!nxb(c,d,new WBb((null,Zzb))))return false}else if(!nxb(d,c,new WBb(($zb(),$zb(),Zzb))))return false}return true}function vBb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;Zd(c);g=d;for(n=new Lmc((new Dmc(d.a)).a);n.b;){l= +Kmc(n);i=l.ee();h=pAb(c,i);if(h){g=cBb(b,g,i,h,l.fe());if(g==a.d)return a.d}}for(m=new Lmc((new Dmc(e.a)).a);m.b;){l=Kmc(m);i=l.ee();k=l.fe();if(Ei(d,i,false)){j=Oi(Ei(d,i,false));if(CBb(j,k))continue;f=b?new FBb(j.c,vxb(j.d,k.d),j.b,KBb(j.a,k.a)):new FBb(j.c==k.c?j.c:null,pyb(j.d,k.d),null,KBb(j.a,k.a))}else f=k;h=pAb(c,i);if(h){g=cBb(b,g,i,h,f);if(g==a.d)return a.d}else{if(0==f.d.Fh())return a.d;g=aAb(g,i,f)}}return g}function hQb(b){var c,d,e,f;while(b.indexOf("\\")!=-1){e=Wkc(b,olc(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(ajc(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=Ojc(f)&KBc;if(!(cQb(c)||(Xic==null&&(Xic=new RegExp("\\d")),Xic.test(String.fromCharCode(c)))))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d)}catch(a){a=GV(a);if(qE(a,92)||qE(a,296))return null;else throw HV(a);}}return b}function Lvb(){Lvb=gW;Kvb=new k6("JSC_REQUIRES_NOT_SORTED",(tZ(),sZ),new emc("goog.require() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n")); +Jvb=new k6("JSC_PROVIDES_NOT_SORTED",sZ,new emc("goog.provide() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n"));Ivb=new k6("JSC_PROVIDES_AFTER_REQUIRES",sZ,new emc("goog.provide() statements should be before goog.require() statements."));Hvb=new k6("JSC_DUPLICATE_REQUIRE",sZ,new emc("''{0}'' required more than once."))}function e7(a,b){var c;switch(b){case yFc:case "ArrayBuffer":case SFc:case "DataView":case "Date":case "Float32Array":case TFc:case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case UFc:case "Promise":case "Proxy":case VFc:case "Set":case WCc:case rFc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c= +hob(ohb(a),b),!(!!c&&!(!c.a||U2(c.a)));default:return false}}function Ayb(a,b,c){var d,e,f,g,h,i,j,k,l,m;Zd(c);l=new Rwc;for(h=a.ue(b).Qd();h.Kd();){g=h.Ld();if(ABc==c.Fh()){l.a.put(g,l);continue}if(ABc==g.Fh()){c=null;break}f=c.Ih();if(f.size()==1&&Vs(f.Qd()).c){c=null;break}else{e=g.Ih();if(e.size()==1&&Vs(e.Qd()).c){l.a.put(g,l);continue}}m=zyb(c,g);if(m){l.a.put(g,l);c=m}else if(nxb(g,c,new WBb(($zb(),$zb(),Zzb))))l.a.put(g,l);else if(nxb(c,g,new WBb((null,Zzb)))){c=null;break}}for(k=(i=(new inc(l.a)).a.Yd().Qd(), +new onc(i));k.a.Kd();){j=(d=k.a.Ld(),d.ee());a.ye(b,j)}!!c&&a.xe(b,c)}function oIb(b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s;o=b.Ig();try{j=new kQb(o,c);k=d.b==1;f=new rIb(e,k);g=nIb(d);l=new cPb(g,f,j);p=(q=new OWb,r=yPb(l.g,0).b.b,s=FNb(l),uMb(l,(pSb(),MQb)),QWb(q.a,UV(NV(Date.now()),q.b)),new bWb(new KWb(r,l.f),s,go(l.a.a.a)));n=null;Zn();i=l.d;if(!f.d||k){h=REb(p,b,c,d,e);n=h.p;i=TJb(i,h.e);m=x1b(n,n.g,89);m!=n.g&&(n.g=m);!!i&&(n.g=new N2b(89,i,n.g));d.d!=(EDb(),DDb)&&go(l.a.a.a)}return new uIb(n, +l.i)}catch(a){a=GV(a);if(qE(a,38))throw HV(new HC('Exception parsing "'+o+'"'));else throw HV(a);}}function gNb(a,b){var c,d;if(IOb(a,(pSb(),ORb)))return nNb(a);else{d=new nPb(yPb(a.g,0).b.b);d.b=b;d.a=a.b.d&&Puc(Luc(IRb,DD(yD(mP,1),_Bc,12,0,[HRb,GRb])),yPb(a.g,0).c)?HMb(a).c:null;d.c=!!yMb(a,WRb);return HOb(a,0,ZQb)&&Tkc(yPb(a.g,0).a,"get")&&(SOb(a,1)||yPb(a.g,1).c==wRb)?ENb(a,d):HOb(a,0,ZQb)&&Tkc(yPb(a.g,0).a,"set")&&(SOb(a,1)||yPb(a.g,1).c==wRb)?nOb(a,d):HOb(a,0,ZQb)&&Tkc(yPb(a.g,0).a,UDc)&&(c= +yPb(a.g,1).b.b.b>yPb(a.g,0).b.a.b,!(c||HOb(a,1,ORb)||HOb(a,1,zQb)||HOb(a,1,MQb)))&&(SOb(a,1)||yPb(a.g,1).c==wRb)?$Mb(a,d):iNb(a,d)}}function Ctb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new Ppc(a.f);l.a",dGc),jub(b)))),j);for(f=j.Jg().Qd();f.Kd();){e=f.Ld();nmc(a.b,e,j)}}for(m=new Ppc(a.f);m.a< +m.c.a.length;){j=Npc(m);for(i=j.Kg().Qd();i.Kd();){h=i.Ld();d=kmc(a.b,h);!!d&&ai(a.d,j,d)}}for(k=new Ppc(a.f);k.a0?$gc:Zgc;case 30:return ahc(),a.ni()!=0?$gc:Zgc;case 19:return uib(a.b?a.b.f:null).rj();case 32:case 34:return ahc(),Zgc;case 79:if(!$hb(a.b,false,null))return ahc(),Zgc;break;case 29:b=a.oi();if(Tkc($Fc,b)||Tkc("NaN",b))return ahc(),Zgc;else if(Tkc(pHc,b))return ahc(),$gc;break;case 35:case 38:return ahc(), +$gc;case 65:case 96:case 23:case 42:case 43:if(!$hb(a,false,null))return ahc(),$gc}return ahc(),_gc}function XD(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;c=a.l&8191;d=a.l>>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&$Cc;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&dDc)<<8;u=v+w+A;p+=m>>22;m&=$Cc;u+=p>>22;p&=$Cc;u&=_Cc;return ID(m,p,u)}function RGb(a,b){var c,d;c=SIc;if(b==(RHb(),GHb)){if(CGb(a,QHb)){d=a.i.n;!jGb.contains(d)&&!g_b(a.e,d)&&pGb(a,"msg.jsdoc.idgen.unknown",d,a.i.g,XHb(a.i));c=d;b=!a.n?YHb(a.i):uGb(a)}else{nGb(a,bJc,a.i.g,XHb(a.i));return b}CGb(a,MHb)?b=!a.n?YHb(a.i):uGb(a):nGb(a,bJc,a.i.g,XHb(a.i))}switch(c){case SIc:H_b(a.e)||nGb(a,cJc,a.i.g,XHb(a.i));break; +case TIc:p_b(a.e)||nGb(a,cJc,a.i.g,XHb(a.i));break;case "stable":j0b(a.e)||nGb(a,cJc,a.i.g,XHb(a.i));break;case "xid":x0b(a.e)||nGb(a,cJc,a.i.g,XHb(a.i));break;case "mapped":S_b(a.e)||nGb(a,cJc,a.i.g,XHb(a.i))}return b}function XMb(a,b){var c,d,e,f,g,h,i;i=yPb(a.g,0).b.b;AMb(a,UDc);g=yPb(a.g,0).b.b.b>a.f.b;(g||HOb(a,0,(pSb(),ORb))||HOb(a,0,(pSb(),zQb))||HOb(a,0,(pSb(),MQb)))&&_Ob(a,"No newline allowed between `async` and arrow function parameter list",DD(yD(nT,1),WBc,1,5,[]));d=null;if(IOb(a,(pSb(), +vRb)))d=zNb(a,0);else{h=GNb(a);d=new tTb(h.o,(Zn(),new Uy(Zd(h))))}f=yPb(a.g,0).b.b.b>a.f.b;(f||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb))&&_Ob(a,QJc,DD(yD(nT,1),WBc,1,5,[]));uMb(a,oQb);c=UMb(a,b,(kPb(),hPb));e=zTb(yTb(xTb(new GTb((LTb(),HTb))),d),c);return vTb(e,new KWb(i,a.f))}function U9b(a,b){var c,d,e,f,g,h,i,j,k;g=!b;d=Pac(Oac(new Rac(a.A),b?a.c.b:(c=Pac(Oac(new Rac(a.A),a.c.b),a.B.d),new gac(c.d,null,new c8b(c.d,c.c,c.e,false),c.g,c.f,c.a,c.b))),a.B.d);h=a.c.a;if(h){i=Q0b(h,false);k=new $2b((o6b(), +g5b),"thisType");F1b(k,Xcc(a.A,M6b(a.n)?edc(a.A,(Occ(),Kcc)):a.n));K0b(i,k);if(g)for(e=k.d;e;e=e.d){j=x1b(e,e.g,37);j!=e.g&&(e.g=j);e.g=new D2b(37,1,e.g)}else if(b){f=k.d;(!f||Y0b(f,37)!=0||Y0b(f,30)!=0)&&(j=x1b(k,k.g,37),j!=k.g&&(k.g=j),k.g=new D2b(37,1,k.g))}d.c=i}return new gac(d.d,null,new c8b(d.d,d.c,d.e,false),d.g,d.f,d.a,d.b)}function UEb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;da.f.b,(h||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb))&&_Ob(a,QJc,DD(yD(nT,1),WBc,1,5,[])),uMb(a,oQb),i=UMb(a,b,(kPb(),jPb)),j=zTb(yTb(new GTb((LTb(),HTb)),g),i),vTb(j,BMb(a,g.o.b)));if(KOb(a)){c=aPb(a,c);wSb(c)||_Ob(a,RJc,DD(yD(nT,1),WBc,1,5,[]));d=HMb(a);e=VMb(a,b);return new GSb(new KWb(f,a.f),c,d,e)}return c}function bmb(){bmb=gW;Cn();new Xy("COMPILED"); +amb=new k6("JSC_UNKNOWN_DEFINE_WARNING",(tZ(),sZ),new emc("unknown @define variable {0}"));new k6("JSC_INVALID_DEFINE_TYPE_ERROR",qZ,new emc("@define tag only permits literal types"));_lb=new k6("JSC_INVALID_DEFINE_INIT_ERROR",qZ,new emc("illegal initialization of @define variable {0}"));new k6("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",qZ,new emc("@define variable {0} assignment must be global"));new k6("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",qZ,new emc("@define variable {0} cannot be reassigned due to code at {1}.")); +new emc("line {0} of {1}")}function Azb(a,b){switch(b.f){case 49:return a.u;case 50:return a.b;case 32:case 0:case 53:case 18:case 20:case 19:case 17:case 42:return a.G;case 45:return a.B;case 21:return a.j;case 13:return a.e;case 39:return a.w;case 2:return a.a;case 36:return a.t;case 22:return a.q;case 61:return lyb(a.r,a.a);case 25:return a.K;case 8:return null;case 26:return zzb(null.Rj());case 63:return a.A;case 51:return Hxb(a.I);case 14:case 16:return null.Rj();case 15:return zzb(a.s);case 27:case 46:return null.Rj().Rj(); +default:throw HV(new GC("Native type "+(b.e!=null?b.e:""+b.f)+" not found"));}}function r1(b,c,d,e){var f;s1(b,e);d.a.length==0?N1(b,new Eeb(null,null,-1,-1,I0,null,DD(yD(sT,1),FBc,2,6,[]))):(bBc(0,d.a.length),d.a[0]).d.a.length==0&&d.a.length>1&&N1(b,new Eeb(null,null,-1,-1,J0,null,DD(yD(sT,1),FBc,2,6,[(bBc(0,d.a.length),d.a[0]).e])));a2(d);b.o=u1(c);b.I=d;try{b.G=new _eb(d)}catch(a){a=GV(a);if(qE(a,291)){f=a;N1(b,new Eeb(null,null,-1,-1,K0,null,DD(yD(sT,1),FBc,2,6,[f.b.e,f.a.e])));return}else throw HV(a); +}b.A=b2(d);new Gzc(b.A.size());Fi(b.w,b.L.Kb);q1(b);b.C=GYb(DD(yD(VR,1),HDc,7,0,[]));b.q=GYb(DD(yD(VR,1),HDc,7,0,[]));b.k=GYb(DD(yD(VR,1),HDc,7,0,[b.q,b.C]))}function JD(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw HV(new Hic("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(FD=ID(0,0,0));return ID(0,0,0)}if(b.h==aDc&&b.m==0&&b.l==0)return KD(a,c);i=false;if(b.h>>19!=0){b=YD(b);i=!i}g=QD(b);f=false;e=false;d=false;if(a.h==aDc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=HD((jE(),fE));d=true; +i=!i}else{h=$D(a,g);i&&OD(h);c&&(FD=ID(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=YD(a);d=true;i=!i}if(g!=-1)return LD(a,g,i,f,c);if(VD(a,b)<0){c&&(f?FD=YD(a):FD=ID(a.l,a.m,a.h));return ID(0,0,0)}return MD(d?a:ID(a.l,a.m,a.h),b,i,f,e,c)}function Rab(a){var b,c,d,e,f;f=a.d.d;a.b=mib(f);switch(f.j.f){case 65:{e=f.b;b=e.d;d=e.oi();d.length!=0&&(Whb(),f.j==(o6b(),y4b)&&!(f.j!=e5b&&djb(f.e)))&&Qab(a,a.d,e);de(b.j==(o6b(),y5b));Pab(a,a.d,b);return}case 96:{c=f.b;c.j!=(o6b(),j4b)&&(Whb(),f.j==U3b&&!(f.j!= +e5b&&djb(f.e)))&&Qab(a,a.d,c);return}case 81:case 85:ee(!a.d.c,a.d);Sab(a,f,a.d,a.d);return;case 111:Sab(a,f,a.d,a.d);return;case 72:case 101:case 73:case 67:Sab(a,f,null,a.d);return;case 82:Whb();f.j==(o6b(),M3b)&&!!f.e&&f.e.j==y4b?Sab(a,f,a.d,a.d):Sab(a,f,null,a.d);return;default:throw HV(new GC("Illegal scope root: "+f));}}function sD(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.Jf(ZCc,XCc,-1,-1);k=llc(b);Tkc(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=llc(k.substr(g+1));k=llc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=llc(k.substr(0,g))}g=Wkc(k,olc(46));g!=-1&&(k=k.substr(g+1));(k.length==0||Tkc(k,"Anonymous function"))&&(k=XCc);h=Zkc(j,olc(58));e=$kc(j,olc(58),h-1);i=-1;d=-1;f=ZCc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=nD(j.substr(e+1,h-(e+1)));d=nD(j.substr(h+1))}return a.Jf(f,k,i,d)}function ubb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.e;g=Dib(k)&&k.j!=(o6b(),t3b)&&k.b== +b;e=null;if(g&&(Whb(),b.j==(o6b(),E4b)||b.j==D4b))for(i=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();i.Kd();){h=i.Ld();if(h.j!=(o6b(),S5b)&&!vbb(a,h,a.b)){d=ubb(a,h,c);!e&&(e=d)}}n=(q=a.e+"_const"+KGc+(""+a.c.a.Y++),ivc(a.b,q),q);l=V1b((ie(Wkc(n,olc(46))==-1,GDc,n),new $2b((o6b(),g5b),n)),b);if(g){de(b.j==g5b||(Whb(),b.j==E4b||b.j==D4b));j=X1b(new _1b(tib(k)),k);m=k.b?k.b.f:null;O1b(k,t3b);y1b(k,m,j);K0b(j,l);J0b(j,m);o=Q0b(b,false)}else{y1b(k,b,l);o=b}p=rjb(n,o);f=c.e;I0b(f,p,c);!e&&(e=p);return e} +function Xub(){Xub=gW;Qp("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",DD(yD(sT,1),FBc,2,6,["goog.object.getAnyKey","goog.object.getAnyValue","goog.object.contains","goog.object.getValues","goog.object.getKeys","goog.object.findKey","goog.object.findValue","goog.object.isEmpty","goog.object.clear","goog.object.remove","goog.object.equals","goog.object.clone","goog.object.transpose"]));Wub=new k6("JSC_ARRAY_PASSED_TO_GOOG_OBJECT", +(tZ(),sZ),new emc("{0} expects an object, not an array. Did you mean to use goog.array?"))}function mNb(a){var b,c,d;if(yPb(a.g,1).c==(pSb(),WQb))return jNb(a,vRb,AQb);d=yPb(a.g,0).b.b;uMb(a,vRb);if(IOb(a,AQb)){uMb(a,AQb);if(IOb(a,oQb))return new tTb(new KWb(d,a.f),(Zn(),Zn(),Yn));else{_Ob(a,TJc,DD(yD(nT,1),WBc,1,5,[]));return new aUb(new KWb(d,a.f))}}if(IOb(a,RRb)){b=(Zn(),new Uy(Zd(aOb(a,0))));uMb(a,AQb);if(IOb(a,oQb))return new tTb(new KWb(d,a.f),b);else{_Ob(a,TJc,DD(yD(nT,1),WBc,1,5,[]));return new aUb(new KWb(d, +a.f))}}c=IMb(a,1);if(IOb(a,DQb)){uMb(a,DQb);c=new OSb(new KWb(d,a.f),(Zn(),new Zx(qo(DD(yD(nT,1),WBc,1,5,[c,aOb(a,0)])))))}uMb(a,AQb);return new kUb(new KWb(d,a.f),c)}function PZ(){PZ=gW;OZ=new k6("JSC_SUSPICIOUS_SEMICOLON",(tZ(),sZ),new emc("If this if/for/while really shouldn''t have a body, use '{}'"));KZ=new k6("JSC_SUSPICIOUS_NAN",sZ,new emc("Comparison against NaN is always false. Did you mean isNaN()?"));MZ=new k6("JSC_SUSPICIOUS_IN",sZ,new emc('Use of the "in" keyword on non-object types throws an exception.')); +LZ=new k6("JSC_SUSPICIOUS_INSTANCEOF_LEFT",sZ,new emc('"instanceof" with left non-object operand is always false.'));NZ=new k6("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",sZ,new emc("Suspicious negated left operand of 'in' operator."))}function yBb(a,b){var c,d,e,f,g,h,i,j,k,l;if(a.c)return PAb(a,b)?a:null;if(b.c)return null;if(!xxc(a.e,b.e))return null;if(a==a.a.L)return b==b.a.L?a:null;else if(b==b.a.L)return null;else if(a==a.a.I)return b==b.a.I?a:null;else if(b==b.a.I)return null;f=BAb(a.d, +b.d);if(!f)return null;d=null;if(!!a.b||!!b.b){d=Jwb(a.b,b.b);if(!d)return null}e=($zb(),$zb(),Zzb);for(l=(g=(new inc(a.g)).a.Yd().Qd(),new onc(g));l.a.Kd();){k=(c=l.a.Ld(),c.ee());i=Oi(Ei(a.g,k,false));j=Oi(Ei(b.g,k,false));if(!j)return null;h=MBb(i,j);if(!h)return null;e=aAb(e,k,h)}return sBb(a.a,f,e,d,a.e,false,JAb(a.f,b.f))}function BIb(a,b){var c;if(b.j==(o6b(),n3b)||b.j==w5b||b.j==o5b)return CIb(a,b);if(b.j!=P3b){a.a.mh(UIc+l3b(jJc,DD(yD(nT,1),WBc,1,5,[wBc])),a.b.Ig(),a.d,a.c);return false}if(!yIb((Vd(b.j== +P3b,hJc,b),b.b.oi()))){a.a.mh(UIc+l3b(iJc,DD(yD(nT,1),WBc,1,5,["boolean predicate"])),a.b.Ig(),a.d,a.c);return false}c=BJb(Vb((Vd(b.j==P3b,hJc,b),b.b.oi())));if(!vIb(a,b,c))return false;switch(c.a){case 3:return TIb(a,b,(Vd(b.j==P3b,hJc,b),V0b(b)-1));case 2:return OIb(a,b,(Vd(b.j==P3b,hJc,b),V0b(b)-1));case 4:return WIb(a,b,(Vd(b.j==P3b,hJc,b),V0b(b)-1));default:throw HV(new Wjc("Invalid boolean expression"));}}function Fxb(a){bxb();var b;b=new nwc;kwc(b,"BOOLEAN",new Fyb(a,24));kwc(b,"BOTTOM",new Fyb(a, +0));kwc(b,bIc,new Fyb(a,16));kwc(b,"FALSY",new Fyb(a,lGc));kwc(b,cIc,new Fyb(a,32));kwc(b,dIc,new Fyb(a,64));kwc(b,eIc,new Fyb(a,128));kwc(b,"TOP",new Fyb(a,-1));kwc(b,fIc,new Fyb(a,504));kwc(b,gIc,new Fyb(a,8));kwc(b,hIc,new Fyb(a,512));kwc(b,"UNDEFINED",new Fyb(a,256));kwc(b,iIc,new Fyb(a,ABc));kwc(b,jIc,new Fyb(a,280));kwc(b,kIc,new Fyb(a,320));kwc(b,lIc,new Fyb(a,384));kwc(b,mIc,new Fyb(a,56));kwc(b,nIc,new Fyb(a,96));kwc(b,oIc,new Fyb(a,160));kwc(b,pIc,new Fyb(a,288));kwc(b,qIc,new Fyb(a,192)); +return b}function bwb(a,b,c){var d,e;if(a==a.a.g)return b.a+=_Hc,b;else if(a==a.a.v)return b.a+=aIc,b;else if(a==a.a.s)return Dlc(Dlc(b,c.ji()?"!":""),TFc);if(!a.n.a.isEmpty()){b.a+="<";Mc(new Qc(","),b,Jm(new Km(Dn(a.n.a.ef()),new Kwb)));b.a+=">"}b.a+=_Gc;if(a.d){b.a+="new:";Clc(b,a.d);b.a+=","}else if(a.g){b.a+="this:";Clc(b,a.g);b.a+=","}for(e=0;e=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:_kc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):_kc(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):BC(d,b)}}d.a+='"';return d.a}function CMb(a,b){var c,d,e,f,g,h,i;if(b.p==($Vb(),bVb)){f=b.a;return Tkc(f.a,UDc)&&(h=yPb(a.g,0).b.b.b>a.f.b,!(h||HOb(a,0,(pSb(),ORb))||HOb(a,0,(pSb(),zQb))||HOb(a,0,(pSb(),MQb))))&&(i=yPb(a.g,0).c,Puc(Luc((pSb(),ZQb),DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),i)||!a.b.c&& +eMb(i))&&(g=yPb(a.g,1).b.b.b>yPb(a.g,0).b.a.b,!(g||HOb(a,1,(pSb(),ORb))||HOb(a,1,(pSb(),zQb))||HOb(a,1,(pSb(),MQb))))&&HOb(a,1,(pSb(),oQb))}else if(b.p==vUb){d=b;e=d.b;c=d.a;return e.p==bVb&&Tkc(e.a.a,UDc)&&e.o.a.b==c.o.b.b&&(g=yPb(a.g,0).b.b.b>a.f.b,!(g||HOb(a,0,(pSb(),ORb))||HOb(a,0,(pSb(),zQb))||HOb(a,0,(pSb(),MQb))))&&IOb(a,(pSb(),oQb))}else return false}function c7(a,b){var c,d,e,f,g,h,i,j,k;if(!a.c)return false;i=wcb(a.c,b);if(!i)return false;d=i.d;if(!d)for(k=(!i.n?(Zn(),Zn(),Yn):i.n).Qd();k.Kd();){j= +k.Ld();(j.b==(jdb(),hdb)||j.b==idb)&&(d=j)}if(!d)return false;f=d.a;g=$0b(f,51);if(!!g&&g.wh())return false;c=f.e;e=null;if(c.j==(o6b(),y4b))e=c;else{Whb();if(!!c&&(c.j==i6b||c.j==$4b||c.j==Z3b)&&f.j==g5b)if(f.b)e=Zd(f.b);else return false;else if(c.j==t3b&&c.b==f)e=Zd(c.b.d);else if(c.j==t5b&&!!f.b&&!f.b.d)e=Zd(f.b);else throw HV(new Wjc("Unexpected declaration format:\n"+U1b(c)));}if(e.j==y4b){h=Zd(U0b(e,2));return!o7(new p7(a),h)}else return l1b(e)&&c7(a,_0b(e))}function tYb(a){switch(a.j.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 103: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 40:case 63:case 41:case 7:case 10:case 6:case 17:case 15:case 29:case 5:case 22:case 23:case 19:case 30:case 32:case 43:case 61:case 21:case 38:case 11:case 36:case 37:case 113:case 31:case 14:case 99:case 116:case 115:case 33:case 25:case 35:case 12:case 79:case 102:return true; -default:return false}}function SAc(a,b){var c,d,e,f,g,h,i,j,k;e=0;for(i=0;ib)throw HV(new Hic(AKc));}f=AD(zE,EBc,46,e,15,1);k=0;g=0;for(h=0;h -0){c=a[h++];if((c&192)!=128)throw HV(new afb("Invalid UTF8 sequence at "+(h-1)+", byte="+(j=c>>>0,j.toString(16))));d=d<<6|c&63}k+=gjc(d,f,k)}return f}function Y8(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;h=null;e=d.b?d.b.f:null;g=0;o=null;for(p=c.b;p;p=o,g++){o=p.d;if(p.j==(m6b(),b4b)){j=Y0b(p,29);l=u1b(p);f=u1b(p);i=false;l.j==e5b&&(f.j==e5b?i=Rkc(WFc,f.ni()):f.j==h6b&&(i=Qib(f.b)));if(i)m=O0b(l,false);else{m=l.j==e5b?l:vYb(Q8(a,d,g));k=O0b(l,false);s=_8(O0b(m,false),f);n=l.j==e5b?eYb(UXb(k,s)): -bYb(k,s,g6b);W1b(n,p);F0b(e,n,h);h=n}w1b(c,p,m);r=v1b(m,m.g,37);r!=m.g&&(m.g=r);m.g=new B2b(37,1,m.g);q=v1b(m,m.g,29);q!=m.g&&(m.g=q);!!j&&(m.g=new L2b(29,j,m.g));yhb(b)}else if(p.j==s5b||p.j==p3b){h=U8(d,h,p,Q8(a,d,g));yhb(b)}else if(p.j==F5b&&h1b(p.b)){h=U8(d,h,p.b,Q8(a,d,g));yhb(b)}}}function W6b(a,b){var c;if(!!a.Ti()&&!!b.Ti())return cac(a.Ti(),b.Ti(),false);else if(E6b(a,b,0,new sbc(true)))return a;else if(a._h()||b._h())return E6b(a,b,0,new sbc(true))?a:H6b(a,(Mcc(),Icc));else if(a.Xi())return xhc(a.Xi(), -b);else if(b.Xi())return xhc(b.Xi(),a);else if(a.Wi())return Igc(a.Wi(),b);else if(b.Wi())return Igc(b.Wi(),a);else if(a.Oi(b))return U6b(a);else if(b.Oi(a))return U6b(b);else if(a.Ui())return Qfc(a.Ui(),b);else if(b.Ui())return Qfc(b.Ui(),a);if(a.Ri()){c=Y8b(a.Ri(),b);if(c)return c}else if(b.Ri()){c=Y8b(b.Ri(),a);if(c)return c}if(a.Mi()&&b.Mi())return H6b(a,(Mcc(),_bc));return H6b(a,(Mcc(),bcc))}function UAb(a,b,c){var d,e,f,g,h;if(b==b.a.L)return true;if(a.c||b.c)return TAb(a,b,c);h=a.d;f=b.d;e= -true;if(null.Rj==2){if(gAb(f,Oi(Ei(c.a,h,false))))return true;c=(Qd(null.Rj!=0),new UBb(_zb(c.a,h,f)));fAb(h,f)||(e=false);if(null.Qj()&&null.Qj()&&(de(null.Qj()&&null.Qj()),!(mxb(iAb(f),iAb(h),new UBb((Zzb(),Zzb(),Yzb)))&&mxb(jAb(h),jAb(f),new UBb((null,Yzb))))))return false;if((null.Qj()||null.Qj())&&null.Qj())return MAb(a,f,c)}else if(!fAb(h,f))return false;if(e)g=new gnc(b.g);else{g=null.Qj();if(!g)return false}if(!LAb(a,b,g,c))return false;if(!b.b)return true;else if(!a.b)return false;d=nwb(a.b, -b.b,true,c,null);return d}function kA(b,c){var d,e,f,g,h,i;this.f=Zd(b);this.c=Zd(c);try{this.a=RA(c.length,(Vlc(),Tlc))}catch(a){a=GV(a);if(qE(a,190))throw HV(new bfb("Illegal alphabet length "+c.length));else throw HV(a);}f=$wnd.Math.min(8,ckc(this.a));try{this.d=8/f|0;this.b=this.a/f|0}catch(a$2){a$2=GV(a$2);if(qE(a$2,190))throw HV(new bfb("Illegal alphabet "+slc(c,0,c.length)));else throw HV(a$2);}e=AD(yE,JCc,46,128,15,1);$pc(e,e.length);for(h=0;h>24}this.e=e;i=AD(EV,{971:1,3:1},46,this.d,16,1);for(g=0;g=14&&k<=16)))if(b.a.containsKey(d)){!c.a?c.a=new Ilc(c.d):Blc(c.a,c.b);ylc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=zD(d),!(l>=14&&l<= -16)),d);j=new lvc(b);Yxc(c,Wpc(h,j))}else qE(d,971)?Yxc(c,rqc(d)):qE(d,289)?Yxc(c,kqc(d)):qE(d,82)?Yxc(c,lqc(d)):qE(d,979)?Yxc(c,qqc(d)):qE(d,140)?Yxc(c,oqc(d)):qE(d,551)?Yxc(c,pqc(d)):qE(d,980)?Yxc(c,nqc(d)):qE(d,981)&&Yxc(c,mqc(d));else Yxc(c,d==null?ABc:kW(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function jyc(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 Lyc(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.Re(b,l.d);e=d<0?0:1;d==0&& -(!c.c||vxc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!fyc(l.a[e]))if(fyc(l.a[1-e]))m=m.a[j]=myc(l,e);else if(!fyc(l.a[1-e])){n=m.a[1-j];if(n)if(!fyc(n.a[1-j])&&!fyc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;fyc(n.a[j])?h.a[f]=lyc(m,j):fyc(n.a[1-j])&&(h.a[f]=myc(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 Lyc(l.d,l.e);kyc(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 txb(a, -b){var c,d,e,f,g,h,i,j,k,l;k=b.Eh();ie(-1!=b.Eh()&&yBc!=b.Eh()&&(k&1)==0&&(k&4)==0,"Requested invalid type to remove: %s",b);if(yBc==a.Eh())return a;if(-1==a.Eh()){c=nyb(a.e,506,(Cn(),new Xy(a.e.L)),null,Zwb);return txb(c,b)}g=a.Eh()&~k;if((k&2)==0)return g==a.Eh()?a:nyb(a.e,g,a.Hh(),a.Qh(),a.Ch());ie(b.Hh().size()==1,"Invalid type to remove: %s",b);l=Vs(b.Hh().Pd());j=(Cn(),new Vr);for(i=a.Hh().Pd();i.Jd();){h=i.Kd();(h.c||!UAb(h,l,new UBb((Zzb(),Zzb(),Yzb))))&&(epc(j.a,Zd(h)),j)}f=new Vr;for(e= -a.Ch().Pd();e.Jd();){d=e.Kd();(de(null.Rj==(Zvb(),Yvb)),null.Rj).Qj(new UBb((Zzb(),Zzb(),Yzb)))||(epc(f.a,Zd(d)),f)}return nyb(a.e,g,Kp(new Npc(j.a)),a.Qh(),Kp(new Npc(f.a)))}function $Nb(a,b){var c,d,e,f,g,h,i;e=wPb(a.g,0).b.b;d=null;if(GOb(a,(nSb(),PRb)))d=(i=wPb(a.g,0).b.b,sMb(a,PRb),new cWb(new IWb(i,a.f),jOb(a,0)));else{f=wPb(a.g,0).c;if(Nuc(Juc(XQb,DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),f)||!a.b.c&&cMb(f)){d=ENb(a);if(GOb(a,HRb)){sMb(a,HRb);d=new gUb(new IWb(e,a.f),d)}}else if(b!=2&&(FOb(a, -0,uRb)||FOb(a,0,sRb)))d=aOb(a,0);else throw HV(new Ujc("parseParameterCalled() without confirming a parameter exists."));}g=null;h=null;if(GOb(a,AQb)){if(FOb(a,1,VRb)){sMb(a,AQb);g=ONb(a)}else g=(sMb(a,AQb),tOb(a));h=zMb(a,wPb(a.g,0).b.b)}if(b==0&&d.p!=(YVb(),zVb)&&GOb(a,MQb)){sMb(a,MQb);c=TMb(a,1);d=new gTb(new IWb(e,a.f),d,c)}!!g&&(d=new rWb(h,d,g));return d}function Xab(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;n=j1(a.c);q=dbb(c,n,(Mcc(),xcc));d=cbb(c,n,Ebc,q);r=dbb(c,n,Zbc);s=b.b?b.b.f:null; -m=Wab(s,d,q);h=Vab(s,r,q);k=new B0b((jGb(),l=kHb("!ITemplateArray"),XGb(l,!l.n?WHb(l.i):sGb(l))),"");j=new x0b(false);o0b(j,k);p=fbb($Xb(h,d_b(j)),r);f=fbb(vYb("$jscomp$templatelit$"+(""+(new F2(a.c)).a.Y++)),r);t=W1b(bYb(f,p,(m6b(),g6b)),b);o=(Vhb(),hib(b,new Gjb(K5b)));I0b(o,t);O1(a.c,t);i=W1b(eYb(fbb(UXb(fbb(jYb(f.li(false),fbb(new Y2b(Q5b,"raw"),q)),d),m),d)),b);F0b(o,i,t);e=fbb(YXb(u1b(b),DD(yD(VR,1),EDc,7,0,[f.li(false)])),b.k);for(g=s.b;g;g=g.d)g.j==Q5b||H0b(e,u1b(g)); -W1b(e,s);q1b(e,50,e.b.j!=C4b);w1b(b.e,b,e);yhb(a)}function pyb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s;if(h==i||!!h&&hy(h,i))return nyb(a,b,d,e,h);m=(Cn(),new Vr);j=Vvb(h,i);for(l=j.Pd();l.Jd();){k=l.Kd();if(!!h&&h.contains(k)&&!!i&&i.contains(k)){epc(m.a,Zd(k));continue}de(null.Rj==(Zvb(),Yvb));if(yBc==null.Qj()){epc(m.a,Zd(k));continue}if(null.Qj()!=2){if((null.Qj()&c)!=0){epc(m.a,Zd(k));b&=~null.Qj()}}else if(!f.isEmpty()||!g.isEmpty()){s=new Pwc;n=Vs(null.Qj().Qj());for(p=f.Pd();p.Jd();){o= -p.Kd();if(UAb(n,o,new UBb((Zzb(),Zzb(),Yzb)))){epc(m.a,Zd(k));s.a.put(o,s)}}for(r=g.Pd();r.Jd();){q=r.Kd();if(UAb(n,q,new UBb((Zzb(),Zzb(),Yzb)))){epc(m.a,Zd(k));s.a.put(q,s)}}s.a.size()==0||(d=ny(gy(d,s)))}}return nyb(a,b,d,e,Kp(new Npc(m.a)))}function x7b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;Zd(a);if(b._h())return true;if(b.Di())return true;if(L6b(a,b,c.b))return true;if(b.Xi()){q=b.Xi();e=q.b;for(g=0;gwPb(a.g,0).b.a.b,!(c||FOb(a,1,MRb)||FOb(a,1,xQb)||FOb(a,1,KQb)))&&FOb(a,1,XQb)&&FOb(a,2,MQb))return uOb(a);if(FOb(a,0,FQb)&&(d=wPb(a.g,1).b.b.b>wPb(a.g,0).b.a.b,!(d||FOb(a,1,MRb)||FOb(a, -1,xQb)||FOb(a,1,KQb)))&&(FOb(a,1,iSb)||FOb(a,1,fRb)||FOb(a,1,CQb)||FOb(a,1,VQb)||FOb(a,1,vQb)||FOb(a,1,LQb)||FOb(a,1,jRb)||FOb(a,1,kRb)))return IMb(a);if((FOb(a,0,jRb)||FOb(a,0,kRb))&&(b=wPb(a.g,1).b.b.b>wPb(a.g,0).b.a.b,!(b||FOb(a,1,MRb)||FOb(a,1,xQb)||FOb(a,1,KQb)))&&FOb(a,1,XQb))return UNb(a,false);return nOb(a)}function p6b(){m6b();return DD(yD(XR,1),ZBc,10,0,[H5b,I3b,J3b,G3b,l4b,i5b,$4b,X4b,E4b,y4b,Z4b,J5b,f6b,k3b,T5b,d5b,e4b,b5b,n4b,m5b,H3b,B5b,j5b,k5b,c4b,b6b,C4b,B4b,N3b,e5b,p5b,Q5b,n5b,Z5b, -s4b,_5b,M5b,N5b,E5b,$5b,M4b,P4b,o3b,r5b,a6b,w5b,V3b,r3b,u3b,v3b,t3b,y3b,B3b,D3b,s3b,C3b,A3b,w3b,z3b,x3b,F4b,u5b,l3b,N4b,$3b,w4b,G4b,V5b,P3b,a4b,j6b,f4b,t4b,u4b,M3b,Y3b,g6b,k6b,R3b,h6b,h4b,I5b,K3b,T4b,r4b,K5b,D4b,L5b,X3b,Z3b,U4b,R5b,Q3b,p3b,s5b,d4b,S3b,T3b,_4b,U5b,Y4b,v4b,l6b,E3b,I4b,K4b,J4b,L4b,o4b,q4b,p4b,c5b,F5b,O5b,W3b,W5b,X5b,Y5b,b4b,l5b,S5b,L3b,q5b,x4b,v5b,e6b,n3b,o5b,i6b,G5b,f5b,t5b,D5b,d6b,q3b,z4b,A4b,m3b,x5b,P5b,k4b,C5b,g4b,F3b,m4b,V4b,W4b,U3b,Q4b,R4b,S4b,i4b,j4b,H4b,c6b,_3b,a5b,O4b,O3b,g5b, -h5b,y5b,z5b,A5b])}function S9(a,b,c){var d,e,f,g,h,i,j;f=(Vhb(),hib(c,new Gjb((m6b(),w4b))));if(!f||W0b(f,59)==0||c.j==u4b)return;e=hib(c,new Gjb(K3b));h=null;j=null;switch(c.j.f){case 72:h=c.b.d;j=h.d;break;case 70:h=c.b;j=new Z1b(h4b);break;case 71:h=c.b?c.b.f:null;if(h.j!=h4b){g=(ie(Ukc(sGc,mlc(46))==-1,DDc,sGc),new Y2b(e5b,sGc));I0b(e,bYb(O0b(g,false),E9(a.c,new Z1b(_5b)),g6b));h=A9(a.c,zYb(g,Q0b(c.b?c.b.f:null)));H0b(c,h)}j=new Z1b(h4b)}if(!f9(a.c,h)&&!f9(a.c,j))return;i=vYb("$jscomp$generator$loop$guard"+ -(""+a.c.j.a.Y++));if(h.j!=h4b){d=new Z1b(K3b);w1b(c,h,d);I0b(d,WXb(eYb(fbb(UXb(O0b(i,false),O0b(h,false)),h.k))));H0b(d,O0b(i,false))}j.j==h4b||G0b(c,WXb(eYb(Q0b(j))),c.b?c.b.f:null);I0b(e,cYb(i,g6b));yhb(b)}function Iwb(a,b){var c,d,e,f,g,h,i,j,k;de(!!a||!!b);if(!a||!b)return null;a.n.a.isEmpty()||(a=lwb(a));b.n.a.isEmpty()||(b=lwb(b));de(!a.c&&!b.c);if(cwb(a,b))return a;d=a.i;e=b.i;if(d.size()!=e.size())return null;c=new Xwb(a.a);i=d.size();for(g=0;g0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw HV(new Hkc(zBc+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1);--f}if(f>(Gkc(),Ekc)[10])throw HV(new Hkc(zBc+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(JV(l,h)< -0)throw HV(new Hkc(zBc+j+'"'));l=QV(l,k)}l=UV(l,d)}if(JV(l,0)>0)throw HV(new Hkc(zBc+j+'"'));if(!i){l=RV(l);if(JV(l,0)<0)throw HV(new Hkc(zBc+j+'"'));}return l}function CPb(a,b,c){var d,e,f,g,h,i,j;j=new Flc;j.a+=String.fromCharCode(c);e=c==92;d=false;h=e?1:0;c=qPb(a,a.d)?Mkc(a.e.a,a.d):0;while(aQb(c)||(Vic==null&&(Vic=new RegExp("\\d")),Vic.test(String.fromCharCode(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}ulc(j,rPb(a)); -c=qPb(a,a.d)?Mkc(a.e.a,a.d):0}i=j.a;if(e){i=fQb(i);if(i==null){xPb(a,pPb(a,a.d),TJc,DD(yD(nT,1),UBc,1,5,[]));return mPb(a,(nSb(),PQb),b)}}g=i.charCodeAt(0);if(!aQb(g)){xPb(a,hMb(a.e.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",DD(yD(nT,1),UBc,1,5,[ijc(g),ikc(g)]));return mPb(a,(nSb(),PQb),b)}f=(ZLb(),rp(zLb,i));if(f)return new YKb(f.a,iMb(a.e.b,b,a.d));return new $Kb(iMb(a.e.b,b,a.d),(aBc(i),i))}function O6(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;n=b.b.d;f=b.b?b.b.f:null;if(n.j==(m6b(), -h4b)){j=(Vhb(),new c2b(w4b,(ie(Ukc("",mlc(46))==-1,DDc,""),new Y2b(e5b,"")),new Z1b(w5b),(c=new Z1b(K3b),c)));N1(a.a,j);m=uYb(j)}else{if(!j1b(n))return;d=(c=new Z1b(K3b),c);i=Y0b(b,51);if(!(!!i&&i.vh())&&(e=(Vhb(),l=fib(b),!l?null:Y0b(l,29)),!(!!e&&((e.a&512)!=0||(e.a&EFc)!=0)))){h=eYb(YXb(jYb(new Z1b(U5b),new Y2b(Q5b,oFc)),DD(yD(VR,1),EDc,7,0,[new Z1b(Z5b),(ie(Ukc(wFc,mlc(46))==-1,DDc,wFc),new Y2b(e5b,wFc))])));I0b(d,h)}g=hYb((ie(Ukc("",mlc(46))==-1,DDc,""),new Y2b(e5b,"")),AYb((ie(Ukc(FFc,mlc(46))== --1,DDc,FFc),new Y2b(e5b,FFc))),d);N1(a.a,g);m=uYb(g);k=new x0b(false);b0b(k,FFc,new B0b(new _1b(g4b,new Z1b(C5b)),""));C1b(m,d_b(k))}W1b(m,b);I0b(f,m);O1(a.a,m)}function veb(a,b,c){var d,e,f,g,h,i,j;if(a.a&&Y0b(c,40)!=null){Blc(b,Y0b(c,40));return}if(c.j==(m6b(),F3b)){b.a+="!";veb(a,b,c.b)}else if(c.j==m4b){veb(a,b,c.b);b.a+="="}else if(c.j==x5b){b.a+="(";g=c.b?c.b.f:null;for(d=c.b;d;d=d.d){veb(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.j==g4b){b.a+=SDc;!!c.b&&c.b.j!=h4b&&veb(a, -b,c.b)}else if(c.j==P5b)b.a+="*";else if(c.j==C5b){b.a+="?";!!c.b&&veb(a,b,c.b)}else if(c.j==w4b)ueb(a,b,c);else if(c.j==W4b){b.a+="{";i=c.b;h=i.b?i.b.f:null;for(e=i.b;e;e=e.d){if(e.b){Blc(Blc(b,e.b.ni()),":");veb(a,b,e.b?e.b.f:null)}else Blc(b,e.ni());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.j==h6b)b.a+=hEc;else if(c.b){Blc(Blc(b,c.ni()),"<");d=c.b;f=d.b?d.b.f:null;for(j=d.b;j;j=j.d){veb(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else Blc(b,c.ni())}function Umb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(!(!!c.b&&!c.b.d)|| -c.b.j!=(m6b(),r4b)){M1(a.a,thb(c,Rmb,DD(yD(sT,1),DBc,2,6,[])));return}j=Q0b(c.b.b);d=c.b;!!d&&s1b(c,d);k=kub(S2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)).a);I0b(c,T1b(bYb(T1b((ie(Ukc(k,mlc(46))==-1,DDc,k),new Y2b((m6b(),e5b),k)),j),j,g6b),j));I0b(c,W1b(eYb(YXb(jYb((ie(Ukc(CDc,mlc(46))==-1,DDc,CDc),new Y2b(e5b,CDc)),new Y2b(Q5b,MDc)),DD(yD(VR,1),EDc,7,0,[new Y2b(Q5b,k)]))),c));i=(!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d).a.Kg().b;m=zHc.length;if(Rkc(i.substr(i.length-m,m),zHc)&&j.j==r5b){l=a.a.L.lc;for(h=$s(new fsc(l.a.b.Pd()));h.Jd();){g= -h.Kd();f=jib(j,g);if(!!f&&(f.j==Q5b||f.j==r5b)){e=flc(i,0,i.length-12);if(f.j==Q5b){lmc(a.b,i,e+(""+f.ni()));break}else if(f.j==r5b){ee(Rkc(g,"browser"),g);Tmb(a,e,f)}}}}yhb(b)}function rwb(a,b,c,d,e){var f,g,h,i,j;ie(a.n.a.isEmpty(),"Non-empty type parameters %s",a.n);de(a==a.a.g||a.f.isEmpty());de(a!=a.a.v);if(a==a.a.g||b==b.a.v||b==b.a.g||b.c)return true;!b.n.a.isEmpty()&&(b=lwb(b));if(!(a.i.isEmpty()&&a.e.isEmpty()&&!!a.j&&yBc==a.j.Eh())){if(b.i.size()>a.i.size())return false;g=a.i.size()+a.e.size(); -for(f=0;fwPb(a.g,0).b.a.b,!(c||FOb(a,1,MRb)||FOb(a,1,xQb)||FOb(a,1,KQb)))&&FOb(a,1,VQb)?e=XMb(a):FOb(a,0,VQb)?e=(g=wPb(a.g,0).b.b,sMb(a,(ZLb(),sLb).a),h=!!wMb(a,QRb),i=ATb(new ETb((JTb(), -HTb)),(j=wPb(a.g,0).c,Nuc(Juc(XQb,DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),j)||!a.b.c&&cMb(j)?uMb(a):null)),ANb(a,i,h?(iPb(),gPb):(iPb(),hPb)),tTb(i,new IWb(g,a.f))):e=dOb(a);while(FOb(a,0,uRb)||FOb(a,0,zRb)||FOb(a,0,oRb)||FOb(a,0,YRb))switch(wPb(a.g,0).c.f){case 49:sMb(a,uRb);d=GMb(a,1);sMb(a,zQb);e=new YTb(new IWb(f,a.f),e,d);break;case 51:sMb(a,zRb);b=uMb(a);e=new XTb(new IWb(f,a.f),e,b);break;case 107:case 104:e=sOb(a,e);break;default:throw HV(new GC(QJc));}return e}function T0(a,b,c){var d,e, -f,g,h,i,j,k,l,m,n,o;g=!c&&a.L.cd;if(gwc(a.v,b)||g)return a.D;l=OXb("js/"+b+vEc);d=D1(a,wEc+b+"] ",l);for(k=d.b;!!k&&k.j==(m6b(),r4b)&&k.b.j==(m6b(),Q5b);k=d.b){f=k.b.ni();o=bf($e(gf(new ic(32))),f);switch(o.a.getAtIndex(0)){case "use":break;case NDc:T0(a,o.a.getAtIndex(1),c);break;case mEc:n=cYb(vYb(o.a.getAtIndex(1)),(m6b(),g6b));i=new x0b(false);WYb(i.a);i.e=true;C1b(n,d_b(i));H0b(Q2((!a.U&&(a.U=v1(a,"{SyntheticVarsAtEnd}",1)),a.U),a),n);break;default:throw HV(new GC("Bad directive: "+f));}s1b(d, -k)}qW(a.$)&&(Ihb(a,d,new kkb(a,false)),Ihb(a,d,new Ofb(new bgb(W0(a),new F2(a),"jscomp_"+b+"_"))));j=d.b?d.b.f:null;for(e=d.b;e;e=e.d)kjb(e,a);h=t1b(d);if(!h)return a.D;m=b1(a);!a.D?L0b(m,h):J0b(m,h,a.D);a.D=j;iwc(a.v,b,j);K1(a,V0(m));x1(a);return j}function LX(a,b){var c,d,e,f,g,h,i,j,k,l;switch(b.j.f){case 86:IX((m6b(),D4b),b);c=o6b(b.j);c!=-1&&(d=T0b(b),c!=d&&gY(hDc+c+iDc+d,b));NX(b);e=b.b;mX(a,e,false);e.b.ni().length==0||gY(rDc,b);f=e.b.d;!!f.b&&gY("get methods must not have parameters.",b); -return;case 87:IX((m6b(),L5b),b);g=o6b(b.j);g!=-1&&(h=T0b(b),g!=h&&gY(hDc+g+iDc+h,b));NX(b);i=b.b;mX(a,i,false);i.b.ni().length==0||gY(rDc,b);j=i.b.d;!!j.b&&!j.b.d||gY("set methods must have exactly one parameter.",b);return;case 91:MX(a,b);return;case 98:_W(a,b,false);W0b(b,58)!=0&&gY("Keys in an object literal should not be static.",b);return;case 114:IX((m6b(),W3b),b);k=o6b(b.j);k!=-1&&(l=T0b(b),k!=l&&gY(hDc+k+iDc+l,b));kX(a,b.b);kX(a,b.b?b.b.f:null);return;default:gY("Expected object literal key expression but was "+ -b.j,b)}}function h3(a,b,c){var d,e,f;switch(b.j.f){case 28:if(!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&b.b.j==(m6b(),C4b)&&o1b(b.b.b,CDc)){ipc(a.d,CDc,0)!=-1||epc(a.d,CDc);e=b.b;d=b.b?b.b.f:null;switch((e.b?e.b.f:null).ni()){case LDc:gyc(a.a,LDc,CDc);case MDc:if(d.j!=(m6b(),Q5b))return;epc(a.c,d.ni());return;case NDc:if(d.j!=(m6b(),Q5b))return;epc(a.d,d.ni());return;case KDc:b=d.b?d.b.f:null;break;default:return}}break;case 111:if(W0b(c,87)==0){epc(a.c,kub(a.b.a));gyc(a.a,LDc,"es6")}break;case 104:g3(a, -b.b?b.b.f:null,b);return;case 108:Vhb();Qd(b.j==(m6b(),o4b));!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&g3(a,b.b?b.b.f:null,b);return;case 76:o1b(b.b,CDc)&&Yib(b.b)&&epc(a.c,CDc);break;case 84:case 88:case 82:case 85:case 29:case 95:break;default:return}for(f=b.b;f;f=f.d)h3(a,f,b)}function nwb(a,b,c,d,e){var f,g,h,i,j,k,l;if(b==b.a.v||b==b.a.g||b==b.a.s||a==a.a.s)return true;if(a==a.a.v||a==a.a.g)return false;de(!a.c&&!b.c);if(!a.n.a.isEmpty()){if(cwb(a,b))return true;return nwb(lwb(a),b,c,d,e)}if(!(b.i.isEmpty()&& -b.e.isEmpty()&&!!b.j&&yBc==b.j.Eh())){if(a.i.size()>b.i.size())return false;j=b.i.size()+b.e.size();for(h=0;h2){a.a.lh(PIc+j3b(lJc,DD(yD(nT,1),UBc,1,5,[iJc])),a.b.Hg(),a.d,a.c);YIb(a,(c=iJb.d,Vd(b.j==N3b,cJc,b),S0b(b,2),c));return false}f=(Vd(e.j==w4b,jJc,e),S0b(e,2));if(!SIb(a, -f)){a.a.lh(PIc+j3b(gJc,DD(yD(nT,1),UBc,1,5,[mJc])),a.b.Hg(),a.d,a.c);return false}return true}function EIb(a,b){var c,d,e,f,g;if(!tIb(a,b,(xJb(),jJb)))return false;if(!SIb(a,(Vd(b.j==(m6b(),N3b),cJc,b),S0b(b,1)))){YIb(a,(c=jJb.d,Vd(b.j==N3b,cJc,b),S0b(b,1),c));return false}if((Vd(b.j==N3b,cJc,b),S0b(b,2)).j!=w4b){XIb(a,(d=iJc,Vd(b.j==N3b,cJc,b),S0b(b,2),d));YIb(a,(c=jJb.d,Vd(b.j==N3b,cJc,b),S0b(b,2),c));return false}e=(Vd(b.j==N3b,cJc,b),S0b(b,2));g=(Vd(e.j==w4b,jJc,e),T0b(e.b.d));if(g<1){a.a.lh(PIc+ -j3b(kJc,DD(yD(nT,1),UBc,1,5,[iJc])),a.b.Hg(),a.d,a.c);YIb(a,(c=jJb.d,Vd(b.j==N3b,cJc,b),S0b(b,2),c));return false}if(g>1){a.a.lh(PIc+j3b(lJc,DD(yD(nT,1),UBc,1,5,[iJc])),a.b.Hg(),a.d,a.c);YIb(a,(c=jJb.d,Vd(b.j==N3b,cJc,b),S0b(b,2),c));return false}f=(Vd(e.j==w4b,jJc,e),S0b(e,2));if(!SIb(a,f)){a.a.lh(PIc+j3b(gJc,DD(yD(nT,1),UBc,1,5,[mJc])),a.b.Hg(),a.d,a.c);return false}return true}function TAb(a,b,c){var d,e,f,g,h,i;de(a.c||b.c);if(b==b.a.L)return true;if(a.c)for(h=(e=(new gnc(a.g)).a.Xd().Pd(),new mnc(e));h.a.Jd();){g= -(d=h.a.Kd(),d.de());i=new SBb(g);f=PAb(b,i);if(!!f&&(i.a.size()==1||sxb(f.d,(Qd(i.a.size()!=1),new RBb(i.a.$e(1,i.a.size())))))&&!mxb(RAb(a,i),RAb(b,i),c))return false}else for(h=(e=(new gnc(b.g)).a.Xd().Pd(),new mnc(e));h.a.Jd();){g=(d=h.a.Kd(),d.de());i=new SBb(g);if((a.f.a&1)!=0){f=PAb(a,i);if(!(!!f&&(i.a.size()==1||sxb(f.d,(Qd(i.a.size()!=1),new RBb(i.a.$e(1,i.a.size()))))))||!mxb(RAb(a,i),RAb(b,i),c))return false}else{f=PAb(a,i);if(!!f&&(i.a.size()==1||sxb(f.d,(Qd(i.a.size()!=1),new RBb(i.a.$e(1, -i.a.size())))))&&!mxb(RAb(a,i),RAb(b,i),c))return false}}if(!b.b)return!a.b||null.Qj()||b.c;else if(!a.b)return a.c;return mwb(a.b,b.b)}function i1b(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(a.j!=b.j||T0b(a)!=T0b(b)||a.Nj!=b.Nj)return false;if(c&&!e7b(qE(a.k,23)?a.k:null,qE(b.k,23)?b.k:null))return false;if(e&&!v$b(Y0b(a,29),Y0b(b,29)))return false;p=Y0b(a,78);o=Y0b(b,78);if((!!p||!!o)&&(!p||!o||!i1b(p,o,c,d,e,false)))return false;if(a.j==(m6b(),N4b)||a.j==$3b){i=W0b(a,32);j=W0b(b,32);if(i!=j)return false}else if(a.j== -Q5b||a.j==R5b){if(a.j==R5b){k=W0b(a,36);l=W0b(b,36);if(k!=l)return false}m=W0b(a,54);n=W0b(b,54);if(m!=n)return false}else if(a.j==N3b){if(W0b(a,50)!=0!=(W0b(b,50)!=0))return false}else if(a.j==w4b)if((a.j==w4b&&W0b(a,60)!=0)!=(b.j==w4b&&W0b(b,60)!=0))return false;if(f)if(W0b(a,42)!=W0b(b,42))return false;if(d)for(g=a.b,h=b.b;g;g=g.d,h=h.d)if(!g.oi(h,c,d,e,f))return false;return true}function Cwb(a,b){var c,d,e,f,g,h,i,j,k;if(!a||!b)return null;else if(b==b.a.v||b==b.a.g||cwb(a,b))return a;else if(a== -a.a.v||a==a.a.g)return b;if(a.c||b.c)return Bwb(a,b);if(!a.n.a.isEmpty()&&nwb(a,b,true,new UBb((Zzb(),Zzb(),Yzb)),null))return a;else if(!b.n.a.isEmpty()&&nwb(b,a,true,new UBb((Zzb(),Zzb(),Yzb)),null))return b;!a.n.a.isEmpty()&&(a=lwb(a));!b.n.a.isEmpty()&&(b=lwb(b));d=a.a;c=new Xwb(d);h=$wnd.Math.min(a.i.size(),b.i.size());for(f=0;fwPb(a.g,0).b.a.b,!(c||FOb(a, -1,MRb)||FOb(a,1,xQb)||FOb(a,1,KQb)))&&(QOb(a,1)||wPb(a.g,1).c==uRb)?YMb(a,new lPb(wPb(a.g,0).b.b)):wPb(a.g,1).c==tRb?gNb(a,new lPb(wPb(a.g,0).b.b)):gOb(a);else if(f==uRb){e=wPb(a.g,0).b.b;d=iNb(a);if(GOb(a,AQb)){sMb(a,AQb);g=TMb(a,1);return new ZSb(new IWb(e,a.f),d,g)}else{b=new ETb((JTb(),HTb));ANb(a,b,(iPb(),hPb));g=tTb(b,new IWb(e,a.f));return new aTb(new IWb(e,a.f),null,d,g)}}else throw HV(new GC(QJc));}function rbb(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;k=Bbb(c,b);h=(Vhb(),Zhb(k, -false,a.a));e=Abb(k);p=new Dbb;p.b=h;p.a=e;for(g=null,d=k,m=d.e;m!=b;g=d,d=m,m=d.e){n=m.j;de(!Cbb(m)||d==m.b);if(n==(m6b(),r3b))if(wbb(a,m,p.b));else{i=m.b;q=i.j;if(i!=d){de(i.j==C4b||i.j==B4b);q==B4b&&pbb(a,i.b?i.b.f:null,null,p);pbb(a,i.b,null,p)}}else if(n==N3b&&Oib(m.b)){f=m.b;pbb(a,f.d,d,p);if(vbb(a,f,p.b)&&f.b!=g){ee(false,"Object method calls can not be decomposed.");p.b=true;o=(Qd(m.j==N3b),r=m.b,Qd(r.j==C4b||r.j==B4b),s=tbb(a,r,p.a),p.a=s,t=s.b.b,Qd(t.j==C4b||t.j==B4b),u=tbb(a,t.b,p.a),p.a= -u,v=u.b,w=s.b,A=T1b(YXb(jYb(w.li(false),new Y2b(Q5b,IFc)),DD(yD(VR,1),EDc,7,0,[v.li(false)])),m),u1b(m),!!m.b&&K0b(A,t1b(m)),B=m.e,w1b(B,m,A),A);m=o}}else n==r5b?obb(a,m.b,d,p):pbb(a,m.b,d,p)}if(k==c);else{l=k.e;j=l.j!=(m6b(),r4b);sbb(a,k,e,j)}}function Pnb(a){Jnb();this.a=a;this.b=(Po(),mr(new pr,DAc(EHc),Fnb)).pf(Mnb('Duplicate parameter name "{0}"'),snb).pf(DAc("Unnecessary escape:.*"),Hnb).pf(DAc("^invalid param name.*"),xnb).pf(Mnb(j3b(FHc,DD(yD(nT,1),UBc,1,5,[]))),rnb).pf(DAc("^"+EAc(GHc)), -ynb).pf(DAc("^Keywords and reserved words are not allowed as unquoted property.*"),vnb).pf(DAc("^Too many template parameters"),Enb).pf(DAc(".*Type annotations should have curly braces.*"),znb).pf(DAc("Missing type declaration\\."),Anb).pf(DAc(".*Unknown type.*"),Inb).pf(DAc("^Bad type annotation.*"),Gnb).pf(DAc("Too deep recursion while parsing"),Dnb).pf(DAc("^Octal .*literal.*"),wnb).pf(DAc("^this language feature is only supported for ECMASCRIPT6 mode.*"),tnb).pf(DAc("^type syntax is only supported in ES6 typed mode.*"), -unb).pf(DAc("^Can only have JSDoc or inline type.*"),Bnb).nf()}function Qvc(){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[BJc]=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(!Ovc()){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[BJc]=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 gNb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!wMb(a,(nSb(),QRb));l=wPb(a.g,0).c;if(XQb==l||(ZLb(),ZLb(),!!rp(ALb,l))){k= -null;j=uMb(a);bMb(j.a)&&(a.d=UJb(a.d,DD(yD(_O,1),ZBc,29,0,[(TKb(),yKb)])))}else{if(a.b.d&&FOb(a,0,uRb)&&FOb(a,1,XQb)&&FOb(a,2,AQb)){g=JNb(a);xMb(a);return g}k=iNb(a);j=null}if(!a.b.d||GOb(a,tRb)||GOb(a,rRb)){if(!k){i=(JTb(),ITb);c=b.a}else{i=(JTb(),HTb);c=null}if(b.b){f=SNb(a,b.d,j,b.c,h,b.a);xMb(a)}else{d=uTb(DTb(ATb(new ETb(i),j),b.c),c);ANb(a,d,h?(iPb(),gPb):(iPb(),hPb));f=tTb(d,zMb(a,b.d))}return i==(JTb(),ITb)?f:new aTb(zMb(a,b.d),b.a,k,f)}else{h&&ZOb(a,"Member variable cannot be prefixed by '*' (generator function)", -DD(yD(nT,1),UBc,1,5,[]));e=BMb(a);GOb(a,MQb)&&ZOb(a,"Member variable initializers ('=') are not supported",DD(yD(nT,1),UBc,1,5,[]));xMb(a);return!k?new ZTb(zMb(a,b.d),j,b.c,false,b.a,e):new _Sb(zMb(a,b.d),k,b.c,b.a,e)}}function rjb(a){Vhb();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 hEc;case 25:return lHc; -case 41:return mHc;default:return null}}function qNb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=wPb(a.g,0).b.b;f=false;g=false;h=false;k=true;sMb(a,(nSb(),QQb));c=null;d=null;switch(wPb(a.g,0).c.f){case 65:g=true;n=vPb(a.g);a.f=n.b.a;break;case 14:c=b?KMb(a):zNb(a);k=b;break;case 29:c=dNb(a,false,b);k=false;break;case 37:c=KNb(a);k=false;break;case 31:c=mNb(a);k=false;break;case 110:case 111:c=UNb(a,b);k=false;break;case 109:c=IMb(a);k=false;break;case 8:f=true;m=vPb(a.g);a.f=m.b.a;c=GMb(a,1);k=false; -break;case 45:h=true;d=sNb(a);break;case 108:c=uOb(a);break;default:case 25:case 38:case 30:c=b?NMb(a):COb(a,1)}j=null;if(g||h&&FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,VDc)){yMb(a,VDc);j=sMb(a,VRb)}else if(h)for(p=d.Pd();p.Jd();){o=p.Kd();e=o.b;bMb(e.a)&&XOb(a,e,PJc,DD(yD(nT,1),UBc,1,5,[e.a]))}(k||(i=wPb(a.g,0).b.b.b>a.f.b,i||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb)))&&xMb(a);return new kTb(new IWb(l,a.f),f,g,c,d,j)}function Bzb(a){var b,c,d;c=Exb(this);this.a=Zd(hwc(c,"BOOLEAN"));this.b=Zd(hwc(c,"BOTTOM")); -this.e=Zd(hwc(c,YHc));this.f=Zd(hwc(c,"FALSY"));this.j=Zd(hwc(c,ZHc));this.q=Zd(hwc(c,$Hc));this.t=Zd(hwc(c,_Hc));this.u=Zd(hwc(c,"TOP"));Zd(hwc(c,aIc));this.w=Zd(hwc(c,bIc));this.A=Zd(hwc(c,cIc));this.B=Zd(hwc(c,"UNDEFINED"));this.G=Zd(hwc(c,dIc));this.C=Zd(hwc(c,eIc));this.D=Zd(hwc(c,fIc));this.F=Zd(hwc(c,gIc));this.k=Zd(hwc(c,hIc));this.n=Zd(hwc(c,iIc));this.o=Zd(hwc(c,jIc));this.p=Zd(hwc(c,kIc));this.r=Zd(hwc(c,lIc));b=(d=new lwc,iwc(d,nIc,Ewb(this,null,null,this.G,this.G,null,null,null,null, -true,false)),iwc(d,oIc,Ewb(this,null,null,null,this.b,null,null,null,null,false,false)),iwc(d,XHc,new vwb(this,false)),iwc(d,WHc,new vwb(this,true)),d);this.s=Zd(hwc(b,nIc));this.c=Zd(hwc(b,oIc));this.v=Zd(hwc(b,XHc));this.g=Zd(hwc(b,WHc));this.d=$zb(new DBb(null,this.b,this.b,(OBb(),NBb)));this.H=a;this.J=a;this.i=new Fzb(this)}function WPb(a,b){var c,d,e;rPb(a);if(!qPb(a,a.d)){yPb(a,"Unterminated string literal escape sequence",DD(yD(nT,1),UBc,1,5,[]));return false}if(bQb(qPb(a,a.d)?Mkc(a.e.a,a.d): -0)){d=rPb(a);d==13&&(qPb(a,a.d)?Mkc(a.e.a,a.d):0)==10&&rPb(a);return true}e=rPb(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;case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(b){yPb(a,TJc,DD(yD(nT,1),UBc,1,5,[]));return false}break;case 120:return LPb(a)&&LPb(a);case 117:if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==123){rPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==125){yPb(a,"Empty unicode escape",DD(yD(nT,1),UBc,1,5,[]));return false}c= -true;while((qPb(a,a.d)?Mkc(a.e.a,a.d):0)!=125&&c)c=c&&LPb(a);rPb(a);return c}else return LPb(a)&&LPb(a)&&LPb(a)&&LPb(a)}if(e==47);else if(b&&e==36);else zPb(a,"Unnecessary escape: '\\%s' is equivalent to just '%s'",DD(yD(nT,1),UBc,1,5,[ijc(e),ijc(e)]));return true}function nW(){var a,b,c;b=$doc.compatMode;a=DD(yD(sT,1),DBc,2,6,[cDc]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\""+ -b+'"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' "+b+"').
Modify your application's host HTML page doctype, or update your custom "+"'document.compatMode' configuration property settings."}function sbb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.e;q=a.e+GGc+(""+a.c.a.Y++);i=b.b;p=i.d;m=b.b?b.b.f:null;R0b(b);g=null;s=T1b((f=new Z1b((m6b(),K3b)),f),b);h=T1b((e=new Z1b(K3b),e),b);switch(b.j.f){case 60:g=i;I0b(s,mjb(d? -U1b(UXb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),p),p):p));I0b(h,mjb(d?U1b(UXb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),m),m):m));break;case 62:g=d?U1b(UXb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),i),i):i;I0b(s,mjb(d?U1b(UXb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),m),m):m));break;case 61:g=d?U1b(UXb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),i),i):i;I0b(h,mjb(d?U1b(UXb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),m),m):m));break;default:throw HV(new Ujc(HGc));}h.b?k=(de(rYb(g)), -de(s.j==K3b),de(h.j==K3b),new c2b(G4b,g,s,h)):k=mYb(g,s);V1b(k,b);if(d){r=W1b(qjb(q,null),b);l=c.e;G0b(l,r,c);F0b(l,k,r);o=(ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q));w1b(n,b,o)}else{Qd(n.j==r4b);j=n.e;w1b(j,n,k)}return k}function vjb(a,b){Vhb();var c,d;if(a.j==(m6b(),a6b)&&e1b(a)&&b==(a.b?a.b.f:null))Aib((Qd(a.j==a6b),a.b.d))?s1b(a,b):R0b(b);else if(b.j==R3b){d=!b.e?null:b.e.e;de((Qd(d.j==a6b),e1b(d)));Q0b(b)}else{c=b.e;if(c.j==a6b&&c.b.d==b){d=b.e;de((Qd(d.j==a6b),e1b(d)));R0b(b)}else if(b.j== -K3b)R0b(b);else if(a.j==I5b||a.j==K5b||a.j==K3b||a.j==c5b||b.j==P3b||b.j==a4b||b.j==_4b)s1b(a,b);else if(!!a&&(a.j==g6b||a.j==Y4b||a.j==X3b)||a.j==r4b)if(!!a.b&&!!a.b.d)s1b(a,b);else{s1b(a,b);vjb(a.e,a)}else if(a.j==T4b&&b==(a.b?a.b.f:null)){s1b(a,b);vjb(a.e,a)}else if(a.j==t4b)w1b(a,b,new Z1b(h4b));else if(a.j==s5b)s1b(a,b);else if(a.j==p3b)b==(a.b?a.b.f:null)?s1b(a,b):w1b(a,b,new Z1b(h4b));else if(a.j==d4b){s1b(a,b);!!a.e.b&&vjb(a.e,a)}else if(a.j==F5b)Q0b(a);else if(a.j==w5b)s1b(a,b);else if(a.j== -I4b)if(b==a.b)w1b(a,b,new Z1b(h4b));else throw HV(new Ujc("Invalid attempt to remove: "+b+" from "+a));else throw HV(new Ujc("Invalid attempt to remove node: "+b+" of "+a));}}function G4(a){if(a.u!=(tZ(),rZ)&&!a.t)throw HV(new H4("Cannot check use of goog.getCssName because of empty blacklist.",DD(yD(nT,1),UBc,1,5,[])));if(a.Mc&&!a.Lc)throw HV(new H4("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",DD(yD(nT,1),UBc,1,5,[])));if(!a.Bb&&a.$b!=-1)throw HV(new H4("max_function_size_after_inlining has no effect if inlining is disabled.", -DD(yD(nT,1),UBc,1,5,[])));a.wd&&(a.s=rZ);if(a.U){if(!PJb(i4(q3(a)),(OJb(),FJb)))throw HV(new H4("Dart requires --language_out=ES5 or higher.",DD(yD(nT,1),UBc,1,5,[])));a.f=false;a.bb=false}if(a.Mc&&a.hb)throw HV(new H4("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",DD(yD(nT,1),UBc,1,5,[])));if((g4(),a4)==a.Tb){MXb();if(NXb(LXb,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw HV(new H4("type syntax is not yet generally available, please contact jscomp-team@", -DD(yD(nT,1),UBc,1,5,[])));}}function Z8(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;Vhb();if(!!d&&(d.j==(m6b(),g6b)||d.j==Y4b||d.j==X3b)&&!Mib(d.e))T8(a,b,c,c.d,d,d);else if(d.j==(m6b(),r3b))d.e.j==r4b?T8(a,b,c,c.d,d,d.e):(e=iGc+a.b++,f=Q0b(d.b?d.b.f:null),g=bYb((ie(Ukc(e,mlc(46))==-1,DDc,e),new Y2b(e5b,e)),f,Y4b),h=UXb(Q0b(d.b),(ie(Ukc(e,mlc(46))==-1,DDc,e),new Y2b(e5b,e))),i=(ee(rYb(h),h),new _1b(r4b,h)),j=DYb((ie(Ukc(e,mlc(46))==-1,DDc,e),new Y2b(e5b,e))),k=XXb(DD(yD(VR,1),EDc,7,0,[g,i,j])),l=YXb(TXb((ie(Ukc("", -mlc(46))==-1,DDc,""),new Y2b(e5b,"")),new Z1b(w5b),k),DD(yD(VR,1),EDc,7,0,[])),W1b(l,d),m=v1b(l,l.g,50),m!=l.g&&(l.g=m),l.g=new B2b(50,1,l.g),w1b(d.e,d,l),kjb(l,a.a),T8(a,b,h.b,h.b?h.b.f:null,h,i),undefined);else if(d.j==F5b||d.j==R5b||d.j==p3b||d.j==b4b);else if(d.j==v4b||d.j==u4b||Mib(d.e))W8(a,c);else if(d.j==R3b){n=iGc+a.b++;o=c.d;x1b(c,(ie(Ukc(n,mlc(46))==-1,DDc,n),new Y2b(e5b,n)));I0b(o,bYb(c,(ie(Ukc(n,mlc(46))==-1,DDc,n),new Y2b(e5b,n)),Y4b))}else throw HV(new Ujc("unexpected parent"));}function dab(a, -b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;Rd(d.j==(m6b(),c5b),d);j=(c.b?c.b.f:null).ni();k=Rkc(j.substr(0,5),"goog:");if(k)l=j.substr(5);else{m=Stb(S2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),j,(g=Y0b(c,51),!g?null:g.Hg()),g2b(c.i),f2b(c.i));!m&&(m=Ttb(S2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d)),j));l=kub(m.a)}for(f=(!c.b?(Sqc(),Sqc(),Rqc):new Q2b(c.b)).Pd();f.Jd();){e=f.Kd();if(e.j==h4b||e.j==Q5b)continue;else if(e.j==e5b){n=k?"":UDc;lmc(a.f,e.ni(),new oab(l,n))}else if(e.j==K4b)for(i=(!e.b?(Sqc(),Sqc(),Rqc): -new Q2b(e.b)).Pd();i.Jd();){h=i.Kd();o=h.b.ni();!!h.b&&!!h.b.d&&h.b.d==(h.b?h.b.f:null)?lmc(a.f,(h.b?h.b.f:null).ni(),new oab(l,o)):lmc(a.f,o,new oab(l,o))}else{ie(e.j==L4b,"Expected an IMPORT_STAR node, but was: %s",e);k&&M1(a.c,thb(c,Z9,DD(yD(sT,1),DBc,2,6,[e.ni(),l])));lmc(a.f,e.ni(),new oab(l,""))}}if(gvc(a.a,l)){p=eYb(YXb(ojb(a.c,CGc),DD(yD(VR,1),EDc,7,0,[new Y2b(Q5b,l)])));W1b(p,c);F0b(d,p,a.e);a.e=p;O2((!b.d&&!!b.g&&(b.d=_0(b.c,b.g)),b.d),l)}s1b(d,c);yhb(b)}function xJb(){xJb=gW;_Ib=new yJb("ALL", -0,"all",0,0,0);aJb=new yJb("COND",1,"cond",3,3,1);bJb=new yJb("EQ",2,"eq",2,2,3);dJb=new yJb("ISCTOR",3,"isCtor",1,1,3);eJb=new yJb("ISDEFINED",4,"isDefined",1,1,4);fJb=new yJb("ISRECORD",5,"isRecord",1,1,3);gJb=new yJb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);hJb=new yJb("ISUNKNOWN",7,"isUnknown",1,1,3);cJb=new yJb(oJc,8,"instanceOf",1,1,1);jJb=new yJb("MAPUNION",9,"mapunion",2,2,1);iJb=new yJb("MAPRECORD",10,"maprecord",2,2,1);kJb=new yJb("NONE",11,"none",0,0,0);lJb=new yJb("PRINTTYPE",12,"printType", -2,2,1);mJb=new yJb("PROPTYPE",13,"propType",2,2,1);nJb=new yJb("RAWTYPEOF",14,"rawTypeOf",1,1,0);qJb=new yJb("SUB",15,"sub",2,2,3);pJb=new yJb("STREQ",16,"streq",2,2,2);oJb=new yJb("RECORD",17,"record",1,yBc,0);rJb=new yJb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);sJb=new yJb(BIc,19,lEc,2,yBc,0);tJb=new yJb("TYPEEXPR",20,"typeExpr",1,1,0);uJb=new yJb("TYPEOFVAR",21,"typeOfVar",1,1,1);vJb=new yJb("UNION",22,"union",2,yBc,0);wJb=new yJb(dIc,23,pJc,0,0,0)}function bxb(a,b,c){var d,e,f,g,h,i,j,k;switch(a.Eh()){case 0:return b.a+= -"bottom",b;case -1:return b.a+="*",b;case yBc:return b.a+="?",b;default:k=a.Eh();f=true;for(j=1;j!=512;j<<=1)if((k&j)!=0){f||(b.a+="|",b);f=false;switch(j){case 8:case 16:b.a+=(k&24)==24?uBc:j==8?dEc:cEc;k&=-25;continue;case 32:b.a+=ABc;k&=-33;continue;case 64:b.a+=vBc;k&=-65;continue;case 128:b.a+=xBc;k&=-129;continue;case 256:b.a+=WFc;k&=-257;continue;case 1:Blc(b,YBb(a.Qh()));k&=-2;continue;case 2:{if(a.Hh().size()==1)KAb(Vs(a.Hh().Pd()),b,c);else{i=new qzc;for(h=a.Hh().Pd();h.Jd();){g=h.Kd(); -ozc(i,KAb(g,new Flc,c).a)}Mc(_wb,b,(e=(new goc(i.a)).a.Xd().b.Hj(),new moc(e)))}k&=-3;continue}case 4:{if(a.Ch().size()==1)Blc(b,Vs(a.Ch().Pd()).Rj);else{i=new qzc;for(d=a.Ch().Pd();d.Jd();){d.Kd();ozc(i,null.Rj)}Mc(_wb,b,(e=(new goc(i.a)).a.Xd().b.Hj(),new moc(e)))}k&=-5;continue}default:throw HV(new Mic("Impossible: "+j));}}return k==0?b:k==512?(b.a+="truthy",b):k==hGc?(b.a+="falsy",b):wlc((b.a+="Unrecognized type: ",b),k)}}function o_(a,b,c,d,e,f,g,h){var i,j,k;k=new Glc;for(j=0;j=2&&(b.charCodeAt(j-1)==45&&b.charCodeAt(j-2)==45||b.charCodeAt(j-1)==93&&b.charCodeAt(j-2)==93)?(k.a+="\\x3e",k):(k.a+=String.fromCharCode(i),k);break;case 60:if(!a.j&&!h){k.a+="\\x3c";break}Zkc(b,true,j+1,"/script",0,7)?(k.a+="\\x3c",k):Zkc(b,false,j+1,"!--",0,3)?(k.a+="\\x3c",k):(k.a+=String.fromCharCode(i),k);break;default:i>31&&i<127?(k.a+=String.fromCharCode(i),k):BC(k,i)}}return k.a}function q9(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;o=u1b(a.f);g= -u1b(a.f);e=u1b(a.f);i=g.k;m=a.u;a.a&&(m=i.yh().fi().Nh().getAtIndex(0));d=h9(a,(Mcc(),Ebc),m);j=""+a.j.a.Y++;c=fbb((ie(Ukc(nGc+j,mlc(46))==-1,DDc,nGc+j),new Y2b((m6b(),e5b),nGc+j)),d);n=C9(a,(ie(Ukc(oGc+j,mlc(46))==-1,DDc,oGc+j),new Y2b(e5b,oGc+j)));h=fbb((ie(Ukc(pGc+j,mlc(46))==-1,DDc,pGc+j),new Y2b(e5b,pGc+j)),i);o.j==g6b&&(o=u1b(o));I0b(e,mYb(A9(a,xYb(oYb(O0b(o,false),O0b(h,false)))),WXb(new Z1b(Y3b))));I0b(e,bYb(O0b(o,false),iYb(O0b(c,false),O0b(n,false)),g6b));F0b(a.n.e,cYb(O0b(c,false),g6b), -a.n);F0b(a.n.e,cYb(O0b(n,false),g6b),a.n);F0b(a.n.e,cYb(O0b(h,false),g6b),a.n);b=eYb(fbb(UXb(O0b(c,false),fbb(SXb(DD(yD(VR,1),EDc,7,0,[])),d)),d));f=eYb(fbb(UXb(O0b(h,false),g),i));l=fYb(O0b(o,false),h,WXb(eYb(C9(a,YXb(jYb(O0b(c,false),new Y2b(Q5b,"push")),DD(yD(VR,1),EDc,7,0,[o]))))));k=gYb(C9(a,UXb(O0b(n,false),C9(a,new G2b(0)))),A9(a,qYb(O0b(n,false),C9(a,jYb(c,new Y2b(Q5b,"length"))))),C9(a,pYb(n,true)),e);H0b(a.g,b);H0b(a.g,f);H0b(a.g,l);I0b(a.p,k)}function K9(a,b){var c,d,e;e=a.C;d=J9(e);if(d)return d; -c=Q0b(C1(a,Nc(new Qc(String.fromCharCode(10)),"function $jscomp$generator$function$name() {"," var $jscomp$generator$state = 0;",DD(yD(nT,1),UBc,1,5,[" function $jscomp$generator$impl("," $jscomp$generator$action$arg,"," $jscomp$generator$next$arg,"," $jscomp$generator$throw$arg) {"," while (1) switch ($jscomp$generator$state) {"," case 0:"," default:"," return {value: undefined, done: true};"," }"," }"," var iterator = /** @type {!Generator} */ ({"," next: function(arg) {", -" return $jscomp$generator$impl(0.0, arg, undefined);"," },"," throw: function(arg) {"," return $jscomp$generator$impl(1.0, undefined, arg);"," },"," return: function(arg) { throw Error('Not yet implemented'); },"," });"," $jscomp.initSymbolIterator();"," /** @this {!Generator} */"," iterator[Symbol.iterator] = function() { return this; };"," return iterator;","}"]))).b);I0b(e.b,c);if(b){kjb(c,a);K1(a,V0(c));x1(a)}return c}function L0(){L0=gW;pW();J0=new j6("JSC_MODULE_DEPENDENCY_ERROR", -(tZ(),qZ),new cmc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));new j6(rEc,qZ,new cmc('required entry point "{0}" never provided'));new j6(rEc,qZ,new cmc('unknown module "{0}" specified in entry point spec'));new j6("JSC_INCONSISTENT_MODULE_DEFINITIONS",qZ,new cmc("Serialized module definitions are not consistent with the module definitions supplied in the command line"));new j6(sEc,qZ,new cmc("Exceeded max number of optimization iterations: {0}"));new j6(sEc,qZ,new cmc("Exceeded max number of code motion iterations: {0}")); -K0=hAc(jAc(),"com.google.javascript.jscomp");new Qc(vic);H0=new j6("JSC_EMPTY_MODULE_LIST_ERROR",qZ,new cmc("At least one module must be provided"));I0=new j6("JSC_EMPTY_ROOT_MODULE_ERROR",qZ,new cmc("Root module ''{0}'' must contain at least one source code input"));G0=new j6("JSC_DUPLICATE_INPUT",qZ,new cmc("Duplicate input: {0}"));F0=new j6("JSC_DUPLICATE_EXTERN_INPUT",qZ,new cmc("Duplicate extern input: {0}"))}function NEb(a){UDb();switch(a.f){case 74:return m6b(),I3b;case 75:return m6b(),J3b; -case 73:return m6b(),G3b;case 59:return m6b(),l4b;case 60:return m6b(),i5b;case 54:return m6b(),$4b;case 56:return m6b(),X4b;case 55:return m6b(),E4b;case 57:return m6b(),y4b;case 70:return m6b(),Z4b;case 71:return m6b(),J5b;case 72:return m6b(),f6b;case 63:return m6b(),k3b;case 64:return m6b(),T5b;case 65:return m6b(),d5b;case 94:return m6b(),e4b;case 67:return m6b(),b5b;case 66:return m6b(),n4b;case 61:return m6b(),M5b;case 62:return m6b(),N5b;case 16:return m6b(),M4b;case 17:return m6b(),P4b;case 53:return m6b(), -V3b;case 82:return m6b(),r3b;case 92:return m6b(),u3b;case 93:return m6b(),v3b;case 91:return m6b(),t3b;case 88:return m6b(),y3b;case 89:return m6b(),B3b;case 90:return m6b(),D3b;case 83:return m6b(),s3b;case 84:return m6b(),C3b;case 85:return m6b(),A3b;case 86:return m6b(),x3b;case 95:return m6b(),w3b;case 87:return m6b(),z3b;case 79:return m6b(),u5b;case 78:return m6b(),l3b;default:throw HV(new Ujc(!a?ABc:a.a==null?(ZLb(),rp(ALb,a)).b:a.a));}}function y9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r, -s,t,u,v;u=null;t=a.u;if(a.a){u=c.b.k.yh().fi();t=u.Nh().getAtIndex(0)}o=h9(a,(Mcc(),Xbc),t);n=a.a?o.fi().Jh(jGc):null;k=h9(a,Ybc,t);j=a.a?k.fi().Jh(mGc):null;l=a.a?k.fi().Jh(kGc):null;g=(Vhb(),hib(c,Uhb));m=ebb(a.c,u1b(c));if(a.a){p=gob(nhb(b),vGc).c.k;s=p.fi().Jh(zFc);N1b(m.b,s);N1b(m.b.b,p)}i=bYb(fbb((ie(Ukc(wGc,mlc(46))==-1,DDc,wGc),new Y2b((m6b(),e5b),wGc)),o),(_ab(),!!o&&(m.k=o),m),g6b);h=cYb(fbb((ie(Ukc(xGc,mlc(46))==-1,DDc,xGc),new Y2b(e5b,xGc)),k),g6b);e=fbb(UXb(fbb((ie(Ukc(xGc,mlc(46))== --1,DDc,xGc),new Y2b(e5b,xGc)),k),fbb(YXb(fbb(jYb(fbb((ie(Ukc(wGc,mlc(46))==-1,DDc,wGc),new Y2b(e5b,wGc)),o),D9(a,new Y2b(Q5b,jGc))),n),DD(yD(VR,1),EDc,7,0,[G9(a,(ie(Ukc(yGc,mlc(46))==-1,DDc,yGc),new Y2b(e5b,yGc)))])),k)),k);r=A9(a,xYb(fbb(jYb(e,D9(a,new Y2b(Q5b,mGc))),j)));f=fbb(jYb(fbb((ie(Ukc(xGc,mlc(46))==-1,DDc,xGc),new Y2b(e5b,xGc)),k),D9(a,new Y2b(Q5b,kGc))),l);v=eYb(G9(a,OYb(O0b(f,false))));q=NYb(r,WXb(v));G0b(g.e,i,g);G0b(g.e,h,g);G0b(g.e,q,g);d.j==r4b?Q0b(d):w1b(d,c,f);z9(a,b,v,v.e);yhb(b)} -function vNb(a){var b,c,d,e;d=wPb(a.g,0).b.b;sMb(a,(nSb(),UQb));sMb(a,tRb);if(WOb(a)){e=COb(a,0);if(GOb(a,_Qb)){e.b.size()>1&&ZOb(a,"for-in statement may not have more than one variable declaration",DD(yD(nT,1),UBc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&(a.b.a?ZOb(a,"for-in statement may not have initializer",DD(yD(nT,1),UBc,1,5,[])):oIb(a.c,b.o.b,"for-in statement should not have initializer",DD(yD(nT,1),UBc,1,5,[])));return tNb(a,d,e)}else if(FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,"of")){e.b.size()>1&&ZOb(a, -"for-of statement may not have more than one variable declaration",DD(yD(nT,1),UBc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&ZOb(a,"for-of statement may not have initializer",DD(yD(nT,1),UBc,1,5,[]));return uNb(a,d,e)}else{qMb(a,e);return wNb(a,d,e)}}if(GOb(a,MRb))return wNb(a,d,null);c=GMb(a,0);if(GOb(a,_Qb)||GOb(a,MQb)||FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,"of")){c=$Ob(a,c);uSb(c)||ZOb(a,MJc,DD(yD(nT,1),UBc,1,5,[]))}if(GOb(a,_Qb)||FOb(a,0,XQb)&&Rkc(wPb(a.g,0).a,"of"))if(c.p!=(YVb(),qUb)&&c.p!=yUb)return GOb(a, -_Qb)?tNb(a,d,c):uNb(a,d,c);return wNb(a,d,c)}function sfb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;Qd(b.j==(m6b(),r5b));l=new qpc;d=b.b;h=b.k;while(d)if(W0b(d,73)!=0||W0b(d,74)!=0){_ab();M1(a.c,Heb(d,$ab,DD(yD(sT,1),DBc,2,6,["computed getter/setter in an object literal"])));return}else if(d.j==D4b||d.j==L5b)d=d.d;else{f=d.d;s1b(b,d);l.add(d);d=f}g="$jscomp$compprop"+(""+(new F2(a.c)).a.Y++);l=qE(l,116)?_n(l):qE(l,166)?l.a:qE(l,65)?new yv(l):new nv(l);m=fbb((ie(Ukc(g,mlc(46))==-1,DDc,g),new Y2b(e5b, -g)),h);for(j=l.Pd();j.Jd();){i=j.Kd();if(i.j==W3b){k=u1b(i);r=u1b(i);s=r.k;m=fbb(_Xb(fbb(UXb(wfb(a,iYb(fbb((ie(Ukc(g,mlc(46))==-1,DDc,g),new Y2b(e5b,g)),h),k)),r),s),m),h)}else{if(!i.b){e=V1b(fbb(vYb(i.ni()),i.k),i);H0b(i,e)}q=u1b(i);s=q.k;M1b(i,Q5b);i.k=null;p=i.pi()?B4b:C4b;c=fbb(new b2b(p,fbb((ie(Ukc(g,mlc(46))==-1,DDc,g),new Y2b(e5b,g)),h),i),s);m=fbb(_Xb(fbb(UXb(c,q),s),m),h)}}o=b;while(Vhb(),!(o.j!=c5b&&cjb(o.e)))o=o.e;W1b(m,b);w1b(b.e,b,m);n=dbb(a.a,a.d,(Mcc(),Lbc));t=bYb(fbb((ie(Ukc(g,mlc(46))== --1,DDc,g),new Y2b(e5b,g)),h),(_ab(),!!n&&(b.k=n),b),g6b);W1b(t,o);G0b(o.e,t,o);O1(a.c,t)}function Psb(){Psb=gW;Lsb=new j6("JSC_UNDEFINED_VARIABLE",(tZ(),qZ),new cmc("variable {0} is undeclared"));Osb=new j6("JSC_VIOLATED_MODULE_DEPENDENCY",qZ,new cmc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));Hsb=new j6("JSC_MISSING_MODULE_DEPENDENCY",sZ,new cmc("missing module dependency; module {0} should depend on module {1} because it references {2}"));Jsb=new j6("JSC_STRICT_MODULE_DEPENDENCY", -rZ,new cmc(xDc));Isb=new j6("JSC_NAME_REFERENCE_IN_EXTERNS",sZ,new cmc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));Ksb=new j6("JSC_UNDEFINED_EXTERN_VAR_ERROR",sZ,new cmc("name {0} is not defined in the externs."));Nsb=new j6("JSC_VAR_MULTIPLY_DECLARED_ERROR",qZ,new cmc("Variable {0} declared more than once. First occurrence: {1}"));Msb=new j6("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",qZ,new cmc('Shadowing "arguments" is not allowed'));Gsb=new j6("JSC_LET_CONST_CLASS_MULTIPLY_DECLARED_ERROR", -qZ,new cmc("Duplicate let / const / class declaration in the same scope is not allowed."))}function tjb(a){Vhb();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 102: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 103: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 42:case 93:case 118:case 95:case 80:case 34:case 65:case 96:case 148:case 29:case 32:case 30:case 43:case 94:case 38:case 112:case 113:case 31:case 91:case 156:case 157:case 158:case 33:case 99:case 35:case 115:case 116:case 125:return 17;case 123:return 18;case 134:case 124:return 19;case 120:case 122:case 121:case 126:case 132:case 127:case 130:case 133:case 135:return 20; -case 92:return 21;default:throw HV(new Ujc("Unknown precedence for "+a));}}function pZ(){pZ=gW;oZ=new j6("JSC_MISPLACED_MSG_ANNOTATION",(tZ(),rZ),new cmc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes."));nZ=new j6("JSC_MISPLACED_ANNOTATION",sZ,new cmc("Misplaced {0} annotation. {1}"));hZ=new j6("JSC_ANNOTATION_DEPRECATED",sZ,new cmc("The {0} annotation is deprecated. {1}"));kZ=new j6("JSC_DISALLOWED_MEMBER_JSDOC",sZ,new cmc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members")); -iZ=new j6("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",qZ,new cmc("Arrow functions cannot be used as constructors"));jZ=new j6("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",qZ,new cmc("Inline JSDoc on default parameters must be marked as optional"));mZ=new j6("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",qZ,new cmc("@nosideeffects may only appear in externs files."));lZ=new j6("JSC_INVALID_MODIFIES_ANNOTATION",qZ,new cmc("@modifies may only appear in externs files."));new j6("JSC_INVALID_DEFINE_ON_LET",qZ,new cmc("variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs"))} -function t6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;Qd(b.j==(m6b(),N3b)||b.j==o3b||b.j==k5b);k=new qpc;h=null;e=b.j==o3b?null:u1b(b);g=u1b(b);while(g){if(g.j==O5b){if(h){k.a[k.a.length]=h;h=null}epc(k,abb(a.a,u1b(g)))}else{!h&&(h=SXb(DD(yD(VR,1),EDc,7,0,[])));H0b(h,g)}g=u1b(b)}!!h&&(k.a[k.a.length]=h,true);n=null;i=b.j==k5b?SXb(DD(yD(VR,1),EDc,7,0,[new Z1b(n5b)])):SXb(DD(yD(VR,1),EDc,7,0,[]));l=YXb(jYb(i,new Y2b(Q5b,"concat")),ppc(k,AD(VR,EDc,7,0,0,1)));if(b.j==o3b)n=l;else if(b.j==N3b){Vhb();if(Zhb(e, -false,null)&&e.j==C4b){o=b;while(!(o.j!=c5b&&cjb(o.e)))o=o.e;j=vYb("$jscomp$spread$args"+(""+(new F2(a.a)).a.Y++));m=cYb(O0b(j,false),g6b);W1b(m,o);G0b(o.e,m,o);I0b(e,UXb(O0b(j,false),u1b(e)));n=YXb(jYb(e,new Y2b(Q5b,oFc)),DD(yD(VR,1),EDc,7,0,[j,l]))}else{f=e.j==C4b?O0b(e.b,false):new Z1b(n5b);n=YXb(jYb(e,new Y2b(Q5b,oFc)),DD(yD(VR,1),EDc,7,0,[f,l]))}}else{q3(a.a.L)==(g4(),Z3)&&bbb(a.a,b,'"..." passed to a constructor (consider using --language_out=ES5)');d=ojb(a.a,"Function.prototype.bind.apply"); -n=wYb(YXb(d,DD(yD(VR,1),EDc,7,0,[e,l])),DD(yD(VR,1),EDc,7,0,[]))}W1b(n,b);w1b(c,b,n);O1(a.a,n)}function R8(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;q=iGc+a.b++;p=bYb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b((m6b(),e5b),q)),ebb(a.a,Q0b(d)),g6b);W1b(p,c);G0b(f.e,p,f);i=false;for(h=c.b;h;h=m){m=h.d;if(h.j==h4b){n=eYb(YXb(jYb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),new Y2b(Q5b,jGc)),DD(yD(VR,1),EDc,7,0,[])));W1b(n,h);G0b(f.e,n,f);continue}if(h.j==b4b){o=iGc+a.b++;r=bYb((ie(Ukc(o,mlc(46))==-1,DDc,o), -new Y2b(e5b,o)),jYb(YXb(jYb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),new Y2b(Q5b,jGc)),DD(yD(VR,1),EDc,7,0,[])),new Y2b(Q5b,kGc)),g6b);W1b(r,h);G0b(f.e,r,f);j=Q0b(h.b);l=_8((ie(Ukc(o,mlc(46))==-1,DDc,o),new Y2b(e5b,o)),Q0b(h.b?h.b.f:null))}else if(h.j==F5b){j=Q0b(h.b);l=YXb(ojb(a.a,"$jscomp.arrayFromIterator"),DD(yD(VR,1),EDc,7,0,[(ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q))]));i=true}else{j=Q0b(h);l=jYb(YXb(jYb((ie(Ukc(q,mlc(46))==-1,DDc,q),new Y2b(e5b,q)),new Y2b(Q5b,jGc)),DD(yD(VR,1),EDc, -7,0,[])),new Y2b(Q5b,kGc))}if(e.j==r3b){g=UXb(j,l);k=(ee(rYb(g),g),new _1b(r4b,g))}else k=bYb(j,l,e.j);W1b(k,c);G0b(f.e,k,f);V8(a,b,j,j.e)}Q0b(f);i&&T0(a.a,"es6/util/arrayfromiterator",false);yhb(b)}function Shc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(b.Ji())return a;a.e=a.e||b.Di();a.c=a.c||b.ai();i=qE(b,202);a.f=a.f||i;i&&(a.b=a.b&&b.Ei());if(!a.e&&!a.f)if(b.Xi()){q=b.Xi();d=qhc(q);for(h=0;ha.g)return a;if(!!b.Ti()&&a.d!= --1){l=hpc(a.a,a.d).Ti();n=cac(b.Ti(),l,true);mpc(a.a,a.d,n);a.j=null;return a}f=0;j=new Npc(a.a);while(j.a=0||yPb(a,"Binary Integer Literal must contain at least one digit",DD(yD(nT,1),UBc,1,5,[]));HPb(a);return new nMb((nSb(),qRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d));case 111:case 79:rPb(a);hQb(qPb(a,a.d)?Mkc(a.e.a,a.d):0)>=0||yPb(a,"Octal Integer Literal must contain at least one digit",DD(yD(nT,1),UBc,1,5,[]));OPb(a);((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==56||(qPb(a,a.d)?Mkc(a.e.a,a.d):0)==57)&&yPb(a,IIc,DD(yD(nT,1),UBc,1,5,[]));return new nMb((nSb(),qRb),flc(a.e.a,b,a.d),iMb(a.e.b, -b,a.d));case 120:case 88:rPb(a);$ic(qPb(a,a.d)?Mkc(a.e.a,a.d):0,16)>=0||yPb(a,"Hex Integer Literal must contain at least one digit",DD(yD(nT,1),UBc,1,5,[]));MPb(a);return new nMb((nSb(),qRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d));case 101:case 69:return APb(a,b);case 46:return BPb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:KPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==46){rPb(a);KPb(a)}return new nMb((nSb(),qRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d));default:return new nMb((nSb(), -qRb),flc(a.e.a,b,a.d),iMb(a.e.b,b,a.d))}}function eib(a,b){var c,d,e,f;ee(a.j==(m6b(),N3b)||a.j==W5b,a);if((W0b(a,42)&15)==15)return false;if((W0b(a,42)&15&11)==11&&Whb(a))return false;c=a.b;if(c.j==e5b){e=c.ni();if(Khb.contains(e))return false}else if(c.j==C4b){if(!!a.b&&!a.b.d&&Qhb.contains((c.b?c.b.f:null).ni()))return false;if((W0b(a,42)&15&13)==13&&dib(c.b,(Ee(),Ae)))return false;if(c.b.j==e5b&&j1b(c)&&Rkc(c.b.ni(),"Math"))switch((c.b?c.b.f:null).ni()){case "abs":case "acos":case "acosh":case "asin":case "asinh":case "atan":case "atanh":case "atan2":case "cbrt":case "ceil":case "cos":case "cosh":case "exp":case "expm1":case "floor":case "hypot":case "log":case "log10":case "log1p":case "log2":case "max":case "min":case "pow":case "round":case "sign":case "sin":case "sinh":case "sqrt":case "tan":case "tanh":case "trunc":return false; -case "random":return!(!!a.b&&!a.b.d)}if(!!b&&!b.Of())if(c.b.j==E5b&&Rhb.contains((c.b?c.b.f:null).ni()))return false;else if(ejb(c.b,b)){d=(c.b?c.b.f:null).ni();f=c.d;if(f)if(f.j==Q5b){if(Shb.contains(d))return false}else if(f.j==E5b)if(Rkc("replace",d))return f.d.j!=Q5b;else if(Shb.contains(d))return false}}return true}function ycb(a,b,c){var d,e,f,g,h,i,j,k,l,m;g=c.e;e=false;j=(Ycb(),Wcb);i=true;switch(c.j.f){case 86:case 87:case 91:case 98:f=null;g.j==(m6b(),r5b)?f=Acb(a,c):g.j==T3b&&(f=(k=c.e, -de(k.j==T3b),l=(Vhb(),m=oib(k.e),!m?null:Z0b(m)),l==null?null:l+"."+c.ni()));if(f==null)return;e=true;switch(c.j.f){case 98:j=Ccb(a,c.b);c.e.j==T3b&&W0b(c,58)==0&&(i=false);break;case 91:j=Ccb(a,c.b);break;case 86:j=Ucb;break;case 87:j=Xcb;break;default:throw HV(new Ujc("unexpected:"+c));}break;case 29:switch(g.j.f){case 76:case 100:case 88:e=true;h=c.b;j=!h?Wcb:Ccb(a,h);break;case 47:if(g.b==c){e=true;j=Ccb(a,c.d)}break;case 26:return;case 65:d=g.e;if(!d||(Vhb(),g.j==(m6b(),w4b)&&!(g.j!=c5b&&cjb(g.e))))return; -e=true;j=Tcb;break;case 78:case 63:case 93:case 64:e=true;j=Wcb;break;case 96:e=true;j=Scb;break;default:if(Cib(g)&&g.b==c){e=true;j=Wcb}}f=c.ni();break;case 26:if(g)switch(g.j.f){case 47:if(g.b==c){e=true;j=Ccb(a,c.d)}break;case 63:case 64:e=true;j=Wcb;break;case 26:return;default:if(Cib(g)&&g.b==c){e=true;j=Wcb}}if(!j1b(c))return;f=Z0b(c);break;default:return}if(!wcb(a.a,f,b))return;b=dob(b);e?!b.c?Fcb(a,c,g,f,j,i):Gcb(a,c,g,f,i):Dcb(a,c,g,f)}function o6b(a){m6b();switch(a.f){case 137:case 42:case 143:case 82:case 81:case 74:case 28:case 147:case 88:case 75:case 89:case 142:case 140:case 144:case 72:case 66:case 145:case 146:case 23:case 43:case 45:case 138:case 141:case 38:case 0:case 85:case 139:case 91:case 67:case 116:case 44:case 76:case 102:return-1; +default:return false}}function UAc(a,b){var c,d,e,f,g,h,i,j,k;e=0;for(i=0;ib)throw HV(new Jic(FKc));}f=AD(zE,GBc,46,e,15,1);k=0;g=0;for(h=0;h +0){c=a[h++];if((c&192)!=128)throw HV(new bfb("Invalid UTF8 sequence at "+(h-1)+", byte="+(j=c>>>0,j.toString(16))));d=d<<6|c&63}k+=ijc(d,f,k)}return f}function Z8(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;h=null;e=d.b?d.b.f:null;g=0;o=null;for(p=c.b;p;p=o,g++){o=p.d;if(p.j==(o6b(),d4b)){j=$0b(p,29);l=w1b(p);f=w1b(p);i=false;l.j==g5b&&(f.j==g5b?i=Tkc($Fc,f.oi()):f.j==j6b&&(i=Rib(f.b)));if(i)m=Q0b(l,false);else{m=l.j==g5b?l:xYb(R8(a,d,g));k=Q0b(l,false);s=a9(Q0b(m,false),f);n=l.j==g5b?gYb(WXb(k,s)): +dYb(k,s,i6b);Y1b(n,p);H0b(e,n,h);h=n}y1b(c,p,m);r=x1b(m,m.g,37);r!=m.g&&(m.g=r);m.g=new D2b(37,1,m.g);q=x1b(m,m.g,29);q!=m.g&&(m.g=q);!!j&&(m.g=new N2b(29,j,m.g));zhb(b)}else if(p.j==u5b||p.j==r3b){h=V8(d,h,p,R8(a,d,g));zhb(b)}else if(p.j==H5b&&j1b(p.b)){h=V8(d,h,p.b,R8(a,d,g));zhb(b)}}}function Y6b(a,b){var c;if(!!a.Ui()&&!!b.Ui())return eac(a.Ui(),b.Ui(),false);else if(G6b(a,b,0,new ubc(true)))return a;else if(a.ai()||b.ai())return G6b(a,b,0,new ubc(true))?a:J6b(a,(Occ(),Kcc));else if(a.Yi())return zhc(a.Yi(), +b);else if(b.Yi())return zhc(b.Yi(),a);else if(a.Xi())return Kgc(a.Xi(),b);else if(b.Xi())return Kgc(b.Xi(),a);else if(a.Pi(b))return W6b(a);else if(b.Pi(a))return W6b(b);else if(a.Vi())return Sfc(a.Vi(),b);else if(b.Vi())return Sfc(b.Vi(),a);if(a.Si()){c=$8b(a.Si(),b);if(c)return c}else if(b.Si()){c=$8b(b.Si(),a);if(c)return c}if(a.Ni()&&b.Ni())return J6b(a,(Occ(),bcc));return J6b(a,(Occ(),dcc))}function WAb(a,b,c){var d,e,f,g,h;if(b==b.a.L)return true;if(a.c||b.c)return VAb(a,b,c);h=a.d;f=b.d;e= +true;if(null.Sj==2){if(hAb(f,Oi(Ei(c.a,h,false))))return true;c=(Qd(null.Sj!=0),new WBb(aAb(c.a,h,f)));gAb(h,f)||(e=false);if(null.Rj()&&null.Rj()&&(de(null.Rj()&&null.Rj()),!(nxb(jAb(f),jAb(h),new WBb(($zb(),$zb(),Zzb)))&&nxb(kAb(h),kAb(f),new WBb((null,Zzb))))))return false;if((null.Rj()||null.Rj())&&null.Rj())return OAb(a,f,c)}else if(!gAb(h,f))return false;if(e)g=new inc(b.g);else{g=null.Rj();if(!g)return false}if(!NAb(a,b,g,c))return false;if(!b.b)return true;else if(!a.b)return false;d=owb(a.b, +b.b,true,c,null);return d}function kA(b,c){var d,e,f,g,h,i;this.f=Zd(b);this.c=Zd(c);try{this.a=RA(c.length,(Xlc(),Vlc))}catch(a){a=GV(a);if(qE(a,190))throw HV(new cfb("Illegal alphabet length "+c.length));else throw HV(a);}f=$wnd.Math.min(8,ekc(this.a));try{this.d=8/f|0;this.b=this.a/f|0}catch(a$2){a$2=GV(a$2);if(qE(a$2,190))throw HV(new cfb("Illegal alphabet "+ulc(c,0,c.length)));else throw HV(a$2);}e=AD(yE,LCc,46,128,15,1);aqc(e,e.length);for(h=0;h>24}this.e=e;i=AD(EV,{971:1,3:1},46,this.d,16,1);for(g=0;g=14&&k<=16)))if(b.a.containsKey(d)){!c.a?c.a=new Klc(c.d):Dlc(c.a,c.b);Alc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=zD(d),!(l>=14&&l<= +16)),d);j=new nvc(b);$xc(c,Ypc(h,j))}else qE(d,971)?$xc(c,tqc(d)):qE(d,289)?$xc(c,mqc(d)):qE(d,82)?$xc(c,nqc(d)):qE(d,979)?$xc(c,sqc(d)):qE(d,140)?$xc(c,qqc(d)):qE(d,551)?$xc(c,rqc(d)):qE(d,980)?$xc(c,pqc(d)):qE(d,981)&&$xc(c,oqc(d));else $xc(c,d==null?CBc:kW(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function lyc(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 Nyc(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.Se(b,l.d);e=d<0?0:1;d==0&& +(!c.c||xxc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!hyc(l.a[e]))if(hyc(l.a[1-e]))m=m.a[j]=oyc(l,e);else if(!hyc(l.a[1-e])){n=m.a[1-j];if(n)if(!hyc(n.a[1-j])&&!hyc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;hyc(n.a[j])?h.a[f]=nyc(m,j):hyc(n.a[1-j])&&(h.a[f]=oyc(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 Nyc(l.d,l.e);myc(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 uxb(a, +b){var c,d,e,f,g,h,i,j,k,l;k=b.Fh();ie(-1!=b.Fh()&&ABc!=b.Fh()&&(k&1)==0&&(k&4)==0,"Requested invalid type to remove: %s",b);if(ABc==a.Fh())return a;if(-1==a.Fh()){c=oyb(a.e,506,(Cn(),new Xy(a.e.L)),null,$wb);return uxb(c,b)}g=a.Fh()&~k;if((k&2)==0)return g==a.Fh()?a:oyb(a.e,g,a.Ih(),a.Rh(),a.Dh());ie(b.Ih().size()==1,"Invalid type to remove: %s",b);l=Vs(b.Ih().Qd());j=(Cn(),new Vr);for(i=a.Ih().Qd();i.Kd();){h=i.Ld();(h.c||!WAb(h,l,new WBb(($zb(),$zb(),Zzb))))&&(gpc(j.a,Zd(h)),j)}f=new Vr;for(e= +a.Dh().Qd();e.Kd();){d=e.Ld();(de(null.Sj==($vb(),Zvb)),null.Sj).Rj(new WBb(($zb(),$zb(),Zzb)))||(gpc(f.a,Zd(d)),f)}return oyb(a.e,g,Kp(new Ppc(j.a)),a.Rh(),Kp(new Ppc(f.a)))}function aOb(a,b){var c,d,e,f,g,h,i;e=yPb(a.g,0).b.b;d=null;if(IOb(a,(pSb(),RRb)))d=(i=yPb(a.g,0).b.b,uMb(a,RRb),new eWb(new KWb(i,a.f),lOb(a,0)));else{f=yPb(a.g,0).c;if(Puc(Luc(ZQb,DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),f)||!a.b.c&&eMb(f)){d=GNb(a);if(IOb(a,JRb)){uMb(a,JRb);d=new iUb(new KWb(e,a.f),d)}}else if(b!=2&&(HOb(a, +0,wRb)||HOb(a,0,uRb)))d=cOb(a,0);else throw HV(new Wjc("parseParameterCalled() without confirming a parameter exists."));}g=null;h=null;if(IOb(a,CQb)){if(HOb(a,1,XRb)){uMb(a,CQb);g=QNb(a)}else g=(uMb(a,CQb),vOb(a));h=BMb(a,yPb(a.g,0).b.b)}if(b==0&&d.p!=($Vb(),BVb)&&IOb(a,OQb)){uMb(a,OQb);c=VMb(a,1);d=new iTb(new KWb(e,a.f),d,c)}!!g&&(d=new tWb(h,d,g));return d}function Yab(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;n=k1(a.c);q=ebb(c,n,(Occ(),zcc));d=dbb(c,n,Gbc,q);r=ebb(c,n,_bc);s=b.b?b.b.f:null; +m=Xab(s,d,q);h=Wab(s,r,q);k=new D0b((lGb(),l=mHb("!ITemplateArray"),ZGb(l,!l.n?YHb(l.i):uGb(l))),"");j=new z0b(false);q0b(j,k);p=gbb(aYb(h,f_b(j)),r);f=gbb(xYb("$jscomp$templatelit$"+(""+(new G2(a.c)).a.Y++)),r);t=Y1b(dYb(f,p,(o6b(),i6b)),b);o=(Whb(),iib(b,new Hjb(M5b)));K0b(o,t);P1(a.c,t);i=Y1b(gYb(gbb(WXb(gbb(lYb(f.mi(false),gbb(new $2b(S5b,"raw"),q)),d),m),d)),b);H0b(o,i,t);e=gbb($Xb(w1b(b),DD(yD(VR,1),HDc,7,0,[f.mi(false)])),b.k);for(g=s.b;g;g=g.d)g.j==S5b||J0b(e,w1b(g)); +Y1b(e,s);s1b(e,50,e.b.j!=E4b);y1b(b.e,b,e);zhb(a)}function qyb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s;if(h==i||!!h&&hy(h,i))return oyb(a,b,d,e,h);m=(Cn(),new Vr);j=Wvb(h,i);for(l=j.Qd();l.Kd();){k=l.Ld();if(!!h&&h.contains(k)&&!!i&&i.contains(k)){gpc(m.a,Zd(k));continue}de(null.Sj==($vb(),Zvb));if(ABc==null.Rj()){gpc(m.a,Zd(k));continue}if(null.Rj()!=2){if((null.Rj()&c)!=0){gpc(m.a,Zd(k));b&=~null.Rj()}}else if(!f.isEmpty()||!g.isEmpty()){s=new Rwc;n=Vs(null.Rj().Rj());for(p=f.Qd();p.Kd();){o= +p.Ld();if(WAb(n,o,new WBb(($zb(),$zb(),Zzb)))){gpc(m.a,Zd(k));s.a.put(o,s)}}for(r=g.Qd();r.Kd();){q=r.Ld();if(WAb(n,q,new WBb(($zb(),$zb(),Zzb)))){gpc(m.a,Zd(k));s.a.put(q,s)}}s.a.size()==0||(d=ny(gy(d,s)))}}return oyb(a,b,d,e,Kp(new Ppc(m.a)))}function z7b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;Zd(a);if(b.ai())return true;if(b.Ei())return true;if(N6b(a,b,c.b))return true;if(b.Yi()){q=b.Yi();e=q.b;for(g=0;gyPb(a.g,0).b.a.b,!(c||HOb(a,1,ORb)||HOb(a,1,zQb)||HOb(a,1,MQb)))&&HOb(a,1,ZQb)&&HOb(a,2,OQb))return wOb(a);if(HOb(a,0,HQb)&&(d=yPb(a.g,1).b.b.b>yPb(a.g,0).b.a.b,!(d||HOb(a,1,ORb)||HOb(a, +1,zQb)||HOb(a,1,MQb)))&&(HOb(a,1,kSb)||HOb(a,1,hRb)||HOb(a,1,EQb)||HOb(a,1,XQb)||HOb(a,1,xQb)||HOb(a,1,NQb)||HOb(a,1,lRb)||HOb(a,1,mRb)))return KMb(a);if((HOb(a,0,lRb)||HOb(a,0,mRb))&&(b=yPb(a.g,1).b.b.b>yPb(a.g,0).b.a.b,!(b||HOb(a,1,ORb)||HOb(a,1,zQb)||HOb(a,1,MQb)))&&HOb(a,1,ZQb))return WNb(a,false);return pOb(a)}function r6b(){o6b();return DD(yD(XR,1),_Bc,10,0,[J5b,K3b,L3b,I3b,n4b,k5b,a5b,Z4b,G4b,A4b,_4b,L5b,h6b,m3b,V5b,f5b,g4b,d5b,p4b,o5b,J3b,D5b,l5b,m5b,e4b,d6b,E4b,D4b,P3b,g5b,r5b,S5b,p5b,_5b, +u4b,b6b,O5b,P5b,G5b,a6b,O4b,R4b,q3b,t5b,c6b,y5b,X3b,t3b,w3b,x3b,v3b,A3b,D3b,F3b,u3b,E3b,C3b,y3b,B3b,z3b,H4b,w5b,n3b,P4b,a4b,y4b,I4b,X5b,R3b,c4b,l6b,h4b,v4b,w4b,O3b,$3b,i6b,m6b,T3b,j6b,j4b,K5b,M3b,V4b,t4b,M5b,F4b,N5b,Z3b,_3b,W4b,T5b,S3b,r3b,u5b,f4b,U3b,V3b,b5b,W5b,$4b,x4b,n6b,G3b,K4b,M4b,L4b,N4b,q4b,s4b,r4b,e5b,H5b,Q5b,Y3b,Y5b,Z5b,$5b,d4b,n5b,U5b,N3b,s5b,z4b,x5b,g6b,p3b,q5b,k6b,I5b,h5b,v5b,F5b,f6b,s3b,B4b,C4b,o3b,z5b,R5b,m4b,E5b,i4b,H3b,o4b,X4b,Y4b,W3b,S4b,T4b,U4b,k4b,l4b,J4b,e6b,b4b,c5b,Q4b,Q3b,i5b, +j5b,A5b,B5b,C5b])}function T9(a,b,c){var d,e,f,g,h,i,j;f=(Whb(),iib(c,new Hjb((o6b(),y4b))));if(!f||Y0b(f,59)==0||c.j==w4b)return;e=iib(c,new Hjb(M3b));h=null;j=null;switch(c.j.f){case 72:h=c.b.d;j=h.d;break;case 70:h=c.b;j=new _1b(j4b);break;case 71:h=c.b?c.b.f:null;if(h.j!=j4b){g=(ie(Wkc(wGc,olc(46))==-1,GDc,wGc),new $2b(g5b,wGc));K0b(e,dYb(Q0b(g,false),F9(a.c,new _1b(b6b)),i6b));h=B9(a.c,BYb(g,S0b(c.b?c.b.f:null)));J0b(c,h)}j=new _1b(j4b)}if(!g9(a.c,h)&&!g9(a.c,j))return;i=xYb("$jscomp$generator$loop$guard"+ +(""+a.c.j.a.Y++));if(h.j!=j4b){d=new _1b(M3b);y1b(c,h,d);K0b(d,YXb(gYb(gbb(WXb(Q0b(i,false),Q0b(h,false)),h.k))));J0b(d,Q0b(i,false))}j.j==j4b||I0b(c,YXb(gYb(S0b(j))),c.b?c.b.f:null);K0b(e,eYb(i,i6b));zhb(b)}function Jwb(a,b){var c,d,e,f,g,h,i,j,k;de(!!a||!!b);if(!a||!b)return null;a.n.a.isEmpty()||(a=mwb(a));b.n.a.isEmpty()||(b=mwb(b));de(!a.c&&!b.c);if(dwb(a,b))return a;d=a.i;e=b.i;if(d.size()!=e.size())return null;c=new Ywb(a.a);i=d.size();for(g=0;g0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw HV(new Jkc(BBc+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1);--f}if(f>(Ikc(),Gkc)[10])throw HV(new Jkc(BBc+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(JV(l,h)< +0)throw HV(new Jkc(BBc+j+'"'));l=QV(l,k)}l=UV(l,d)}if(JV(l,0)>0)throw HV(new Jkc(BBc+j+'"'));if(!i){l=RV(l);if(JV(l,0)<0)throw HV(new Jkc(BBc+j+'"'));}return l}function EPb(a,b,c){var d,e,f,g,h,i,j;j=new Hlc;j.a+=String.fromCharCode(c);e=c==92;d=false;h=e?1:0;c=sPb(a,a.d)?Okc(a.e.a,a.d):0;while(cQb(c)||(Xic==null&&(Xic=new RegExp("\\d")),Xic.test(String.fromCharCode(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}wlc(j,tPb(a)); +c=sPb(a,a.d)?Okc(a.e.a,a.d):0}i=j.a;if(e){i=hQb(i);if(i==null){zPb(a,rPb(a,a.d),YJc,DD(yD(nT,1),WBc,1,5,[]));return oPb(a,(pSb(),RQb),b)}}g=i.charCodeAt(0);if(!cQb(g)){zPb(a,jMb(a.e.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",DD(yD(nT,1),WBc,1,5,[kjc(g),kkc(g)]));return oPb(a,(pSb(),RQb),b)}f=(_Lb(),rp(BLb,i));if(f)return new $Kb(f.a,kMb(a.e.b,b,a.d));return new aLb(kMb(a.e.b,b,a.d),(cBc(i),i))}function P6(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;n=b.b.d;f=b.b?b.b.f:null;if(n.j==(o6b(), +j4b)){j=(Whb(),new e2b(y4b,(ie(Wkc("",olc(46))==-1,GDc,""),new $2b(g5b,"")),new _1b(y5b),(c=new _1b(M3b),c)));O1(a.a,j);m=wYb(j)}else{if(!l1b(n))return;d=(c=new _1b(M3b),c);i=$0b(b,51);if(!(!!i&&i.wh())&&(e=(Whb(),l=gib(b),!l?null:$0b(l,29)),!(!!e&&((e.a&512)!=0||(e.a&IFc)!=0)))){h=gYb($Xb(lYb(new _1b(W5b),new $2b(S5b,sFc)),DD(yD(VR,1),HDc,7,0,[new _1b(_5b),(ie(Wkc(AFc,olc(46))==-1,GDc,AFc),new $2b(g5b,AFc))])));K0b(d,h)}g=jYb((ie(Wkc("",olc(46))==-1,GDc,""),new $2b(g5b,"")),CYb((ie(Wkc(JFc,olc(46))== +-1,GDc,JFc),new $2b(g5b,JFc))),d);O1(a.a,g);m=wYb(g);k=new z0b(false);d0b(k,JFc,new D0b(new b2b(i4b,new _1b(E5b)),""));E1b(m,f_b(k))}Y1b(m,b);K0b(f,m);P1(a.a,m)}function web(a,b,c){var d,e,f,g,h,i,j;if(a.a&&$0b(c,40)!=null){Dlc(b,$0b(c,40));return}if(c.j==(o6b(),H3b)){b.a+="!";web(a,b,c.b)}else if(c.j==o4b){web(a,b,c.b);b.a+="="}else if(c.j==z5b){b.a+="(";g=c.b?c.b.f:null;for(d=c.b;d;d=d.d){web(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.j==i4b){b.a+=VDc;!!c.b&&c.b.j!=j4b&&web(a, +b,c.b)}else if(c.j==R5b)b.a+="*";else if(c.j==E5b){b.a+="?";!!c.b&&web(a,b,c.b)}else if(c.j==y4b)veb(a,b,c);else if(c.j==Y4b){b.a+="{";i=c.b;h=i.b?i.b.f:null;for(e=i.b;e;e=e.d){if(e.b){Dlc(Dlc(b,e.b.oi()),":");web(a,b,e.b?e.b.f:null)}else Dlc(b,e.oi());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.j==j6b)b.a+=kEc;else if(c.b){Dlc(Dlc(b,c.oi()),"<");d=c.b;f=d.b?d.b.f:null;for(j=d.b;j;j=j.d){web(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else Dlc(b,c.oi())}function Vmb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(!(!!c.b&&!c.b.d)|| +c.b.j!=(o6b(),t4b)){N1(a.a,uhb(c,Smb,DD(yD(sT,1),FBc,2,6,[])));return}j=S0b(c.b.b);d=c.b;!!d&&u1b(c,d);k=lub(T2((!b.d&&!!b.g&&(b.d=a1(b.c,b.g)),b.d)).a);K0b(c,V1b(dYb(V1b((ie(Wkc(k,olc(46))==-1,GDc,k),new $2b((o6b(),g5b),k)),j),j,i6b),j));K0b(c,Y1b(gYb($Xb(lYb((ie(Wkc(FDc,olc(46))==-1,GDc,FDc),new $2b(g5b,FDc)),new $2b(S5b,PDc)),DD(yD(VR,1),HDc,7,0,[new $2b(S5b,k)]))),c));i=(!b.d&&!!b.g&&(b.d=a1(b.c,b.g)),b.d).a.Lg().b;m=EHc.length;if(Tkc(i.substr(i.length-m,m),EHc)&&j.j==t5b){l=a.a.L.lc;for(h=$s(new hsc(l.a.b.Qd()));h.Kd();){g= +h.Ld();f=kib(j,g);if(!!f&&(f.j==S5b||f.j==t5b)){e=hlc(i,0,i.length-12);if(f.j==S5b){nmc(a.b,i,e+(""+f.oi()));break}else if(f.j==t5b){ee(Tkc(g,"browser"),g);Umb(a,e,f)}}}}zhb(b)}function swb(a,b,c,d,e){var f,g,h,i,j;ie(a.n.a.isEmpty(),"Non-empty type parameters %s",a.n);de(a==a.a.g||a.f.isEmpty());de(a!=a.a.v);if(a==a.a.g||b==b.a.v||b==b.a.g||b.c)return true;!b.n.a.isEmpty()&&(b=mwb(b));if(!(a.i.isEmpty()&&a.e.isEmpty()&&!!a.j&&ABc==a.j.Fh())){if(b.i.size()>a.i.size())return false;g=a.i.size()+a.e.size(); +for(f=0;fyPb(a.g,0).b.a.b,!(c||HOb(a,1,ORb)||HOb(a,1,zQb)||HOb(a,1,MQb)))&&HOb(a,1,XQb)?e=ZMb(a):HOb(a,0,XQb)?e=(g=yPb(a.g,0).b.b,uMb(a,(_Lb(),uLb).a),h=!!yMb(a,SRb),i=CTb(new GTb((LTb(), +JTb)),(j=yPb(a.g,0).c,Puc(Luc(ZQb,DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),j)||!a.b.c&&eMb(j)?wMb(a):null)),CNb(a,i,h?(kPb(),iPb):(kPb(),jPb)),vTb(i,new KWb(g,a.f))):e=fOb(a);while(HOb(a,0,wRb)||HOb(a,0,BRb)||HOb(a,0,qRb)||HOb(a,0,$Rb))switch(yPb(a.g,0).c.f){case 49:uMb(a,wRb);d=IMb(a,1);uMb(a,BQb);e=new $Tb(new KWb(f,a.f),e,d);break;case 51:uMb(a,BRb);b=wMb(a);e=new ZTb(new KWb(f,a.f),e,b);break;case 107:case 104:e=uOb(a,e);break;default:throw HV(new GC(VJc));}return e}function U0(a,b,c){var d,e, +f,g,h,i,j,k,l,m,n,o;g=!c&&a.L.dd;if(iwc(a.v,b)||g)return a.D;l=QXb("js/"+b+zEc);d=E1(a,AEc+b+"] ",l);for(k=d.b;!!k&&k.j==(o6b(),t4b)&&k.b.j==(o6b(),S5b);k=d.b){f=k.b.oi();o=bf($e(gf(new ic(32))),f);switch(o.a.getAtIndex(0)){case "use":break;case QDc:U0(a,o.a.getAtIndex(1),c);break;case pEc:n=eYb(xYb(o.a.getAtIndex(1)),(o6b(),i6b));i=new z0b(false);YYb(i.a);i.e=true;E1b(n,f_b(i));J0b(R2((!a.U&&(a.U=w1(a,"{SyntheticVarsAtEnd}",1)),a.U),a),n);break;default:throw HV(new GC("Bad directive: "+f));}u1b(d, +k)}qW(a.$)&&(Jhb(a,d,new lkb(a,false)),Jhb(a,d,new Pfb(new cgb(X0(a),new G2(a),"jscomp_"+b+"_"))));j=d.b?d.b.f:null;for(e=d.b;e;e=e.d)ljb(e,a);h=v1b(d);if(!h)return a.D;m=c1(a);!a.D?N0b(m,h):L0b(m,h,a.D);a.D=j;kwc(a.v,b,j);L1(a,W0(m));y1(a);return j}function LX(a,b){var c,d,e,f,g,h,i,j,k,l;switch(b.j.f){case 86:IX((o6b(),F4b),b);c=q6b(b.j);c!=-1&&(d=V0b(b),c!=d&&gY(kDc+c+lDc+d,b));NX(b);e=b.b;mX(a,e,false);e.b.oi().length==0||gY(uDc,b);f=e.b.d;!!f.b&&gY("get methods must not have parameters.",b); +return;case 87:IX((o6b(),N5b),b);g=q6b(b.j);g!=-1&&(h=V0b(b),g!=h&&gY(kDc+g+lDc+h,b));NX(b);i=b.b;mX(a,i,false);i.b.oi().length==0||gY(uDc,b);j=i.b.d;!!j.b&&!j.b.d||gY("set methods must have exactly one parameter.",b);return;case 91:MX(a,b);return;case 98:_W(a,b,false);Y0b(b,58)!=0&&gY("Keys in an object literal should not be static.",b);return;case 114:IX((o6b(),Y3b),b);k=q6b(b.j);k!=-1&&(l=V0b(b),k!=l&&gY(kDc+k+lDc+l,b));kX(a,b.b);kX(a,b.b?b.b.f:null);return;default:gY("Expected object literal key expression but was "+ +b.j,b)}}function i3(a,b,c){var d,e,f;switch(b.j.f){case 28:if(!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&b.b.j==(o6b(),E4b)&&q1b(b.b.b,FDc)){kpc(a.d,FDc,0)!=-1||gpc(a.d,FDc);e=b.b;d=b.b?b.b.f:null;switch((e.b?e.b.f:null).oi()){case ODc:iyc(a.a,ODc,FDc);case PDc:if(d.j!=(o6b(),S5b))return;gpc(a.c,d.oi());return;case QDc:if(d.j!=(o6b(),S5b))return;gpc(a.d,d.oi());return;case NDc:b=d.b?d.b.f:null;break;default:return}}break;case 111:if(Y0b(c,87)==0){gpc(a.c,lub(a.b.a));iyc(a.a,ODc,"es6")}break;case 104:h3(a, +b.b?b.b.f:null,b);return;case 108:Whb();Qd(b.j==(o6b(),q4b));!!b.b&&!!b.b.d&&b.b.d==(b.b?b.b.f:null)&&h3(a,b.b?b.b.f:null,b);return;case 76:q1b(b.b,FDc)&&Zib(b.b)&&gpc(a.c,FDc);break;case 84:case 88:case 82:case 85:case 29:case 95:break;default:return}for(f=b.b;f;f=f.d)i3(a,f,b)}function owb(a,b,c,d,e){var f,g,h,i,j,k,l;if(b==b.a.v||b==b.a.g||b==b.a.s||a==a.a.s)return true;if(a==a.a.v||a==a.a.g)return false;de(!a.c&&!b.c);if(!a.n.a.isEmpty()){if(dwb(a,b))return true;return owb(mwb(a),b,c,d,e)}if(!(b.i.isEmpty()&& +b.e.isEmpty()&&!!b.j&&ABc==b.j.Fh())){if(a.i.size()>b.i.size())return false;j=b.i.size()+b.e.size();for(h=0;h2){a.a.mh(UIc+l3b(qJc,DD(yD(nT,1),WBc,1,5,[nJc])),a.b.Ig(),a.d,a.c);$Ib(a,(c=kJb.d,Vd(b.j==P3b,hJc,b),U0b(b,2),c));return false}f=(Vd(e.j==y4b,oJc,e),U0b(e,2));if(!UIb(a, +f)){a.a.mh(UIc+l3b(lJc,DD(yD(nT,1),WBc,1,5,[rJc])),a.b.Ig(),a.d,a.c);return false}return true}function GIb(a,b){var c,d,e,f,g;if(!vIb(a,b,(zJb(),lJb)))return false;if(!UIb(a,(Vd(b.j==(o6b(),P3b),hJc,b),U0b(b,1)))){$Ib(a,(c=lJb.d,Vd(b.j==P3b,hJc,b),U0b(b,1),c));return false}if((Vd(b.j==P3b,hJc,b),U0b(b,2)).j!=y4b){ZIb(a,(d=nJc,Vd(b.j==P3b,hJc,b),U0b(b,2),d));$Ib(a,(c=lJb.d,Vd(b.j==P3b,hJc,b),U0b(b,2),c));return false}e=(Vd(b.j==P3b,hJc,b),U0b(b,2));g=(Vd(e.j==y4b,oJc,e),V0b(e.b.d));if(g<1){a.a.mh(UIc+ +l3b(pJc,DD(yD(nT,1),WBc,1,5,[nJc])),a.b.Ig(),a.d,a.c);$Ib(a,(c=lJb.d,Vd(b.j==P3b,hJc,b),U0b(b,2),c));return false}if(g>1){a.a.mh(UIc+l3b(qJc,DD(yD(nT,1),WBc,1,5,[nJc])),a.b.Ig(),a.d,a.c);$Ib(a,(c=lJb.d,Vd(b.j==P3b,hJc,b),U0b(b,2),c));return false}f=(Vd(e.j==y4b,oJc,e),U0b(e,2));if(!UIb(a,f)){a.a.mh(UIc+l3b(lJc,DD(yD(nT,1),WBc,1,5,[rJc])),a.b.Ig(),a.d,a.c);return false}return true}function VAb(a,b,c){var d,e,f,g,h,i;de(a.c||b.c);if(b==b.a.L)return true;if(a.c)for(h=(e=(new inc(a.g)).a.Yd().Qd(),new onc(e));h.a.Kd();){g= +(d=h.a.Ld(),d.ee());i=new UBb(g);f=RAb(b,i);if(!!f&&(i.a.size()==1||txb(f.d,(Qd(i.a.size()!=1),new TBb(i.a._e(1,i.a.size())))))&&!nxb(TAb(a,i),TAb(b,i),c))return false}else for(h=(e=(new inc(b.g)).a.Yd().Qd(),new onc(e));h.a.Kd();){g=(d=h.a.Ld(),d.ee());i=new UBb(g);if((a.f.a&1)!=0){f=RAb(a,i);if(!(!!f&&(i.a.size()==1||txb(f.d,(Qd(i.a.size()!=1),new TBb(i.a._e(1,i.a.size()))))))||!nxb(TAb(a,i),TAb(b,i),c))return false}else{f=RAb(a,i);if(!!f&&(i.a.size()==1||txb(f.d,(Qd(i.a.size()!=1),new TBb(i.a._e(1, +i.a.size())))))&&!nxb(TAb(a,i),TAb(b,i),c))return false}}if(!b.b)return!a.b||null.Rj()||b.c;else if(!a.b)return a.c;return nwb(a.b,b.b)}function k1b(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(a.j!=b.j||V0b(a)!=V0b(b)||a.Oj!=b.Oj)return false;if(c&&!g7b(qE(a.k,23)?a.k:null,qE(b.k,23)?b.k:null))return false;if(e&&!x$b($0b(a,29),$0b(b,29)))return false;p=$0b(a,78);o=$0b(b,78);if((!!p||!!o)&&(!p||!o||!k1b(p,o,c,d,e,false)))return false;if(a.j==(o6b(),P4b)||a.j==a4b){i=Y0b(a,32);j=Y0b(b,32);if(i!=j)return false}else if(a.j== +S5b||a.j==T5b){if(a.j==T5b){k=Y0b(a,36);l=Y0b(b,36);if(k!=l)return false}m=Y0b(a,54);n=Y0b(b,54);if(m!=n)return false}else if(a.j==P3b){if(Y0b(a,50)!=0!=(Y0b(b,50)!=0))return false}else if(a.j==y4b)if((a.j==y4b&&Y0b(a,60)!=0)!=(b.j==y4b&&Y0b(b,60)!=0))return false;if(f)if(Y0b(a,42)!=Y0b(b,42))return false;if(d)for(g=a.b,h=b.b;g;g=g.d,h=h.d)if(!g.pi(h,c,d,e,f))return false;return true}function Dwb(a,b){var c,d,e,f,g,h,i,j,k;if(!a||!b)return null;else if(b==b.a.v||b==b.a.g||dwb(a,b))return a;else if(a== +a.a.v||a==a.a.g)return b;if(a.c||b.c)return Cwb(a,b);if(!a.n.a.isEmpty()&&owb(a,b,true,new WBb(($zb(),$zb(),Zzb)),null))return a;else if(!b.n.a.isEmpty()&&owb(b,a,true,new WBb(($zb(),$zb(),Zzb)),null))return b;!a.n.a.isEmpty()&&(a=mwb(a));!b.n.a.isEmpty()&&(b=mwb(b));d=a.a;c=new Ywb(d);h=$wnd.Math.min(a.i.size(),b.i.size());for(f=0;fyPb(a.g,0).b.a.b,!(c||HOb(a, +1,ORb)||HOb(a,1,zQb)||HOb(a,1,MQb)))&&(SOb(a,1)||yPb(a.g,1).c==wRb)?$Mb(a,new nPb(yPb(a.g,0).b.b)):yPb(a.g,1).c==vRb?iNb(a,new nPb(yPb(a.g,0).b.b)):iOb(a);else if(f==wRb){e=yPb(a.g,0).b.b;d=kNb(a);if(IOb(a,CQb)){uMb(a,CQb);g=VMb(a,1);return new _Sb(new KWb(e,a.f),d,g)}else{b=new GTb((LTb(),JTb));CNb(a,b,(kPb(),jPb));g=vTb(b,new KWb(e,a.f));return new cTb(new KWb(e,a.f),null,d,g)}}else throw HV(new GC(VJc));}function sbb(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;k=Cbb(c,b);h=(Whb(),$hb(k, +false,a.a));e=Bbb(k);p=new Ebb;p.b=h;p.a=e;for(g=null,d=k,m=d.e;m!=b;g=d,d=m,m=d.e){n=m.j;de(!Dbb(m)||d==m.b);if(n==(o6b(),t3b))if(xbb(a,m,p.b));else{i=m.b;q=i.j;if(i!=d){de(i.j==E4b||i.j==D4b);q==D4b&&qbb(a,i.b?i.b.f:null,null,p);qbb(a,i.b,null,p)}}else if(n==P3b&&Pib(m.b)){f=m.b;qbb(a,f.d,d,p);if(wbb(a,f,p.b)&&f.b!=g){ee(false,"Object method calls can not be decomposed.");p.b=true;o=(Qd(m.j==P3b),r=m.b,Qd(r.j==E4b||r.j==D4b),s=ubb(a,r,p.a),p.a=s,t=s.b.b,Qd(t.j==E4b||t.j==D4b),u=ubb(a,t.b,p.a),p.a= +u,v=u.b,w=s.b,A=V1b($Xb(lYb(w.mi(false),new $2b(S5b,MFc)),DD(yD(VR,1),HDc,7,0,[v.mi(false)])),m),w1b(m),!!m.b&&M0b(A,v1b(m)),B=m.e,y1b(B,m,A),A);m=o}}else n==t5b?pbb(a,m.b,d,p):qbb(a,m.b,d,p)}if(k==c);else{l=k.e;j=l.j!=(o6b(),t4b);tbb(a,k,e,j)}}function Qnb(a){Knb();this.a=a;this.b=(Po(),mr(new pr,FAc(JHc),Gnb)).qf(Nnb('Duplicate parameter name "{0}"'),tnb).qf(FAc("Unnecessary escape:.*"),Inb).qf(FAc("^invalid param name.*"),ynb).qf(Nnb(l3b(KHc,DD(yD(nT,1),WBc,1,5,[]))),snb).qf(FAc("^"+GAc(LHc)), +znb).qf(FAc("^Keywords and reserved words are not allowed as unquoted property.*"),wnb).qf(FAc("^Too many template parameters"),Fnb).qf(FAc(".*Type annotations should have curly braces.*"),Anb).qf(FAc("Missing type declaration\\."),Bnb).qf(FAc(".*Unknown type.*"),Jnb).qf(FAc("^Bad type annotation.*"),Hnb).qf(FAc("Too deep recursion while parsing"),Enb).qf(FAc("^Octal .*literal.*"),xnb).qf(FAc("^this language feature is only supported for ECMASCRIPT6 mode.*"),unb).qf(FAc("^type syntax is only supported in ES6 typed mode.*"), +vnb).qf(FAc("^Can only have JSDoc or inline type.*"),Cnb).pf()}function Svc(){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[GJc]=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(!Qvc()){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[GJc]=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 iNb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!yMb(a,(pSb(),SRb));l=yPb(a.g,0).c;if(ZQb==l||(_Lb(),_Lb(),!!rp(CLb,l))){k= +null;j=wMb(a);dMb(j.a)&&(a.d=WJb(a.d,DD(yD(_O,1),_Bc,29,0,[(VKb(),AKb)])))}else{if(a.b.d&&HOb(a,0,wRb)&&HOb(a,1,ZQb)&&HOb(a,2,CQb)){g=LNb(a);zMb(a);return g}k=kNb(a);j=null}if(!a.b.d||IOb(a,vRb)||IOb(a,tRb)){if(!k){i=(LTb(),KTb);c=b.a}else{i=(LTb(),JTb);c=null}if(b.b){f=UNb(a,b.d,j,b.c,h,b.a);zMb(a)}else{d=wTb(FTb(CTb(new GTb(i),j),b.c),c);CNb(a,d,h?(kPb(),iPb):(kPb(),jPb));f=vTb(d,BMb(a,b.d))}return i==(LTb(),KTb)?f:new cTb(BMb(a,b.d),b.a,k,f)}else{h&&_Ob(a,"Member variable cannot be prefixed by '*' (generator function)", +DD(yD(nT,1),WBc,1,5,[]));e=DMb(a);IOb(a,OQb)&&_Ob(a,"Member variable initializers ('=') are not supported",DD(yD(nT,1),WBc,1,5,[]));zMb(a);return!k?new _Tb(BMb(a,b.d),j,b.c,false,b.a,e):new bTb(BMb(a,b.d),k,b.c,b.a,e)}}function sjb(a){Whb();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 kEc;case 25:return qHc; +case 41:return rHc;default:return null}}function sNb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=yPb(a.g,0).b.b;f=false;g=false;h=false;k=true;uMb(a,(pSb(),SQb));c=null;d=null;switch(yPb(a.g,0).c.f){case 65:g=true;n=xPb(a.g);a.f=n.b.a;break;case 14:c=b?MMb(a):BNb(a);k=b;break;case 29:c=fNb(a,false,b);k=false;break;case 37:c=MNb(a);k=false;break;case 31:c=oNb(a);k=false;break;case 110:case 111:c=WNb(a,b);k=false;break;case 109:c=KMb(a);k=false;break;case 8:f=true;m=xPb(a.g);a.f=m.b.a;c=IMb(a,1);k=false; +break;case 45:h=true;d=uNb(a);break;case 108:c=wOb(a);break;default:case 25:case 38:case 30:c=b?PMb(a):EOb(a,1)}j=null;if(g||h&&HOb(a,0,ZQb)&&Tkc(yPb(a.g,0).a,YDc)){AMb(a,YDc);j=uMb(a,XRb)}else if(h)for(p=d.Qd();p.Kd();){o=p.Ld();e=o.b;dMb(e.a)&&ZOb(a,e,UJc,DD(yD(nT,1),WBc,1,5,[e.a]))}(k||(i=yPb(a.g,0).b.b.b>a.f.b,i||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb)))&&zMb(a);return new mTb(new KWb(l,a.f),f,g,c,d,j)}function Czb(a){var b,c,d;c=Fxb(this);this.a=Zd(jwc(c,"BOOLEAN"));this.b=Zd(jwc(c,"BOTTOM")); +this.e=Zd(jwc(c,bIc));this.f=Zd(jwc(c,"FALSY"));this.j=Zd(jwc(c,cIc));this.q=Zd(jwc(c,dIc));this.t=Zd(jwc(c,eIc));this.u=Zd(jwc(c,"TOP"));Zd(jwc(c,fIc));this.w=Zd(jwc(c,gIc));this.A=Zd(jwc(c,hIc));this.B=Zd(jwc(c,"UNDEFINED"));this.G=Zd(jwc(c,iIc));this.C=Zd(jwc(c,jIc));this.D=Zd(jwc(c,kIc));this.F=Zd(jwc(c,lIc));this.k=Zd(jwc(c,mIc));this.n=Zd(jwc(c,nIc));this.o=Zd(jwc(c,oIc));this.p=Zd(jwc(c,pIc));this.r=Zd(jwc(c,qIc));b=(d=new nwc,kwc(d,sIc,Fwb(this,null,null,this.G,this.G,null,null,null,null, +true,false)),kwc(d,tIc,Fwb(this,null,null,null,this.b,null,null,null,null,false,false)),kwc(d,aIc,new wwb(this,false)),kwc(d,_Hc,new wwb(this,true)),d);this.s=Zd(jwc(b,sIc));this.c=Zd(jwc(b,tIc));this.v=Zd(jwc(b,aIc));this.g=Zd(jwc(b,_Hc));this.d=_zb(new FBb(null,this.b,this.b,(QBb(),PBb)));this.H=a;this.J=a;this.i=new Gzb(this)}function YPb(a,b){var c,d,e;tPb(a);if(!sPb(a,a.d)){APb(a,"Unterminated string literal escape sequence",DD(yD(nT,1),WBc,1,5,[]));return false}if(dQb(sPb(a,a.d)?Okc(a.e.a,a.d): +0)){d=tPb(a);d==13&&(sPb(a,a.d)?Okc(a.e.a,a.d):0)==10&&tPb(a);return true}e=tPb(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;case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(b){APb(a,YJc,DD(yD(nT,1),WBc,1,5,[]));return false}break;case 120:return NPb(a)&&NPb(a);case 117:if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==123){tPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==125){APb(a,"Empty unicode escape",DD(yD(nT,1),WBc,1,5,[]));return false}c= +true;while((sPb(a,a.d)?Okc(a.e.a,a.d):0)!=125&&c)c=c&&NPb(a);tPb(a);return c}else return NPb(a)&&NPb(a)&&NPb(a)&&NPb(a)}if(e==47);else if(b&&e==36);else BPb(a,"Unnecessary escape: '\\%s' is equivalent to just '%s'",DD(yD(nT,1),WBc,1,5,[kjc(e),kjc(e)]));return true}function nW(){var a,b,c;b=$doc.compatMode;a=DD(yD(sT,1),FBc,2,6,[fDc]);for(c=0;cMake sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,
e.g. by using <!doctype html> at the start of your application's HTML page.

To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding
the following line to your*.gwt.xml module file:
  <extend-configuration-property name=\"document.compatMode\" value=\""+ +b+'"/>':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' "+b+"').
Modify your application's host HTML page doctype, or update your custom "+"'document.compatMode' configuration property settings."}function tbb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.e;q=a.e+KGc+(""+a.c.a.Y++);i=b.b;p=i.d;m=b.b?b.b.f:null;T0b(b);g=null;s=V1b((f=new _1b((o6b(),M3b)),f),b);h=V1b((e=new _1b(M3b),e),b);switch(b.j.f){case 60:g=i;K0b(s,njb(d? +W1b(WXb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),p),p):p));K0b(h,njb(d?W1b(WXb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),m),m):m));break;case 62:g=d?W1b(WXb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),i),i):i;K0b(s,njb(d?W1b(WXb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),m),m):m));break;case 61:g=d?W1b(WXb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),i),i):i;K0b(h,njb(d?W1b(WXb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),m),m):m));break;default:throw HV(new Wjc(LGc));}h.b?k=(de(tYb(g)), +de(s.j==M3b),de(h.j==M3b),new e2b(I4b,g,s,h)):k=oYb(g,s);X1b(k,b);if(d){r=Y1b(rjb(q,null),b);l=c.e;I0b(l,r,c);H0b(l,k,r);o=(ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q));y1b(n,b,o)}else{Qd(n.j==t4b);j=n.e;y1b(j,n,k)}return k}function wjb(a,b){Whb();var c,d;if(a.j==(o6b(),c6b)&&g1b(a)&&b==(a.b?a.b.f:null))Bib((Qd(a.j==c6b),a.b.d))?u1b(a,b):T0b(b);else if(b.j==T3b){d=!b.e?null:b.e.e;de((Qd(d.j==c6b),g1b(d)));S0b(b)}else{c=b.e;if(c.j==c6b&&c.b.d==b){d=b.e;de((Qd(d.j==c6b),g1b(d)));T0b(b)}else if(b.j== +M3b)T0b(b);else if(a.j==K5b||a.j==M5b||a.j==M3b||a.j==e5b||b.j==R3b||b.j==c4b||b.j==b5b)u1b(a,b);else if(!!a&&(a.j==i6b||a.j==$4b||a.j==Z3b)||a.j==t4b)if(!!a.b&&!!a.b.d)u1b(a,b);else{u1b(a,b);wjb(a.e,a)}else if(a.j==V4b&&b==(a.b?a.b.f:null)){u1b(a,b);wjb(a.e,a)}else if(a.j==v4b)y1b(a,b,new _1b(j4b));else if(a.j==u5b)u1b(a,b);else if(a.j==r3b)b==(a.b?a.b.f:null)?u1b(a,b):y1b(a,b,new _1b(j4b));else if(a.j==f4b){u1b(a,b);!!a.e.b&&wjb(a.e,a)}else if(a.j==H5b)S0b(a);else if(a.j==y5b)u1b(a,b);else if(a.j== +K4b)if(b==a.b)y1b(a,b,new _1b(j4b));else throw HV(new Wjc("Invalid attempt to remove: "+b+" from "+a));else throw HV(new Wjc("Invalid attempt to remove node: "+b+" of "+a));}}function H4(a){if(a.u!=(tZ(),rZ)&&!a.t)throw HV(new I4("Cannot check use of goog.getCssName because of empty blacklist.",DD(yD(nT,1),WBc,1,5,[])));if(a.Nc&&!a.Mc)throw HV(new I4("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",DD(yD(nT,1),WBc,1,5,[])));if(!a.Bb&&a.$b!=-1)throw HV(new I4("max_function_size_after_inlining has no effect if inlining is disabled.", +DD(yD(nT,1),WBc,1,5,[])));a.xd&&(a.s=rZ);if(a.U){if(!RJb(j4(r3(a)),(QJb(),HJb)))throw HV(new I4("Dart requires --language_out=ES5 or higher.",DD(yD(nT,1),WBc,1,5,[])));a.f=false;a.bb=false}if(a.Nc&&a.hb)throw HV(new I4("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",DD(yD(nT,1),WBc,1,5,[])));if((h4(),b4)==a.Tb){OXb();if(PXb(NXb,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw HV(new I4("type syntax is not yet generally available, please contact jscomp-team@", +DD(yD(nT,1),WBc,1,5,[])));}}function $8(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;Whb();if(!!d&&(d.j==(o6b(),i6b)||d.j==$4b||d.j==Z3b)&&!Nib(d.e))U8(a,b,c,c.d,d,d);else if(d.j==(o6b(),t3b))d.e.j==t4b?U8(a,b,c,c.d,d,d.e):(e=mGc+a.b++,f=S0b(d.b?d.b.f:null),g=dYb((ie(Wkc(e,olc(46))==-1,GDc,e),new $2b(g5b,e)),f,$4b),h=WXb(S0b(d.b),(ie(Wkc(e,olc(46))==-1,GDc,e),new $2b(g5b,e))),i=(ee(tYb(h),h),new b2b(t4b,h)),j=FYb((ie(Wkc(e,olc(46))==-1,GDc,e),new $2b(g5b,e))),k=ZXb(DD(yD(VR,1),HDc,7,0,[g,i,j])),l=$Xb(VXb((ie(Wkc("", +olc(46))==-1,GDc,""),new $2b(g5b,"")),new _1b(y5b),k),DD(yD(VR,1),HDc,7,0,[])),Y1b(l,d),m=x1b(l,l.g,50),m!=l.g&&(l.g=m),l.g=new D2b(50,1,l.g),y1b(d.e,d,l),ljb(l,a.a),U8(a,b,h.b,h.b?h.b.f:null,h,i),undefined);else if(d.j==H5b||d.j==T5b||d.j==r3b||d.j==d4b);else if(d.j==x4b||d.j==w4b||Nib(d.e))X8(a,c);else if(d.j==T3b){n=mGc+a.b++;o=c.d;z1b(c,(ie(Wkc(n,olc(46))==-1,GDc,n),new $2b(g5b,n)));K0b(o,dYb(c,(ie(Wkc(n,olc(46))==-1,GDc,n),new $2b(g5b,n)),$4b))}else throw HV(new Wjc("unexpected parent"));}function eab(a, +b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;Rd(d.j==(o6b(),e5b),d);j=(c.b?c.b.f:null).oi();k=Tkc(j.substr(0,5),"goog:");if(k)l=j.substr(5);else{m=Ttb(T2((!b.d&&!!b.g&&(b.d=a1(b.c,b.g)),b.d)),j,(g=$0b(c,51),!g?null:g.Ig()),i2b(c.i),h2b(c.i));!m&&(m=Utb(T2((!b.d&&!!b.g&&(b.d=a1(b.c,b.g)),b.d)),j));l=lub(m.a)}for(f=(!c.b?(Uqc(),Uqc(),Tqc):new S2b(c.b)).Qd();f.Kd();){e=f.Ld();if(e.j==j4b||e.j==S5b)continue;else if(e.j==g5b){n=k?"":XDc;nmc(a.f,e.oi(),new pab(l,n))}else if(e.j==M4b)for(i=(!e.b?(Uqc(),Uqc(),Tqc): +new S2b(e.b)).Qd();i.Kd();){h=i.Ld();o=h.b.oi();!!h.b&&!!h.b.d&&h.b.d==(h.b?h.b.f:null)?nmc(a.f,(h.b?h.b.f:null).oi(),new pab(l,o)):nmc(a.f,o,new pab(l,o))}else{ie(e.j==N4b,"Expected an IMPORT_STAR node, but was: %s",e);k&&N1(a.c,uhb(c,$9,DD(yD(sT,1),FBc,2,6,[e.oi(),l])));nmc(a.f,e.oi(),new pab(l,""))}}if(ivc(a.a,l)){p=gYb($Xb(pjb(a.c,GGc),DD(yD(VR,1),HDc,7,0,[new $2b(S5b,l)])));Y1b(p,c);H0b(d,p,a.e);a.e=p;P2((!b.d&&!!b.g&&(b.d=a1(b.c,b.g)),b.d),l)}u1b(d,c);zhb(b)}function zJb(){zJb=gW;bJb=new AJb("ALL", +0,"all",0,0,0);cJb=new AJb("COND",1,"cond",3,3,1);dJb=new AJb("EQ",2,"eq",2,2,3);fJb=new AJb("ISCTOR",3,"isCtor",1,1,3);gJb=new AJb("ISDEFINED",4,"isDefined",1,1,4);hJb=new AJb("ISRECORD",5,"isRecord",1,1,3);iJb=new AJb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);jJb=new AJb("ISUNKNOWN",7,"isUnknown",1,1,3);eJb=new AJb(tJc,8,"instanceOf",1,1,1);lJb=new AJb("MAPUNION",9,"mapunion",2,2,1);kJb=new AJb("MAPRECORD",10,"maprecord",2,2,1);mJb=new AJb("NONE",11,"none",0,0,0);nJb=new AJb("PRINTTYPE",12,"printType", +2,2,1);oJb=new AJb("PROPTYPE",13,"propType",2,2,1);pJb=new AJb("RAWTYPEOF",14,"rawTypeOf",1,1,0);sJb=new AJb("SUB",15,"sub",2,2,3);rJb=new AJb("STREQ",16,"streq",2,2,2);qJb=new AJb("RECORD",17,"record",1,ABc,0);tJb=new AJb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);uJb=new AJb(GIc,19,oEc,2,ABc,0);vJb=new AJb("TYPEEXPR",20,"typeExpr",1,1,0);wJb=new AJb("TYPEOFVAR",21,"typeOfVar",1,1,1);xJb=new AJb("UNION",22,"union",2,ABc,0);yJb=new AJb(iIc,23,uJc,0,0,0)}function o_(a,b,c,d,e,f,g,h){var i,j,k;k=new Ilc; +for(j=0;j=2&&(b.charCodeAt(j-1)==45&&b.charCodeAt(j-2)==45||b.charCodeAt(j-1)==93&&b.charCodeAt(j-2)==93)?(k.a+="\\x3e",k):(k.a+=String.fromCharCode(i),k);break;case 60:if(!a.j&&!h){k.a+="\\x3c";break}_kc(b,true,j+1,"/script",0,7)?(k.a+="\\x3c",k):_kc(b,false,j+1,"!--",0,3)?(k.a+="\\x3c",k):(k.a+=String.fromCharCode(i),k);break;default:i>31&&i<127?(k.a+=String.fromCharCode(i),k):BC(k,i)}}return k.a}function r9(a){var b,c,d,e,f,g,h,i,j,k,l, +m,n,o;o=w1b(a.f);g=w1b(a.f);e=w1b(a.f);i=g.k;m=a.u;a.a&&(m=i.zh().gi().Oh().getAtIndex(0));d=i9(a,(Occ(),Gbc),m);j=""+a.j.a.Y++;c=gbb((ie(Wkc(rGc+j,olc(46))==-1,GDc,rGc+j),new $2b((o6b(),g5b),rGc+j)),d);n=D9(a,(ie(Wkc(sGc+j,olc(46))==-1,GDc,sGc+j),new $2b(g5b,sGc+j)));h=gbb((ie(Wkc(tGc+j,olc(46))==-1,GDc,tGc+j),new $2b(g5b,tGc+j)),i);o.j==i6b&&(o=w1b(o));K0b(e,oYb(B9(a,zYb(qYb(Q0b(o,false),Q0b(h,false)))),YXb(new _1b($3b))));K0b(e,dYb(Q0b(o,false),kYb(Q0b(c,false),Q0b(n,false)),i6b));H0b(a.n.e,eYb(Q0b(c, +false),i6b),a.n);H0b(a.n.e,eYb(Q0b(n,false),i6b),a.n);H0b(a.n.e,eYb(Q0b(h,false),i6b),a.n);b=gYb(gbb(WXb(Q0b(c,false),gbb(UXb(DD(yD(VR,1),HDc,7,0,[])),d)),d));f=gYb(gbb(WXb(Q0b(h,false),g),i));l=hYb(Q0b(o,false),h,YXb(gYb(D9(a,$Xb(lYb(Q0b(c,false),new $2b(S5b,"push")),DD(yD(VR,1),HDc,7,0,[o]))))));k=iYb(D9(a,WXb(Q0b(n,false),D9(a,new I2b(0)))),B9(a,sYb(Q0b(n,false),D9(a,lYb(c,new $2b(S5b,"length"))))),D9(a,rYb(n,true)),e);J0b(a.g,b);J0b(a.g,f);J0b(a.g,l);K0b(a.p,k)}function L9(a,b){var c,d,e;e=a.C; +d=K9(e);if(d)return d;c=S0b(D1(a,Nc(new Qc(String.fromCharCode(10)),"function $jscomp$generator$function$name() {"," var $jscomp$generator$state = 0;",DD(yD(nT,1),WBc,1,5,[" function $jscomp$generator$impl("," $jscomp$generator$action$arg,"," $jscomp$generator$next$arg,"," $jscomp$generator$throw$arg) {"," while (1) switch ($jscomp$generator$state) {"," case 0:"," default:"," return {value: undefined, done: true};"," }"," }"," var iterator = /** @type {!Generator} */ ({", +" next: function(arg) {"," return $jscomp$generator$impl(0.0, arg, undefined);"," },"," throw: function(arg) {"," return $jscomp$generator$impl(1.0, undefined, arg);"," },"," return: function(arg) { throw Error('Not yet implemented'); },"," });"," $jscomp.initSymbolIterator();"," /** @this {!Generator} */"," iterator[Symbol.iterator] = function() { return this; };"," return iterator;","}"]))).b);K0b(e.b,c);if(b){ljb(c,a);L1(a,W0(c));y1(a)}return c}function M0(){M0= +gW;pW();K0=new k6("JSC_MODULE_DEPENDENCY_ERROR",(tZ(),qZ),new emc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));new k6(vEc,qZ,new emc('required entry point "{0}" never provided'));new k6(vEc,qZ,new emc('unknown module "{0}" specified in entry point spec'));new k6("JSC_INCONSISTENT_MODULE_DEFINITIONS",qZ,new emc("Serialized module definitions are not consistent with the module definitions supplied in the command line"));new k6(wEc,qZ,new emc("Exceeded max number of optimization iterations: {0}")); +new k6(wEc,qZ,new emc("Exceeded max number of code motion iterations: {0}"));L0=jAc(lAc(),"com.google.javascript.jscomp");new Qc(xic);I0=new k6("JSC_EMPTY_MODULE_LIST_ERROR",qZ,new emc("At least one module must be provided"));J0=new k6("JSC_EMPTY_ROOT_MODULE_ERROR",qZ,new emc("Root module ''{0}'' must contain at least one source code input"));H0=new k6("JSC_DUPLICATE_INPUT",qZ,new emc("Duplicate input: {0}"));G0=new k6("JSC_DUPLICATE_EXTERN_INPUT",qZ,new emc("Duplicate extern input: {0}"))}function PEb(a){WDb(); +switch(a.f){case 74:return o6b(),K3b;case 75:return o6b(),L3b;case 73:return o6b(),I3b;case 59:return o6b(),n4b;case 60:return o6b(),k5b;case 54:return o6b(),a5b;case 56:return o6b(),Z4b;case 55:return o6b(),G4b;case 57:return o6b(),A4b;case 70:return o6b(),_4b;case 71:return o6b(),L5b;case 72:return o6b(),h6b;case 63:return o6b(),m3b;case 64:return o6b(),V5b;case 65:return o6b(),f5b;case 94:return o6b(),g4b;case 67:return o6b(),d5b;case 66:return o6b(),p4b;case 61:return o6b(),O5b;case 62:return o6b(), +P5b;case 16:return o6b(),O4b;case 17:return o6b(),R4b;case 53:return o6b(),X3b;case 82:return o6b(),t3b;case 92:return o6b(),w3b;case 93:return o6b(),x3b;case 91:return o6b(),v3b;case 88:return o6b(),A3b;case 89:return o6b(),D3b;case 90:return o6b(),F3b;case 83:return o6b(),u3b;case 84:return o6b(),E3b;case 85:return o6b(),C3b;case 86:return o6b(),z3b;case 95:return o6b(),y3b;case 87:return o6b(),B3b;case 79:return o6b(),w5b;case 78:return o6b(),n3b;default:throw HV(new Wjc(!a?CBc:a.a==null?(_Lb(), +rp(CLb,a)).b:a.a));}}function z9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;u=null;t=a.u;if(a.a){u=c.b.k.zh().gi();t=u.Oh().getAtIndex(0)}o=i9(a,(Occ(),Zbc),t);n=a.a?o.gi().Kh(nGc):null;k=i9(a,$bc,t);j=a.a?k.gi().Kh(qGc):null;l=a.a?k.gi().Kh(oGc):null;g=(Whb(),iib(c,Vhb));m=fbb(a.c,w1b(c));if(a.a){p=hob(ohb(b),zGc).c.k;s=p.gi().Kh(DFc);P1b(m.b,s);P1b(m.b.b,p)}i=dYb(gbb((ie(Wkc(AGc,olc(46))==-1,GDc,AGc),new $2b((o6b(),g5b),AGc)),o),(abb(),!!o&&(m.k=o),m),i6b);h=eYb(gbb((ie(Wkc(BGc,olc(46))== +-1,GDc,BGc),new $2b(g5b,BGc)),k),i6b);e=gbb(WXb(gbb((ie(Wkc(BGc,olc(46))==-1,GDc,BGc),new $2b(g5b,BGc)),k),gbb($Xb(gbb(lYb(gbb((ie(Wkc(AGc,olc(46))==-1,GDc,AGc),new $2b(g5b,AGc)),o),E9(a,new $2b(S5b,nGc))),n),DD(yD(VR,1),HDc,7,0,[H9(a,(ie(Wkc(CGc,olc(46))==-1,GDc,CGc),new $2b(g5b,CGc)))])),k)),k);r=B9(a,zYb(gbb(lYb(e,E9(a,new $2b(S5b,qGc))),j)));f=gbb(lYb(gbb((ie(Wkc(BGc,olc(46))==-1,GDc,BGc),new $2b(g5b,BGc)),k),E9(a,new $2b(S5b,oGc))),l);v=gYb(H9(a,QYb(Q0b(f,false))));q=PYb(r,YXb(v));I0b(g.e,i, +g);I0b(g.e,h,g);I0b(g.e,q,g);d.j==t4b?S0b(d):y1b(d,c,f);A9(a,b,v,v.e);zhb(b)}function xNb(a){var b,c,d,e;d=yPb(a.g,0).b.b;uMb(a,(pSb(),WQb));uMb(a,vRb);if(YOb(a)){e=EOb(a,0);if(IOb(a,bRb)){e.b.size()>1&&_Ob(a,"for-in statement may not have more than one variable declaration",DD(yD(nT,1),WBc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&(a.b.a?_Ob(a,"for-in statement may not have initializer",DD(yD(nT,1),WBc,1,5,[])):qIb(a.c,b.o.b,"for-in statement should not have initializer",DD(yD(nT,1),WBc,1,5,[])));return vNb(a, +d,e)}else if(HOb(a,0,ZQb)&&Tkc(yPb(a.g,0).a,"of")){e.b.size()>1&&_Ob(a,"for-of statement may not have more than one variable declaration",DD(yD(nT,1),WBc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&_Ob(a,"for-of statement may not have initializer",DD(yD(nT,1),WBc,1,5,[]));return wNb(a,d,e)}else{sMb(a,e);return yNb(a,d,e)}}if(IOb(a,ORb))return yNb(a,d,null);c=IMb(a,0);if(IOb(a,bRb)||IOb(a,OQb)||HOb(a,0,ZQb)&&Tkc(yPb(a.g,0).a,"of")){c=aPb(a,c);wSb(c)||_Ob(a,RJc,DD(yD(nT,1),WBc,1,5,[]))}if(IOb(a,bRb)||HOb(a, +0,ZQb)&&Tkc(yPb(a.g,0).a,"of"))if(c.p!=($Vb(),sUb)&&c.p!=AUb)return IOb(a,bRb)?vNb(a,d,c):wNb(a,d,c);return yNb(a,d,c)}function tfb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;Qd(b.j==(o6b(),t5b));l=new spc;d=b.b;h=b.k;while(d)if(Y0b(d,73)!=0||Y0b(d,74)!=0){abb();N1(a.c,Ieb(d,_ab,DD(yD(sT,1),FBc,2,6,["computed getter/setter in an object literal"])));return}else if(d.j==F4b||d.j==N5b)d=d.d;else{f=d.d;u1b(b,d);l.add(d);d=f}g="$jscomp$compprop"+(""+(new G2(a.c)).a.Y++);l=qE(l,116)?_n(l):qE(l,166)?l.a: +qE(l,65)?new yv(l):new nv(l);m=gbb((ie(Wkc(g,olc(46))==-1,GDc,g),new $2b(g5b,g)),h);for(j=l.Qd();j.Kd();){i=j.Ld();if(i.j==Y3b){k=w1b(i);r=w1b(i);s=r.k;m=gbb(bYb(gbb(WXb(xfb(a,kYb(gbb((ie(Wkc(g,olc(46))==-1,GDc,g),new $2b(g5b,g)),h),k)),r),s),m),h)}else{if(!i.b){e=X1b(gbb(xYb(i.oi()),i.k),i);J0b(i,e)}q=w1b(i);s=q.k;O1b(i,S5b);i.k=null;p=i.qi()?D4b:E4b;c=gbb(new d2b(p,gbb((ie(Wkc(g,olc(46))==-1,GDc,g),new $2b(g5b,g)),h),i),s);m=gbb(bYb(gbb(WXb(c,q),s),m),h)}}o=b;while(Whb(),!(o.j!=e5b&&djb(o.e)))o= +o.e;Y1b(m,b);y1b(b.e,b,m);n=ebb(a.a,a.d,(Occ(),Nbc));t=dYb(gbb((ie(Wkc(g,olc(46))==-1,GDc,g),new $2b(g5b,g)),h),(abb(),!!n&&(b.k=n),b),i6b);Y1b(t,o);I0b(o.e,t,o);P1(a.c,t)}function Qsb(){Qsb=gW;Msb=new k6("JSC_UNDEFINED_VARIABLE",(tZ(),qZ),new emc("variable {0} is undeclared"));Psb=new k6("JSC_VIOLATED_MODULE_DEPENDENCY",qZ,new emc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));Isb=new k6("JSC_MISSING_MODULE_DEPENDENCY",sZ,new emc("missing module dependency; module {0} should depend on module {1} because it references {2}")); +Ksb=new k6("JSC_STRICT_MODULE_DEPENDENCY",rZ,new emc(ADc));Jsb=new k6("JSC_NAME_REFERENCE_IN_EXTERNS",sZ,new emc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));Lsb=new k6("JSC_UNDEFINED_EXTERN_VAR_ERROR",sZ,new emc("name {0} is not defined in the externs."));Osb=new k6("JSC_VAR_MULTIPLY_DECLARED_ERROR",qZ,new emc("Variable {0} declared more than once. First occurrence: {1}"));Nsb=new k6("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",qZ,new emc('Shadowing "arguments" is not allowed')); +Hsb=new k6("JSC_LET_CONST_CLASS_MULTIPLY_DECLARED_ERROR",qZ,new emc("Duplicate let / const / class declaration in the same scope is not allowed."))}function ujb(a){Whb();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 102: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 103: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 42:case 93:case 118:case 95:case 80:case 34:case 65:case 96:case 148:case 29:case 32:case 30:case 43:case 94:case 38:case 112:case 113:case 31:case 91:case 156:case 157:case 158:case 33:case 99:case 35:case 115:case 116:case 125:return 17;case 123:return 18; +case 134:case 124:return 19;case 120:case 122:case 121:case 126:case 132:case 127:case 130:case 133:case 135:return 20;case 92:return 21;default:throw HV(new Wjc("Unknown precedence for "+a));}}function pZ(){pZ=gW;oZ=new k6("JSC_MISPLACED_MSG_ANNOTATION",(tZ(),rZ),new emc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes."));nZ=new k6("JSC_MISPLACED_ANNOTATION",sZ,new emc("Misplaced {0} annotation. {1}"));hZ=new k6("JSC_ANNOTATION_DEPRECATED", +sZ,new emc("The {0} annotation is deprecated. {1}"));kZ=new k6("JSC_DISALLOWED_MEMBER_JSDOC",sZ,new emc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));iZ=new k6("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",qZ,new emc("Arrow functions cannot be used as constructors"));jZ=new k6("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",qZ,new emc("Inline JSDoc on default parameters must be marked as optional"));mZ=new k6("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",qZ,new emc("@nosideeffects may only appear in externs files.")); +lZ=new k6("JSC_INVALID_MODIFIES_ANNOTATION",qZ,new emc("@modifies may only appear in externs files."));new k6("JSC_INVALID_DEFINE_ON_LET",qZ,new emc("variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs"))}function u6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;Qd(b.j==(o6b(),P3b)||b.j==q3b||b.j==m5b);k=new spc;h=null;e=b.j==q3b?null:w1b(b);g=w1b(b);while(g){if(g.j==Q5b){if(h){k.a[k.a.length]=h;h=null}gpc(k,bbb(a.a,w1b(g)))}else{!h&&(h=UXb(DD(yD(VR,1),HDc,7,0,[])));J0b(h,g)}g= +w1b(b)}!!h&&(k.a[k.a.length]=h,true);n=null;i=b.j==m5b?UXb(DD(yD(VR,1),HDc,7,0,[new _1b(p5b)])):UXb(DD(yD(VR,1),HDc,7,0,[]));l=$Xb(lYb(i,new $2b(S5b,"concat")),rpc(k,AD(VR,HDc,7,0,0,1)));if(b.j==q3b)n=l;else if(b.j==P3b){Whb();if($hb(e,false,null)&&e.j==E4b){o=b;while(!(o.j!=e5b&&djb(o.e)))o=o.e;j=xYb("$jscomp$spread$args"+(""+(new G2(a.a)).a.Y++));m=eYb(Q0b(j,false),i6b);Y1b(m,o);I0b(o.e,m,o);K0b(e,WXb(Q0b(j,false),w1b(e)));n=$Xb(lYb(e,new $2b(S5b,sFc)),DD(yD(VR,1),HDc,7,0,[j,l]))}else{f=e.j==E4b? +Q0b(e.b,false):new _1b(p5b);n=$Xb(lYb(e,new $2b(S5b,sFc)),DD(yD(VR,1),HDc,7,0,[f,l]))}}else{r3(a.a.L)==(h4(),$3)&&cbb(a.a,b,'"..." passed to a constructor (consider using --language_out=ES5)');d=pjb(a.a,"Function.prototype.bind.apply");n=yYb($Xb(d,DD(yD(VR,1),HDc,7,0,[e,l])),DD(yD(VR,1),HDc,7,0,[]))}Y1b(n,b);y1b(c,b,n);P1(a.a,n)}function S8(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r;q=mGc+a.b++;p=dYb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b((o6b(),g5b),q)),fbb(a.a,S0b(d)),i6b);Y1b(p,c);I0b(f.e,p,f);i= +false;for(h=c.b;h;h=m){m=h.d;if(h.j==j4b){n=gYb($Xb(lYb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),new $2b(S5b,nGc)),DD(yD(VR,1),HDc,7,0,[])));Y1b(n,h);I0b(f.e,n,f);continue}if(h.j==d4b){o=mGc+a.b++;r=dYb((ie(Wkc(o,olc(46))==-1,GDc,o),new $2b(g5b,o)),lYb($Xb(lYb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),new $2b(S5b,nGc)),DD(yD(VR,1),HDc,7,0,[])),new $2b(S5b,oGc)),i6b);Y1b(r,h);I0b(f.e,r,f);j=S0b(h.b);l=a9((ie(Wkc(o,olc(46))==-1,GDc,o),new $2b(g5b,o)),S0b(h.b?h.b.f:null))}else if(h.j==H5b){j= +S0b(h.b);l=$Xb(pjb(a.a,"$jscomp.arrayFromIterator"),DD(yD(VR,1),HDc,7,0,[(ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q))]));i=true}else{j=S0b(h);l=lYb($Xb(lYb((ie(Wkc(q,olc(46))==-1,GDc,q),new $2b(g5b,q)),new $2b(S5b,nGc)),DD(yD(VR,1),HDc,7,0,[])),new $2b(S5b,oGc))}if(e.j==t3b){g=WXb(j,l);k=(ee(tYb(g),g),new b2b(t4b,g))}else k=dYb(j,l,e.j);Y1b(k,c);I0b(f.e,k,f);W8(a,b,j,j.e)}S0b(f);i&&U0(a.a,"es6/util/arrayfromiterator",false);zhb(b)}function Uhc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(b.Ki())return a; +a.e=a.e||b.Ei();a.c=a.c||b.bi();i=qE(b,202);a.f=a.f||i;i&&(a.b=a.b&&b.Fi());if(!a.e&&!a.f)if(b.Yi()){q=b.Yi();d=shc(q);for(h=0;ha.g)return a;if(!!b.Ui()&&a.d!=-1){l=jpc(a.a,a.d).Ui();n=eac(b.Ui(),l,true);opc(a.a,a.d,n);a.j=null;return a}f=0;j=new Ppc(a.a);while(j.a=0||APb(a,"Binary Integer Literal must contain at least one digit",DD(yD(nT,1),WBc,1,5,[]));JPb(a);return new pMb((pSb(),sRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d));case 111:case 79:tPb(a);jQb(sPb(a,a.d)?Okc(a.e.a,a.d): +0)>=0||APb(a,"Octal Integer Literal must contain at least one digit",DD(yD(nT,1),WBc,1,5,[]));QPb(a);((sPb(a,a.d)?Okc(a.e.a,a.d):0)==56||(sPb(a,a.d)?Okc(a.e.a,a.d):0)==57)&&APb(a,NIc,DD(yD(nT,1),WBc,1,5,[]));return new pMb((pSb(),sRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d));case 120:case 88:tPb(a);ajc(sPb(a,a.d)?Okc(a.e.a,a.d):0,16)>=0||APb(a,"Hex Integer Literal must contain at least one digit",DD(yD(nT,1),WBc,1,5,[]));OPb(a);return new pMb((pSb(),sRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d));case 101:case 69:return CPb(a, +b);case 46:return DPb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:MPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==46){tPb(a);MPb(a)}return new pMb((pSb(),sRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d));default:return new pMb((pSb(),sRb),hlc(a.e.a,b,a.d),kMb(a.e.b,b,a.d))}}function fib(a,b){var c,d,e,f;ee(a.j==(o6b(),P3b)||a.j==Y5b,a);if((Y0b(a,42)&15)==15)return false;if((Y0b(a,42)&15&11)==11&&Xhb(a))return false;c=a.b;if(c.j==g5b){e=c.oi();if(Lhb.contains(e))return false}else if(c.j== +E4b){if(!!a.b&&!a.b.d&&Rhb.contains((c.b?c.b.f:null).oi()))return false;if((Y0b(a,42)&15&13)==13&&eib(c.b,(Ee(),Ae)))return false;if(c.b.j==g5b&&l1b(c)&&Tkc(c.b.oi(),"Math"))switch((c.b?c.b.f:null).oi()){case "abs":case "acos":case "acosh":case "asin":case "asinh":case "atan":case "atanh":case "atan2":case "cbrt":case "ceil":case "cos":case "cosh":case "exp":case "expm1":case "floor":case "hypot":case "log":case "log10":case "log1p":case "log2":case "max":case "min":case "pow":case "round":case "sign":case "sin":case "sinh":case "sqrt":case "tan":case "tanh":case "trunc":return false; +case "random":return!(!!a.b&&!a.b.d)}if(!!b&&!b.Pf())if(c.b.j==G5b&&Shb.contains((c.b?c.b.f:null).oi()))return false;else if(fjb(c.b,b)){d=(c.b?c.b.f:null).oi();f=c.d;if(f)if(f.j==S5b){if(Thb.contains(d))return false}else if(f.j==G5b)if(Tkc("replace",d))return f.d.j!=S5b;else if(Thb.contains(d))return false}}return true}function zcb(a,b,c){var d,e,f,g,h,i,j,k,l,m;g=c.e;e=false;j=(Zcb(),Xcb);i=true;switch(c.j.f){case 86:case 87:case 91:case 98:f=null;g.j==(o6b(),t5b)?f=Bcb(a,c):g.j==V3b&&(f=(k=c.e, +de(k.j==V3b),l=(Whb(),m=pib(k.e),!m?null:_0b(m)),l==null?null:l+"."+c.oi()));if(f==null)return;e=true;switch(c.j.f){case 98:j=Dcb(a,c.b);c.e.j==V3b&&Y0b(c,58)==0&&(i=false);break;case 91:j=Dcb(a,c.b);break;case 86:j=Vcb;break;case 87:j=Ycb;break;default:throw HV(new Wjc("unexpected:"+c));}break;case 29:switch(g.j.f){case 76:case 100:case 88:e=true;h=c.b;j=!h?Xcb:Dcb(a,h);break;case 47:if(g.b==c){e=true;j=Dcb(a,c.d)}break;case 26:return;case 65:d=g.e;if(!d||(Whb(),g.j==(o6b(),y4b)&&!(g.j!=e5b&&djb(g.e))))return; +e=true;j=Ucb;break;case 78:case 63:case 93:case 64:e=true;j=Xcb;break;case 96:e=true;j=Tcb;break;default:if(Dib(g)&&g.b==c){e=true;j=Xcb}}f=c.oi();break;case 26:if(g)switch(g.j.f){case 47:if(g.b==c){e=true;j=Dcb(a,c.d)}break;case 63:case 64:e=true;j=Xcb;break;case 26:return;default:if(Dib(g)&&g.b==c){e=true;j=Xcb}}if(!l1b(c))return;f=_0b(c);break;default:return}if(!xcb(a.a,f,b))return;b=eob(b);e?!b.c?Gcb(a,c,g,f,j,i):Hcb(a,c,g,f,i):Ecb(a,c,g,f)}function q6b(a){o6b();switch(a.f){case 137:case 42:case 143:case 82:case 81:case 74:case 28:case 147:case 88:case 75:case 89:case 142:case 140:case 144:case 72:case 66:case 145:case 146:case 23:case 43:case 45:case 138:case 141:case 38:case 0:case 85:case 139:case 91:case 67:case 116:case 44:case 76:case 102:return-1; case 80:case 34:case 107:case 90:case 156:case 29:case 32:case 30:case 31:case 33:case 35:return 0;case 20:case 158:case 92:case 64:case 69:case 24:case 84:case 86:case 63:case 157:case 98:case 130:case 22:case 19:case 21:case 112:case 87:case 113:case 117:case 39:case 25:case 154:case 79:return 1;case 13:case 62:case 47:case 54:case 50:case 48:case 49:case 57:case 51:case 58:case 56:case 59:case 52:case 55:case 53:case 3:case 1:case 2:case 68:case 78:case 46:case 114:case 118:case 16:case 71:case 151:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 83:case 7:case 10:case 6:case 17:case 15:case 159:case 5:case 61:case 11:case 36:case 37:case 14:case 115:case 12:case 70:case 77:return 2; -case 96:case 73:case 101:case 65:case 60:case 104:case 148:return 3;default:throw HV(new Ujc("No arity defined for "+a));}}function fmb(){fmb=gW;var a,b,c,d;new Dc(new Dc(new ec(97,122),new ec(65,90)),new bc);emb=new j6("JSC_UNKNOWN_TWEAK_WARNING",(tZ(),sZ),new cmc("no tweak registered with ID {0}"));new j6("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",qZ,new cmc("Tweak {0} has already been registered."));new j6("JSC_NON_LITERAL_TWEAK_ID_ERROR",qZ,new cmc("tweak ID must be a string literal"));bmb=new j6("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING", -sZ,new cmc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new j6("JSC_NON_GLOBAL_TWEAK_INIT_ERROR",qZ,new cmc("tweak declaration {0} must occur in the global scope"));new j6("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",qZ,new cmc("Cannot override the default value of tweak {0} after it has been registered"));dmb=new j6("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",sZ,new cmc("tweak getter function {0} used for tweak registered using {1}"));new j6("JSC_INVALID_TWEAK_ID_ERROR", -qZ,new cmc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));cmb=new bvc;for(b=(omb(),DD(yD(HM,1),ZBc,97,0,[lmb,mmb,nmb,kmb,hmb,gmb,imb,jmb])),c=0,d=b.length;c0)return null;H0b(a.q,k)}if(r3(a.L,(OJb(),HJb))){a.H=new Ktb(a, -a.L.ac,a.A,(Ztb(),Ytb),a.L._b,null);a.L._b==(dub(),cub)&&(a.H=new Ktb(a,a.L.ac,a.A,Ytb,a.L._b,H1(a,a.A)));QJb(i4(a.L.Tb),(TKb(),CKb))&&B1(a,a.A);h=new bvc;for(f=a.A.Pd();f.Jd();){c=f.Kd();if($2(c.c?c.c.c:(Zn(),Zn(),Yn),c.d).isEmpty()){j=Itb(a.H,c.a.Kg().b);lmc(h,kub(j.a),c)}}i=new bvc;for(g=a.A.Pd();g.Jd();){c=g.Kd();for(m=$2(c.c?c.c.d:(Zn(),Zn(),Yn),c.e).Pd();m.Jd();){l=m.Kd();(l==null?!!Bvc(h.d,null):Svc(h.e,l))&&!(l==null?!!Bvc(i.d,null):Svc(i.e,l))&&lmc(i,l,l==null?Oi(Bvc(h.d,null)):Tvc(h.e,l))}}i.d.c+ -i.e.c==0||U0(a,new qnc(i))}else a.H=(Htb(),Dtb);y1(a);if(a.j.a.d>0)return null;for(d=a.A.Pd();d.Jd();){c=d.Kd();k=Q2(c,a);if(!k)continue;if(b){Wnb(new $nb(a),a.q,a.C);if(a.j.a.d>0)return null}if(a.L.jb){o=new Iob(c.f.a,a.L.$!=A3);p=new Hhb(a,o,new Kab(a));Bhb(p,k)}H0b(a.C,k)}if(a.j.a.d>0)return null;return a.k}finally{O0(a);n=UV(NV(Date.now()),q.a);a.L.rd!=u4&&!!a.W&&Zkb(a.W,BEc,n)}}function r9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;_ab();T0(a.c,qFc,false);a.k=false;i=O0b(X0b(K9(a.c,false)),false); -++d9;a.p=b.b?b.b.f:null;w1b(b,a.p,i);kjb(i,a.c);q=v1b(b,b.g,59);q!=b.g&&(b.g=q);j=b.k;k=a.a?j.ei().Lh():null;r=a.u;if(a.a){k.Wh()&&(r=k.yh().fi().Nh().getAtIndex(0));e9(a,i,r)}g=z0b(Y0b(b,29));j0b(g,(Cn(),new Xy(gFc)));l=d_b(g);p=v1b(b,b.g,29);p!=b.g&&(b.g=p);!!l&&(b.g=new L2b(29,l,b.g));H0b(a.p,eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b((m6b(),e5b),lGc))),C9(a,new G2b(-1))))));a.g=X0b(k9(a,i,P3b));a.n=i.b;Vhb();Xib(a.p,qGc,(Ee(),Be))&&F0b(a.n.e,bYb(G9(a,(ie(Ukc(qGc,mlc(46))==-1, -DDc,qGc),new Y2b(e5b,qGc))),G9(a,(ie(Ukc(wFc,mlc(46))==-1,DDc,wFc),new Y2b(e5b,wFc))),g6b),a.n);Xib(a.p,rGc,Be)&&F0b(a.n.e,bYb(G9(a,(ie(Ukc(rGc,mlc(46))==-1,DDc,rGc),new Y2b(e5b,rGc))),G9(a,new Z1b(Z5b)),g6b),a.n);while(a.p.b){a.f=u1b(a.p);d=n9(a);if(d){if(W0b(a.f,66)!=0)h=xE(a.f.b.mi());else{h=d9;++d9}o=a.g.e;m=A9(a,ZXb(C9(a,new G2b(h)),(f=new Z1b(K3b),f)));a.g=m.b?m.b.f:null;if(o.j==a6b){o=!o.e?null:o.e.e;if(a.d.a.length!=0){n=LYb((e=new Z1b(K3b),e),O0b(hpc(a.d,0).a,false));H0b(m.b?m.b.f:null,n); -a.g=X0b(m.b?m.b.f:null).b}}F0b(o.e,m,o)}}W1b(c,c);O1(a.c,i)}function Zhb(a,b,c){Vhb();var d,e,f,g,h,i;switch(a.j.f){case 39:case 102:case 108:return true;case 43:if(b)return true;for(h=a.b;h;h=h.d)for(f=h.b;f;f=f.d)if(Zhb(f,b,c))return true;return false;case 42:case 38:if(b)return true;break;case 76:case 100:case 88:case 29:if(a.b)return true;break;case 65:return b||!(a.j==(m6b(),w4b)&&!(a.j!=c5b&&cjb(a.e)));case 96:return b||a.j==(m6b(),S3b)&&Kib(a.e)||Zhb(a.b.d,b,c)||Zhb(a.b?a.b.f:null,b,c);case 97:for(i= -a.b;i;i=i.d)if(i.j==(m6b(),W3b)&&Zhb(i.b,b,c))return true;return false;case 23:if(b)return true;if(!$hb(a))break;return true;case 28:if(!eib(a,c))break;return true;case 115:return eib(a,c);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 40:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 91:case 67:case 117:case 44:case 80:case 116:break;default:if(_ib(a.j))break;if(Cib(a)){d=a.b;if(d.j==(m6b(),e5b))return true;if(Zhb(a.b,b,c)||Zhb(a.b?a.b.f:null,b,c))return true; -if(d.j==C4b||d.j==B4b){g=d.b;if(dib(g,(Ee(),Ae)))return false;while(g.j==C4b||g.j==B4b)g=g.b;return!Uib(g,true)}else return!Uib(d,true)}return true}for(e=a.b;e;e=e.d)if(Zhb(e,b,c))return true;return false}function vFb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;g=b.j==(JTb(),GTb);i=b.j==ITb;e=b.j==FTb;f=b.e;h=b.f;j=b.c.p==(YVb(),NUb);h&&aFb(a,b,(TKb(),sKb));i&&aFb(a,b,(TKb(),AKb));e&&aFb(a,b,(TKb(),cKb));f&&aFb(a,b,(TKb(),dKb));g&&(a.a.e=UJb(a.a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),fKb)])));l=b.k;if(l)m= -(s=YDb(a.a,l.b),cFb(a,l),t=jEb(a.a,(m6b(),e5b),l.a),!!s&&(u=v1b(t,t.g,29),u!=t.g&&(t.g=u),!!s&&(t.g=new L2b(29,s,t.g)),t),uEb(t,l.b.b,l.b.a),t);else{if(g||i){a.a.d.kh("unnamed function statement",a.a.r,(UDb(),b.o.b.b+1),b.o.b.a);m=jEb(a.a,(m6b(),e5b),"__missing_name__")}else m=jEb(a.a,(m6b(),e5b),"");g2b(m.i)==-1&&uEb(m,b.o.b,b.o.a)}n=eEb(a.a,(m6b(),w4b));i&&m.si("");H0b(n,m);YEb(a,n.b,b.d);H0b(n,wEb(a.a,b.b));ZEb(a,n,b.n);d=wEb(a.a,b.c);if(!e&&!j&&d.j!=K3b){de(a.a.a.b==1);d=(c=new Z1b(K3b),c)}eFb(d); -H0b(n,d);p=v1b(n,n.g,59);p!=n.g&&(n.g=p);(h?1:0)!=0&&(n.g=new B2b(59,h?1:0,n.g));de(n.j==w4b);q=v1b(n,n.g,60);q!=n.g&&(n.g=q);(e?1:0)!=0&&(n.g=new B2b(60,e?1:0,n.g));de(n.j==w4b);r=v1b(n,n.g,61);r!=n.g&&(n.g=r);(f?1:0)!=0&&(n.g=new B2b(61,f?1:0,n.g));q1b(n,80,b.g);if(i){g2b(n.i)==-1&&uEb(n,b.o.b,b.o.a);k=jEb(a.a,_4b,l.a);H0b(k,n);J1b(k,b.i);XEb(a,b,k,b.a);A1b(n,Y0b(n,78));o=k}else o=n;return o}function yXb(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 HV(new GC("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 HV(new GC("IllegalFormatFlagsException:"+m));else throw HV(new GC("FormatFlagsConversionMismatchException:"+m+","+oE(a.b)));if((a.f||a.k)&&a.p==-1)throw HV(new WWb("-"+oE(a.b)));if(!d&&a.a!=-1)throw HV(new SWb(a.o?a.o.a:""));if(!h&&a.n!=-1)throw HV(new TWb(a.n));if(!k&&a.p!=-1)throw HV(new UWb(a.p));if(a.d&&a.j)throw HV(new SWb("the '+' and ' ' flags are incompatible")); -if(a.f&&a.k)throw HV(new SWb("the '-' and '0' flags are incompatible"));}function dib(a,b){var c,d,e,f,g,h;switch(a.j.f){case 92:return dib(a.b,b);case 47:return Qib(a.b?a.b.f:null)||b.Md(a)&&dib(a.b?a.b.f:null,b);case 46:return dib(a.b?a.b.f:null,b);case 62:case 61:return dib(a.b,b)&&dib(a.b?a.b.f:null,b);case 60:return dib(a.b.d,b)&&dib(a.b?a.b.f:null,b);case 33:return b.Md(a);case 29:return Qib(a)||b.Md(a);case 27:case 26:return b.Md(a);case 28:return ee(a.j==(m6b(),N3b),a),(W0b(a,42)&16)>0||djb(a)|| -b.Md(a);case 23:return ee(a.j==(m6b(),k5b),a),(W0b(a,42)&15&13)==13||b.Md(a);case 24:case 40:case 63:case 64:case 96:case 65:case 38:case 80:return true;case 42:for(f=(!a.b?(Sqc(),Sqc(),Rqc):new Q2b(a.b)).Pd();f.Jd();){e=f.Kd();if(!dib(e,b))return false}return true;case 43:for(h=(!a.b?(Sqc(),Sqc(),Rqc):new Q2b(a.b)).Pd();h.Jd();){g=h.Kd();ie(g.j==(m6b(),R5b)||g.j==D4b||g.j==L5b||g.j==_4b||g.j==W3b,"Unexpected obj literal key:",g);if(g.j==D4b||g.j==L5b)continue;if(g.j==W3b&&!dib(g.b.d,b))return false; -if(g.j==R5b&&!dib(g.b,b))return false}return true;case 116:for(d=(!a.b?(Sqc(),Sqc(),Rqc):new Q2b(a.b)).Pd();d.Jd();){c=d.Kd();if(c.j==(m6b(),Y5b))if(!dib(c.b,b))return false}return true;default:if(Cib(a)||_ib(a.j)||Qib(a))return true;throw HV(new Ujc("Unexpected expression node"+a+"\n parent:"+a.e));}}function WHb(a){var b,c,d,e;a.p=0;for(;;){for(;;){a.a=-1;b=THb(a);if(b==-1)return PHb(),AHb;else if(b==10)return PHb(),BHb;else{t6b();if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}}switch(b){case 64:do{b= -THb(a);if(b<=90?65<=b:97<=b&&b<=122)SHb(a,b);else{a.q[a.r++]=b;--a.b;a.n=(e=slc(a.o,0,a.p),aBc(e),e);a.p=0;return PHb(),uHb}}while(true);case 42:return YHb(a)?(PHb(),zHb):(PHb(),NHb);case 44:return PHb(),xHb;case 62:return PHb(),JHb;case 40:return PHb(),FHb;case 41:return PHb(),LHb;case 123:return PHb(),EHb;case 125:return PHb(),KHb;case 91:return PHb(),GHb;case 93:return PHb(),MHb;case 63:return PHb(),IHb;case 33:return PHb(),vHb;case 58:return PHb(),wHb;case 61:return PHb(),CHb;case 124:return PHb(), -HHb;case 60:return PHb(),DHb;case 46:b=THb(a);if(b==60)return PHb(),DHb;else{if(b==46){b=THb(a);if(b==46)return PHb(),yHb;else SHb(a,46)}a.q[a.r++]=b;b=46}default:{c=b;SHb(a,b);d=THb(a);if(bIb(d)){do{c=d;d=THb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=(e=slc(a.o,0,a.p),aBc(e),e);a.p=0;return PHb(),OHb}else if(bIb(d))SHb(a,c);else{a.q[a.r++]=d;--a.b;SHb(a,c);a.n=(e=slc(a.o,0,a.p),aBc(e),e);a.p=0;return PHb(),OHb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=(e=slc(a.o,0,a.p),aBc(e), -e);a.p=0;return PHb(),OHb}}}}}function lEb(a,b){var c,d,e,f,g,h,i,j;j=b.a;g=b.b;f=j.length;de(f>0);de(j.charCodeAt(0)!=45&&j.charCodeAt(0)!=43);if(j.charCodeAt(0)==46)return Qjc(Ljc("0"+j));else if(j.charCodeAt(0)==48&&f>1)switch(j.charCodeAt(1)){case 46:case 101:case 69:return Qjc(Ljc(j));case 98:case 66:{a.e=UJb(a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),eKb)]));cEb(a,eKb)||a.d.lh("Binary integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);i=0;d=1;while(++d=48&&e<=55)h=h*8+LEb(e);else{a.a.e==0?a.d.kh(HIc,a.r,g.b.b+1,g.b.a):a.d.kh(IIc, -a.r,g.b.b+1,g.b.a);return 0}}a.a.e==0?a.d.kh(HIc,a.r,g.b.b+1,g.b.a):a.d.lh(HIc,a.r,g.b.b+1,g.b.a);return h;case 56:case 57:a.d.kh(IIc,a.r,g.b.b+1,g.b.a);return 0;default:throw HV(new Ujc("Unexpected character in number literal: "+oE(j.charCodeAt(1))));}else return Qjc(Ljc(j))}function Tkb(a){var b,c,d,e,f,g;Rkb(a);e=new qpc;gpc(e,Qo(a.I));Sqc();npc(e,new _kb);Nc(new Qc(OCc),"\nTOTAL:","Start time(ms): "+YV(a.H),DD(yD(nT,1),UBc,1,5,["End time(ms): "+YV(a.i),"Wall time(ms): "+YV(UV(a.i,a.H)),"Passes runtime(ms): "+ -a.F,"Max mem usage (measured after each pass)(MB): "+a.C,"#Runs: "+a.G,"#Changing runs: "+a.c,"#Loopable runs: "+a.B,"#Changing loopable runs: "+a.A,"Estimated AST reduction(#nodes): "+a.a,"Estimated Reduction(bytes): "+a.g,"Estimated GzReduction(bytes): "+a.p,"Estimated AST size(#nodes): "+a.b,"Estimated Size(bytes): "+a.e,"Estimated GzSize(bytes): "+a.o]));Nc(new Qc(OCc),"\n\nInputs:","JS lines: "+a.t,DD(yD(nT,1),UBc,1,5,["JS sources: "+a.v,"Extern lines: "+a.j,"Extern sources: "+a.k+"\n\n"])); -for(c=new Npc(e);c.a1)&&gY(nDc+j,b);!!b.b&&kX(a,b.b);return;case 103:lX(a,(TKb(),dKb),b);IX((m6b(),E3b),b);k=(Vhb(),hib(b,new Gjb(w4b)));(!k||!(k.j==w4b&&W0b(k,61)!=0))&&gY("'await' expression is not within an async function", -b);return;default:gY("Expected expression but was "+b.j,b)}}function v6(a,b,c,d){var 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;m=d.d;C=V0b(d,c);B=c.b.ni();v=(ie(Ukc(B,mlc(46))==-1,DDc,B),new Y2b((m6b(),e5b),B));D=v1b(v,v.g,30);D!=v.g&&(v.g=D);v.g=new B2b(30,1,v.g);C1b(v,Y0b(c,29));w1b(d,c,v);F=null;p=Y0b(c,29);if(p)F=(rFc&p.a)==sFc?p.i:null;else{n=(Vhb(),r=fib(d.e),!r?null:Y0b(r,29));!!n&&(F=vZb(n,B))}!!F&&F.a.j!=g4b&&M1(a.a,Heb(c,q6,DD(yD(sT,1),DBc,2,6,[])));if(!m.b){yhb(b);return}A=T1b((f= -new Z1b(K3b),f),m);u=(ie(Ukc(B,mlc(46))==-1,DDc,B),new Y2b(e5b,B));s=W1b(bYb(u,(ie(Ukc(tFc,mlc(46))==-1,DDc,tFc),new Y2b(e5b,tFc)),Y4b),m);I0b(A,s);for(j=(!m.b?(Sqc(),Sqc(),Rqc):new Q2b(m.b)).Pd();j.Jd();){i=j.Kd();H0b(A,Q0b(i))}if(F){e=new Y2b(Q5b,uFc);G=F.a;t=G.j==g4b?O0b(G.b,false):O0b(G,false);I0b(e,V1b(new _1b(K3b,t),G));h=new x0b(false);o0b(h,new B0b(new _1b(F3b,e),(l=Y0b(c,51),!l?null:l.Hg())));C1b(u,d_b(h))}w=bYb((ie(Ukc(tFc,mlc(46))==-1,DDc,tFc),new Y2b(e5b,tFc)),SXb(DD(yD(VR,1),EDc,7,0, -[])),g6b);I0b(m,W1b(w,c));q=bYb((ie(Ukc(vFc,mlc(46))==-1,DDc,vFc),new Y2b(e5b,vFc)),new G2b(C),g6b);k=qYb((ie(Ukc(vFc,mlc(46))==-1,DDc,vFc),new Y2b(e5b,vFc)),jYb((ie(Ukc(wFc,mlc(46))==-1,DDc,wFc),new Y2b(e5b,wFc)),new Y2b(Q5b,"length")));o=pYb((ie(Ukc(vFc,mlc(46))==-1,DDc,vFc),new Y2b(e5b,vFc)),false);g=WXb(eYb(UXb(iYb((ie(Ukc(tFc,mlc(46))==-1,DDc,tFc),new Y2b(e5b,tFc)),JYb((ie(Ukc(vFc,mlc(46))==-1,DDc,vFc),new Y2b(e5b,vFc)),new G2b(C))),iYb((ie(Ukc(wFc,mlc(46))==-1,DDc,wFc),new Y2b(e5b,wFc)),(ie(Ukc(vFc, -mlc(46))==-1,DDc,vFc),new Y2b(e5b,vFc))))));F0b(m,W1b(gYb(q,k,o,g),c),w);H0b(m,A);O1(a.a,A)}function w9(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=a.f.b;d=t.d;if(d.b){j=u1b(d.b);e=u1b(d.b)}else{j=G9(a,(ie(Ukc(tGc,mlc(46))==-1,DDc,tGc),new Y2b((m6b(),e5b),tGc)));e=WXb(KYb(O0b(j,false)));B1b(e.b)}l=d.d;i=d9++;h=m9(a,i);k=G9(a,vYb("$jscomp$generator$"+j.ni()));I0b(a.p,h);F0b(a.p,e,h);b=G9(a,UXb(G9(a,(ie(Ukc(uGc,mlc(46))==-1,DDc,uGc),new Y2b((m6b(),e5b),uGc))),O0b(k,false)));s=XXb(DD(yD(VR,1),EDc, -7,0,[(ee(rYb(b),b),new _1b(r4b,b)),eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b(e5b,lGc))),C9(a,new G2b(i))))),I9()]));r=(de(k.j==e5b),de(s.j==K3b),new b2b(R3b,k,s));dpc(a.d,0,new W9(i,r));if(l){o=C9(a,vYb("$jscomp$generator$finally"+(""+a.j.a.Y++)));q=d9++;p=m9(a,q);n=d9++;m=m9(a,n);Ihb(a.c,t,new P9(a,o,q));Ihb(a.c,e,new P9(a,o,q));I0b(a.p,Q0b(t));F0b(a.p,p,e);F0b(a.p,Q0b(l),p);F0b(a.p,m,l);I0b(a.p,cYb(O0b(o,false),g6b));H0b(l,eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b(e5b, -lGc))),O0b(o,false)))));H0b(l,I9());H0b(t,eYb(C9(a,UXb(O0b(o,false),C9(a,new G2b(n))))));H0b(t,eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b(e5b,lGc))),C9(a,new G2b(q))))));H0b(t,I9());H0b(e,eYb(C9(a,UXb(O0b(o,false),C9(a,new G2b(n))))))}else{g=d9++;f=m9(a,g);F0b(a.p,f,e);H0b(t,eYb(C9(a,UXb(C9(a,(ie(Ukc(lGc,mlc(46))==-1,DDc,lGc),new Y2b(e5b,lGc))),C9(a,new G2b(g))))));H0b(t,I9());I0b(a.p,Q0b(t))}I0b(e,bYb(j,G9(a,(ie(Ukc(uGc,mlc(46))==-1,DDc,uGc),new Y2b(e5b,uGc))),g6b));a.g.e.j==a6b&& -(a.g=U0b(a.g));H0b(a.g,LYb((c=new Z1b(K3b),c),r));a.g=X0b(a.g).b;if(!a.k){a.k=true;F0b(a.n.e,cYb(G9(a,(ie(Ukc(uGc,mlc(46))==-1,DDc,uGc),new Y2b(e5b,uGc))),g6b),a.n)}}function mEb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;c&&(l=alc(l,"\r\n?",OCc));k=c?0:1;e=Ukc(l,mlc(92));if(e==-1)return c?l:flc(l,1,l.length-1);j=new Flc;while(e!=-1){e-k>0&&(j.a+=""+flc(l==null?ABc:(aBc(l),l),k,e),j);e+=1;d=l.charCodeAt(e);switch(d){case 39:case 34:case 92:j.a+=String.fromCharCode(d);break;case 98:j.a+="\b";break;case 102:j.a+= -"\f";break;case 110:j.a+=OCc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:a.e=UJb(a.e,DD(yD(_O,1),ZBc,29,0,[(TKb(),MKb)]));PJb(a.a.c.a,(OJb(),FJb))?a.d.lh("String continuations are not recommended. See https://google.github.io/styleguide/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals",a.r,b.b.b.b+1,b.b.b.a):a.d.kh("String continuations are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);break;case 48:if(e+ -1>=l.length)break;case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=l.charCodeAt(e+1);if(a.a.e==0||c)if(d==48&&!(h>=48&&h<=55));else a.d.lh("Octal literals in strings are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);if(h>=48&&h<=55){i=l.charCodeAt(e+2);if(i>=48&&i<=55){ulc(j,64*LEb(d)+8*LEb(h)+LEb(i)&IBc);e+=2}else{ulc(j,8*LEb(d)+LEb(h)&IBc);e+=1}}else ulc(j,LEb(d)&IBc);break;case 120:ulc(j,IEb(l.charCodeAt(e+1))*16+IEb(l.charCodeAt(e+2))&IBc);e+=2;break;case 117:if(l.charCodeAt(e+ -1)!=123){f=e+5;g=l.substr(e+1,f-(e+1))}else{f=e+2;while($ic(l.charCodeAt(f),16)>=0)++f;g=l.substr(e+2,f-(e+2));++f}Clc(j,fjc(Mjc(g)));e=f-1;break;default:j.a+=String.fromCharCode(d)}k=e+1;e=Vkc(l,mlc(92),k)}zlc(j,l,k,c?l.length:l.length-1);return j.a}function vvb(){vvb=gW;mvb=new j6("JSC_INVALID_SUPPRESS",(tZ(),rZ),new cmc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));jvb=new j6("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",rZ,new cmc("Visibility annotations on constructors are not supported.\nPlease mark the visibility on the class instead.")); -ivb=new j6("JSC_CLASS_DISALLOWED_JSDOC",rZ,new cmc("@constructor annotations are redundant on classes."));nvb=new j6("JSC_MISSING_JSDOC",rZ,new cmc("Function must have JSDoc."));ovb=new j6("JSC_MISSING_PARAMETER_JSDOC",rZ,new cmc("Parameter must have JSDoc."));qvb=new j6("JSC_MIXED_PARAM_JSDOC_STYLES",rZ,new cmc("Functions may not use both @param annotations and inline JSDoc"));pvb=new j6("JSC_MISSING_RETURN_JSDOC",rZ,new cmc("Function with non-trivial return must have @return JSDoc or inline return JSDoc.")); -rvb=new j6("JSC_MUST_BE_PRIVATE",rZ,new cmc("Property {0} must be marked @private"));svb=new j6("JSC_MUST_HAVE_TRAILING_UNDERSCORE",rZ,new cmc("Private property {0} should end with ''_''"));tvb=new j6("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",rZ,new cmc("Parameter {0} is optional so its type must end with ="));uvb=new j6("JSC_WRONG_NUMBER_OF_PARAMS",rZ,new cmc("Wrong number of @param annotations"));lvb=new j6("JSC_INCORRECT_PARAM_NAME",rZ,new cmc("Incorrect param name. Are your @param annotations in the wrong order?")); -kvb=new j6("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",rZ,new cmc("Externs files should be annotated with @externs in the @fileoverview block."));hvb=new z5(DD(yD(tK,1),UBc,5,0,[mvb,ivb,jvb,nvb,ovb,qvb,pvb,rvb,svb,tvb,uvb,lvb,kvb]))}function ZLb(){ZLb=gW;var a,b,c,d,e,f;aLb=new $Lb("BREAK",0,"break",(nSb(),qQb));bLb=new $Lb("CASE",1,"case",tQb);cLb=new $Lb(yJc,2,"catch",uQb);fLb=new $Lb(zJc,3,eEc,DQb);gLb=new $Lb(AJc,4,gEc,EQb);iLb=new $Lb(MHc,5,UDc,GQb);jLb=new $Lb("DELETE",6,BJc,HQb);kLb=new $Lb("DO", -7,"do",IQb);lLb=new $Lb("ELSE",8,"else",JQb);qLb=new $Lb(CJc,9,ODc,TQb);rLb=new $Lb("FOR",10,"for",UQb);sLb=new $Lb(OGc,11,wBc,VQb);tLb=new $Lb("IF",12,"if",YQb);wLb=new $Lb("IN",13,"in",_Qb);xLb=new $Lb(oJc,14,mHc,aRb);ELb=new $Lb("NEW",15,"new",lRb);KLb=new $Lb(zIc,16,PDc,JRb);NLb=new $Lb(DJc,17,"switch",XRb);OLb=new $Lb(AIc,18,_Dc,_Rb);PLb=new $Lb("THROW",19,"throw",aSb);RLb=new $Lb("TRY",20,"try",dSb);TLb=new $Lb(EJc,21,lHc,fSb);ULb=new $Lb("VAR",22,"var",iSb);VLb=new $Lb("VOID",23,hEc,jSb);WLb= -new $Lb("WHILE",24,$Dc,kSb);XLb=new $Lb("WITH",25,"with",lSb);dLb=new $Lb(NGc,26,XDc,vQb);eLb=new $Lb("CONST",27,hFc,CQb);mLb=new $Lb(qIc,28,jEc,LQb);nLb=new $Lb(sIc,29,TDc,QQb);oLb=new $Lb(rIc,30,YDc,RQb);vLb=new $Lb(FJc,31,WDc,$Qb);MLb=new $Lb(qJc,32,aEc,WRb);uLb=new $Lb(tIc,33,ZDc,ZQb);yLb=new $Lb(uIc,34,iEc,bRb);BLb=new $Lb("LET",35,"let",fRb);GLb=new $Lb(vIc,36,CIc,wRb);HLb=new $Lb(wIc,37,DIc,ERb);ILb=new $Lb(xIc,38,EIc,FRb);JLb=new $Lb(yIc,39,FIc,GRb);LLb=new $Lb("STATIC",40,GIc,URb);YLb=new $Lb("YIELD", -41,"yield",mSb);FLb=new $Lb(ZHc,42,ABc,pRb);QLb=new $Lb(REc,43,dEc,cSb);pLb=new $Lb(QEc,44,cEc,SQb);hLb=new $Lb(GJc,45,mEc,FQb);SLb=new $Lb(BIc,46,lEc,eSb);CLb=new $Lb("MODULE",47,LDc,jRb);DLb=new $Lb(HJc,48,kEc,kRb);a=(Po(),new pr);b=new kuc(mP);for(d=fMb(),e=0,f=d.length;e0)return null;J0b(a.q,k)}if(s3(a.L,(QJb(),JJb))){a.H=new Ltb(a,a.L.ac,a.A,($tb(),Ztb),a.L._b,null);a.L._b==(eub(),dub)&&(a.H=new Ltb(a,a.L.ac,a.A,Ztb,a.L._b,I1(a,a.A)));SJb(j4(a.L.Tb),(VKb(),EKb))&&C1(a,a.A);h=new dvc;for(f=a.A.Qd();f.Kd();){c=f.Ld();if(_2(c.c?c.c.c:(Zn(),Zn(),Yn),c.d).isEmpty()){j=Jtb(a.H,c.a.Lg().b);nmc(h,lub(j.a),c)}}i=new dvc;for(g=a.A.Qd();g.Kd();){c=g.Ld();for(m=_2(c.c?c.c.d:(Zn(),Zn(),Yn), +c.e).Qd();m.Kd();){l=m.Ld();(l==null?!!Dvc(h.d,null):Uvc(h.e,l))&&!(l==null?!!Dvc(i.d,null):Uvc(i.e,l))&&nmc(i,l,l==null?Oi(Dvc(h.d,null)):Vvc(h.e,l))}}i.d.c+i.e.c==0||V0(a,new snc(i))}else a.H=(Itb(),Etb);z1(a);if(a.j.a.d>0)return null;for(d=a.A.Qd();d.Kd();){c=d.Ld();k=R2(c,a);if(!k)continue;if(b){Xnb(new _nb(a),a.q,a.C);if(a.j.a.d>0)return null}if(a.L.jb){o=new Job(c.f.a,a.L.$!=B3);p=new Ihb(a,o,new Lab(a));Chb(p,k)}J0b(a.C,k)}if(a.j.a.d>0)return null;return a.k}finally{P0(a);n=UV(NV(Date.now()), +q.a);a.L.sd!=v4&&!!a.W&&$kb(a.W,FEc,n)}}function s9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;abb();U0(a.c,uFc,false);a.k=false;i=Q0b(Z0b(L9(a.c,false)),false);++e9;a.p=b.b?b.b.f:null;y1b(b,a.p,i);ljb(i,a.c);q=x1b(b,b.g,59);q!=b.g&&(b.g=q);j=b.k;k=a.a?j.fi().Mh():null;r=a.u;if(a.a){k.Xh()&&(r=k.zh().gi().Oh().getAtIndex(0));f9(a,i,r)}g=B0b($0b(b,29));l0b(g,(Cn(),new Xy(kFc)));l=f_b(g);p=x1b(b,b.g,29);p!=b.g&&(b.g=p);!!l&&(b.g=new N2b(29,l,b.g));J0b(a.p,gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc, +pGc),new $2b((o6b(),g5b),pGc))),D9(a,new I2b(-1))))));a.g=Z0b(l9(a,i,R3b));a.n=i.b;Whb();Yib(a.p,uGc,(Ee(),Be))&&H0b(a.n.e,dYb(H9(a,(ie(Wkc(uGc,olc(46))==-1,GDc,uGc),new $2b(g5b,uGc))),H9(a,(ie(Wkc(AFc,olc(46))==-1,GDc,AFc),new $2b(g5b,AFc))),i6b),a.n);Yib(a.p,vGc,Be)&&H0b(a.n.e,dYb(H9(a,(ie(Wkc(vGc,olc(46))==-1,GDc,vGc),new $2b(g5b,vGc))),H9(a,new _1b(_5b)),i6b),a.n);while(a.p.b){a.f=w1b(a.p);d=o9(a);if(d){if(Y0b(a.f,66)!=0)h=xE(a.f.b.ni());else{h=e9;++e9}o=a.g.e;m=B9(a,_Xb(D9(a,new I2b(h)),(f=new _1b(M3b), +f)));a.g=m.b?m.b.f:null;if(o.j==c6b){o=!o.e?null:o.e.e;if(a.d.a.length!=0){n=NYb((e=new _1b(M3b),e),Q0b(jpc(a.d,0).a,false));J0b(m.b?m.b.f:null,n);a.g=Z0b(m.b?m.b.f:null).b}}H0b(o.e,m,o)}}Y1b(c,c);P1(a.c,i)}function $hb(a,b,c){Whb();var d,e,f,g,h,i;switch(a.j.f){case 39:case 102:case 108:return true;case 43:if(b)return true;for(h=a.b;h;h=h.d)for(f=h.b;f;f=f.d)if($hb(f,b,c))return true;return false;case 42:case 38:if(b)return true;break;case 76:case 100:case 88:case 29:if(a.b)return true;break;case 65:return b|| +!(a.j==(o6b(),y4b)&&!(a.j!=e5b&&djb(a.e)));case 96:return b||a.j==(o6b(),U3b)&&Lib(a.e)||$hb(a.b.d,b,c)||$hb(a.b?a.b.f:null,b,c);case 97:for(i=a.b;i;i=i.d)if(i.j==(o6b(),Y3b)&&$hb(i.b,b,c))return true;return false;case 23:if(b)return true;if(!_hb(a))break;return true;case 28:if(!fib(a,c))break;return true;case 115:return fib(a,c);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 40:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 91:case 67:case 117:case 44:case 80:case 116:break; +default:if(ajb(a.j))break;if(Dib(a)){d=a.b;if(d.j==(o6b(),g5b))return true;if($hb(a.b,b,c)||$hb(a.b?a.b.f:null,b,c))return true;if(d.j==E4b||d.j==D4b){g=d.b;if(eib(g,(Ee(),Ae)))return false;while(g.j==E4b||g.j==D4b)g=g.b;return!Vib(g,true)}else return!Vib(d,true)}return true}for(e=a.b;e;e=e.d)if($hb(e,b,c))return true;return false}function xFb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;g=b.j==(LTb(),ITb);i=b.j==KTb;e=b.j==HTb;f=b.e;h=b.f;j=b.c.p==($Vb(),PUb);h&&cFb(a,b,(VKb(),uKb));i&&cFb(a,b, +(VKb(),CKb));e&&cFb(a,b,(VKb(),eKb));f&&cFb(a,b,(VKb(),fKb));g&&(a.a.e=WJb(a.a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),hKb)])));l=b.k;if(l)m=(s=$Db(a.a,l.b),eFb(a,l),t=lEb(a.a,(o6b(),g5b),l.a),!!s&&(u=x1b(t,t.g,29),u!=t.g&&(t.g=u),!!s&&(t.g=new N2b(29,s,t.g)),t),wEb(t,l.b.b,l.b.a),t);else{if(g||i){a.a.d.lh("unnamed function statement",a.a.r,(WDb(),b.o.b.b+1),b.o.b.a);m=lEb(a.a,(o6b(),g5b),"__missing_name__")}else m=lEb(a.a,(o6b(),g5b),"");i2b(m.i)==-1&&wEb(m,b.o.b,b.o.a)}n=gEb(a.a,(o6b(),y4b));i&&m.ti(""); +J0b(n,m);$Eb(a,n.b,b.d);J0b(n,yEb(a.a,b.b));_Eb(a,n,b.n);d=yEb(a.a,b.c);if(!e&&!j&&d.j!=M3b){de(a.a.a.b==1);d=(c=new _1b(M3b),c)}gFb(d);J0b(n,d);p=x1b(n,n.g,59);p!=n.g&&(n.g=p);(h?1:0)!=0&&(n.g=new D2b(59,h?1:0,n.g));de(n.j==y4b);q=x1b(n,n.g,60);q!=n.g&&(n.g=q);(e?1:0)!=0&&(n.g=new D2b(60,e?1:0,n.g));de(n.j==y4b);r=x1b(n,n.g,61);r!=n.g&&(n.g=r);(f?1:0)!=0&&(n.g=new D2b(61,f?1:0,n.g));s1b(n,80,b.g);if(i){i2b(n.i)==-1&&wEb(n,b.o.b,b.o.a);k=lEb(a.a,b5b,l.a);J0b(k,n);L1b(k,b.i);ZEb(a,b,k,b.a);C1b(n,$0b(n, +78));o=k}else o=n;return o}function AXb(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 HV(new GC("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 HV(new GC("IllegalFormatFlagsException:"+m));else throw HV(new GC("FormatFlagsConversionMismatchException:"+m+","+oE(a.b)));if((a.f||a.k)&&a.p==-1)throw HV(new YWb("-"+oE(a.b)));if(!d&&a.a!=-1)throw HV(new UWb(a.o?a.o.a:""));if(!h&& +a.n!=-1)throw HV(new VWb(a.n));if(!k&&a.p!=-1)throw HV(new WWb(a.p));if(a.d&&a.j)throw HV(new UWb("the '+' and ' ' flags are incompatible"));if(a.f&&a.k)throw HV(new UWb("the '-' and '0' flags are incompatible"));}function eib(a,b){var c,d,e,f,g,h;switch(a.j.f){case 92:return eib(a.b,b);case 47:return Rib(a.b?a.b.f:null)||b.Nd(a)&&eib(a.b?a.b.f:null,b);case 46:return eib(a.b?a.b.f:null,b);case 62:case 61:return eib(a.b,b)&&eib(a.b?a.b.f:null,b);case 60:return eib(a.b.d,b)&&eib(a.b?a.b.f:null,b);case 33:return b.Nd(a); +case 29:return Rib(a)||b.Nd(a);case 27:case 26:return b.Nd(a);case 28:return ee(a.j==(o6b(),P3b),a),(Y0b(a,42)&16)>0||ejb(a)||b.Nd(a);case 23:return ee(a.j==(o6b(),m5b),a),(Y0b(a,42)&15&13)==13||b.Nd(a);case 24:case 40:case 63:case 64:case 96:case 65:case 38:case 80:return true;case 42:for(f=(!a.b?(Uqc(),Uqc(),Tqc):new S2b(a.b)).Qd();f.Kd();){e=f.Ld();if(!eib(e,b))return false}return true;case 43:for(h=(!a.b?(Uqc(),Uqc(),Tqc):new S2b(a.b)).Qd();h.Kd();){g=h.Ld();ie(g.j==(o6b(),T5b)||g.j==F4b||g.j== +N5b||g.j==b5b||g.j==Y3b,"Unexpected obj literal key:",g);if(g.j==F4b||g.j==N5b)continue;if(g.j==Y3b&&!eib(g.b.d,b))return false;if(g.j==T5b&&!eib(g.b,b))return false}return true;case 116:for(d=(!a.b?(Uqc(),Uqc(),Tqc):new S2b(a.b)).Qd();d.Kd();){c=d.Ld();if(c.j==(o6b(),$5b))if(!eib(c.b,b))return false}return true;default:if(Dib(a)||ajb(a.j)||Rib(a))return true;throw HV(new Wjc("Unexpected expression node"+a+"\n parent:"+a.e));}}function YHb(a){var b,c,d,e;a.p=0;for(;;){for(;;){a.a=-1;b=VHb(a);if(b== +-1)return RHb(),CHb;else if(b==10)return RHb(),DHb;else{v6b();if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}}switch(b){case 64:do{b=VHb(a);if(b<=90?65<=b:97<=b&&b<=122)UHb(a,b);else{a.q[a.r++]=b;--a.b;a.n=(e=ulc(a.o,0,a.p),cBc(e),e);a.p=0;return RHb(),wHb}}while(true);case 42:return $Hb(a)?(RHb(),BHb):(RHb(),PHb);case 44:return RHb(),zHb;case 62:return RHb(),LHb;case 40:return RHb(),HHb;case 41:return RHb(),NHb;case 123:return RHb(),GHb;case 125:return RHb(),MHb;case 91:return RHb(),IHb;case 93:return RHb(), +OHb;case 63:return RHb(),KHb;case 33:return RHb(),xHb;case 58:return RHb(),yHb;case 61:return RHb(),EHb;case 124:return RHb(),JHb;case 60:return RHb(),FHb;case 46:b=VHb(a);if(b==60)return RHb(),FHb;else{if(b==46){b=VHb(a);if(b==46)return RHb(),AHb;else UHb(a,46)}a.q[a.r++]=b;b=46}default:{c=b;UHb(a,b);d=VHb(a);if(dIb(d)){do{c=d;d=VHb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=(e=ulc(a.o,0,a.p),cBc(e),e);a.p=0;return RHb(),QHb}else if(dIb(d))UHb(a,c);else{a.q[a.r++]=d;--a.b;UHb(a, +c);a.n=(e=ulc(a.o,0,a.p),cBc(e),e);a.p=0;return RHb(),QHb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=(e=ulc(a.o,0,a.p),cBc(e),e);a.p=0;return RHb(),QHb}}}}}function nEb(a,b){var c,d,e,f,g,h,i,j;j=b.a;g=b.b;f=j.length;de(f>0);de(j.charCodeAt(0)!=45&&j.charCodeAt(0)!=43);if(j.charCodeAt(0)==46)return Sjc(Njc("0"+j));else if(j.charCodeAt(0)==48&&f>1)switch(j.charCodeAt(1)){case 46:case 101:case 69:return Sjc(Njc(j));case 98:case 66:{a.e=WJb(a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),gKb)]));eEb(a,gKb)||a.d.mh("Binary integer literals are not supported in this language mode.", +a.r,b.b.b.b+1,b.b.b.a);i=0;d=1;while(++d=48&&e<= +55)h=h*8+NEb(e);else{a.a.e==0?a.d.lh(MIc,a.r,g.b.b+1,g.b.a):a.d.lh(NIc,a.r,g.b.b+1,g.b.a);return 0}}a.a.e==0?a.d.lh(MIc,a.r,g.b.b+1,g.b.a):a.d.mh(MIc,a.r,g.b.b+1,g.b.a);return h;case 56:case 57:a.d.lh(NIc,a.r,g.b.b+1,g.b.a);return 0;default:throw HV(new Wjc("Unexpected character in number literal: "+oE(j.charCodeAt(1))));}else return Sjc(Njc(j))}function Ukb(a){var b,c,d,e,f,g;Skb(a);e=new spc;ipc(e,Qo(a.I));Uqc();ppc(e,new alb);Nc(new Qc(RCc),"\nTOTAL:","Start time(ms): "+YV(a.H),DD(yD(nT,1),WBc, +1,5,["End time(ms): "+YV(a.i),"Wall time(ms): "+YV(UV(a.i,a.H)),"Passes runtime(ms): "+a.F,"Max mem usage (measured after each pass)(MB): "+a.C,"#Runs: "+a.G,"#Changing runs: "+a.c,"#Loopable runs: "+a.B,"#Changing loopable runs: "+a.A,"Estimated AST reduction(#nodes): "+a.a,"Estimated Reduction(bytes): "+a.g,"Estimated GzReduction(bytes): "+a.p,"Estimated AST size(#nodes): "+a.b,"Estimated Size(bytes): "+a.e,"Estimated GzSize(bytes): "+a.o]));Nc(new Qc(RCc),"\n\nInputs:","JS lines: "+a.t,DD(yD(nT, +1),WBc,1,5,["JS sources: "+a.v,"Extern lines: "+a.j,"Extern sources: "+a.k+"\n\n"]));for(c=new Ppc(e);c.a1)&&gY(qDc+j,b);!!b.b&&kX(a,b.b);return;case 103:lX(a,(VKb(),fKb),b);IX((o6b(),G3b),b);k=(Whb(),iib(b,new Hjb(y4b)));(!k||!(k.j==y4b&&Y0b(k,61)!=0))&&gY("'await' expression is not within an async function", +b);return;default:gY("Expected expression but was "+b.j,b)}}function w6(a,b,c,d){var 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;m=d.d;C=X0b(d,c);B=c.b.oi();v=(ie(Wkc(B,olc(46))==-1,GDc,B),new $2b((o6b(),g5b),B));D=x1b(v,v.g,30);D!=v.g&&(v.g=D);v.g=new D2b(30,1,v.g);E1b(v,$0b(c,29));y1b(d,c,v);F=null;p=$0b(c,29);if(p)F=(vFc&p.a)==wFc?p.i:null;else{n=(Whb(),r=gib(d.e),!r?null:$0b(r,29));!!n&&(F=xZb(n,B))}!!F&&F.a.j!=i4b&&N1(a.a,Ieb(c,r6,DD(yD(sT,1),FBc,2,6,[])));if(!m.b){zhb(b);return}A=V1b((f= +new _1b(M3b),f),m);u=(ie(Wkc(B,olc(46))==-1,GDc,B),new $2b(g5b,B));s=Y1b(dYb(u,(ie(Wkc(xFc,olc(46))==-1,GDc,xFc),new $2b(g5b,xFc)),$4b),m);K0b(A,s);for(j=(!m.b?(Uqc(),Uqc(),Tqc):new S2b(m.b)).Qd();j.Kd();){i=j.Ld();J0b(A,S0b(i))}if(F){e=new $2b(S5b,yFc);G=F.a;t=G.j==i4b?Q0b(G.b,false):Q0b(G,false);K0b(e,X1b(new b2b(M3b,t),G));h=new z0b(false);q0b(h,new D0b(new b2b(H3b,e),(l=$0b(c,51),!l?null:l.Ig())));E1b(u,f_b(h))}w=dYb((ie(Wkc(xFc,olc(46))==-1,GDc,xFc),new $2b(g5b,xFc)),UXb(DD(yD(VR,1),HDc,7,0, +[])),i6b);K0b(m,Y1b(w,c));q=dYb((ie(Wkc(zFc,olc(46))==-1,GDc,zFc),new $2b(g5b,zFc)),new I2b(C),i6b);k=sYb((ie(Wkc(zFc,olc(46))==-1,GDc,zFc),new $2b(g5b,zFc)),lYb((ie(Wkc(AFc,olc(46))==-1,GDc,AFc),new $2b(g5b,AFc)),new $2b(S5b,"length")));o=rYb((ie(Wkc(zFc,olc(46))==-1,GDc,zFc),new $2b(g5b,zFc)),false);g=YXb(gYb(WXb(kYb((ie(Wkc(xFc,olc(46))==-1,GDc,xFc),new $2b(g5b,xFc)),LYb((ie(Wkc(zFc,olc(46))==-1,GDc,zFc),new $2b(g5b,zFc)),new I2b(C))),kYb((ie(Wkc(AFc,olc(46))==-1,GDc,AFc),new $2b(g5b,AFc)),(ie(Wkc(zFc, +olc(46))==-1,GDc,zFc),new $2b(g5b,zFc))))));H0b(m,Y1b(iYb(q,k,o,g),c),w);J0b(m,A);P1(a.a,A)}function x9(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=a.f.b;d=t.d;if(d.b){j=w1b(d.b);e=w1b(d.b)}else{j=H9(a,(ie(Wkc(xGc,olc(46))==-1,GDc,xGc),new $2b((o6b(),g5b),xGc)));e=YXb(MYb(Q0b(j,false)));D1b(e.b)}l=d.d;i=e9++;h=n9(a,i);k=H9(a,xYb("$jscomp$generator$"+j.oi()));K0b(a.p,h);H0b(a.p,e,h);b=H9(a,WXb(H9(a,(ie(Wkc(yGc,olc(46))==-1,GDc,yGc),new $2b((o6b(),g5b),yGc))),Q0b(k,false)));s=ZXb(DD(yD(VR,1),HDc, +7,0,[(ee(tYb(b),b),new b2b(t4b,b)),gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc,pGc),new $2b(g5b,pGc))),D9(a,new I2b(i))))),J9()]));r=(de(k.j==g5b),de(s.j==M3b),new d2b(T3b,k,s));fpc(a.d,0,new X9(i,r));if(l){o=D9(a,xYb("$jscomp$generator$finally"+(""+a.j.a.Y++)));q=e9++;p=n9(a,q);n=e9++;m=n9(a,n);Jhb(a.c,t,new Q9(a,o,q));Jhb(a.c,e,new Q9(a,o,q));K0b(a.p,S0b(t));H0b(a.p,p,e);H0b(a.p,S0b(l),p);H0b(a.p,m,l);K0b(a.p,eYb(Q0b(o,false),i6b));J0b(l,gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc,pGc),new $2b(g5b, +pGc))),Q0b(o,false)))));J0b(l,J9());J0b(t,gYb(D9(a,WXb(Q0b(o,false),D9(a,new I2b(n))))));J0b(t,gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc,pGc),new $2b(g5b,pGc))),D9(a,new I2b(q))))));J0b(t,J9());J0b(e,gYb(D9(a,WXb(Q0b(o,false),D9(a,new I2b(n))))))}else{g=e9++;f=n9(a,g);H0b(a.p,f,e);J0b(t,gYb(D9(a,WXb(D9(a,(ie(Wkc(pGc,olc(46))==-1,GDc,pGc),new $2b(g5b,pGc))),D9(a,new I2b(g))))));J0b(t,J9());K0b(a.p,S0b(t))}K0b(e,dYb(j,H9(a,(ie(Wkc(yGc,olc(46))==-1,GDc,yGc),new $2b(g5b,yGc))),i6b));a.g.e.j==c6b&& +(a.g=W0b(a.g));J0b(a.g,NYb((c=new _1b(M3b),c),r));a.g=Z0b(a.g).b;if(!a.k){a.k=true;H0b(a.n.e,eYb(H9(a,(ie(Wkc(yGc,olc(46))==-1,GDc,yGc),new $2b(g5b,yGc))),i6b),a.n)}}function oEb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;c&&(l=clc(l,"\r\n?",RCc));k=c?0:1;e=Wkc(l,olc(92));if(e==-1)return c?l:hlc(l,1,l.length-1);j=new Hlc;while(e!=-1){e-k>0&&(j.a+=""+hlc(l==null?CBc:(cBc(l),l),k,e),j);e+=1;d=l.charCodeAt(e);switch(d){case 39:case 34:case 92:j.a+=String.fromCharCode(d);break;case 98:j.a+="\b";break;case 102:j.a+= +"\f";break;case 110:j.a+=RCc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:a.e=WJb(a.e,DD(yD(_O,1),_Bc,29,0,[(VKb(),OKb)]));RJb(a.a.c.a,(QJb(),HJb))?a.d.mh("String continuations are not recommended. See https://google.github.io/styleguide/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals",a.r,b.b.b.b+1,b.b.b.a):a.d.lh("String continuations are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);break;case 48:if(e+ +1>=l.length)break;case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=l.charCodeAt(e+1);if(a.a.e==0||c)if(d==48&&!(h>=48&&h<=55));else a.d.mh("Octal literals in strings are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);if(h>=48&&h<=55){i=l.charCodeAt(e+2);if(i>=48&&i<=55){wlc(j,64*NEb(d)+8*NEb(h)+NEb(i)&KBc);e+=2}else{wlc(j,8*NEb(d)+NEb(h)&KBc);e+=1}}else wlc(j,NEb(d)&KBc);break;case 120:wlc(j,KEb(l.charCodeAt(e+1))*16+KEb(l.charCodeAt(e+2))&KBc);e+=2;break;case 117:if(l.charCodeAt(e+ +1)!=123){f=e+5;g=l.substr(e+1,f-(e+1))}else{f=e+2;while(ajc(l.charCodeAt(f),16)>=0)++f;g=l.substr(e+2,f-(e+2));++f}Elc(j,hjc(Ojc(g)));e=f-1;break;default:j.a+=String.fromCharCode(d)}k=e+1;e=Xkc(l,olc(92),k)}Blc(j,l,k,c?l.length:l.length-1);return j.a}function wvb(){wvb=gW;nvb=new k6("JSC_INVALID_SUPPRESS",(tZ(),rZ),new emc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));kvb=new k6("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",rZ,new emc("Visibility annotations on constructors are not supported.\nPlease mark the visibility on the class instead.")); +jvb=new k6("JSC_CLASS_DISALLOWED_JSDOC",rZ,new emc("@constructor annotations are redundant on classes."));ovb=new k6("JSC_MISSING_JSDOC",rZ,new emc("Function must have JSDoc."));pvb=new k6("JSC_MISSING_PARAMETER_JSDOC",rZ,new emc("Parameter must have JSDoc."));rvb=new k6("JSC_MIXED_PARAM_JSDOC_STYLES",rZ,new emc("Functions may not use both @param annotations and inline JSDoc"));qvb=new k6("JSC_MISSING_RETURN_JSDOC",rZ,new emc("Function with non-trivial return must have @return JSDoc or inline return JSDoc.")); +svb=new k6("JSC_MUST_BE_PRIVATE",rZ,new emc("Property {0} must be marked @private"));tvb=new k6("JSC_MUST_HAVE_TRAILING_UNDERSCORE",rZ,new emc("Private property {0} should end with ''_''"));uvb=new k6("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",rZ,new emc("Parameter {0} is optional so its type must end with ="));vvb=new k6("JSC_WRONG_NUMBER_OF_PARAMS",rZ,new emc("Wrong number of @param annotations"));mvb=new k6("JSC_INCORRECT_PARAM_NAME",rZ,new emc("Incorrect param name. Are your @param annotations in the wrong order?")); +lvb=new k6("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",rZ,new emc("Externs files should be annotated with @externs in the @fileoverview block."));ivb=new A5(DD(yD(tK,1),WBc,5,0,[nvb,jvb,kvb,ovb,pvb,rvb,qvb,svb,tvb,uvb,vvb,mvb,lvb]))}function _Lb(){_Lb=gW;var a,b,c,d,e,f;cLb=new aMb("BREAK",0,"break",(pSb(),sQb));dLb=new aMb("CASE",1,"case",vQb);eLb=new aMb(DJc,2,"catch",wQb);hLb=new aMb(EJc,3,hEc,FQb);iLb=new aMb(FJc,4,jEc,GQb);kLb=new aMb(RHc,5,XDc,IQb);lLb=new aMb("DELETE",6,GJc,JQb);mLb=new aMb("DO", +7,"do",KQb);nLb=new aMb("ELSE",8,"else",LQb);sLb=new aMb(HJc,9,RDc,VQb);tLb=new aMb("FOR",10,"for",WQb);uLb=new aMb(SGc,11,yBc,XQb);vLb=new aMb("IF",12,"if",$Qb);yLb=new aMb("IN",13,"in",bRb);zLb=new aMb(tJc,14,rHc,cRb);GLb=new aMb("NEW",15,"new",nRb);MLb=new aMb(EIc,16,SDc,LRb);PLb=new aMb(IJc,17,"switch",ZRb);QLb=new aMb(FIc,18,cEc,bSb);RLb=new aMb("THROW",19,"throw",cSb);TLb=new aMb("TRY",20,"try",fSb);VLb=new aMb(JJc,21,qHc,hSb);WLb=new aMb("VAR",22,"var",kSb);XLb=new aMb("VOID",23,kEc,lSb);YLb= +new aMb("WHILE",24,bEc,mSb);ZLb=new aMb("WITH",25,"with",nSb);fLb=new aMb(RGc,26,$Dc,xQb);gLb=new aMb("CONST",27,lFc,EQb);oLb=new aMb(vIc,28,mEc,NQb);pLb=new aMb(xIc,29,WDc,SQb);qLb=new aMb(wIc,30,_Dc,TQb);xLb=new aMb(KJc,31,ZDc,aRb);OLb=new aMb(vJc,32,dEc,YRb);wLb=new aMb(yIc,33,aEc,_Qb);ALb=new aMb(zIc,34,lEc,dRb);DLb=new aMb("LET",35,"let",hRb);ILb=new aMb(AIc,36,HIc,yRb);JLb=new aMb(BIc,37,IIc,GRb);KLb=new aMb(CIc,38,JIc,HRb);LLb=new aMb(DIc,39,KIc,IRb);NLb=new aMb("STATIC",40,LIc,WRb);$Lb=new aMb("YIELD", +41,"yield",oSb);HLb=new aMb(cIc,42,CBc,rRb);SLb=new aMb(VEc,43,gEc,eSb);rLb=new aMb(UEc,44,fEc,UQb);jLb=new aMb(LJc,45,pEc,HQb);ULb=new aMb(GIc,46,oEc,gSb);ELb=new aMb("MODULE",47,ODc,lRb);FLb=new aMb(MJc,48,nEc,mRb);a=(Po(),new pr);b=new muc(mP);for(d=hMb(),e=0,f=d.length;e3)&&gY(sDc+t,b);kX(a,b.b);VW(a,b.b.d);T0b(b)==3&&VW(a,b.b?b.b.f:null);return;case 76:case 100:case 88:DX(a,b.j,b);return;case 84:IX((m6b(),r4b), -b);u=o6b(b.j);u!=-1&&(v=T0b(b),u!=v&&gY(hDc+u+iDc+v,b));kX(a,b.b);return;case 0:IX((m6b(),H5b),b);yX(b);!!b.b&&kX(a,b.b);return;case 39:IX((m6b(),$5b),b);w=o6b(b.j);w!=-1&&(A=T0b(b),w!=A&&gY(hDc+w+iDc+A,b));kX(a,b.b);return;case 44:aY(a,b);return;case 74:IX((m6b(),M3b),b);yX(b);!!b.b&&xX(b.b);return;case 75:IX((m6b(),Y3b),b);yX(b);!!b.b&&xX(b.b);return;case 80:case 89:d=T0b(b);0!=d&&gY(gDc+d,b);return;case 96:$W(a,b,c);BX(b.b);return;case 104:pX(a,b);return;case 108:hX(a,b,c);return;case 148:lX(a, -(TKb(),xKb),b);IX((m6b(),Q4b),b);B=o6b(b.j);B!=-1&&(C=T0b(b),B!=C&&gY(hDc+B+iDc+C,b));D=b.b;BX(D);F=D.d;F.j==h4b?(G=T0b(F),0!=G&&gY(gDc+G,F)):tX(F);vX(a,b.b?b.b.f:null);return;case 151:fX(a,b);return;case 154:bY(a,b);return;case 155:lX(a,(TKb(),aKb),b);IX((m6b(),_3b),b);QW(a,b.b);return;case 159:EX(a,b,c);return;default:gY("Expected statement but was "+b.j+".",b)}}function Mcc(){Mcc=gW;Ebc=new Ncc(XJc,0);Dbc=new Ncc("ARRAY_FUNCTION_TYPE",1);Hbc=new Ncc(lKc,2);Gbc=new Ncc("BOOLEAN_OBJECT_TYPE",3); -Fbc=new Ncc("BOOLEAN_OBJECT_FUNCTION_TYPE",4);Ibc=new Ncc("CHECKED_UNKNOWN_TYPE",5);Kbc=new Ncc("DATE_TYPE",6);Jbc=new Ncc("DATE_FUNCTION_TYPE",7);Lbc=new Ncc("EMPTY_OBJECT_LITERAL_TYPE",8);Mbc=new Ncc("ERROR_FUNCTION_TYPE",9);Nbc=new Ncc("ERROR_TYPE",10);Obc=new Ncc("EVAL_ERROR_FUNCTION_TYPE",11);Pbc=new Ncc("EVAL_ERROR_TYPE",12);Qbc=new Ncc(YHc,13);Rbc=new Ncc("FUNCTION_FUNCTION_TYPE",14);Sbc=new Ncc("FUNCTION_INSTANCE_TYPE",15);Tbc=new Ncc("FUNCTION_PROTOTYPE",16);Ubc=new Ncc("GENERATOR_TYPE", -17);Ybc=new Ncc("I_ITERABLE_RESULT_TYPE",18);Xbc=new Ncc("ITERATOR_TYPE",19);Zbc=new Ncc("I_TEMPLATE_ARRAY_TYPE",20);ccc=new Ncc("NULL_TYPE",21);icc=new Ncc(mKc,22);fcc=new Ncc("NUMBER_OBJECT_TYPE",23);ecc=new Ncc("NUMBER_OBJECT_FUNCTION_TYPE",24);occ=new Ncc("OBJECT_TYPE",25);kcc=new Ncc("OBJECT_FUNCTION_TYPE",26);ncc=new Ncc("OBJECT_PROTOTYPE",27);pcc=new Ncc("RANGE_ERROR_FUNCTION_TYPE",28);qcc=new Ncc("RANGE_ERROR_TYPE",29);rcc=new Ncc("REFERENCE_ERROR_FUNCTION_TYPE",30);scc=new Ncc("REFERENCE_ERROR_TYPE", -31);ucc=new Ncc("REGEXP_TYPE",32);tcc=new Ncc("REGEXP_FUNCTION_TYPE",33);wcc=new Ncc("STRING_OBJECT_TYPE",34);vcc=new Ncc("STRING_OBJECT_FUNCTION_TYPE",35);xcc=new Ncc(kKc,36);zcc=new Ncc("SYNTAX_ERROR_FUNCTION_TYPE",37);Acc=new Ncc("SYNTAX_ERROR_TYPE",38);Ccc=new Ncc(bIc,39);Ecc=new Ncc("TYPE_ERROR_FUNCTION_TYPE",40);Fcc=new Ncc("TYPE_ERROR_TYPE",41);Icc=new Ncc("UNKNOWN_TYPE",42);Jcc=new Ncc("URI_ERROR_FUNCTION_TYPE",43);Kcc=new Ncc("URI_ERROR_TYPE",44);Lcc=new Ncc("VOID_TYPE",45);Bcc=new Ncc("TOP_LEVEL_PROTOTYPE", -46);ycc=new Ncc("STRING_VALUE_OR_OBJECT_TYPE",47);jcc=new Ncc("NUMBER_VALUE_OR_OBJECT_TYPE",48);Cbc=new Ncc("ALL_TYPE",49);bcc=new Ncc("NO_TYPE",50);_bc=new Ncc("NO_OBJECT_TYPE",51);acc=new Ncc("NO_RESOLVED_TYPE",52);Vbc=new Ncc("GLOBAL_THIS",53);Gcc=new Ncc("U2U_CONSTRUCTOR_TYPE",54);Hcc=new Ncc("U2U_FUNCTION_TYPE",55);$bc=new Ncc("LEAST_FUNCTION_TYPE",56);Wbc=new Ncc("GREATEST_FUNCTION_TYPE",57);dcc=new Ncc("NULL_VOID",58);lcc=new Ncc("OBJECT_NUMBER_STRING",59);mcc=new Ncc("OBJECT_NUMBER_STRING_BOOLEAN", -60);hcc=new Ncc("NUMBER_STRING_BOOLEAN",61);gcc=new Ncc("NUMBER_STRING",62);Dcc=new Ncc(cIc,63)}function TKb(){TKb=gW;fKb=new UKb("BLOCK_SCOPED_FUNCTION_DECLARATION",0,"block function",0);oKb=new UKb("ES3_KEYWORDS_AS_IDENTIFIERS",1,"ES3 keywords as identifiers",1);uKb=new UKb("GETTER",2,"getters",1);yKb=new UKb("KEYWORDS_AS_PROPERTIES",3,"reserved words as properties",1);KKb=new UKb("SETTER",4,"setters",1);MKb=new UKb("STRING_CONTINUATION",5,"string continuation",1);PKb=new UKb("TRAILING_COMMA",6, -"trailing comma",1);cKb=new UKb("ARROW_FUNCTIONS",7,"arrow function",2);eKb=new UKb("BINARY_LITERALS",8,"binary literal",2);FKb=new UKb("OCTAL_LITERALS",9,"octal literal",2);hKb=new UKb("CLASSES",10,XDc,2);iKb=new UKb("COMPUTED_PROPERTIES",11,"computed property",2);qKb=new UKb("EXTENDED_OBJECT_LITERALS",12,"extended object literal",2);rKb=new UKb("FOR_OF",13,"for-of loop",2);sKb=new UKb("GENERATORS",14,"generator",2);zKb=new UKb("LET_DECLARATIONS",15,"let declaration",2);AKb=new UKb("MEMBER_DECLARATIONS", -16,"member declaration",2);IKb=new UKb("REGEXP_FLAG_Y",17,"RegExp flag 'y'",2);bKb=new UKb("ARRAY_PATTERN_REST",18,"array pattern rest",2);JKb=new UKb("REST_PARAMETERS",19,"rest parameter",2);LKb=new UKb("SPREAD_EXPRESSIONS",20,"spread expression",2);NKb=new UKb(qJc,21,aEc,2);OKb=new UKb("TEMPLATE_LITERALS",22,"template literal",2);kKb=new UKb("CONST_DECLARATIONS",23,"const declaration",2);mKb=new UKb("DESTRUCTURING",24,"destructuring",2);EKb=new UKb(rJc,25,bEc,2);HKb=new UKb("REGEXP_FLAG_U",26,"RegExp flag 'u'", -2);lKb=new UKb("DEFAULT_PARAMETERS",27,"default parameter",2);CKb=new UKb("MODULES",28,"modules",2);pKb=new UKb("EXPONENT_OP",29,"exponent operator (**)",3);dKb=new UKb("ASYNC_FUNCTIONS",30,nEc,4);QKb=new UKb("TRAILING_COMMA_IN_PARAM_LIST",31,"trailing comma in param list",4);_Jb=new UKb("ACCESSIBILITY_MODIFIER",32,"accessibility modifier",5);aKb=new UKb(sJc,33,"ambient declaration",5);gKb=new UKb(tJc,34,"call signature",5);jKb=new UKb("CONSTRUCTOR_SIGNATURE",35,"constructor signature",5);nKb=new UKb(qIc, -36,jEc,5);tKb=new UKb("GENERICS",37,"generics",5);vKb=new UKb(tIc,38,ZDc,5);wKb=new UKb(uJc,39,"index signature",5);xKb=new UKb(uIc,40,iEc,5);BKb=new UKb("MEMBER_VARIABLE_IN_CLASS",41,"member variable in class",5);DKb=new UKb(vJc,42,"namespace declaration",5);GKb=new UKb(wJc,43,"optional parameter",5);RKb=new UKb(xJc,44,"type alias",5);SKb=new UKb("TYPE_ANNOTATION",45,"type annotation",5)}function u$(){u$=gW;new j6("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(tZ(),qZ),new cmc("goog.module parameter must be string literals")); -new j6("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",qZ,new cmc("goog.provide parameter must be a string literal."));new j6("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",qZ,new cmc("goog.require parameter must be a string literal."));new j6("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",qZ,new cmc("goog.forwardDeclare parameter must be a string literal."));new j6("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",qZ,new cmc("goog.module.get parameter must be a string literal."));new j6("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL", -qZ,new cmc("goog.provide can not be called in goog.module."));new j6("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",qZ,new cmc("goog.module.get can not be called in global scope."));new j6("JSC_GOOG_MODULE_INVALID_GET_ALIAS",qZ,new cmc("goog.module.get should not be aliased."));new j6("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",qZ,new cmc("Computed properties are not yet supported in goog.module exports."));s$=new j6("JSC_USELESS_USE_STRICT_DIRECTIVE",rZ,new cmc("'use strict' is unnecessary in goog.module files.")); -new j6("JSC_DUPLICATE_MODULE",qZ,new cmc("Duplicate module: {0}"));new j6("JSC_DUPLICATE_NAMESPACE",qZ,new cmc("Duplicate namespace: {0}"));r$=new j6("JSC_MISSING_MODULE_OR_PROVIDE",qZ,new cmc('Required namespace "{0}" never defined.'));q$=new j6(IDc,qZ,new cmc('Required namespace "{0}" not provided yet.'));new j6("JSC_IMPORT_INLINING_SHADOWS_VAR",qZ,new cmc('Inlining of reference to import "{1}" shadows var "{0}".'));new j6("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",qZ,new cmc("Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style")); -new j6("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",qZ,new cmc('Destructuring import reference to name "{0}" was not exported in module {1}'));t$=(Cn(),new Xy(JDc));jYb((ie(Ukc(CDc,mlc(46))==-1,DDc,CDc),new Y2b((m6b(),e5b),CDc)),new Y2b(Q5b,"forwardDeclare"));jYb((ie(Ukc(CDc,mlc(46))==-1,DDc,CDc),new Y2b(e5b,CDc)),new Y2b(Q5b,KDc));p$=jYb((ie(Ukc(CDc,mlc(46))==-1,DDc,CDc),new Y2b(e5b,CDc)),new Y2b(Q5b,LDc));jYb(p$,new Y2b(Q5b,"declareLegacyNamespace"));jYb(O0b(p$,false),new Y2b(Q5b,"get"));jYb((ie(Ukc(CDc, -mlc(46))==-1,DDc,CDc),new Y2b(e5b,CDc)),new Y2b(Q5b,MDc));jYb((ie(Ukc(CDc,mlc(46))==-1,DDc,CDc),new Y2b(e5b,CDc)),new Y2b(Q5b,NDc))}function rOb(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;switch(wPb(a.g,0).c.f){case 45:return aNb(a);case 30:case 25:return DOb(a);case 52:return lNb(a);case 15:return FNb(a);case 10:return c=wPb(a.g,0).b.b,sMb(a,(nSb(),IQb)),d=nOb(a),sMb(a,kSb),sMb(a,tRb),e=GMb(a,1),sMb(a,yQb),GOb(a,MRb)&&sMb(a,MRb),new hTb(new IWb(c,a.f), -d,e);case 27:return f=wPb(a.g,0).b.b,sMb(a,(nSb(),kSb)),sMb(a,tRb),g=GMb(a,1),sMb(a,yQb),h=nOb(a),new yWb(new IWb(f,a.f),g,h);case 13:return vNb(a);case 6:return i=wPb(a.g,0).b.b,sMb(a,(nSb(),DQb)),j=null,k=wPb(a.g,0).b.b.b>a.f.b,k||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb)||(j=(l=wPb(a.g,0).c,Nuc(Juc(XQb,DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),l)||!a.b.c&&cMb(l)?uMb(a):null)),xMb(a),new dTb(new IWb(i,a.f),j);case 3:return m=wPb(a.g,0).b.b,sMb(a,(nSb(),qQb)),n=null,o=wPb(a.g,0).b.b.b>a.f.b,o||FOb(a, -0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb)||(n=(p=wPb(a.g,0).c,Nuc(Juc(XQb,DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),p)||!a.b.c&&cMb(p)?uMb(a):null)),xMb(a),new GSb(new IWb(m,a.f),n);case 19:return q=wPb(a.g,0).b.b,sMb(a,(nSb(),JRb)),r=null,s=wPb(a.g,0).b.b.b>a.f.b,s||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb)||(r=GMb(a,1)),xMb(a),new dWb(new IWb(q,a.f),r);case 28:return t=wPb(a.g,0).b.b,sMb(a,(nSb(),lSb)),sMb(a,tRb),u=GMb(a,1),sMb(a,yQb),v=nOb(a),new zWb(new IWb(t,a.f),u,v);case 20:return w=wPb(a.g,0).b.b, -sMb(a,(nSb(),XRb)),sMb(a,tRb),A=GMb(a,1),sMb(a,yQb),sMb(a,sRb),B=cNb(a),sMb(a,xQb),new hWb(new IWb(w,a.f),A,B);case 22:return C=wPb(a.g,0).b.b,sMb(a,(nSb(),aSb)),D=null,F=wPb(a.g,0).b.b.b>a.f.b,F||FOb(a,0,MRb)||FOb(a,0,xQb)||FOb(a,0,KQb)?ZOb(a,"semicolon/newline not allowed after 'throw'",DD(yD(nT,1),UBc,1,5,[])):D=GMb(a,1),xMb(a),new mWb(new IWb(C,a.f),D);case 23:return G=wPb(a.g,0).b.b,sMb(a,(nSb(),dSb)),H=aNb(a),I=null,GOb(a,uQb)&&(I=(P=wPb(a.g,0).b.b,sMb(a,uQb),sMb(a,tRb),FOb(a,0,uRb)||FOb(a, -0,sRb)?Q=aOb(a,0):Q=ENb(a),sMb(a,yQb),R=aNb(a),new KSb(new IWb(P,a.f),Q,R))),J=null,GOb(a,TQb)&&(J=(S=wPb(a.g,0).b.b,sMb(a,TQb),T=aNb(a),new nTb(new IWb(S,a.f),T))),!I&&!J&&ZOb(a,"'catch' or 'finally' expected.",DD(yD(nT,1),UBc,1,5,[])),new nWb(new IWb(G,a.f),H,I,J);case 7:return K=wPb(a.g,0).b.b,sMb(a,(nSb(),EQb)),xMb(a),new eTb(new IWb(K,a.f));default:{b=wPb(a.g,0).c;if((Nuc(Juc((nSb(),XQb),DD(yD(mP,1),ZBc,12,0,[eSb,FQb,jRb,kRb])),b)||!a.b.c&&cMb(b))&&FOb(a,1,AQb))return L=wPb(a.g,0).b.b,M=tMb(a), -sMb(a,AQb),new VTb(new IWb(L,a.f),M,nOb(a))}return N=wPb(a.g,0).b.b,O=GMb(a,1),xMb(a),new mTb(new IWb(N,a.f),O)}}function wzb(){wzb=gW;pzb=new j6("JSC_NTI_INVALID_GENERICS_INSTANTIATION",(tZ(),sZ),new cmc("Invalid generics instantiation{0}.\nExpected {1} type argument(s), but found {2}"));jzb=new j6("JSC_NTI_EXTENDS_NON_OBJECT",sZ,new cmc("{0} extends non-object type {1}.\n"));kzb=new j6("JSC_NTI_EXTENDS_NOT_ON_CTOR_OR_INTERF",sZ,new cmc("@extends used without @constructor or @interface for {0}.\n")); -ozb=new j6("JSC_NTI_INHERITANCE_CYCLE",sZ,new cmc("Cycle detected in inheritance chain of type {0}"));ezb=new j6("JSC_NTI_DICT_IMPLEMENTS_INTERF",sZ,new cmc("Class {0} is a dict. Dicts can't implement interfaces"));nzb=new j6("JSC_NTI_IMPLEMENTS_WITHOUT_CONSTRUCTOR",sZ,new cmc(IGc));czb=new j6("JSC_NTI_CONFLICTING_EXTENDED_TYPE",sZ,new cmc(PHc));dzb=new j6("JSC_NTI_CONFLICTING_IMPLEMENTED_TYPE",sZ,new cmc(QHc));uzb=new j6("JSC_NTI_UNION_IS_UNINHABITABLE",sZ,new cmc("Union of {0} with {1} would create an impossible type")); -rzb=new j6("JSC_NTI_NEW_EXPECTS_OBJECT_OR_TYPEVAR",sZ,new cmc('The "new:" annotation only accepts object types and type variables; found {0}'));$yb=new j6("JSC_NTI_BAD_ARRAY_TYPE_SYNTAX",sZ,new cmc("The [] type syntax is not supported. Please use Array instead"));_yb=new j6("JSC_NTI_CANNOT_MAKE_TYPEVAR_NON_NULL",sZ,new cmc("Cannot use ! to restrict type variable type.\nPrefer to make type argument non-nullable and add null explicitly where needed (e.g. through ?T or T|null)"));azb=new j6("JSC_NTI_CIRCULAR_TYPEDEF_ENUM", -sZ,new cmc("Circular typedefs/enums are not allowed"));hzb=new j6("JSC_NTI_ENUM_WITH_TYPEVARS",sZ,new cmc("An enum type cannot include type variables"));fzb=new j6("JSC_NTI_ENUM_IS_TOP",sZ,new cmc("An enum type cannot be *. Use ? if you do not want the elements checked"));gzb=new j6("JSC_NTI_ENUM_IS_UNION",sZ,new cmc("An enum type cannot be a union type"));vzb=new j6("JSC_NTI_WRONG_PARAMETER_ORDER",sZ,new cmc("Wrong parameter order: required parameters are first, then optional, then varargs"));mzb= -new j6("JSC_NTI_IMPLEMENTS_NON_INTERFACE",sZ,new cmc("Cannot implement non-interface {0}"));izb=new j6("JSC_NTI_EXTENDS_NON_INTERFACE",sZ,new cmc("Cannot extend non-interface {0}"));lzb=new j6("JSC_NTI_FUNCTION_WITH_NONFUNC_JSDOC",sZ,new cmc("The function is annotated with a non-function jsdoc. Ignoring jsdoc"));szb=new j6("JSC_NTI_TEMPLATED_GETTER_SETTER",sZ,new cmc("@template can't be used with getters/setters"));tzb=new j6("JSC_NTI_TWO_JSDOCS",sZ,new cmc("Found two JsDoc comments for {0}"));bzb= -new z5(DD(yD(tK,1),UBc,5,0,[$yb,azb,czb,dzb,izb,jzb,kzb,mzb,nzb,ozb,rzb,szb,tzb,vzb]));qzb=new z5(DD(yD(tK,1),UBc,5,0,[_yb,ezb,fzb,gzb,hzb,lzb,pzb,uzb]))}function yeb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;g=false;k=new qpc;k.a[k.a.length]="/**";(b.a&hGc)!=0?(k.a[k.a.length]="@export",true):!!b.j&&b.j!=(Z$b(),U$b)&&epc(k,"@"+pe(b.j).toLowerCase());(b.a&XGc)!=0&&(k.a[k.a.length]="@abstract",true);(!b.d?null:b.d.g)!=null&&epc(k,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&37)!=0&&(b.a&4)==0&&(b.a&32)== -0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);d=!b.d?null:b.d.c;d!=null&&(k.a[k.a.length]="@desc "+d+OCc,true);(b.a&eGc)!=0&&(k.a[k.a.length]="@dict",true);(b.a&$Cc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&dGc)!=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&EFc)!=0)&&(b.a&EFc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&EFc)!=0)&&(b.a&EFc)!=0&&(k.a[k.a.length]="@record",true);if(!b.d? -null:b.d.a){g=true;s=zeb((!b.d?null:b.d.a).a);epc(k,web(a,YDc,s))}for(r=mZb(b).Pd();r.Jd();){p=r.Kd();g=true;s=zeb(p.a);epc(k,web(a,YDc,s))}for(q=oZb(b).Pd();q.Jd();){p=q.Kd();g=true;s=zeb(p.a);epc(k,web(a,ZDc,s))}if(b.g){g=true;s=zeb(b.g.a);epc(k,web(a,_Dc,s))}if(sZb(b)>0){g=true;for(i=uZb(b).Pd();i.Jd();){h=i.Kd();epc(k,"@param "+xeb(a,h,vZb(b,h)))}}if((b.a&rFc)==yCc){g=true;epc(k,web(a,PDc,((rFc&b.a)==yCc?b.i:null).a))}yZb(b).isEmpty()||epc(k,web(a,YGc,yZb(b).getAtIndex(0).a));j=xZb(b);if(!j.isEmpty()){epc(k, -ZGc+Oc(new Qc(String.fromCharCode(44)),j.Pd()));g=true}t=BZb(b);if(!t.isEmpty()){g=true;for(f=Qo(t).Pd();f.Jd();){e=f.Kd();h=e.de();o=A_(new E_(e.ee()));k.a[k.a.length]=ZGc+h+" := "+o+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&rFc)==sFc&&(b.a&4)==0&&(b.e?epc(k,Aeb(a,((rFc&b.a)==sFc?b.i:null).a)):epc(k,web(a,lEc,((rFc&b.a)==sFc?b.i:null).a)));(b.a&4)!=0&&epc(k,web(a,"define",((rFc&b.a)==sFc?b.i:null).a));(b.a&rFc)==BBc&&epc(k,web(a,"typedef",((rFc&b.a)==BBc?b.i:null).a));(b.a&rFc)== -KGc&&epc(k,web(a,jEc,((rFc&b.a)==KGc?b.i:null).a));(b.a&8192)!=0&&(k.a[k.a.length]="@implicitCast",true);n=(m=!b.d?null:b.d.p,!m?(Sqc(),Sqc(),Rqc):m);if(!n.isEmpty()){c=n.Qd(AD(sT,DBc,2,0,6,1));jqc(c,(Mx(),Lx));epc(k,"@suppress {"+Oc(new Qc(String.fromCharCode(44)),new Qmc(new tqc(c)))+"}");g=true}if((b.a&256)!=0){epc(k,"@deprecated "+(!b.d?null:b.d.b));g=true}if(!!b.d&&C$b(b.d,7)){g=true;k.a[k.a.length]="@polymer"}if(!!b.d&&C$b(b.d,6)){g=true;k.a[k.a.length]="@polymerBehavior"}if(!!b.d&&C$b(b.d, -10)){g=true;k.a[k.a.length]="@mixinFunction"}if(!!b.d&&C$b(b.d,9)){g=true;k.a[k.a.length]="@mixinClass"}if(!!b.d&&C$b(b.d,8)){g=true;k.a[k.a.length]="@customElement"}k.a[k.a.length]="*/";l=new Flc;g?Mc(new Qc("\n "),l,new Npc(k)):Mc(new Qc(" "),l,new Npc(k));l.a+=g?OCc:" ";return l.a}function Wlb(){Wlb=gW;new j6("JSC_NULL_ARGUMENT_ERROR",(tZ(),qZ),new cmc('method "{0}" called without an argument'));new j6("JSC_EXPECTED_OBJECTLIT_ERROR",qZ,new cmc('method "{0}" expected an object literal argument')); -new j6("JSC_EXPECTED_STRING_ERROR",qZ,new cmc('method "{0}" expected an object string argument'));new j6("JSC_INVALID_ARGUMENT_ERROR",qZ,new cmc('method "{0}" called with invalid argument'));new j6("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",qZ,new cmc("Invalid CSS name map style {0}"));new j6("JSC_TOO_MANY_ARGUMENTS_ERROR",qZ,new cmc('method "{0}" called with more than one argument'));new j6("JSC_DUPLICATE_NAMESPACE_ERROR",qZ,new cmc('namespace "{0}" cannot be provided twice'));new j6("JSC_WEAK_NAMESPACE_TYPE", -sZ,new cmc("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 j6("JSC_CLASS_NAMESPACE_ERROR",qZ,new cmc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new j6("JSC_FUNCTION_NAMESPACE_ERROR",qZ,new cmc('"{0}" cannot be both provided and declared as a function'));Ulb=new j6("JSC_MISSING_PROVIDE_ERROR",qZ,new cmc('required "{0}" namespace never provided')); -Tlb=new j6(IDc,qZ,new cmc('required "{0}" namespace not provided yet'));Slb=new j6("JSC_INVALID_PROVIDE_ERROR",qZ,new cmc('"{0}" is not a valid {1} qualified name'));new j6("JSC_INVALID_DEFINE_NAME_ERROR",qZ,new cmc('"{0}" is not a valid JS identifier name'));new j6("JSC_INVALID_MISSING_DEFINE_ANNOTATION",qZ,new cmc("Missing @define annotation"));new j6("JSC_XMODULE_REQUIRE_ERROR",sZ,new cmc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?')); -Rlb=new j6("JSC_INVALID_CLOSURE_CALL_ERROR",qZ,new cmc("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));new j6("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",qZ,new cmc("goog.setCssNameMapping only takes an object literal with string values"));new j6("INVALID_CSS_RENAMING_MAP",sZ,new cmc("Invalid entries in css renaming map: {0}"));new j6(uHc,qZ,new cmc("incorrect use of goog.base: {0}"));new j6(uHc,qZ,new cmc("incorrect use of {0}.base: {1}")); -new j6("JSC_CLOSURE_DEFINES_ERROR",qZ,new cmc("Invalid CLOSURE_DEFINES definition"));new j6("JSC_INVALID_FORWARD_DECLARE",qZ,new cmc("Malformed goog.forwardDeclaration"));Vlb=new j6("JSC_USE_OF_GOOG_BASE",rZ,new cmc("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')"))} -function tDb(){tDb=gW;RCb=new uDb("NG_INJECT",0);jCb=new uDb("ABSTRACT",1);kCb=new uDb("AUTHOR",2);oCb=new uDb("CUSTOM_ELEMENT",3);lCb=new uDb("CONSISTENTIDGENERATOR",4);mCb=new uDb("CONSTANT",5);nCb=new uDb(pIc,6);eDb=new uDb("RECORD",7);pCb=new uDb("DEFINE",8);qCb=new uDb("DEPRECATED",9);rCb=new uDb("DESC",10);sCb=new uDb("DICT",11);tCb=new uDb("DISPOSES",12);uCb=new uDb(qIc,13);xCb=new uDb(rIc,14);yCb=new uDb("EXTERNS",15);vCb=new uDb(sIc,16);wCb=new uDb("EXPOSE",17);zCb=new uDb("FILE_OVERVIEW", -18);ACb=new uDb("FINAL",19);BCb=new uDb("HIDDEN",20);CCb=new uDb("IDGENERATOR",21);DCb=new uDb(tIc,22);ECb=new uDb("IMPLICIT_CAST",23);FCb=new uDb("INHERIT_DOC",24);GCb=new uDb(uIc,25);HCb=new uDb("JAGGER_INJECT",26);ICb=new uDb("JAGGER_MODULE",27);JCb=new uDb("JAGGER_PROVIDE",28);KCb=new uDb("JAGGER_PROVIDE_PROMISE",29);LCb=new uDb("LENDS",30);MCb=new uDb("LICENSE",31);NCb=new uDb("MEANING",32);OCb=new uDb("MIXIN_CLASS",33);PCb=new uDb("MIXIN_FUNCTION",34);QCb=new uDb("MODIFIES",35);TCb=new uDb("NO_ALIAS", -36);UCb=new uDb("NO_COLLAPSE",37);VCb=new uDb("NO_COMPILE",38);WCb=new uDb("NO_SIDE_EFFECTS",39);SCb=new uDb("NOT_IMPLEMENTED",40);XCb=new uDb("OVERRIDE",41);YCb=new uDb(vIc,42);ZCb=new uDb("PARAM",43);$Cb=new uDb("POLYMER",44);_Cb=new uDb("POLYMER_BEHAVIOR",45);aDb=new uDb("PRESERVE",46);bDb=new uDb(wIc,47);cDb=new uDb(xIc,48);dDb=new uDb(yIc,49);fDb=new uDb(zIc,50);gDb=new uDb("SEE",51);hDb=new uDb("STABLEIDGENERATOR",52);iDb=new uDb("STRUCT",53);jDb=new uDb("SUPPRESS",54);kDb=new uDb("TEMPLATE", -55);lDb=new uDb(AIc,56);mDb=new uDb("THROWS",57);nDb=new uDb(BIc,58);oDb=new uDb("TYPEDEF",59);pDb=new uDb("UNRESTRICTED",60);qDb=new uDb("VERSION",61);rDb=new uDb("WIZACTION",62);sDb=mr(new pr,"ngInject",RCb).pf("abstract",jCb).pf("argument",ZCb).pf("author",kCb).pf("consistentIdGenerator",lCb).pf(hFc,mCb).pf("constant",mCb).pf(HFc,nCb).pf("customElement",oCb).pf("copyright",MCb).pf("define",pCb).pf(dFc,qCb).pf("desc",rCb).pf("dict",sCb).pf("disposes",tCb).pf(jEc,uCb).pf(TDc,vCb).pf("expose",wCb).pf(YDc, -xCb).pf("externs",yCb).pf("fileoverview",zCb).pf("final",ACb).pf("hidden",BCb).pf("idGenerator",CCb).pf(ZDc,DCb).pf("implicitCast",ECb).pf("inheritDoc",FCb).pf(iEc,GCb).pf("record",eDb).pf("jaggerInject",HCb).pf("jaggerModule",ICb).pf("jaggerProvidePromise",KCb).pf("jaggerProvide",JCb).pf("lends",LCb).pf("license",MCb).pf("meaning",NCb).pf("mixinClass",OCb).pf("mixinFunction",PCb).pf("modifies",QCb).pf("noalias",TCb).pf("nocollapse",UCb).pf("nocompile",VCb).pf("nosideeffects",WCb).pf("override",XCb).pf("owner", -kCb).pf(CIc,YCb).pf("param",ZCb).pf("polymer",$Cb).pf("polymerBehavior",_Cb).pf("preserve",aDb).pf(DIc,bDb).pf(EIc,cDb).pf(FIc,dDb).pf(PDc,fDb).pf("returns",fDb).pf("see",gDb).pf("stableIdGenerator",hDb).pf("struct",iDb).pf("suppress",jDb).pf("template",kDb).pf(_Dc,lDb).pf(YGc,mDb).pf(lEc,nDb).pf("typedef",oDb).pf("unrestricted",pDb).pf("version",qDb).pf("wizaction",rDb).nf()}function b$(){b$=gW;new j6(ADc,(tZ(),qZ),new cmc("@export has no effect here"));VZ=new j6(ADc,qZ,new cmc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead.")); -WZ=new j6("JSC_GOOG_MODULE_IN_NON_MODULE",qZ,new cmc("goog.module() call must be the first statement in a module."));new j6("JSC_GOOG_MODULE_REFERENCES_THIS",qZ,new cmc("The body of a goog.module cannot reference 'this'."));new j6("JSC_GOOG_MODULE_USES_THROW",qZ,new cmc("The body of a goog.module cannot use 'throw'."));new j6("JSC_GOOG_MODULE_USES_GOOG_MODULE_GET",qZ,new cmc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new j6("JSC_DUPLICATE_NAME_SHORT_REQUIRE", -qZ,new cmc("Found multiple goog.require statements importing identifier ''{0}''."));new j6("JSC_INVALID_DESTRUCTURING_REQUIRE",qZ,new cmc("Destructuring goog.require must be a simple object pattern."));new j6("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE",qZ,new cmc("Cannot destructure a forward-declared type"));$Z=new j6("JSC_LET_GOOG_REQUIRE",rZ,new cmc("Module imports must be constant. Please use 'const' instead of 'let'."));new j6("JSC_MULTIPLE_MODULES_IN_FILE",qZ,new cmc("There should only be a single goog.module() statement per file.")); -new j6("JSC_MODULE_AND_PROVIDES",qZ,new cmc("A file using goog.module() may not also use goog.provide() statements."));new j6("JSC_ONE_REQUIRE_PER_DECLARATION",qZ,new cmc("There may only be one goog.require() per var/let/const declaration."));XZ=new j6("JSC_INCORRECT_SHORTNAME_CAPITALIZATION",rZ,new cmc("The capitalization of short name {0} is incorrect; it should be {1}."));new j6("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",qZ,new cmc("Exports must be a statement at the top-level of a module"));new j6("JSC_EXPORT_REPEATED_ERROR", -qZ,new cmc("Name cannot be exported multiple times. Previous export on line {0}."));new j6("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",qZ,new cmc("References to the global name of a module are not allowed. Perhaps you meant exports?"));_Z=new j6("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",rZ,new cmc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));a$=new j6("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME", -rZ,new cmc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));YZ=new j6("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",rZ,new cmc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));ZZ=new j6("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",rZ,new cmc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead.")); -new j6("JSC_REQUIRE_NOT_AT_TOP_LEVEL",qZ,new cmc("goog.require() must be called at file scope."))}function q6b(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)== +case 77:return"constant_property_def";case 78:return"declared_type_expr";case 79:return"type_before_cast";case 80:return"opt_es6_typed";case 81:return"generic_type";case 82:return aEc;case 83:return"construct_signature";case 84:return"access_modifier";case 85:return"non_indexable";case 86:return"parse_results";case 87:return"goog_module";case 88:return"goog_module_require";case 89:return"feature_set";case 90:return"is_module_name";case 91:return"was_previously_provided";case 92:return"is_es6_class"; +case 93:return"transpiled";case 94:return"DELETED";case 95:return"goog_module_alias";default:throw HV(new Wjc("unexpected prop id "+a));}}function $Y(){$Y=gW;TY=new k6("JSC_DEPRECATED_VAR",(tZ(),rZ),new emc("Variable {0} has been deprecated."));UY=new k6("JSC_DEPRECATED_VAR_REASON",rZ,new emc("Variable {0} has been deprecated: {1}"));VY=new k6("JSC_DEPRECATED_PROP",rZ,new emc("Property {0} of type {1} has been deprecated."));WY=new k6("JSC_DEPRECATED_PROP_REASON",rZ,new emc("Property {0} of type {1} has been deprecated: {2}")); +RY=new k6("JSC_DEPRECATED_CLASS",rZ,new emc("Class {0} has been deprecated."));SY=new k6("JSC_DEPRECATED_CLASS_REASON",rZ,new emc("Class {0} has been deprecated: {1}"));KY=new k6("JSC_BAD_PACKAGE_PROPERTY_ACCESS",qZ,new emc("Access to package-private property {0} of {1} not allowed here."));LY=new k6("JSC_BAD_PRIVATE_GLOBAL_ACCESS",qZ,new emc("Access to private variable {0} not allowed outside file {1}."));MY=new k6("JSC_BAD_PRIVATE_PROPERTY_ACCESS",sZ,new emc("Access to private property {0} of {1} not allowed here.")); +NY=new k6("JSC_BAD_PROTECTED_PROPERTY_ACCESS",sZ,new emc("Access to protected property {0} of {1} not allowed here."));new k6("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY",qZ,new emc("Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility"));YY=new k6("JSC_PRIVATE_OVERRIDE",sZ,new emc("Overriding private property of {0}."));XY=new k6("JSC_EXTEND_FINAL_CLASS",qZ,new emc("{0} is not allowed to extend final class {1}."));ZY= +new k6("JSC_VISIBILITY_MISMATCH",sZ,new emc("Overriding {0} property of {1} with {2} property."));PY=new k6("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE",sZ,new emc("constant property {0} assigned a value more than once"));OY=new k6("JSC_CONSTANT_PROPERTY_DELETED",sZ,new emc("constant property {0} cannot be deleted"));QY=new k6("JSC_CONVENTION_MISMATCH",sZ,new emc("Declared access conflicts with access convention."))}function p8(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;if(rmc(a.c.c)==0)return;for(p=(C=(new inc(a.c)).a.Yd().Qd(),new onc(C));p.a.Kd();){o=(g=p.a.Ld(),g.ee());r=jwc(a.c,o);u=AYb(DD(yD(VR,1),HDc,7,0,[]));for(O=(D=(new inc(r.b.a)).a.Yd().Qd(),new onc(D));O.a.Kd();){M=(f=O.a.Ld(),f.ee());J0b(u,KYb(M.b,lYb(xYb(r.a),IYb(M.b))))}L=WXb(xYb(r.a),u);t=W1b(dYb(xYb(r.a),AYb(DD(yD(VR,1),HDc,7,0,[])),(o6b(),i6b)),o);c8(a.e,t,o);if(o.j==v4b){n=o.b;y1b(o,n,new _1b(j4b));if(n.j!=j4b){Whb();!!n&&(n.j==i6b||n.j==$4b||n.j==Z3b)||(n=V1b((ee(tYb(n),n),new b2b(t4b, +n)),n));c8(a.e,n,o)}m=U0b(o,2);if(m.j==j4b)y1b(o,m,Y1b(L,o));else{F=new _1b(j4b);y1b(o,m,F);y1b(o,F,Y1b(XXb(X3b,L,m),o))}}else o.j==h4b?J0b(o.b,Y1b((ee(tYb(L),L),new b2b(t4b,L)),o)):J0b(o.b?o.b.f:null,Y1b((ee(tYb(L),L),new b2b(t4b,L)),o));P1(a.e.a,o);for(N=(B=(new inc(r.b.a)).a.Yd().Qd(),new onc(B));N.a.Kd();){M=(f=N.a.Ld(),f.ee());for(H=_h(a.d,M).Qd();H.Kd();){G=H.Ld();Whb();if((o.j==x4b||o.j==w4b)&&o.b==G.e)K0b(o.b?o.b.f:null,Y1b(gYb(WXb(lYb(xYb(r.a),IYb(M.b)),M.c.mi(false))),G));else{if(Xib(G.e)){e= +G.e;j=e.e;d8(a.e,e,j);e=G.e;if(G.b){q=G.mi(false);b=WXb(q,w1b(G));g8(e,G,e);h8(e,j,G,e);E1b(b,$0b(e,29));I=Y1b((ee(tYb(b),b),new b2b(t4b,b)),e);y1b(j,e,I);G=q}else u1b(j,e);kvc(a.e.b,e);P1(a.e.a,j)}G.e.j==P3b&&G.e.b==G&&s1b(G.e,50,false);d=hib(G);z1b(G,Y1b(lYb(xYb(r.a),IYb(M.b)),G));!!d&&O1(a.e.a,d)}}}}for(i=rt(a.b).Qd();i.Kd();){h=i.Ld();K=new _1b((o6b(),J5b));A=_h(a.b,h);v=AD(VR,HDc,7,A.size(),0,1);w=AD(VR,HDc,7,A.size(),0,1);k=0;for(s=A.Qd();s.Kd();){r=s.Ld();v[k]=xYb(r.a);w[k]=xYb(r.a);++k}l= +jYb((ie(Wkc("",olc(46))==-1,GDc,""),new $2b(g5b,"")),DYb(v),YXb(K));O1(a.e.a,l);c=$Xb(l,w);J=x1b(c,c.g,50);J!=c.g&&(c.g=J);c.g=new D2b(50,1,c.g);Whb();h.j==y4b&&Lib(h.e)?I=Y1b(dYb(xYb(h.b.oi()),c,i6b),h):I=Y1b(c,h);y1b(h.e,h,I);K0b(K,h);P1(a.e.a,I)}}function F8(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;C8(a,c);s=Q8(c,d);if(!s||s.f==null)throw HV(new Wjc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+c));if(s.k.j!=(o6b(),j4b)&&!l1b(s.k)){N1(a.a, +Ieb(s.k,x8,DD(yD(sT,1),FBc,2,6,[])));return}ie(bjb(s.g),"insertion point must be a statement: %s",s.g);g=null;h=null;f=c.b?c.b.f:null;for(r=(!f.b?(Uqc(),Uqc(),Tqc):new S2b(f.b)).Qd();r.Kd();){q=r.Ld();if(q.j==Y3b&&(Y0b(q,73)!=0||Y0b(q,74)!=0)||q.j==F4b||q.j==N5b)H8(a,q,s);else if(q.j==b5b&&Tkc(q.oi(),LFc)){h=$0b(q,29);g=S0b(q.b);s.a||y1b(g,g.b,s.c.mi(false))}else if(q.j==j4b);else{ie(q.j==b5b||q.j==Y3b,"Unexpected class member:",q);ie(Y0b(q,75)==0,"Member variables should have been transpiled earlier:", +q);G8(a,q,s)}}if(s.e.b){U0(a.a,jGc,false);j=gYb($Xb(pjb(a.a,kGc),DD(yD(VR,1),HDc,7,0,[pjb(a.a,s.f+gGc),s.e])));Y1b(j,c);H0b(s.g.e,j,s.g);s.g=j}if(s.d.b){U0(a.a,jGc,false);j=gYb($Xb(pjb(a.a,kGc),DD(yD(VR,1),HDc,7,0,[pjb(a.a,s.f),s.d])));Y1b(j,c);H0b(s.g.e,j,s.g);s.g=j}Zd(g);e=(Whb(),p=gib(c),!p?null:$0b(p,29));t=B0b(e);r_b(t);k=iib(c,Vhb);if(s.k.j!=j4b){v=_0b(s.k);if(JZb(t.a))C_b(t,new D0b(new b2b(H3b,new $2b(S5b,v)),(l=$0b(s.k,51),!l?null:l.Ig())));else{m=$0b(c,51);if(!(!!m&&m.wh())){n=$Xb(pjb(a.a, +tEc),DD(yD(VR,1),HDc,7,0,[pjb(a.a,s.f),pjb(a.a,v)]));o=(ee(tYb(n),n),new b2b(t4b,n));U0(a.a,"es6/util/inherits",false);Y1b(o,s.k);H0b(k.e,o,k)}n_b(t,new D0b(new b2b(H3b,new $2b(S5b,v)),(l=$0b(s.k,51),!l?null:l.Ig())))}}A8(a,s,k);E8(h,t);if(c.j!=e5b&&djb(c.e)){g.b.ti("");i=dYb(s.c.mi(false),g,$4b);Y1b(i,c);y1b(d,c,i)}else y1b(d,c,g);kjb(c,a.a);if(g.j!=e5b&&djb(g.e))E1b(g,f_b(t));else if(d.j==g5b){w=d.e;E1b(w,f_b(t))}else if(g.e.j==g5b){w=!g.e?null:g.e.e;E1b(w,f_b(t))}else if(d.j==t3b)E1b(d,f_b(t)); +else throw HV(new Wjc("Unexpected parent node "+d));u=x1b(g,g.g,92);u!=g.g&&(g.g=u);g.g=new D2b(92,1,g.g);zhb(b)}function f7(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=c.a;q=c.b;if(q.a.length==0)return;h=$0b(d,51);if(!!h&&h.wh())for(o=new Ppc(q);o.a3)&&gY(vDc+t,b);kX(a,b.b);VW(a,b.b.d);V0b(b)==3&&VW(a,b.b?b.b.f:null);return;case 76:case 100:case 88:DX(a,b.j,b);return;case 84:IX((o6b(),t4b), +b);u=q6b(b.j);u!=-1&&(v=V0b(b),u!=v&&gY(kDc+u+lDc+v,b));kX(a,b.b);return;case 0:IX((o6b(),J5b),b);yX(b);!!b.b&&kX(a,b.b);return;case 39:IX((o6b(),a6b),b);w=q6b(b.j);w!=-1&&(A=V0b(b),w!=A&&gY(kDc+w+lDc+A,b));kX(a,b.b);return;case 44:aY(a,b);return;case 74:IX((o6b(),O3b),b);yX(b);!!b.b&&xX(b.b);return;case 75:IX((o6b(),$3b),b);yX(b);!!b.b&&xX(b.b);return;case 80:case 89:d=V0b(b);0!=d&&gY(jDc+d,b);return;case 96:$W(a,b,c);BX(b.b);return;case 104:pX(a,b);return;case 108:hX(a,b,c);return;case 148:lX(a, +(VKb(),zKb),b);IX((o6b(),S4b),b);B=q6b(b.j);B!=-1&&(C=V0b(b),B!=C&&gY(kDc+B+lDc+C,b));D=b.b;BX(D);F=D.d;F.j==j4b?(G=V0b(F),0!=G&&gY(jDc+G,F)):tX(F);vX(a,b.b?b.b.f:null);return;case 151:fX(a,b);return;case 154:bY(a,b);return;case 155:lX(a,(VKb(),cKb),b);IX((o6b(),b4b),b);QW(a,b.b);return;case 159:EX(a,b,c);return;default:gY("Expected statement but was "+b.j+".",b)}}function Occ(){Occ=gW;Gbc=new Pcc(aKc,0);Fbc=new Pcc("ARRAY_FUNCTION_TYPE",1);Jbc=new Pcc(qKc,2);Ibc=new Pcc("BOOLEAN_OBJECT_TYPE",3); +Hbc=new Pcc("BOOLEAN_OBJECT_FUNCTION_TYPE",4);Kbc=new Pcc("CHECKED_UNKNOWN_TYPE",5);Mbc=new Pcc("DATE_TYPE",6);Lbc=new Pcc("DATE_FUNCTION_TYPE",7);Nbc=new Pcc("EMPTY_OBJECT_LITERAL_TYPE",8);Obc=new Pcc("ERROR_FUNCTION_TYPE",9);Pbc=new Pcc("ERROR_TYPE",10);Qbc=new Pcc("EVAL_ERROR_FUNCTION_TYPE",11);Rbc=new Pcc("EVAL_ERROR_TYPE",12);Sbc=new Pcc(bIc,13);Tbc=new Pcc("FUNCTION_FUNCTION_TYPE",14);Ubc=new Pcc("FUNCTION_INSTANCE_TYPE",15);Vbc=new Pcc("FUNCTION_PROTOTYPE",16);Wbc=new Pcc("GENERATOR_TYPE", +17);$bc=new Pcc("I_ITERABLE_RESULT_TYPE",18);Zbc=new Pcc("ITERATOR_TYPE",19);_bc=new Pcc("I_TEMPLATE_ARRAY_TYPE",20);ecc=new Pcc("NULL_TYPE",21);kcc=new Pcc(rKc,22);hcc=new Pcc("NUMBER_OBJECT_TYPE",23);gcc=new Pcc("NUMBER_OBJECT_FUNCTION_TYPE",24);qcc=new Pcc("OBJECT_TYPE",25);mcc=new Pcc("OBJECT_FUNCTION_TYPE",26);pcc=new Pcc("OBJECT_PROTOTYPE",27);rcc=new Pcc("RANGE_ERROR_FUNCTION_TYPE",28);scc=new Pcc("RANGE_ERROR_TYPE",29);tcc=new Pcc("REFERENCE_ERROR_FUNCTION_TYPE",30);ucc=new Pcc("REFERENCE_ERROR_TYPE", +31);wcc=new Pcc("REGEXP_TYPE",32);vcc=new Pcc("REGEXP_FUNCTION_TYPE",33);ycc=new Pcc("STRING_OBJECT_TYPE",34);xcc=new Pcc("STRING_OBJECT_FUNCTION_TYPE",35);zcc=new Pcc(pKc,36);Bcc=new Pcc("SYNTAX_ERROR_FUNCTION_TYPE",37);Ccc=new Pcc("SYNTAX_ERROR_TYPE",38);Ecc=new Pcc(gIc,39);Gcc=new Pcc("TYPE_ERROR_FUNCTION_TYPE",40);Hcc=new Pcc("TYPE_ERROR_TYPE",41);Kcc=new Pcc("UNKNOWN_TYPE",42);Lcc=new Pcc("URI_ERROR_FUNCTION_TYPE",43);Mcc=new Pcc("URI_ERROR_TYPE",44);Ncc=new Pcc("VOID_TYPE",45);Dcc=new Pcc("TOP_LEVEL_PROTOTYPE", +46);Acc=new Pcc("STRING_VALUE_OR_OBJECT_TYPE",47);lcc=new Pcc("NUMBER_VALUE_OR_OBJECT_TYPE",48);Ebc=new Pcc("ALL_TYPE",49);dcc=new Pcc("NO_TYPE",50);bcc=new Pcc("NO_OBJECT_TYPE",51);ccc=new Pcc("NO_RESOLVED_TYPE",52);Xbc=new Pcc("GLOBAL_THIS",53);Icc=new Pcc("U2U_CONSTRUCTOR_TYPE",54);Jcc=new Pcc("U2U_FUNCTION_TYPE",55);acc=new Pcc("LEAST_FUNCTION_TYPE",56);Ybc=new Pcc("GREATEST_FUNCTION_TYPE",57);fcc=new Pcc("NULL_VOID",58);ncc=new Pcc("OBJECT_NUMBER_STRING",59);occ=new Pcc("OBJECT_NUMBER_STRING_BOOLEAN", +60);jcc=new Pcc("NUMBER_STRING_BOOLEAN",61);icc=new Pcc("NUMBER_STRING",62);Fcc=new Pcc(hIc,63)}function VKb(){VKb=gW;hKb=new WKb("BLOCK_SCOPED_FUNCTION_DECLARATION",0,"block function",0);qKb=new WKb("ES3_KEYWORDS_AS_IDENTIFIERS",1,"ES3 keywords as identifiers",1);wKb=new WKb("GETTER",2,"getters",1);AKb=new WKb("KEYWORDS_AS_PROPERTIES",3,"reserved words as properties",1);MKb=new WKb("SETTER",4,"setters",1);OKb=new WKb("STRING_CONTINUATION",5,"string continuation",1);RKb=new WKb("TRAILING_COMMA",6, +"trailing comma",1);eKb=new WKb("ARROW_FUNCTIONS",7,"arrow function",2);gKb=new WKb("BINARY_LITERALS",8,"binary literal",2);HKb=new WKb("OCTAL_LITERALS",9,"octal literal",2);jKb=new WKb("CLASSES",10,$Dc,2);kKb=new WKb("COMPUTED_PROPERTIES",11,"computed property",2);sKb=new WKb("EXTENDED_OBJECT_LITERALS",12,"extended object literal",2);tKb=new WKb("FOR_OF",13,"for-of loop",2);uKb=new WKb("GENERATORS",14,"generator",2);BKb=new WKb("LET_DECLARATIONS",15,"let declaration",2);CKb=new WKb("MEMBER_DECLARATIONS", +16,"member declaration",2);KKb=new WKb("REGEXP_FLAG_Y",17,"RegExp flag 'y'",2);dKb=new WKb("ARRAY_PATTERN_REST",18,"array pattern rest",2);LKb=new WKb("REST_PARAMETERS",19,"rest parameter",2);NKb=new WKb("SPREAD_EXPRESSIONS",20,"spread expression",2);PKb=new WKb(vJc,21,dEc,2);QKb=new WKb("TEMPLATE_LITERALS",22,"template literal",2);mKb=new WKb("CONST_DECLARATIONS",23,"const declaration",2);oKb=new WKb("DESTRUCTURING",24,"destructuring",2);GKb=new WKb(wJc,25,eEc,2);JKb=new WKb("REGEXP_FLAG_U",26,"RegExp flag 'u'", +2);nKb=new WKb("DEFAULT_PARAMETERS",27,"default parameter",2);EKb=new WKb("MODULES",28,"modules",2);rKb=new WKb("EXPONENT_OP",29,"exponent operator (**)",3);fKb=new WKb("ASYNC_FUNCTIONS",30,qEc,4);SKb=new WKb("TRAILING_COMMA_IN_PARAM_LIST",31,"trailing comma in param list",4);bKb=new WKb("ACCESSIBILITY_MODIFIER",32,"accessibility modifier",5);cKb=new WKb(xJc,33,"ambient declaration",5);iKb=new WKb(yJc,34,"call signature",5);lKb=new WKb("CONSTRUCTOR_SIGNATURE",35,"constructor signature",5);pKb=new WKb(vIc, +36,mEc,5);vKb=new WKb("GENERICS",37,"generics",5);xKb=new WKb(yIc,38,aEc,5);yKb=new WKb(zJc,39,"index signature",5);zKb=new WKb(zIc,40,lEc,5);DKb=new WKb("MEMBER_VARIABLE_IN_CLASS",41,"member variable in class",5);FKb=new WKb(AJc,42,"namespace declaration",5);IKb=new WKb(BJc,43,"optional parameter",5);TKb=new WKb(CJc,44,"type alias",5);UKb=new WKb("TYPE_ANNOTATION",45,"type annotation",5)}function u$(){u$=gW;new k6("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(tZ(),qZ),new emc("goog.module parameter must be string literals")); +new k6("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",qZ,new emc("goog.provide parameter must be a string literal."));new k6("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",qZ,new emc("goog.require parameter must be a string literal."));new k6("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",qZ,new emc("goog.forwardDeclare parameter must be a string literal."));new k6("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",qZ,new emc("goog.module.get parameter must be a string literal."));new k6("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL", +qZ,new emc("goog.provide can not be called in goog.module."));new k6("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",qZ,new emc("goog.module.get can not be called in global scope."));new k6("JSC_GOOG_MODULE_INVALID_GET_ALIAS",qZ,new emc("goog.module.get should not be aliased."));new k6("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",qZ,new emc("Computed properties are not yet supported in goog.module exports."));s$=new k6("JSC_USELESS_USE_STRICT_DIRECTIVE",rZ,new emc("'use strict' is unnecessary in goog.module files.")); +new k6("JSC_DUPLICATE_MODULE",qZ,new emc("Duplicate module: {0}"));new k6("JSC_DUPLICATE_NAMESPACE",qZ,new emc("Duplicate namespace: {0}"));r$=new k6("JSC_MISSING_MODULE_OR_PROVIDE",qZ,new emc('Required namespace "{0}" never defined.'));q$=new k6(LDc,qZ,new emc('Required namespace "{0}" not provided yet.'));new k6("JSC_IMPORT_INLINING_SHADOWS_VAR",qZ,new emc('Inlining of reference to import "{1}" shadows var "{0}".'));new k6("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",qZ,new emc("Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style")); +new k6("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",qZ,new emc('Destructuring import reference to name "{0}" was not exported in module {1}'));t$=(Cn(),new Xy(MDc));lYb((ie(Wkc(FDc,olc(46))==-1,GDc,FDc),new $2b((o6b(),g5b),FDc)),new $2b(S5b,"forwardDeclare"));lYb((ie(Wkc(FDc,olc(46))==-1,GDc,FDc),new $2b(g5b,FDc)),new $2b(S5b,NDc));p$=lYb((ie(Wkc(FDc,olc(46))==-1,GDc,FDc),new $2b(g5b,FDc)),new $2b(S5b,ODc));lYb(p$,new $2b(S5b,"declareLegacyNamespace"));lYb(Q0b(p$,false),new $2b(S5b,"get"));lYb((ie(Wkc(FDc, +olc(46))==-1,GDc,FDc),new $2b(g5b,FDc)),new $2b(S5b,PDc));lYb((ie(Wkc(FDc,olc(46))==-1,GDc,FDc),new $2b(g5b,FDc)),new $2b(S5b,QDc))}function tOb(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;switch(yPb(a.g,0).c.f){case 45:return cNb(a);case 30:case 25:return FOb(a);case 52:return nNb(a);case 15:return HNb(a);case 10:return c=yPb(a.g,0).b.b,uMb(a,(pSb(),KQb)),d=pOb(a),uMb(a,mSb),uMb(a,vRb),e=IMb(a,1),uMb(a,AQb),IOb(a,ORb)&&uMb(a,ORb),new jTb(new KWb(c,a.f), +d,e);case 27:return f=yPb(a.g,0).b.b,uMb(a,(pSb(),mSb)),uMb(a,vRb),g=IMb(a,1),uMb(a,AQb),h=pOb(a),new AWb(new KWb(f,a.f),g,h);case 13:return xNb(a);case 6:return i=yPb(a.g,0).b.b,uMb(a,(pSb(),FQb)),j=null,k=yPb(a.g,0).b.b.b>a.f.b,k||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb)||(j=(l=yPb(a.g,0).c,Puc(Luc(ZQb,DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),l)||!a.b.c&&eMb(l)?wMb(a):null)),zMb(a),new fTb(new KWb(i,a.f),j);case 3:return m=yPb(a.g,0).b.b,uMb(a,(pSb(),sQb)),n=null,o=yPb(a.g,0).b.b.b>a.f.b,o||HOb(a, +0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb)||(n=(p=yPb(a.g,0).c,Puc(Luc(ZQb,DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),p)||!a.b.c&&eMb(p)?wMb(a):null)),zMb(a),new ISb(new KWb(m,a.f),n);case 19:return q=yPb(a.g,0).b.b,uMb(a,(pSb(),LRb)),r=null,s=yPb(a.g,0).b.b.b>a.f.b,s||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb)||(r=IMb(a,1)),zMb(a),new fWb(new KWb(q,a.f),r);case 28:return t=yPb(a.g,0).b.b,uMb(a,(pSb(),nSb)),uMb(a,vRb),u=IMb(a,1),uMb(a,AQb),v=pOb(a),new BWb(new KWb(t,a.f),u,v);case 20:return w=yPb(a.g,0).b.b, +uMb(a,(pSb(),ZRb)),uMb(a,vRb),A=IMb(a,1),uMb(a,AQb),uMb(a,uRb),B=eNb(a),uMb(a,zQb),new jWb(new KWb(w,a.f),A,B);case 22:return C=yPb(a.g,0).b.b,uMb(a,(pSb(),cSb)),D=null,F=yPb(a.g,0).b.b.b>a.f.b,F||HOb(a,0,ORb)||HOb(a,0,zQb)||HOb(a,0,MQb)?_Ob(a,"semicolon/newline not allowed after 'throw'",DD(yD(nT,1),WBc,1,5,[])):D=IMb(a,1),zMb(a),new oWb(new KWb(C,a.f),D);case 23:return G=yPb(a.g,0).b.b,uMb(a,(pSb(),fSb)),H=cNb(a),I=null,IOb(a,wQb)&&(I=(P=yPb(a.g,0).b.b,uMb(a,wQb),uMb(a,vRb),HOb(a,0,wRb)||HOb(a, +0,uRb)?Q=cOb(a,0):Q=GNb(a),uMb(a,AQb),R=cNb(a),new MSb(new KWb(P,a.f),Q,R))),J=null,IOb(a,VQb)&&(J=(S=yPb(a.g,0).b.b,uMb(a,VQb),T=cNb(a),new pTb(new KWb(S,a.f),T))),!I&&!J&&_Ob(a,"'catch' or 'finally' expected.",DD(yD(nT,1),WBc,1,5,[])),new pWb(new KWb(G,a.f),H,I,J);case 7:return K=yPb(a.g,0).b.b,uMb(a,(pSb(),GQb)),zMb(a),new gTb(new KWb(K,a.f));default:{b=yPb(a.g,0).c;if((Puc(Luc((pSb(),ZQb),DD(yD(mP,1),_Bc,12,0,[gSb,HQb,lRb,mRb])),b)||!a.b.c&&eMb(b))&&HOb(a,1,CQb))return L=yPb(a.g,0).b.b,M=vMb(a), +uMb(a,CQb),new XTb(new KWb(L,a.f),M,pOb(a))}return N=yPb(a.g,0).b.b,O=IMb(a,1),zMb(a),new oTb(new KWb(N,a.f),O)}}function xzb(){xzb=gW;qzb=new k6("JSC_NTI_INVALID_GENERICS_INSTANTIATION",(tZ(),sZ),new emc("Invalid generics instantiation{0}.\nExpected {1} type argument(s), but found {2}"));kzb=new k6("JSC_NTI_EXTENDS_NON_OBJECT",sZ,new emc("{0} extends non-object type {1}.\n"));lzb=new k6("JSC_NTI_EXTENDS_NOT_ON_CTOR_OR_INTERF",sZ,new emc("@extends used without @constructor or @interface for {0}.\n")); +pzb=new k6("JSC_NTI_INHERITANCE_CYCLE",sZ,new emc("Cycle detected in inheritance chain of type {0}"));fzb=new k6("JSC_NTI_DICT_IMPLEMENTS_INTERF",sZ,new emc("Class {0} is a dict. Dicts can't implement interfaces"));ozb=new k6("JSC_NTI_IMPLEMENTS_WITHOUT_CONSTRUCTOR",sZ,new emc(MGc));dzb=new k6("JSC_NTI_CONFLICTING_EXTENDED_TYPE",sZ,new emc(UHc));ezb=new k6("JSC_NTI_CONFLICTING_IMPLEMENTED_TYPE",sZ,new emc(VHc));vzb=new k6("JSC_NTI_UNION_IS_UNINHABITABLE",sZ,new emc("Union of {0} with {1} would create an impossible type")); +szb=new k6("JSC_NTI_NEW_EXPECTS_OBJECT_OR_TYPEVAR",sZ,new emc('The "new:" annotation only accepts object types and type variables; found {0}'));_yb=new k6("JSC_NTI_BAD_ARRAY_TYPE_SYNTAX",sZ,new emc("The [] type syntax is not supported. Please use Array instead"));azb=new k6("JSC_NTI_CANNOT_MAKE_TYPEVAR_NON_NULL",sZ,new emc("Cannot use ! to restrict type variable type.\nPrefer to make type argument non-nullable and add null explicitly where needed (e.g. through ?T or T|null)"));bzb=new k6("JSC_NTI_CIRCULAR_TYPEDEF_ENUM", +sZ,new emc("Circular typedefs/enums are not allowed"));izb=new k6("JSC_NTI_ENUM_WITH_TYPEVARS",sZ,new emc("An enum type cannot include type variables"));gzb=new k6("JSC_NTI_ENUM_IS_TOP",sZ,new emc("An enum type cannot be *. Use ? if you do not want the elements checked"));hzb=new k6("JSC_NTI_ENUM_IS_UNION",sZ,new emc("An enum type cannot be a union type"));wzb=new k6("JSC_NTI_WRONG_PARAMETER_ORDER",sZ,new emc("Wrong parameter order: required parameters are first, then optional, then varargs"));nzb= +new k6("JSC_NTI_IMPLEMENTS_NON_INTERFACE",sZ,new emc("Cannot implement non-interface {0}"));jzb=new k6("JSC_NTI_EXTENDS_NON_INTERFACE",sZ,new emc("Cannot extend non-interface {0}"));mzb=new k6("JSC_NTI_FUNCTION_WITH_NONFUNC_JSDOC",sZ,new emc("The function is annotated with a non-function jsdoc. Ignoring jsdoc"));tzb=new k6("JSC_NTI_TEMPLATED_GETTER_SETTER",sZ,new emc("@template can't be used with getters/setters"));uzb=new k6("JSC_NTI_TWO_JSDOCS",sZ,new emc("Found two JsDoc comments for {0}"));czb= +new A5(DD(yD(tK,1),WBc,5,0,[_yb,bzb,dzb,ezb,jzb,kzb,lzb,nzb,ozb,pzb,szb,tzb,uzb,wzb]));rzb=new A5(DD(yD(tK,1),WBc,5,0,[azb,fzb,gzb,hzb,izb,mzb,qzb,vzb]))}function zeb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;g=false;k=new spc;k.a[k.a.length]="/**";(b.a&lGc)!=0?(k.a[k.a.length]="@export",true):!!b.j&&b.j!=(_$b(),W$b)&&gpc(k,"@"+pe(b.j).toLowerCase());(b.a&aHc)!=0&&(k.a[k.a.length]="@abstract",true);(!b.d?null:b.d.g)!=null&&gpc(k,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&37)!=0&&(b.a&4)==0&&(b.a&32)== +0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);d=!b.d?null:b.d.c;d!=null&&(k.a[k.a.length]="@desc "+d+RCc,true);(b.a&iGc)!=0&&(k.a[k.a.length]="@dict",true);(b.a&bDc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&hGc)!=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&IFc)!=0)&&(b.a&IFc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&IFc)!=0)&&(b.a&IFc)!=0&&(k.a[k.a.length]="@record",true);if(!b.d? +null:b.d.a){g=true;s=Aeb((!b.d?null:b.d.a).a);gpc(k,xeb(a,_Dc,s))}for(r=oZb(b).Qd();r.Kd();){p=r.Ld();g=true;s=Aeb(p.a);gpc(k,xeb(a,_Dc,s))}for(q=qZb(b).Qd();q.Kd();){p=q.Ld();g=true;s=Aeb(p.a);gpc(k,xeb(a,aEc,s))}if(b.g){g=true;s=Aeb(b.g.a);gpc(k,xeb(a,cEc,s))}if(uZb(b)>0){g=true;for(i=wZb(b).Qd();i.Kd();){h=i.Ld();gpc(k,"@param "+yeb(a,h,xZb(b,h)))}}if((b.a&vFc)==ACc){g=true;gpc(k,xeb(a,SDc,((vFc&b.a)==ACc?b.i:null).a))}AZb(b).isEmpty()||gpc(k,xeb(a,bHc,AZb(b).getAtIndex(0).a));j=zZb(b);if(!j.isEmpty()){gpc(k, +cHc+Oc(new Qc(String.fromCharCode(44)),j.Qd()));g=true}t=DZb(b);if(!t.isEmpty()){g=true;for(f=Qo(t).Qd();f.Kd();){e=f.Ld();h=e.ee();o=A_(new F_(e.fe()));k.a[k.a.length]=cHc+h+" := "+o+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&vFc)==wFc&&(b.a&4)==0&&(b.e?gpc(k,Beb(a,((vFc&b.a)==wFc?b.i:null).a)):gpc(k,xeb(a,oEc,((vFc&b.a)==wFc?b.i:null).a)));(b.a&4)!=0&&gpc(k,xeb(a,"define",((vFc&b.a)==wFc?b.i:null).a));(b.a&vFc)==DBc&&gpc(k,xeb(a,"typedef",((vFc&b.a)==DBc?b.i:null).a));(b.a&vFc)== +OGc&&gpc(k,xeb(a,mEc,((vFc&b.a)==OGc?b.i:null).a));(b.a&8192)!=0&&(k.a[k.a.length]="@implicitCast",true);n=(m=!b.d?null:b.d.p,!m?(Uqc(),Uqc(),Tqc):m);if(!n.isEmpty()){c=n.Rd(AD(sT,FBc,2,0,6,1));lqc(c,(Mx(),Lx));gpc(k,"@suppress {"+Oc(new Qc(String.fromCharCode(44)),new Smc(new vqc(c)))+"}");g=true}if((b.a&256)!=0){gpc(k,"@deprecated "+(!b.d?null:b.d.b));g=true}if(!!b.d&&E$b(b.d,7)){g=true;k.a[k.a.length]="@polymer"}if(!!b.d&&E$b(b.d,6)){g=true;k.a[k.a.length]="@polymerBehavior"}if(!!b.d&&E$b(b.d, +10)){g=true;k.a[k.a.length]="@mixinFunction"}if(!!b.d&&E$b(b.d,9)){g=true;k.a[k.a.length]="@mixinClass"}if(!!b.d&&E$b(b.d,8)){g=true;k.a[k.a.length]="@customElement"}k.a[k.a.length]="*/";l=new Hlc;g?Mc(new Qc("\n "),l,new Ppc(k)):Mc(new Qc(" "),l,new Ppc(k));l.a+=g?RCc:" ";return l.a}function Xlb(){Xlb=gW;new k6("JSC_NULL_ARGUMENT_ERROR",(tZ(),qZ),new emc('method "{0}" called without an argument'));new k6("JSC_EXPECTED_OBJECTLIT_ERROR",qZ,new emc('method "{0}" expected an object literal argument')); +new k6("JSC_EXPECTED_STRING_ERROR",qZ,new emc('method "{0}" expected an object string argument'));new k6("JSC_INVALID_ARGUMENT_ERROR",qZ,new emc('method "{0}" called with invalid argument'));new k6("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",qZ,new emc("Invalid CSS name map style {0}"));new k6("JSC_TOO_MANY_ARGUMENTS_ERROR",qZ,new emc('method "{0}" called with more than one argument'));new k6("JSC_DUPLICATE_NAMESPACE_ERROR",qZ,new emc('namespace "{0}" cannot be provided twice'));new k6("JSC_WEAK_NAMESPACE_TYPE", +sZ,new emc("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 k6("JSC_CLASS_NAMESPACE_ERROR",qZ,new emc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new k6("JSC_FUNCTION_NAMESPACE_ERROR",qZ,new emc('"{0}" cannot be both provided and declared as a function'));Vlb=new k6("JSC_MISSING_PROVIDE_ERROR",qZ,new emc('required "{0}" namespace never provided')); +Ulb=new k6(LDc,qZ,new emc('required "{0}" namespace not provided yet'));Tlb=new k6("JSC_INVALID_PROVIDE_ERROR",qZ,new emc('"{0}" is not a valid {1} qualified name'));new k6("JSC_INVALID_DEFINE_NAME_ERROR",qZ,new emc('"{0}" is not a valid JS identifier name'));new k6("JSC_INVALID_MISSING_DEFINE_ANNOTATION",qZ,new emc("Missing @define annotation"));new k6("JSC_XMODULE_REQUIRE_ERROR",sZ,new emc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?')); +Slb=new k6("JSC_INVALID_CLOSURE_CALL_ERROR",qZ,new emc("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));new k6("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",qZ,new emc("goog.setCssNameMapping only takes an object literal with string values"));new k6("INVALID_CSS_RENAMING_MAP",sZ,new emc("Invalid entries in css renaming map: {0}"));new k6(zHc,qZ,new emc("incorrect use of goog.base: {0}"));new k6(zHc,qZ,new emc("incorrect use of {0}.base: {1}")); +new k6("JSC_CLOSURE_DEFINES_ERROR",qZ,new emc("Invalid CLOSURE_DEFINES definition"));new k6("JSC_INVALID_FORWARD_DECLARE",qZ,new emc("Malformed goog.forwardDeclaration"));Wlb=new k6("JSC_USE_OF_GOOG_BASE",rZ,new emc("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')"))} +function vDb(){vDb=gW;TCb=new wDb("NG_INJECT",0);lCb=new wDb("ABSTRACT",1);mCb=new wDb("AUTHOR",2);qCb=new wDb("CUSTOM_ELEMENT",3);nCb=new wDb("CONSISTENTIDGENERATOR",4);oCb=new wDb("CONSTANT",5);pCb=new wDb(uIc,6);gDb=new wDb("RECORD",7);rCb=new wDb("DEFINE",8);sCb=new wDb("DEPRECATED",9);tCb=new wDb("DESC",10);uCb=new wDb("DICT",11);vCb=new wDb("DISPOSES",12);wCb=new wDb(vIc,13);zCb=new wDb(wIc,14);ACb=new wDb("EXTERNS",15);xCb=new wDb(xIc,16);yCb=new wDb("EXPOSE",17);BCb=new wDb("FILE_OVERVIEW", +18);CCb=new wDb("FINAL",19);DCb=new wDb("HIDDEN",20);ECb=new wDb("IDGENERATOR",21);FCb=new wDb(yIc,22);GCb=new wDb("IMPLICIT_CAST",23);HCb=new wDb("INHERIT_DOC",24);ICb=new wDb(zIc,25);JCb=new wDb("JAGGER_INJECT",26);KCb=new wDb("JAGGER_MODULE",27);LCb=new wDb("JAGGER_PROVIDE",28);MCb=new wDb("JAGGER_PROVIDE_PROMISE",29);NCb=new wDb("LENDS",30);OCb=new wDb("LICENSE",31);PCb=new wDb("MEANING",32);QCb=new wDb("MIXIN_CLASS",33);RCb=new wDb("MIXIN_FUNCTION",34);SCb=new wDb("MODIFIES",35);VCb=new wDb("NO_ALIAS", +36);WCb=new wDb("NO_COLLAPSE",37);XCb=new wDb("NO_COMPILE",38);YCb=new wDb("NO_SIDE_EFFECTS",39);UCb=new wDb("NOT_IMPLEMENTED",40);ZCb=new wDb("OVERRIDE",41);$Cb=new wDb(AIc,42);_Cb=new wDb("PARAM",43);aDb=new wDb("POLYMER",44);bDb=new wDb("POLYMER_BEHAVIOR",45);cDb=new wDb("PRESERVE",46);dDb=new wDb(BIc,47);eDb=new wDb(CIc,48);fDb=new wDb(DIc,49);hDb=new wDb(EIc,50);iDb=new wDb("SEE",51);jDb=new wDb("STABLEIDGENERATOR",52);kDb=new wDb("STRUCT",53);lDb=new wDb("SUPPRESS",54);mDb=new wDb("TEMPLATE", +55);nDb=new wDb(FIc,56);oDb=new wDb("THROWS",57);pDb=new wDb(GIc,58);qDb=new wDb("TYPEDEF",59);rDb=new wDb("UNRESTRICTED",60);sDb=new wDb("VERSION",61);tDb=new wDb("WIZACTION",62);uDb=mr(new pr,"ngInject",TCb).qf("abstract",lCb).qf("argument",_Cb).qf("author",mCb).qf("consistentIdGenerator",nCb).qf(lFc,oCb).qf("constant",oCb).qf(LFc,pCb).qf("customElement",qCb).qf("copyright",OCb).qf("define",rCb).qf(hFc,sCb).qf("desc",tCb).qf("dict",uCb).qf("disposes",vCb).qf(mEc,wCb).qf(WDc,xCb).qf("expose",yCb).qf(_Dc, +zCb).qf("externs",ACb).qf("fileoverview",BCb).qf("final",CCb).qf("hidden",DCb).qf("idGenerator",ECb).qf(aEc,FCb).qf("implicitCast",GCb).qf("inheritDoc",HCb).qf(lEc,ICb).qf("record",gDb).qf("jaggerInject",JCb).qf("jaggerModule",KCb).qf("jaggerProvidePromise",MCb).qf("jaggerProvide",LCb).qf("lends",NCb).qf("license",OCb).qf("meaning",PCb).qf("mixinClass",QCb).qf("mixinFunction",RCb).qf("modifies",SCb).qf("noalias",VCb).qf("nocollapse",WCb).qf("nocompile",XCb).qf("nosideeffects",YCb).qf("override",ZCb).qf("owner", +mCb).qf(HIc,$Cb).qf("param",_Cb).qf("polymer",aDb).qf("polymerBehavior",bDb).qf("preserve",cDb).qf(IIc,dDb).qf(JIc,eDb).qf(KIc,fDb).qf(SDc,hDb).qf("returns",hDb).qf("see",iDb).qf("stableIdGenerator",jDb).qf("struct",kDb).qf("suppress",lDb).qf("template",mDb).qf(cEc,nDb).qf(bHc,oDb).qf(oEc,pDb).qf("typedef",qDb).qf("unrestricted",rDb).qf("version",sDb).qf("wizaction",tDb).pf()}function b$(){b$=gW;new k6(DDc,(tZ(),qZ),new emc("@export has no effect here"));VZ=new k6(DDc,qZ,new emc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead.")); +WZ=new k6("JSC_GOOG_MODULE_IN_NON_MODULE",qZ,new emc("goog.module() call must be the first statement in a module."));new k6("JSC_GOOG_MODULE_REFERENCES_THIS",qZ,new emc("The body of a goog.module cannot reference 'this'."));new k6("JSC_GOOG_MODULE_USES_THROW",qZ,new emc("The body of a goog.module cannot use 'throw'."));new k6("JSC_GOOG_MODULE_USES_GOOG_MODULE_GET",qZ,new emc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new k6("JSC_DUPLICATE_NAME_SHORT_REQUIRE", +qZ,new emc("Found multiple goog.require statements importing identifier ''{0}''."));new k6("JSC_INVALID_DESTRUCTURING_REQUIRE",qZ,new emc("Destructuring goog.require must be a simple object pattern."));new k6("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE",qZ,new emc("Cannot destructure a forward-declared type"));$Z=new k6("JSC_LET_GOOG_REQUIRE",rZ,new emc("Module imports must be constant. Please use 'const' instead of 'let'."));new k6("JSC_MULTIPLE_MODULES_IN_FILE",qZ,new emc("There should only be a single goog.module() statement per file.")); +new k6("JSC_MODULE_AND_PROVIDES",qZ,new emc("A file using goog.module() may not also use goog.provide() statements."));new k6("JSC_ONE_REQUIRE_PER_DECLARATION",qZ,new emc("There may only be one goog.require() per var/let/const declaration."));XZ=new k6("JSC_INCORRECT_SHORTNAME_CAPITALIZATION",rZ,new emc("The capitalization of short name {0} is incorrect; it should be {1}."));new k6("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",qZ,new emc("Exports must be a statement at the top-level of a module"));new k6("JSC_EXPORT_REPEATED_ERROR", +qZ,new emc("Name cannot be exported multiple times. Previous export on line {0}."));new k6("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",qZ,new emc("References to the global name of a module are not allowed. Perhaps you meant exports?"));_Z=new k6("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",rZ,new emc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));a$=new k6("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME", +rZ,new emc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));YZ=new k6("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",rZ,new emc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));ZZ=new k6("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",rZ,new emc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead.")); +new k6("JSC_REQUIRE_NOT_AT_TOP_LEVEL",qZ,new emc("goog.require() must be called at file scope."))}function s6b(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=ABc;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= -hEc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=XDc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=$Dc;d=true;break g;case 108:b=cEc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=hFc;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=aEc;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=BJc;d=true}else if(c==114){b=PDc;d=true}break g;case 104:b=YGc;d=true;break g;case 109:b=WDc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=GIc;d=true;break g;case 117:b=FIc;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=TDc;d=true;break g;case 121:b=lHc;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=CIc;d=true;break g;case 101:b=UDc;d=true;break g; -case 105:b=ODc;d=true;break g;case 111:b=uBc;d=true;break g;case 114:b=DIc;d=true;break g;case 120:b=YDc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=eEc;d=true;break g;case 100:b=gEc;d=true;break g;case 102:b=wBc;d=true;break g;case 118:b="volatile";d=true;break g}break g;case 9:c=e.charCodeAt(0);if(c==105){b=iEc;d=true}else if(c==112){b=EIc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=ZDc;d=true}else if(c== -110){b=mHc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!Rkc(b,e))return false}return d}function YVb(){YVb=gW;wVb=new ZVb("PROGRAM",0);XUb=new ZVb("FUNCTION_DECLARATION",1);rUb=new ZVb("BLOCK",2);UVb=new ZVb("VARIABLE_STATEMENT",3);SVb=new ZVb("VARIABLE_DECLARATION",4);NUb=new ZVb("EMPTY_STATEMENT",5);RUb=new ZVb("EXPRESSION_STATEMENT",6);aVb=new ZVb("IF_STATEMENT",7);MUb=new ZVb("DO_WHILE_STATEMENT",8);VVb=new ZVb("WHILE_STATEMENT",9);UUb=new ZVb("FOR_IN_STATEMENT",10); -WUb=new ZVb("FOR_STATEMENT",11);TVb=new ZVb("VARIABLE_DECLARATION_LIST",12);IUb=new ZVb("CONTINUE_STATEMENT",13);sUb=new ZVb("BREAK_STATEMENT",14);AVb=new ZVb("RETURN_STATEMENT",15);WVb=new ZVb("WITH_STATEMENT",16);vUb=new ZVb("CASE_CLAUSE",17);KUb=new ZVb("DEFAULT_CLAUSE",18);EVb=new ZVb("SWITCH_STATEMENT",19);fVb=new ZVb("LABELLED_STATEMENT",20);JVb=new ZVb("THROW_STATEMENT",21);wUb=new ZVb(yJc,22);KVb=new ZVb("TRY_STATEMENT",23);JUb=new ZVb("DEBUGGER_STATEMENT",24);IVb=new ZVb("THIS_EXPRESSION", -25);_Ub=new ZVb("IDENTIFIER_EXPRESSION",26);gVb=new ZVb("LITERAL_EXPRESSION",27);lUb=new ZVb("ARRAY_LITERAL_EXPRESSION",28);rVb=new ZVb("OBJECT_LITERAL_EXPRESSION",29);zUb=new ZVb("COMPREHENSION",30);BUb=new ZVb("COMPREHENSION_IF",31);AUb=new ZVb("COMPREHENSION_FOR",32);$Ub=new ZVb("GET_ACCESSOR",33);BVb=new ZVb("SET_ACCESSOR",34);xVb=new ZVb("PROPERTY_NAME_ASSIGNMENT",35);CUb=new ZVb("COMPUTED_PROPERTY_DEFINITION",36);DUb=new ZVb("COMPUTED_PROPERTY_GETTER",37);FUb=new ZVb("COMPUTED_PROPERTY_METHOD", -38);GUb=new ZVb("COMPUTED_PROPERTY_SETTER",39);kVb=new ZVb("MISSING_PRIMARY_EXPRESSION",40);yUb=new ZVb("COMMA_EXPRESSION",41);qUb=new ZVb("BINARY_OPERATOR",42);HUb=new ZVb("CONDITIONAL_EXPRESSION",43);PVb=new ZVb("UNARY_EXPRESSION",44);RVb=new ZVb("UPDATE_EXPRESSION",45);hVb=new ZVb("MEMBER_EXPRESSION",46);oVb=new ZVb("NEW_EXPRESSION",47);kUb=new ZVb("ARGUMENT_LIST",48);tUb=new ZVb("CALL_EXPRESSION",49);xUb=new ZVb("CLASS_DECLARATION",50);eVb=new ZVb("INTERFACE_DECLARATION",51);mVb=new ZVb(vJc,52); -nVb=new ZVb("NAMESPACE_NAME",53);OUb=new ZVb("ENUM_DECLARATION",54);iVb=new ZVb("MEMBER_LOOKUP_EXPRESSION",55);vVb=new ZVb("PAREN_EXPRESSION",56);SUb=new ZVb(CJc,57);DVb=new ZVb("SUPER_EXPRESSION",58);mUb=new ZVb(VJc,59);oUb=new ZVb("ASSIGNMENT_REST_ELEMENT",60);sVb=new ZVb(WJc,61);TUb=new ZVb("FORMAL_PARAMETER_LIST",62);CVb=new ZVb("SPREAD_EXPRESSION",63);qVb=new ZVb(ZHc,64);zVb=new ZVb("REST_PARAMETER",65);lVb=new ZVb("MODULE_IMPORT",66);PUb=new ZVb("EXPORT_DECLARATION",67);QUb=new ZVb("EXPORT_SPECIFIER", -68);bVb=new ZVb("IMPORT_DECLARATION",69);cVb=new ZVb("IMPORT_SPECIFIER",70);VUb=new ZVb("FOR_OF_STATEMENT",71);XVb=new ZVb("YIELD_EXPRESSION",72);LUb=new ZVb("DEFAULT_PARAMETER",73);FVb=new ZVb("TEMPLATE_LITERAL_EXPRESSION",74);GVb=new ZVb("TEMPLATE_LITERAL_PORTION",75);HVb=new ZVb("TEMPLATE_SUBSTITUTION",76);NVb=new ZVb("TYPE_NAME",77);OVb=new ZVb("TYPE_QUERY",78);LVb=new ZVb("TYPED_PARAMETER",79);tVb=new ZVb(wJc,80);uVb=new ZVb("PARAMETERIZED_TYPE_TREE",81);nUb=new ZVb(XJc,82);yVb=new ZVb(YJc,83); -QVb=new ZVb(ZJc,84);YUb=new ZVb($Jc,85);ZUb=new ZVb(_Jc,86);jVb=new ZVb("MEMBER_VARIABLE",87);EUb=new ZVb("COMPUTED_PROPERTY_MEMBER_VARIABLE",88);MVb=new ZVb(xJc,89);jUb=new ZVb(sJc,90);dVb=new ZVb(uJc,91);uUb=new ZVb(tJc,92);pVb=new ZVb("NEW_TARGET_EXPRESSION",93);pUb=new ZVb("AWAIT_EXPRESSION",94)}function nSb(){nSb=gW;KQb=new qSb("END_OF_FILE",0,"End of File");PQb=new qSb(dDc,1,"error");XQb=new qSb("IDENTIFIER",2,"identifier");qQb=new pSb("BREAK",3);tQb=new pSb("CASE",4);uQb=new pSb(yJc,5);DQb= -new pSb(zJc,6);EQb=new pSb(AJc,7);GQb=new pSb(MHc,8);HQb=new pSb("DELETE",9);IQb=new pSb("DO",10);JQb=new pSb("ELSE",11);TQb=new pSb(CJc,12);UQb=new pSb("FOR",13);VQb=new pSb(OGc,14);YQb=new pSb("IF",15);_Qb=new pSb("IN",16);aRb=new pSb(oJc,17);lRb=new pSb("NEW",18);JRb=new pSb(zIc,19);XRb=new pSb(DJc,20);_Rb=new pSb(AIc,21);aSb=new pSb("THROW",22);dSb=new pSb("TRY",23);fSb=new pSb(EJc,24);iSb=new pSb("VAR",25);jSb=new pSb("VOID",26);kSb=new pSb("WHILE",27);lSb=new pSb("WITH",28);vQb=new pSb(NGc, -29);CQb=new pSb("CONST",30);LQb=new pSb(qIc,31);QQb=new pSb(sIc,32);RQb=new pSb(rIc,33);$Qb=new pSb(FJc,34);WRb=new pSb(qJc,35);ZQb=new pSb(tIc,36);bRb=new pSb(uIc,37);fRb=new pSb("LET",38);wRb=new pSb(vIc,39);ERb=new pSb(wIc,40);FRb=new pSb(xIc,41);GRb=new pSb(yIc,42);URb=new pSb("STATIC",43);mSb=new pSb("YIELD",44);sRb=new qSb("OPEN_CURLY",45,"{");xQb=new qSb("CLOSE_CURLY",46,"}");tRb=new qSb("OPEN_PAREN",47,"(");yQb=new qSb("CLOSE_PAREN",48,")");uRb=new qSb("OPEN_SQUARE",49,"[");zQb=new qSb("CLOSE_SQUARE", -50,"]");zRb=new qSb("PERIOD",51,".");MRb=new qSb("SEMI_COLON",52,";");BQb=new qSb("COMMA",53,",");rRb=new qSb("OPEN_ANGLE",54,"<");wQb=new qSb("CLOSE_ANGLE",55,">");eRb=new qSb("LESS_EQUAL",56,"<=");WQb=new qSb("GREATER_EQUAL",57,">=");mQb=new qSb("ARROW",58,"=>");NQb=new qSb("EQUAL_EQUAL",59,"==");mRb=new qSb("NOT_EQUAL",60,"!=");OQb=new qSb("EQUAL_EQUAL_EQUAL",61,"===");nRb=new qSb("NOT_EQUAL_EQUAL",62,"!==");ARb=new qSb("PLUS",63,"+");gRb=new qSb("MINUS",64,"-");QRb=new qSb("STAR",65,"*");SRb= -new qSb("STAR_STAR",66,"**");xRb=new qSb("PERCENT",67,"%");CRb=new qSb("PLUS_PLUS",68,"++");iRb=new qSb("MINUS_MINUS",69,"--");cRb=new qSb("LEFT_SHIFT",70,"<<");KRb=new qSb("RIGHT_SHIFT",71,">>");gSb=new qSb("UNSIGNED_RIGHT_SHIFT",72,">>>");jQb=new qSb("AMPERSAND",73,"&");oQb=new qSb("BAR",74,"|");rQb=new qSb("CARET",75,"^");nQb=new qSb("BANG",76,"!");bSb=new qSb("TILDE",77,"~");lQb=new qSb("AND",78,"&&");vRb=new qSb("OR",79,"||");HRb=new qSb("QUESTION",80,"?");AQb=new qSb("COLON",81,":");MQb=new qSb("EQUAL", -82,"=");BRb=new qSb("PLUS_EQUAL",83,"+=");hRb=new qSb("MINUS_EQUAL",84,"-=");RRb=new qSb("STAR_EQUAL",85,"*=");TRb=new qSb("STAR_STAR_EQUAL",86,"**=");yRb=new qSb("PERCENT_EQUAL",87,"%=");dRb=new qSb("LEFT_SHIFT_EQUAL",88,"<<=");LRb=new qSb("RIGHT_SHIFT_EQUAL",89,">>=");hSb=new qSb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");kQb=new qSb("AMPERSAND_EQUAL",91,"&=");pQb=new qSb("BAR_EQUAL",92,"|=");sQb=new qSb("CARET_EQUAL",93,"^=");NRb=new qSb("SLASH",94,"/");ORb=new qSb("SLASH_EQUAL",95,"/=");DRb=new qSb("POUND", -96,"#");pRb=new pSb(ZHc,97);cSb=new pSb(REc,98);SQb=new pSb(QEc,99);qRb=new qSb($Hc,100,"number literal");VRb=new qSb(_Hc,101,"string literal");IRb=new qSb("REGULAR_EXPRESSION",102,"regular expression literal");PRb=new qSb("SPREAD",103,SDc);YRb=new qSb("TEMPLATE_HEAD",104,"template head");ZRb=new qSb("TEMPLATE_MIDDLE",105,"template middle");$Rb=new qSb("TEMPLATE_TAIL",106,"template tail");oRb=new qSb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");eSb=new pSb(BIc,108);FQb=new pSb(GJc,109); -jRb=new pSb("MODULE",110);kRb=new pSb(HJc,111)}function FPb(a){var b,c;JPb(a);b=a.d;if(!qPb(a,a.d))return mPb(a,(nSb(),KQb),b);c=rPb(a);switch(c){case 123:return mPb(a,(nSb(),sRb),b);case 125:return mPb(a,(nSb(),xQb),b);case 40:return mPb(a,(nSb(),tRb),b);case 41:return mPb(a,(nSb(),yQb),b);case 91:return mPb(a,(nSb(),uRb),b);case 93:return mPb(a,(nSb(),zQb),b);case 46:if($Pb(qPb(a,a.d)?Mkc(a.e.a,a.d):0))return KPb(a),APb(a,b);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==46&&(qPb(a,a.d+1)?Mkc(a.e.a,a.d+1):0)== -46){rPb(a);rPb(a);return mPb(a,(nSb(),PRb),b)}return mPb(a,(nSb(),zRb),b);case 59:return mPb(a,(nSb(),MRb),b);case 44:return mPb(a,(nSb(),BQb),b);case 126:return mPb(a,(nSb(),bSb),b);case 63:return mPb(a,(nSb(),HRb),b);case 58:return mPb(a,(nSb(),AQb),b);case 60:switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 60:rPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),dRb),b)}return mPb(a,(nSb(),cRb),b);case 61:rPb(a);return mPb(a,(nSb(),eRb),b);default:return mPb(a,(nSb(),rRb),b)}case 62:if(a.f> -0)return mPb(a,(nSb(),wQb),b);switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 62:rPb(a);switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 61:rPb(a);return mPb(a,(nSb(),LRb),b);case 62:rPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),hSb),b)}return mPb(a,(nSb(),gSb),b);default:return mPb(a,(nSb(),KRb),b)}case 61:rPb(a);return mPb(a,(nSb(),WQb),b);default:return mPb(a,(nSb(),wQb),b)}case 61:switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 61:rPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a, -(nSb(),OQb),b)}return mPb(a,(nSb(),NQb),b);case 62:rPb(a);return mPb(a,(nSb(),mQb),b);default:return mPb(a,(nSb(),MQb),b)}case 33:if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),nRb),b)}return mPb(a,(nSb(),mRb),b)}return mPb(a,(nSb(),nQb),b);case 42:if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),RRb),b)}else if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==42){rPb(a);if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),TRb), -b)}else return mPb(a,(nSb(),SRb),b)}return mPb(a,(nSb(),QRb),b);case 37:if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),yRb),b)}return mPb(a,(nSb(),xRb),b);case 94:if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),sQb),b)}return mPb(a,(nSb(),rQb),b);case 47:if((qPb(a,a.d)?Mkc(a.e.a,a.d):0)==61){rPb(a);return mPb(a,(nSb(),ORb),b)}return mPb(a,(nSb(),NRb),b);case 43:switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 43:rPb(a);return mPb(a,(nSb(),CRb),b);case 61:rPb(a);return mPb(a, -(nSb(),BRb),b);default:return mPb(a,(nSb(),ARb),b)}case 45:switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 45:rPb(a);return mPb(a,(nSb(),iRb),b);case 61:rPb(a);return mPb(a,(nSb(),hRb),b);default:return mPb(a,(nSb(),gRb),b)}case 38:switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 38:rPb(a);return mPb(a,(nSb(),lQb),b);case 61:rPb(a);return mPb(a,(nSb(),kQb),b);default:return mPb(a,(nSb(),jQb),b)}case 124:switch(qPb(a,a.d)?Mkc(a.e.a,a.d):0){case 124:rPb(a);return mPb(a,(nSb(),vRb),b);case 61:rPb(a);return mPb(a,(nSb(), -pQb),b);default:return mPb(a,(nSb(),oQb),b)}case 35:return mPb(a,(nSb(),DRb),b);case 48:return DPb(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return KPb(a),BPb(a,b);case 34:case 39:return EPb(a,b,c);case 96:return!qPb(a,a.d)&&xPb(a,hMb(a.e.b,b),SJc,DD(yD(nT,1),UBc,1,5,[])),uPb(a,(nSb(),oRb),YRb);default:return CPb(a,b,c)}}function edc(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;g=new k8b(a); -idc(a,(Mcc(),Hbc),g);w=new yec(a);idc(a,ccc,w);G=new Gec(a);idc(a,icc,G);V=new cgc(a);idc(a,xcc,V);db=new $hc(a,false);idc(a,Icc,db);hb=new $hc(a,true);idc(a,Ibc,hb);gb=new mic(a);idc(a,Lcc,gb);b=new O7b(a);idc(a,Cbc,b);a.g=new hgc(a,"IObject#KEY1");a.f=new hgc(a,"IObject#VALUE");a.a=new hgc(a,"T");Z=new t9b(a,null,null,true,null);idc(a,Bcc,Z);I=new eac(a,SFc,new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[b])),null),null,Zcc(a,(Zn(),new Zx(qo(DD(yD(nT,1),UBc,1,5,[a.g,a.f])))),null),true,true);I.c.b=(ie(I.g== -(Yac(),Vac)||I.g==Wac,RHc,I),N6b(I.n));_9b(I,Z,null);idc(a,kcc,I);M=(ie(I.g==Vac||I.g==Wac,RHc,I),N6b(I.n));idc(a,occ,M);L=Y9b(I);idc(a,ncc,L);n=new eac(a,PFc,new _7b(a,Ycc(a,true,DD(yD(pS,1),oKc,23,0,[b])),db),null,null,true,true);aac(n,M,null);idc(a,Rbc,n);o=Y9b(n);idc(a,Tbc,o);v=new fec(a);idc(a,bcc,v);t=new Rdc(a);idc(a,_bc,t);u=new pec(a);idc(a,acc,u);c=new eac(a,uFc,new _7b(a,Ycc(a,true,DD(yD(pS,1),oKc,23,0,[b])),null),null,qgc(Zcc(a,new Uy(Zd(a.a)),null),Zcc(a,new Uy(Zd(a.f)),new Uy(Zd(a.a)))), -true,true);c.c.b=(ie(c.g==Vac||c.g==Wac,RHc,c),N6b(c.n));Y9b(c);idc(a,Dbc,c);d=(ie(c.g==Vac||c.g==Wac,RHc,c),N6b(c.n));idc(a,Ebc,d);e=new eac(a,OFc,new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[b])),g),null,null,true,true);Y9b(e);idc(a,Fbc,e);f=(ie(e.g==Vac||e.g==Wac,RHc,e),N6b(e.n));idc(a,Gbc,f);h=new eac(a,"Date",new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[db,db,db,db,db,db,db])),V),null,null,true,true);Y9b(h);idc(a,Jbc,h);i=(ie(h.g==Vac||h.g==Wac,RHc,h),N6b(h.n));idc(a,Kbc,i);j=new Hac(a,KFc);idc(a,Mbc,j);k= -(ie(j.g==Vac||j.g==Wac,RHc,j),N6b(j.n));idc(a,Nbc,k);l=new Hac(a,"EvalError");aac(l,k,null);idc(a,Obc,l);m=(ie(l.g==Vac||l.g==Wac,RHc,l),N6b(l.n));idc(a,Pbc,m);N=new Hac(a,LFc);aac(N,k,null);idc(a,pcc,N);O=(ie(N.g==Vac||N.g==Wac,RHc,N),N6b(N.n));idc(a,qcc,O);P=new Hac(a,MFc);aac(P,k,null);idc(a,rcc,P);Q=(ie(P.g==Vac||P.g==Wac,RHc,P),N6b(P.n));idc(a,scc,Q);X=new Hac(a,NFc);aac(X,k,null);idc(a,zcc,X);Y=(ie(X.g==Vac||X.g==Wac,RHc,X),N6b(X.n));idc(a,Acc,Y);$=new Hac(a,"TypeError");aac($,k,null);idc(a, -Ecc,$);ab=(ie($.g==Vac||$.g==Wac,RHc,$),N6b($.n));idc(a,Fcc,ab);eb=new Hac(a,"URIError");aac(eb,k,null);idc(a,Jcc,eb);fb=(ie(eb.g==Vac||eb.g==Wac,RHc,eb),N6b(eb.n));idc(a,Kcc,fb);B=new eac(a,QFc,new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[b])),G),null,null,true,true);Y9b(B);idc(a,ecc,B);C=(ie(B.g==Vac||B.g==Wac,RHc,B),N6b(B.n));idc(a,fcc,C);R=new eac(a,RFc,new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[b,b])),null),null,null,true,true);R.c.b=(ie(R.g==Vac||R.g==Wac,RHc,R),N6b(R.n));Y9b(R);idc(a,tcc,R);S=(ie(R.g== -Vac||R.g==Wac,RHc,R),N6b(R.n));idc(a,ucc,S);T=new eac(a,TCc,new _7b(a,Wcc(a,DD(yD(pS,1),oKc,23,0,[b])),V),null,null,true,true);Y9b(T);idc(a,vcc,T);U=(ie(T.g==Vac||T.g==Wac,RHc,T),N6b(T.n));idc(a,wcc,U);A=$cc(a,DD(yD(pS,1),oKc,23,0,[w,gb]));idc(a,dcc,A);J=$cc(a,DD(yD(pS,1),oKc,23,0,[M,G,V]));idc(a,lcc,J);K=$cc(a,DD(yD(pS,1),oKc,23,0,[M,G,V,g]));idc(a,mcc,K);F=$cc(a,DD(yD(pS,1),oKc,23,0,[G,V,g]));idc(a,hcc,F);D=$cc(a,DD(yD(pS,1),oKc,23,0,[G,V]));idc(a,gcc,D);W=$cc(a,DD(yD(pS,1),oKc,23,0,[U,V]));idc(a, -ycc,W);H=$cc(a,DD(yD(pS,1),oKc,23,0,[C,G]));idc(a,jcc,H);cb=Rcc(a,db,DD(yD(pS,1),oKc,23,0,[db]));idc(a,Hcc,cb);bb=new qdc(a,new _7b(a,Ycc(a,true,DD(yD(pS,1),oKc,23,0,[db])),db),db);idc(a,Gcc,bb);idc(a,Sbc,bb);n.n=bb;de(!(!!bb.i||!bb.v));bb.q=o;s=Tcc(a,v,DD(yD(pS,1),oKc,23,0,[b]));idc(a,$bc,s);q=new eac(a,"global this",new _7b(a,Ycc(a,false,DD(yD(pS,1),oKc,23,0,[b])),G),null,null,true,true);p=(ie(q.g==Vac||q.g==Wac,RHc,q),N6b(q.n));idc(a,Vbc,p);r=Tcc(a,b,DD(yD(pS,1),oKc,23,0,[v]));idc(a,Wbc,r);jdc(a, -FDc,I)}function Nrb(){Nrb=gW;new j6("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(tZ(),qZ),new cmc("Internal Error: TypeCheck doesn''t know how to handle {0}"));krb=new j6("JSC_DETERMINISTIC_TEST",sZ,new cmc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));wrb=new j6("JSC_INEXISTENT_ENUM_ELEMENT",sZ,new cmc("element {0} does not exist on this enum"));xrb=new j6(OHc,sZ,new cmc(dHc));Irb=new j6("JSC_POSSIBLE_INEXISTENT_PROPERTY",rZ,new cmc(dHc));yrb=new j6(OHc,rZ,new cmc("Property {0} never defined on {1}. Did you mean {2}?")); -Grb=new j6("JSC_NOT_A_CONSTRUCTOR",sZ,new cmc("cannot instantiate non-constructor"));zrb=new j6("JSC_INSTANTIATE_ABSTRACT_CLASS",sZ,new cmc("cannot instantiate abstract class"));grb=new j6("JSC_BAD_TYPE_FOR_BIT_OPERATION",sZ,new cmc("operator {0} cannot be applied to {1}"));Hrb=new j6("JSC_NOT_FUNCTION_TYPE",sZ,new cmc("{0} expressions are not callable"));jrb=new j6("JSC_CONSTRUCTOR_NOT_CALLABLE",sZ,new cmc(aHc));drb=new j6("JSC_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",sZ,new cmc(hHc));orb=new j6("JSC_FUNCTION_MASKS_VARIABLE", -sZ,new cmc("function {0} masks variable (IE bug)"));Erb=new j6("JSC_MULTIPLE_VAR_DEF",sZ,new cmc("declaration of multiple variables with shared type information"));lrb=new j6("JSC_ENUM_DUP",qZ,new cmc("enum element {0} already defined"));Crb=new j6("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",sZ,new cmc("interface members can only be empty property declarations, empty functions{0}"));Arb=new j6("JSC_INTERFACE_METHOD_NOT_EMPTY",sZ,new cmc(QGc));hrb=new j6("JSC_CONFLICTING_EXTENDED_TYPE",sZ,new cmc(PHc)); -mrb=new j6("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",sZ,new cmc("ES5 class {0} cannot extend ES6 class {1}"));new j6("JSC_INTERFACE_EXTENDS_LOOP",sZ,new cmc("extends loop involving {0}, loop: {1}"));irb=new j6("JSC_CONFLICTING_IMPLEMENTED_TYPE",sZ,new cmc(QHc));frb=new j6("JSC_IMPLEMENTS_NON_INTERFACE",sZ,new cmc("can only implement interfaces"));qrb=new j6("JSC_HIDDEN_SUPERCLASS_PROPERTY",rZ,new cmc("property {0} already defined on superclass {1}; use @override to override it"));prb=new j6("JSC_HIDDEN_INTERFACE_PROPERTY", -rZ,new cmc("property {0} already defined on interface {1}; use @override to override it"));rrb=new j6("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",sZ,new cmc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));Krb=new j6("JSC_UNKNOWN_OVERRIDE",sZ,new cmc("property {0} not defined on any superclass of {1}"));Brb=new j6("JSC_INTERFACE_METHOD_OVERRIDE",sZ,new cmc("property {0} is already defined by the {1} extended interface")); -Jrb=new j6("JSC_UNKNOWN_EXPR_TYPE",rZ,new cmc("could not determine the type of this expression"));Lrb=new j6("JSC_UNRESOLVED_TYPE",sZ,new cmc("could not resolve the name {0} to a type"));Mrb=new j6("JSC_WRONG_ARGUMENT_COUNT",sZ,new cmc(eHc));srb=new j6("JSC_ILLEGAL_IMPLICIT_CAST",sZ,new cmc("Illegal annotation on {0}. @implicitCast may only be used in externs."));vrb=new j6("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",sZ,new cmc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}")); -nrb=new j6("JSC_EXPECTED_THIS_TYPE",sZ,new cmc('"{0}" must be called with a "this" type'));Drb=new j6("JSC_IN_USED_WITH_STRUCT",sZ,new cmc(cHc));urb=new j6("JSC_ILLEGAL_PROPERTY_CREATION",sZ,new cmc("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.)"));trb=new j6("JSC_ILLEGAL_OBJLIT_KEY",sZ,new cmc(bHc));Frb=new j6("JSC_NON_STRINGIFIABLE_OBJECT_KEY",sZ,new cmc('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.')); -crb=new j6("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",sZ,new cmc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));erb=new z5(DD(yD(tK,1),UBc,5,0,[krb,wrb,xrb,Irb,yrb,Grb,zrb,grb,Hrb,jrb,orb,Erb,lrb,Crb,Arb,hrb,irb,frb,rrb,Krb,Brb,Lrb,Mrb,srb,vrb,nrb,Drb,urb,trb,Frb,crb,drb,mrb,(Jnb(),Gnb),Inb,(tsb(),ssb),qsb,msb,psb,(Wbb(),Tbb)]))}function m6b(){m6b=gW;H5b=new n6b(zIc,0);I3b=new n6b("BITOR",1);J3b=new n6b("BITXOR",2);G3b=new n6b("BITAND",3);l4b=new n6b("EQ", -4);i5b=new n6b("NE",5);$4b=new n6b("LT",6);X4b=new n6b("LE",7);E4b=new n6b("GT",8);y4b=new n6b("GE",9);Z4b=new n6b("LSH",10);J5b=new n6b("RSH",11);f6b=new n6b("URSH",12);k3b=new n6b("ADD",13);T5b=new n6b("SUB",14);d5b=new n6b("MUL",15);e4b=new n6b("DIV",16);b5b=new n6b("MOD",17);n4b=new n6b("EXPONENT",18);m5b=new n6b("NOT",19);H3b=new n6b("BITNOT",20);B5b=new n6b("POS",21);j5b=new n6b("NEG",22);k5b=new n6b("NEW",23);c4b=new n6b("DELPROP",24);b6b=new n6b(EJc,25);C4b=new n6b("GETPROP",26);B4b=new n6b("GETELEM", -27);N3b=new n6b("CALL",28);e5b=new n6b("NAME",29);p5b=new n6b($Hc,30);Q5b=new n6b(_Hc,31);n5b=new n6b(ZHc,32);Z5b=new n6b(AIc,33);s4b=new n6b(QEc,34);_5b=new n6b(REc,35);M5b=new n6b("SHEQ",36);N5b=new n6b("SHNE",37);E5b=new n6b("REGEXP",38);$5b=new n6b("THROW",39);M4b=new n6b("IN",40);P4b=new n6b(oJc,41);o3b=new n6b("ARRAYLIT",42);r5b=new n6b("OBJECTLIT",43);a6b=new n6b("TRY",44);w5b=new n6b("PARAM_LIST",45);V3b=new n6b("COMMA",46);r3b=new n6b("ASSIGN",47);u3b=new n6b("ASSIGN_BITOR",48);v3b=new n6b("ASSIGN_BITXOR", -49);t3b=new n6b("ASSIGN_BITAND",50);y3b=new n6b("ASSIGN_LSH",51);B3b=new n6b("ASSIGN_RSH",52);D3b=new n6b("ASSIGN_URSH",53);s3b=new n6b("ASSIGN_ADD",54);C3b=new n6b("ASSIGN_SUB",55);A3b=new n6b("ASSIGN_MUL",56);w3b=new n6b("ASSIGN_DIV",57);z3b=new n6b("ASSIGN_MOD",58);x3b=new n6b("ASSIGN_EXPONENT",59);F4b=new n6b("HOOK",60);u5b=new n6b("OR",61);l3b=new n6b("AND",62);N4b=new n6b("INC",63);$3b=new n6b("DEC",64);w4b=new n6b(OGc,65);G4b=new n6b("IF",66);V5b=new n6b(DJc,67);P3b=new n6b("CASE",68);a4b= -new n6b("DEFAULT_CASE",69);j6b=new n6b("WHILE",70);f4b=new n6b("DO",71);t4b=new n6b("FOR",72);u4b=new n6b("FOR_IN",73);M3b=new n6b("BREAK",74);Y3b=new n6b(zJc,75);g6b=new n6b("VAR",76);k6b=new n6b("WITH",77);R3b=new n6b(yJc,78);h6b=new n6b("VOID",79);h4b=new n6b("EMPTY",80);I5b=new n6b("ROOT",81);K3b=new n6b("BLOCK",82);T4b=new n6b("LABEL",83);r4b=new n6b("EXPR_RESULT",84);K5b=new n6b("SCRIPT",85);D4b=new n6b("GETTER_DEF",86);L5b=new n6b("SETTER_DEF",87);X3b=new n6b("CONST",88);Z3b=new n6b(AJc,89); -U4b=new n6b("LABEL_NAME",90);R5b=new n6b("STRING_KEY",91);Q3b=new n6b("CAST",92);p3b=new n6b(VJc,93);s5b=new n6b(WJc,94);d4b=new n6b("DESTRUCTURING_LHS",95);S3b=new n6b(NGc,96);T3b=new n6b("CLASS_MEMBERS",97);_4b=new n6b("MEMBER_FUNCTION_DEF",98);U5b=new n6b(qJc,99);Y4b=new n6b("LET",100);v4b=new n6b("FOR_OF",101);l6b=new n6b("YIELD",102);E3b=new n6b("AWAIT",103);I4b=new n6b(FJc,104);K4b=new n6b("IMPORT_SPECS",105);J4b=new n6b("IMPORT_SPEC",106);L4b=new n6b("IMPORT_STAR",107);o4b=new n6b(sIc,108); -q4b=new n6b("EXPORT_SPECS",109);p4b=new n6b("EXPORT_SPEC",110);c5b=new n6b("MODULE_BODY",111);F5b=new n6b("REST",112);O5b=new n6b("SPREAD",113);W3b=new n6b("COMPUTED_PROP",114);W5b=new n6b("TAGGED_TEMPLATELIT",115);X5b=new n6b("TEMPLATELIT",116);Y5b=new n6b("TEMPLATELIT_SUB",117);b4b=new n6b("DEFAULT_VALUE",118);l5b=new n6b(rJc,119);S5b=new n6b(kKc,120);L3b=new n6b(lKc,121);q5b=new n6b(mKc,122);x4b=new n6b($Jc,123);v5b=new n6b("PARAMETERIZED_TYPE",124);e6b=new n6b(ZJc,125);n3b=new n6b("ANY_TYPE", -126);o5b=new n6b("NULLABLE_TYPE",127);i6b=new n6b("VOID_TYPE",128);G5b=new n6b("REST_PARAMETER_TYPE",129);f5b=new n6b("NAMED_TYPE",130);t5b=new n6b(wJc,131);D5b=new n6b(YJc,132);d6b=new n6b("UNDEFINED_TYPE",133);q3b=new n6b(XJc,134);z4b=new n6b("GENERIC_TYPE",135);A4b=new n6b(_Jc,136);m3b=new n6b(aJc,137);x5b=new n6b("PIPE",138);P5b=new n6b("STAR",139);k4b=new n6b("EOC",140);C5b=new n6b("QMARK",141);g4b=new n6b("ELLIPSIS",142);F3b=new n6b("BANG",143);m4b=new n6b("EQUALS",144);V4b=new n6b("LB",145); -W4b=new n6b("LC",146);U3b=new n6b("COLON",147);Q4b=new n6b(uIc,148);R4b=new n6b("INTERFACE_EXTENDS",149);S4b=new n6b("INTERFACE_MEMBERS",150);i4b=new n6b(qIc,151);j4b=new n6b("ENUM_MEMBERS",152);H4b=new n6b(tIc,153);c6b=new n6b(xJc,154);_3b=new n6b(GJc,155);a5b=new n6b("MEMBER_VARIABLE_DEF",156);O4b=new n6b(uJc,157);O3b=new n6b(tJc,158);g5b=new n6b(HJc,159);h5b=new n6b("NAMESPACE_ELEMENTS",160);y5b=new n6b("PLACEHOLDER1",161);z5b=new n6b("PLACEHOLDER2",162);A5b=new n6b("PLACEHOLDER3",163)}function beb(){beb= -gW;Hdb=new j6("JSC_NTI_DUPLICATE_JSDOC",(tZ(),sZ),new cmc("Found two JsDoc comments for variable: {0}.\n"));Wdb=new j6("JSC_NTI_REDECLARED_PROPERTY",sZ,new cmc("Found two declarations for property {0} on {1}.\n"));Qdb=new j6("JSC_NTI_INVALID_PROP_OVERRIDE",sZ,new cmc("Invalid redeclaration of property {0}.\ninherited type : {1}\noverriding type : {2}\n"));Fdb=new j6("JSC_NTI_CTOR_IN_DIFFERENT_SCOPE",sZ,new cmc("Modifying the prototype is only allowed if the constructor is in the same scope\n")); -_db=new j6("JSC_NTI_UNRECOGNIZED_TYPE_NAME",sZ,new cmc("Type annotation references non-existent type {0}."));Ydb=new j6("JSC_NTI_STRUCT_WITHOUT_CTOR_OR_INTERF",sZ,new cmc("@struct used without @constructor, @interface, or @record."));Gdb=new j6("JSC_NTI_DICT_WITHOUT_CTOR",sZ,new cmc("@dict used without @constructor."));Jdb=new j6("JSC_NTI_EXPECTED_CONSTRUCTOR",sZ,new cmc("Expected constructor name but found {0}."));Kdb=new j6("JSC_NTI_EXPECTED_INTERFACE",sZ,new cmc("Expected interface name but found {0}.")); -Mdb=new j6("JSC_NTI_INEXISTENT_PARAM",sZ,new cmc(JGc));Ddb=new j6("JSC_NTI_CONST_WITHOUT_INITIALIZER",sZ,new cmc("Constants must be initialized when they are defined."));Edb=new j6("JSC_NTI_COULD_NOT_INFER_CONST_TYPE",sZ,new cmc("All constants must be typed. The compiler could not infer the type of constant {0}. Please use an explicit type annotation. For more information, see:\nhttps://github.com/google/closure-compiler/wiki/Using-NTI-(new-type-inference)#warnings-about-uninferred-constants"));Tdb= -new j6("JSC_NTI_MISPLACED_CONST_ANNOTATION",sZ,new cmc("This property cannot be @const. The @const annotation is only allowed for properties of namespaces, prototype properties, static properties of constructors, and properties of the form this.prop declared inside constructors and prototype methods."));Bdb=new j6("JSC_NTI_CANNOT_OVERRIDE_FINAL_METHOD",sZ,new cmc("Final method {0} cannot be overriden."));Adb=new j6("JSC_NTI_CANNOT_INIT_TYPEDEF",sZ,new cmc("A typedef variable represents a type name; it cannot be assigned a value.")); -ydb=new j6("JSC_NTI_ANONYMOUS_NOMINAL_TYPE",sZ,new cmc("Must specify a name when defining a class or interface."));Sdb=new j6("JSC_NTI_MALFORMED_ENUM",sZ,new cmc("An enum must be initialized to a non-empty object literal."));Idb=new j6("JSC_NTI_DUPLICATE_PROP_IN_ENUM",sZ,new cmc("Property {0} appears twice in the enum declaration."));Rdb=new j6("JSC_NTI_LENDS_ON_BAD_TYPE",sZ,new cmc("May only lend properties to namespaces, constructors and their prototypes. Found {0}."));Ldb=new j6("JSC_NTI_FUNCTION_CONSTRUCTOR_NOT_DEFINED", -qZ,new cmc("You must provide externs that define the built-in Function constructor."));Pdb=new j6("JSC_NTI_INVALID_INTERFACE_PROP_INITIALIZER",sZ,new cmc("Invalid initialization of interface property."));Xdb=new j6("JSC_NTI_SETTER_WITH_RETURN",sZ,new cmc("Cannot declare a return type on a setter."));aeb=new j6("JSC_NTI_WRONG_PARAMETER_COUNT",sZ,new cmc("Function definition does not have the declared number of parameters.\nExpected: {0}\nFound: {1}"));zdb=new j6("JSC_NTI_CANNOT_ADD_PROPERTIES_TO_TYPEDEF", -sZ,new cmc("A typedef should only be used in type annotations, not as a value. Adding properties to typedefs is not allowed."));Zdb=new j6("JSC_NTI_SUPER_INTERFACES_HAVE_INCOMPATIBLE_PROPERTIES",sZ,new cmc("Interface {0} has a property {1} with incompatible types in its super interfaces: {2}"));Vdb=new j6("JSC_NTI_ONE_TYPE_FOR_MANY_VARS",sZ,new cmc("Having one type annotation for multiple variables is not allowed."));$db=new j6("JSC_NTI_UNKNOWN_OVERRIDE",sZ,new cmc("property {0} not defined on any supertype of {1}")); -Odb=new j6("JSC_NTI_INTERFACE_METHOD_NOT_IMPLEMENTED",sZ,new cmc(PGc));Ndb=new j6("JSC_NTI_INTERFACE_METHOD_NOT_EMPTY",sZ,new cmc(QGc));vdb=new j6("JSC_NTI_ABSTRACT_METHOD_IN_CONCRETE_CLASS",sZ,new cmc("Abstract methods can only appear in abstract classes. Please declare class {0} as @abstract"));wdb=new j6("JSC_NTI_ABSTRACT_METHOD_IN_INTERFACE",sZ,new cmc("Abstract methods cannot appear in interfaces"));xdb=new j6("JSC_NTI_ABSTRACT_METHOD_NOT_IMPLEMENTED_IN_CONCRETE_CLASS",sZ,new cmc("Abstract method {0} from superclass {1} not implemented")); -Cdb=new z5(DD(yD(tK,1),UBc,5,0,[vdb,Bdb,Gdb,Idb,Jdb,Kdb,Ldb,Mdb,Odb,Ndb,Pdb,Qdb,Rdb,Vdb,Wdb,Ydb,Zdb,$db,_db,aeb]));Udb=new z5(DD(yD(tK,1),UBc,5,0,[wdb,xdb,ydb,zdb,Adb,Ddb,Edb,Fdb,Hdb,Sdb,Tdb,Xdb]));new SBb("jscomp$infer$const$property")}function e6(){e6=gW;a6=new j6("JSC_UNUSED",(tZ(),sZ),new cmc(WEc));Qp(XEc,YEc,ZEc,$Ec,_Ec,aFc,DD(yD(sT,1),DBc,2,6,[bFc,cFc]));d6=new bvc;h6("commonJsModuleLoad",DD(yD(tK,1),UBc,5,0,[(Zlb(),Xlb),Ylb]));Q5=h6("globalThis",DD(yD(tK,1),UBc,5,0,[(gZ(),fZ)]));h6(dFc,DD(yD(tK, -1),UBc,5,0,[($Y(),TY),UY,VY,WY,RY,SY]));h6("underscore",DD(yD(tK,1),UBc,5,0,[(vvb(),rvb),svb]));c6=h6("visibility",DD(yD(tK,1),UBc,5,0,[LY,MY,KY,NY,XY,YY,ZY,QY]));f6("accessControls",c6);h6("nonStandardJsDocs",DD(yD(tK,1),UBc,5,0,[(Jnb(),rnb),xnb,ynb]));h6("invalidCasts",DD(yD(tK,1),UBc,5,0,[(Zrb(),Vrb),(jhb(),Igb)]));f6(eFc,new y5(eFc,DD(yD(tK,1),UBc,5,0,[a6])));h6("strictModuleDepCheck",DD(yD(tK,1),UBc,5,0,[(Psb(),Jsb),(eZ(),cZ)]));h6("violatedModuleDep",DD(yD(tK,1),UBc,5,0,[Osb]));h6("externsValidation", -DD(yD(tK,1),UBc,5,0,[Isb,Ksb]));h6("ambiguousFunctionDecl",DD(yD(tK,1),UBc,5,0,[(rpb(),jpb)]));h6("unknownDefines",DD(yD(tK,1),UBc,5,0,[(amb(),_lb)]));h6("tweakValidation",DD(yD(tK,1),UBc,5,0,[(fmb(),bmb),dmb,emb]));h6("missingOverride",DD(yD(tK,1),UBc,5,0,[(Nrb(),prb),qrb]));R5=h6("missingProperties",DD(yD(tK,1),UBc,5,0,[xrb,yrb,Irb,Ggb,Ygb]));h6("j2clChecks",DD(yD(tK,1),UBc,5,0,[(teb(),seb)]));h6("missingReturn",DD(yD(tK,1),UBc,5,0,[(CZ(),BZ)]));h6("internetExplorerChecks",DD(yD(tK,1),UBc,5,0,[Fnb])); -_5=h6("undefinedVars",DD(yD(tK,1),UBc,5,0,[Lsb]));$5=h6("undefinedNames",DD(yD(tK,1),UBc,5,0,[dZ]));h6("checkDebuggerStatement",DD(yD(tK,1),UBc,5,0,[(bZ(),aZ)]));h6("checkRegExp",DD(yD(tK,1),UBc,5,0,[(HZ(),GZ),FZ]));W5=g6("oldCheckTypes",DD(yD(sK,1),UBc,50,0,[Prb,erb]));U5=g6(aFc,DD(yD(sK,1),UBc,50,0,[(wzb(),bzb),(beb(),Cdb),rgb]));V5=g6(bFc,DD(yD(sK,1),UBc,50,0,[qzb,Udb,Tgb]));T5=g6(_Ec,DD(yD(sK,1),UBc,50,0,[U5,V5]));K5=g6(HEc,DD(yD(sK,1),UBc,50,0,[W5,T5]));h6("newCheckTypesAllChecks",DD(yD(tK,1), -UBc,5,0,[Xgb]));h6("newCheckTypesClosureClean",DD(yD(tK,1),UBc,5,0,[czb,dzb,ezb,jzb,kzb,nzb,ozb,uzb,vdb,ydb,Adb,Bdb,Ddb,Fdb,Gdb,Hdb,Idb,Jdb,Kdb,Mdb,Odb,Rdb,Sdb,Tdb,Vdb,Ydb,Zdb,$db,_db,kgb,mgb,pgb,vgb,sgb,wgb,ygb,Cgb,Pgb,Lgb,Mgb,Ogb,Qgb,chb,fhb]));h6("tooManyTypeParams",DD(yD(tK,1),UBc,5,0,[Enb]));f6(fFc,new y5(fFc,DD(yD(tK,1),UBc,5,0,[a6])));X5=h6($Ec,DD(yD(tK,1),UBc,5,0,[Jrb]));Y5=h6(XEc,DD(yD(tK,1),UBc,5,0,[Jrb,dhb]));L5=h6("checkVars",DD(yD(tK,1),UBc,5,0,[Lsb,Nsb,(dtb(),atb),btb]));h6(gFc,DD(yD(tK, -1),UBc,5,0,[(JZ(),IZ),(SZ(),RZ)]));h6(hFc,DD(yD(tK,1),UBc,5,0,[OY,PY,(d5(),c5),vgb,ugb,tgb]));I5=h6("accessControlsConst",DD(yD(tK,1),UBc,5,0,[OY,PY]));h6("constantProperty",DD(yD(tK,1),UBc,5,0,[OY,PY,ugb,tgb]));h6("typeInvalidation",DD(yD(tK,1),UBc,5,0,[(p6(),n6),o6]));M5=h6(iFc,DD(yD(tK,1),UBc,5,0,[Nsb,Qrb,Rrb,btb,Wdb]));h6("es3",DD(yD(tK,1),UBc,5,0,[vnb,Fnb]));P5=h6("es5StrictUncommon",DD(yD(tK,1),UBc,5,0,[wnb,snb,qpb,npb,mpb,ipb,fpb,kpb,lpb]));O5=h6("es5StrictReflection",DD(yD(tK,1),UBc,5,0,[gpb, -hpb,ppb,opb]));N5=g6("es5Strict",DD(yD(sK,1),UBc,50,0,[P5,O5]));S5=h6(jFc,DD(yD(tK,1),UBc,5,0,[(EZ(),DZ),(u$(),r$)]));h6(kFc,DD(yD(tK,1),UBc,5,0,[(AZ(),zZ)]));g6(cFc,DD(yD(sK,1),UBc,50,0,[Y5,$5,_5,S5,A5((Wbb(),Pbb)),A5((Wlb(),Ulb)),R5,M5,A5($lb),A5((t7(),s7))]));Z5=h6("strictMissingRequire",DD(yD(tK,1),UBc,5,0,[zZ,xZ,yZ]));h6("legacyGoogScopeRequire",DD(yD(tK,1),UBc,5,0,[xZ,wZ]));h6("extraRequire",DD(yD(tK,1),UBc,5,0,[wZ]));h6("misplacedTypeAnnotation",DD(yD(tK,1),UBc,5,0,[(pZ(),iZ),jZ,kZ,mZ,lZ,nZ, -oZ]));h6("misplacedMsgAnnotation",DD(yD(tK,1),UBc,5,0,[oZ]));h6("suspiciousCode",DD(yD(tK,1),UBc,5,0,[(Yub(),Xub),(PZ(),OZ),KZ,MZ,LZ,NZ,krb,Xlb]));h6("functionParams",DD(yD(tK,1),UBc,5,0,[Nbb,Obb]));h6("deprecatedAnnotations",DD(yD(tK,1),UBc,5,0,[hZ]));b6=h6("unusedPrivateMembers",DD(yD(tK,1),UBc,5,0,[(UZ(),TZ)]));h6("unusedLocalVariables",DD(yD(tK,1),UBc,5,0,[ctb]));h6("jsdocMissingType",DD(yD(tK,1),UBc,5,0,[Anb]));h6("unnecessaryEscape",DD(yD(tK,1),UBc,5,0,[Hnb]));g6("lintChecks",DD(yD(sK,1),UBc, -50,0,[hvb,new z5(DD(yD(tK,1),UBc,5,0,[($ub(),Zub),(dvb(),_ub),avb,bvb,cvb,(gvb(),evb),fvb,(xvb(),wvb),(Dvb(),Bvb),Cvb,(Fvb(),Evb),(Kvb(),Gvb),Jvb,Ivb,Hvb,(Mvb(),Lvb),(Ovb(),Nvb),(b$(),WZ),XZ,$Z,YZ,ZZ,_Z,a$,s$,znb]))]));h6("strictModuleChecks",DD(yD(tK,1),UBc,5,0,[VZ,$Z,YZ,ZZ,_Z,a$]));J5=h6(ZEc,DD(yD(tK,1),UBc,5,0,[(Wub(),Vub),(Avb(),yvb),zvb,(reb(),qeb),Enb]));g6(YEc,DD(yD(sK,1),UBc,50,0,[J5,b6]));h6("useOfGoogBase",DD(yD(tK,1),UBc,5,0,[Vlb]));h6("closureDepMethodUsageChecks",DD(yD(tK,1),UBc,5,0, -[Rlb]));h6("transitionalSuspiciousCodeWarnings",DD(yD(tK,1),UBc,5,0,[(Qkb(),Okb),Pkb,Nkb]));h6("lateProvide",DD(yD(tK,1),UBc,5,0,[Tlb,q$]));h6("missingPolyfill",DD(yD(tK,1),UBc,5,0,[($mb(),Zmb)]));h6("invalidProvide",DD(yD(tK,1),UBc,5,0,[Slb]));h6("es6Typed",DD(yD(tK,1),UBc,5,0,[Bnb]));h6("duplicateZipContents",DD(yD(tK,1),UBc,5,0,[(vob(),uob)]))}function jhb(){jhb=gW;Rgb=new j6("JSC_NTI_MISTYPED_ASSIGN_RHS",(tZ(),sZ),new cmc("The right side in the assignment is not a subtype of the left side.\n{0}")); -Ngb=new j6("JSC_NTI_INVALID_OPERAND_TYPE",sZ,new cmc("Invalid type(s) for operator {0}.\n{1}"));_gb=new j6("JSC_NTI_RETURN_NONDECLARED_TYPE",sZ,new cmc("Returned type does not match declared return type.\n{0}"));Lgb=new j6("JSC_NTI_INVALID_INFERRED_RETURN_TYPE",sZ,new cmc("Function called in context that expects incompatible type.\n{0}"));Jgb=new j6("JSC_NTI_INVALID_DECLARED_RETURN_TYPE_OF_GENERATOR_FUNCTION",sZ,new cmc("A generator function must return a (supertype of) Generator.\n{0}."));Hgb=new j6("JSC_NTI_INVALID_ARGUMENT_TYPE", -sZ,new cmc("Invalid type for parameter {0} of function {1}.\n{2}"));ahb=new j6("JSC_NTI_TEMPLATE_ARGUMENT_MISMATCH",sZ,new cmc("Invalid type for the first parameter of tag function {0}.\n{1}"));bhb=new j6("JSC_NTI_TEMPLATE_ARGUMENT_MISSING",sZ,new cmc("A tag function must take at least one argument.\n"));wgb=new j6("JSC_NTI_CROSS_SCOPE_GOTCHA",sZ,new cmc("Variable {0} typed inconsistently across scopes.\nIn outer scope : {1}\nIn inner scope : {2}\n"));Ygb=new j6("JSC_NTI_POSSIBLY_INEXISTENT_PROPERTY", -sZ,new cmc("Property {0} may not be present on {1}."));Zgb=new j6("JSC_NTI_PROPERTY_ACCESS_ON_NONOBJECT",sZ,new cmc("Cannot access property {0} of non-object type {1}."));Wgb=new j6("JSC_NTI_NOT_UNIQUE_INSTANTIATION",sZ,new cmc("When instantiating a polymorphic function, you can only specify one type for each type variable.\n Found {0} types for type variable {1}: {2},\n when instantiating type: {3}"));Kgb=new j6("JSC_NTI_INVALID_INDEX_TYPE",sZ,new cmc("Invalid type for index.\n{0}"));ngb=new j6("JSC_NTI_BOTTOM_INDEX_TYPE", -sZ,new cmc("This IObject {0} cannot be accessed with a valid type.\n Usually the result of a bad union type.\n"));Mgb=new j6("JSC_NTI_INVALID_OBJLIT_PROPERTY_TYPE",sZ,new cmc("Invalid type for object-literal property.\n{0}"));xgb=new j6("JSC_NTI_FORIN_EXPECTS_OBJECT",sZ,new cmc("For/in expects an object, found type {0}."));ygb=new j6("JSC_NTI_FORIN_EXPECTS_STRING_KEY",sZ,new cmc("For/in creates string keys, but variable has declared type {1}."));zgb=new j6("JSC_NTI_FOROF_EXPECTS_ITERABLE",sZ,new cmc("For/of expects an iterable, found type {0}.")); -Sgb=new j6("JSC_NTI_MISTYPED_FOROF_ELEMENT_TYPE",sZ,new cmc("Invalid type for for/of element.\n{0}"));vgb=new j6("JSC_NTI_CONST_REASSIGNED",sZ,new cmc("Cannot change the value of a constant."));ugb=new j6("JSC_NTI_CONST_PROPERTY_REASSIGNED",sZ,new cmc("Cannot change the value of a constant property."));tgb=new j6("JSC_NTI_CONSTANT_PROPERTY_DELETED",sZ,new cmc("Constant property {0} cannot be deleted"));Ugb=new j6("JSC_NTI_NOT_A_CONSTRUCTOR",sZ,new cmc("Expected a constructor but found type {0}.")); -qgb=new j6("JSC_NTI_CANNOT_INSTANTIATE_ABSTRACT_CLASS",sZ,new cmc("Cannot instantiate abstract class {0}."));new j6("JSC_UNDEFINED_SUPER_CLASS",sZ,new cmc("Undefined super class for {0}."));mgb=new j6("JSC_NTI_ASSERT_FALSE",sZ,new cmc("Assertion is always false. Please use a throw or fail() instead."));chb=new j6("JSC_NTI_UNKNOWN_ASSERTION_TYPE",sZ,new cmc("Assert with unknown asserted type."));Ogb=new j6("JSC_NTI_INVALID_THIS_TYPE_IN_BIND",sZ,new cmc("Invalid type for the first argument to bind.\n{0}")); -pgb=new j6("JSC_NTI_CANNOT_BIND_CTOR",sZ,new cmc("We do not support using .bind on constructor functions."));Bgb=new j6("JSC_NTI_GOOG_BIND_EXPECTS_FUNCTION",sZ,new cmc("The first argument to goog.bind/goog.partial must be a function, found: {0}"));ogb=new j6("JSC_NTI_BOTTOM_PROP",sZ,new cmc("Property {0} of {1} cannot have a valid type.Maybe the result of a union of incompatible types?"));Igb=new j6("JSC_NTI_INVALID_CAST",sZ,new cmc("invalid cast - the types do not have a common subtype\nfrom: {0}\nto : {1}")); -Agb=new j6("JSC_NTI_USED_GLOBAL_THIS",sZ,new cmc("Dangerous use of the global THIS object"));Qgb=new j6("JSC_NTI_MISSING_RETURN_STATEMENT",sZ,new cmc(zDc));sgb=new j6("JSC_NTI_CONSTRUCTOR_NOT_CALLABLE",sZ,new cmc(aHc));Cgb=new j6("JSC_NTI_ILLEGAL_OBJLIT_KEY",sZ,new cmc(bHc));Egb=new j6("JSC_NTI_ILLEGAL_PROPERTY_CREATION",sZ,new cmc("Cannot add property {0} to a struct instance after it is constructed."));Pgb=new j6("JSC_NTI_IN_USED_WITH_STRUCT",sZ,new cmc(cHc));lgb=new j6("JSC_NTI_ADDING_PROPERTY_TO_NON_OBJECT", -sZ,new cmc("Cannot create property {0} on non-object type {1}."));Ggb=new j6("JSC_NTI_INEXISTENT_PROPERTY",sZ,new cmc(dHc));Vgb=new j6("JSC_NTI_NOT_FUNCTION_TYPE",sZ,new cmc("Cannot call non-function type {0}"));ghb=new j6("JSC_NTI_WRONG_ARGUMENT_COUNT",sZ,new cmc(eHc));Dgb=new j6("JSC_NTI_ILLEGAL_PROPERTY_ACCESS",sZ,new cmc(fHc));fhb=new j6("JSC_NTI_UNKNOWN_TYPEOF_VALUE",sZ,new cmc(gHc));ehb=new j6("JSC_NTI_UNKNOWN_NAMESPACE_PROPERTY",sZ,new cmc("Cannot determine the type of namespace property {0}. Maybe a prefix of the property name has been redefined?")); -Fgb=new j6("JSC_INCOMPATIBLE_STRICT_COMPARISON",sZ,new cmc("Cannot perform strict equality / inequality comparisons on incompatible types:\nleft : {0}\nright: {1}"));kgb=new j6("JSC_NTI_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",sZ,new cmc(hHc));$gb=new j6("JSC_NTI_REFLECT_CONSTRUCTOR_EXPECTED",sZ,new cmc(iHc));Xgb=new j6("JSC_NTI_NULLABLE_DEREFERENCE",rZ,new cmc("Attempt to use nullable type {0}."));dhb=new j6("JSC_NTI_UNKNOWN_EXPR_TYPE",rZ,new cmc("This {0} expression has the unknown type."));ihb=new j6("JSC_NTI_YIELD_NONDECLARED_TYPE", -sZ,new cmc("Yielded type does not match declared return type.\n{0}"));hhb=new j6("JSC_NTI_YIELD_ALL_EXPECTS_ITERABLE",sZ,new cmc("Expression yield* expects an iterable, found type {0}."));rgb=new z5(DD(yD(tK,1),UBc,5,0,[kgb,pgb,qgb,tgb,ugb,vgb,$gb,sgb,ygb,zgb,Sgb,Agb,Bgb,Cgb,Dgb,Egb,Pgb,Ggb,Hgb,ahb,bhb,Igb,Kgb,Mgb,Qgb,Rgb,Ugb,Vgb,Ygb,_gb,chb,fhb,ghb,hhb,Jgb]));Tgb=new z5(DD(yD(tK,1),UBc,5,0,[lgb,mgb,ngb,ogb,wgb,xgb,Fgb,Lgb,Ngb,Ogb,Wgb,Zgb,ehb,ihb]))}function fFb(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,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb;switch(b.p.f){case 42:return(b.b.c==(nSb(),SRb)||b.b.c==TRb)&&aFb(a,b,(TKb(),pKb)),bEb(a.a,b.c.o)?gEb(a.a,NEb(b.b.c),wEb(a.a,b.a),wEb(a.a,b.c)):jFb(a,b);case 28:return gFb(a,b);case 74:return SFb(a,b);case 75:return TFb(a,b.a);case 76:return fEb(a.a,(m6b(),Y5b),wEb(a.a,b.a));case 44:return XFb(a,b);case 2:return kFb(a,b);case 14:return lFb(a,b);case 49:return wFb(a,b);case 17:return PFb(a,b);case 18:return QFb(a, -b);case 22:return gEb(a.a,(m6b(),R3b),wEb(a.a,b.b),xEb(a.a,b.a));case 13:return oFb(a,b);case 8:return gEb(a.a,(m6b(),f4b),xEb(a.a,b.a),wEb(a.a,b.b));case 5:return eEb((d=a,b,d).a,(m6b(),h4b));case 6:return sFb(a,b);case 24:return eEb((e=a,b,e).a,(m6b(),Z3b));case 25:return eEb((f=a,b,f).a,(m6b(),Z5b));case 11:return tFb(a,b);case 10:return h=wEb(a.a,b.c),i=(Cn(),Mp(DD(yD(nT,1),UBc,1,5,[(m6b(),o3b),r5b]))),i.contains(h.j)&&a.a.d.kh("Invalid LHS for a for-in loop",a.a.r,(UDb(),b.c.o.b.b+1),b.c.o.b.a), -hEb(a.a,u4b,h,wEb(a.a,b.b),xEb(a.a,b.a));case 1:return vFb(a,b);case 55:return gEb(a.a,(m6b(),B4b),wEb(a.a,b.b),wEb(a.a,b.a));case 46:return j=wEb(a.a,b.b),k=b.a,l=GFb(a,k),!l.pi()&&!a.a.c&&bFb(a,l),gEb(a.a,(m6b(),C4b),j,l);case 43:return hEb(a.a,(m6b(),F4b),wEb(a.a,b.a),wEb(a.a,b.b),wEb(a.a,b.c));case 7:return zFb(a,b);case 20:return gEb(a.a,(m6b(),T4b),aGb(a,b.a),wEb(a.a,b.b));case 56:return TEb(a,b),wEb(a.a,b.a);case 26:return CFb(a,b.a,false);case 47:return FFb(a,b);case 29:return HFb(a,b);case 36:return aFb(a, -b,(TKb(),iKb)),gEb(a.a,(m6b(),W3b),wEb(a.a,b.a),wEb(a.a,b.b));case 37:return aFb(a,b,(TKb(),iKb)),m=wEb(a.a,b.c),n=wEb(a.a,b.a),o=hYb((ie(Ukc("",mlc(46))==-1,DDc,""),new Y2b((m6b(),e5b),"")),new Z1b(w5b),n),W1b(o,n),p=gEb(a.a,W3b,m,o),q=v1b(p,p.g,73),q!=p.g&&(p.g=q),p.g=new B2b(73,1,p.g),q1b(p,58,b.b),p;case 88:return aFb(a,b,(TKb(),iKb)),dFb(a,b,BKb),r=fEb(a.a,(m6b(),W3b),wEb(a.a,b.d)),ZEb(a,r,b.b),s=v1b(r,r.g,75),s!=r.g&&(r.g=s),r.g=new B2b(75,1,r.g),r1b(r,84,b.a),J1b(r,b.c),XEb(a,b,r,b.a),r;case 38:return aFb(a, -b,(TKb(),iKb)),t=gEb(a.a,(m6b(),W3b),wEb(a.a,b.c),wEb(a.a,b.b)),u=v1b(t,t.g,72),u!=t.g&&(t.g=u),t.g=new B2b(72,1,t.g),b.b.i&&(v=v1b(t,t.g,58),v!=t.g&&(t.g=v),t.g=new B2b(58,1,t.g)),XEb(a,b,t,b.a),t;case 39:return aFb(a,b,(TKb(),iKb)),w=wEb(a.a,b.d),A=wEb(a.a,b.a),B=AYb(_Fb(a,b.c)),C=hYb((ie(Ukc("",mlc(46))==-1,DDc,""),new Y2b((m6b(),e5b),"")),B,A),W1b(C,A),D=gEb(a.a,W3b,w,C),F=v1b(D,D.g,74),F!=D.g&&(D.g=F),D.g=new B2b(74,1,D.g),q1b(D,58,b.b),D;case 15:return MFb(a,b);case 45:return G=REb(b.b.c),H= -wEb(a.a,b.a),UEb(a,G,b.c==1,H);case 0:return iFb(a,b);case 27:return BFb(a,b);case 19:return RFb(a,b);case 21:return fEb(a.a,(m6b(),$5b),wEb(a.a,b.a));case 23:return UFb(a,b);case 3:return fFb(a.a.u,b.a);case 12:return $Fb(a,b);case 4:return ZFb(a,b);case 9:return gEb(a.a,(m6b(),j6b),wEb(a.a,b.b),xEb(a.a,b.a));case 16:return gEb(a.a,(m6b(),k6b),wEb(a.a,b.b),xEb(a.a,b.a));case 41:return nFb(a,b);case 64:return eEb((g=a,b,g).a,(m6b(),h4b));case 57:return xEb(a.a,b.a);case 40:return jEb((c=a,b,c).a, -(m6b(),e5b),MIc);case 35:return I=GFb(a,b.a),M1b(I,(m6b(),R5b)),!!b.b&&I0b(I,wEb(a.a,b.b)),I;case 33:return J=GFb(a,b.c),M1b(J,(m6b(),D4b)),K=wEb(a.a,b.a),L=jEb(a.a,e5b,""),tEb(L,b.a),M=eEb(a.a,w5b),tEb(M,b.a),N=hEb(a.a,w4b,L,M,K),tEb(N,b.a),I0b(J,N),ZEb(a,N,b.d),J1b(J,b.b),J;case 34:return O=GFb(a,b.d),M1b(O,(m6b(),L5b)),P=wEb(a.a,b.a),Q=jEb(a.a,e5b,""),sEb(Q,b.d),R=fEb(a.a,w5b,_Fb(a,b.c)),sEb(R,b.c),ZEb(a,R.b,b.e),S=hEb(a.a,w4b,Q,R,P),tEb(S,b.a),I0b(O,S),J1b(O,b.b),O;case 62:return uFb(a,b);case 50:return mFb(a, -b);case 58:return aFb(a,b,(TKb(),NKb)),eEb(a.a,(m6b(),U5b));case 93:return aFb(a,b,(TKb(),EKb)),eEb(a.a,(m6b(),l5b));case 72:return T=eEb(a.a,(m6b(),l6b)),!!b.a&&H0b(T,wEb(a.a,b.a)),P1b(T,b.b),T;case 94:return aFb(a,b,(TKb(),dKb)),U=eEb(a.a,(m6b(),E3b)),H0b(U,wEb(a.a,b.a)),U;case 71:return aFb(a,b,(TKb(),rKb)),V=wEb(a.a,b.c),W=(Cn(),Mp(DD(yD(nT,1),UBc,1,5,[(m6b(),o3b),r5b]))),W.contains(V.j)&&a.a.d.kh("Invalid LHS for a for-of loop",a.a.r,(UDb(),b.c.o.b.b+1),b.c.o.b.a),hEb(a.a,v4b,V,wEb(a.a,b.b), -xEb(a.a,b.a));case 67:return qFb(a,b);case 68:return rFb(a,b);case 69:return aFb(a,b,(TKb(),CKb)),X=dGb(a,b.a,b),Y=b.d?jEb(a.a,(m6b(),L4b),b.d.a):cGb(a,(m6b(),K4b),b.b),g2b(Y.i)==-1&&uEb(Y,b.o.b,b.o.a),Z=NFb(a,b.c),hEb(a.a,(m6b(),I4b),X,Y,Z);case 70:return $=CFb(a,b.b,true),M1b($,(m6b(),e5b)),ab=fEb(a.a,J4b,$),!!b.a&&H0b(ab,CFb(a,b.a,false)),ab;case 59:return hFb(a,b);case 61:return IFb(a,b);case 60:return aFb(a,b,(TKb(),bKb)),fEb(a.a,(m6b(),F5b),yEb(a.a,b.a));case 32:case 31:case 30:return a.a.d.kh("unsupported language feature: array/generator comprehensions", -a.a.r,(UDb(),b.o.b.b+1),b.o.b.a),jEb(a.a,(m6b(),e5b),MIc);case 73:return aFb(a,b,(TKb(),lKb)),gEb(a.a,(m6b(),b4b),wEb(a.a,b.b),wEb(a.a,b.a));case 65:return aFb(a,b,(TKb(),JKb)),bb=yEb(a.a,b.a),(bb.j==(m6b(),s5b)||bb.j==p3b)&&aFb(a,b.a,mKb),fEb(a.a,F5b,bb);case 63:return aFb(a,b,(TKb(),LKb)),fEb(a.a,(m6b(),O5b),wEb(a.a,b.a));case 77:return VFb(a,b);case 79:return cb=wEb(a.a,b.a),ZEb(a,cb,b.b),cb;case 80:return dFb(a,b,(TKb(),GKb)),db=wEb(a.a,b.a),eb=v1b(db,db.g,80),eb!=db.g&&(db.g=eb),db.g=new B2b(80, -1,db.g),db;case 81:return JFb(a,b);case 82:return VDb(a.a,u6b(wEb(a.a,b.a)));case 83:return KFb(a,b);case 84:return YFb(a,b);case 85:return xFb(a,b);case 78:return WFb(a,b);case 86:return yFb(a,b);case 87:return fb=jEb(a.a,(m6b(),a5b),b.e.a),ZEb(a,fb,b.b),J1b(fb,b.d),q1b(fb,80,b.c),XEb(a,b,fb,b.a),fb;case 51:return AFb(a,b);case 54:return pFb(a,b);case 89:return dFb(a,b,(TKb(),RKb)),gb=jEb(a.a,(m6b(),c6b),b.a.a),I0b(gb,wEb(a.a,b.b)),gb;case 90:return dFb(a,b,(TKb(),aKb)),fEb(a.a,(m6b(),_3b),wEb(a.a, -b.a));case 52:return DFb(a,b);case 91:return dFb(a,b,(TKb(),wKb)),hb=wEb(a.a,b.b),ib=Y0b(hb,78),ib.j!=(m6b(),q5b)&&ib.j!=S5b&&a.a.d.kh("Index signature parameter type must be 'string' or 'number'",a.a.r,(UDb(),b.b.o.b.b+1),b.b.o.b.a),jb=fEb(a.a,O4b,hb),ZEb(a,jb,b.a),jb;case 92:return dFb(a,b,b.c?(TKb(),jKb):(TKb(),gKb)),kb=fEb(a.a,(m6b(),O3b),wEb(a.a,b.a)),ZEb(a,kb,b.d),YEb(a,kb,b.b),q1b(kb,83,b.c),kb}return a.a.d.kh("Unsupported syntax: "+b.p,a.a.r,(UDb(),b.o.b.b+1),0),eEb(a.a,(m6b(),h4b))}function Y$(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;if(a.g&&!!Y0b(b,29)){G=yeb(a.e,Y0b(b,29));Rkc(G,"/** */ ")||w$(a.c,G)}bb=b.j;N=rjb(bb);p=T0b(b);t=b.b;H=b.b?b.b.f:null;if(N!=null&&t!=H){je(p==2,N,p);O=m_(a,b);X=c==3?3:4;K=c==2&&t.j==(m6b(),s5b);b.j==(m6b(),r3b)&&K&&w$(a.c,"(");if(Cib(b)||bb==n4b){b_(a,t,O+1,c);y$(a.c,N,true);b_(a,H,O,X)}else p_(a,b,bb,N,c,X,O,O+1);b.j==r3b&&K&&w$(a.c,")");return}a.c.zg(b);switch(bb.f){case 44:{de(t.d.j== -(m6b(),K3b)&&!c1b(t.d));de(p>=2&&p<=3);w$(a.c,"try");a.Ag(t,4);n=t.d.b;!!n&&a.Ag(n,4);if(p==3){a.c.vg();w$(a.c,ODc);a.Ag(H,4)}break}case 78:de(p==2);a.c.vg();w$(a.c,"catch");a.c.vg();w$(a.c,"(");a.Ag(t,4);w$(a.c,")");a.Ag(H,4);break;case 39:de(p==1);w$(a.c,"throw");a.c.vg();a.Ag(t,4);a.c.rg(true);break;case 0:w$(a.c,PDc);if(p==1){a.c.vg();a.Ag(t,4)}else de(p==0);a.c.rg(false);break;case 76:w$(a.c,"var ");f_(a,t,false,c==3?3:4,",");(!b.e||(Vhb(),b.j!=(m6b(),c5b)&&cjb(b.e)))&&a.c.rg(false);break;case 88:w$(a.c, -"const ");f_(a,t,false,c==3?3:4,",");(!b.e||(Vhb(),b.j!=(m6b(),c5b)&&cjb(b.e)))&&a.c.rg(false);break;case 100:w$(a.c,"let ");f_(a,t,false,c==3?3:4,",");(!b.e||(Vhb(),b.j!=(m6b(),c5b)&&cjb(b.e)))&&a.c.rg(false);break;case 90:de(b.ni().length!=0);d_(a,b.ni());break;case 95:a.Ag(t,4);if(t!=H){de(p==2);y$(a.c,"=",true);a.Ag(H,4)}break;case 29:a.k&&Y0b(b,40)!=null?d_(a,Y0b(b,40)):d_(a,b.ni());W0b(b,80)!=0&&w$(a.c,"?");l_(a,b);if(!!t&&t.j!=(m6b(),h4b)){de(p==1);y$(a.c,"=",true);t.j==(m6b(),V3b)||t.j==Q3b&& -t.b.j==V3b?b_(a,t,tjb(r3b),4):b_(a,t,0,c==3?3:4)}break;case 42:w$(a.c,"[");_$(a,t);w$(a.c,"]");break;case 93:w$(a.c,"[");_$(a,t);w$(a.c,"]");l_(a,b);break;case 45:w$(a.c,"(");f_(a,t,true,4,",");w$(a.c,")");break;case 118:a.Ag(t,4);l_(a,b);y$(a.c,"=",true);a.Ag(t.d,4);break;case 46:de(p==2);p_(a,b,(m6b(),V3b),",",c,c==3?3:4,0,0);break;case 30:de(p==0);a.c.fg(b.mi(),b);break;case 25:case 79:case 19:case 20:case 21:{de(p==1);y$(a.c,sjb(bb),false);b_(a,t,tjb(bb),4);break}case 22:{de(p==1);if(b.b.j==(m6b(), -p5b))a.c.fg(-b.b.mi(),b.b);else{y$(a.c,sjb(bb),false);b_(a,t,tjb(bb),4)}break}case 60:{de(p==3);O=tjb(bb);X=c==3?3:4;b_(a,t,O+1,c);y$(a.c,"?",true);b_(a,t.d,1,X);y$(a.c,":",true);b_(a,H,1,X);break}case 38:if(t.j!=(m6b(),Q5b)||H.j!=Q5b)throw HV(new Jic("Expected children to be strings"));V="/"+o_(a,t.ni(),'"',"'","`","\\",false,true)+"/";if(p==2)Z$(a,V+H.ni());else{de(p==1);w$(a.c,V)}break;case 65:{if(b.Nj!=VR)throw HV(new Jic(QDc));de(p==3);b.j==(m6b(),w4b)&&W0b(b,60)!=0?(de(t.ni().length==0),cb= -(db=b.e,!!db&&(Vhb(),Dib(db.j)||fjb(db.j)||hjb(db.j)||db.j==W5b||db.j==C4b||(db.j==B4b||db.j==N3b||db.j==F4b)&&(eb=b.e,!!eb&&b==eb.b))),cb&&w$(a.c,"("),fb=Y0b(t,81),!!fb&&a.Ag(fb,4),b.j==w4b&&W0b(b,61)!=0&&w$(a.c,RDc),a.Ag(t.d,4),l_(a,b),y$(a.c,"=>",true),H.j==K3b?a.Ag(H,4):b_(a,H,tjb(V3b)+1,c),a.c.og(c==0),cb&&w$(a.c,")"),undefined):c_(a,b,t,H,c);break}case 112:w$(a.c,SDc);a.Ag(t,4);l_(a,b);break;case 113:w$(a.c,SDc);a.Ag(b.b,4);break;case 108:w$(a.c,TDc);W0b(b,63)!=0&&w$(a.c,UDc);if(W0b(b,64)!= -0){w$(a.c,"*");de(!!t&&t.j==(m6b(),h4b))}else a.Ag(t,4);if(p==2){w$(a.c,VDc);a.Ag(H,4)}n_(a,t,c);break;case 104:w$(a.c,WDc);Y=t.d;if(t.j!=(m6b(),h4b)){a.Ag(t,4);Y.j==h4b||a.c.tg()}Y.j==h4b||a.Ag(Y,4);(t.j!=h4b||Y.j!=h4b)&&w$(a.c,VDc);a.Ag(H,4);a.c.rg(false);break;case 109:case 105:w$(a.c,"{");for(j=t;j;j=j.d){j!=t&&a.c.tg();a.Ag(j,4)}w$(a.c,"}");break;case 110:case 106:a.Ag(t,4);if(t!=H){w$(a.c,"as");a.Ag(H,4)}break;case 107:w$(a.c,"*");w$(a.c,"as");Z$(a,b.ni());break;case 96:{de(p==3);q=c==2;q&& -w$(a.c,"(");J=t;Z=t.d;I=H;w$(a.c,XDc);J.j==(m6b(),h4b)||a.Ag(J,4);A=Y0b(t,81);!!A&&a.Ag(A,4);if(Z.j!=h4b){w$(a.c,YDc);a.Ag(Z,4)}D=Y0b(b,82);if(D){w$(a.c,ZDc);o=D.b;a.Ag(o,4);while(o=o.d){w$(a.c,",");a.c.vg();a.Ag(o,4)}}a.Ag(I,4);B$(a.c,c==0);q&&w$(a.c,")")}break;case 97:case 150:case 160:z$(a.c);for(k=t;k;k=k.d){a.Ag(k,4);n_(a,k,c);a.c.pg()}A$(a.c,false);break;case 152:z$(a.c);for(l=t;l;l=l.d){a.Ag(l,4);!!l.d&&w$(a.c,",");a.c.pg()}A$(a.c,false);break;case 86:case 87:case 98:case 156:{de(b.e.j==(m6b(), -r5b)||b.e.j==T3b||b.e.j==S4b||b.e.j==D5b||b.e.j==O4b);e=Y0b(b,84);!!e&&Z$(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");W0b(b,58)!=0&&w$(a.c,"static ");if(b.j!=a5b&&W0b(b.b,59)!=0){de(bb==_4b);w$(a.c,"*")}b.j==_4b&&g1b(b.b)&&w$(a.c,"async ");switch(bb.f){case 86:de(!t.b.d.b);w$(a.c,"get ");break;case 87:de(d1b(t.b.d));w$(a.c,"set ")}J=b.ni();if(b.j==a5b){Z$(a,b.ni());W0b(b,80)!=0&&w$(a.c,"?");l_(a,b)}else{de(p==1);de(t.j==w4b);de(t.b.ni().length==0);u=t;P=u.b.d;h=u.b?u.b.f:null;if(!b.pi()&&(t6b(),r6b.test(J))&& -Sib(J)){w$(a.c,J);k_(a,u.b)}else{r=v_(J);isNaN(r)?e_(a,b):a.c.fg(r,b)}W0b(u,80)!=0&&w$(a.c,"?");a.Ag(P,4);l_(a,u);a.Ag(h,4)}break}case 85:case 111:case 82:case 81:{if(b.Nj!=VR)throw HV(new Jic(QDc));U=b.j==(m6b(),K3b)&&W0b(b,38)==0;U&&z$(a.c);T=bb==K5b||bb==K3b&&!U&&b.e.j==K5b;for(m=t;m;m=m.d){a.Ag(m,0);(m.j==w4b||m.j==S3b)&&a.c.wg();T&&a.c.xg()}U&&A$(a.c,a.c.lg(b,c==0));break}case 72:de(p==4);w$(a.c,"for");a.c.vg();w$(a.c,"(");Vhb();!!t&&(t.j==(m6b(),g6b)||t.j==Y4b||t.j==X3b)?a.Ag(t,3):b_(a,t,0, -3);w$(a.c,";");t.d.j==(m6b(),h4b)||a.c.vg();a.Ag(t.d,4);w$(a.c,";");t.d.d.j==h4b||a.c.vg();a.Ag(t.d.d,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 73:de(p==3);w$(a.c,"for");a.c.vg();w$(a.c,"(");a.Ag(t,4);w$(a.c,"in");a.Ag(t.d,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 101:de(p==3);w$(a.c,"for");a.c.vg();w$(a.c,"(");a.Ag(t,4);w$(a.c,"of");a.Ag(t.d,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 71:de(p==2);w$(a.c,"do");g_(a,t,4,false);a.c.vg();w$(a.c,$Dc);a.c.vg();w$(a.c,"(");a.Ag(H,4); -w$(a.c,")");a.c.rg(false);break;case 70:de(p==2);w$(a.c,$Dc);a.c.vg();w$(a.c,"(");a.Ag(t,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 80:de(p==0);break;case 26:{if(a.k&&Y0b(b,40)!=null){o1b(b.b,"$jscomp.scope")&&b.e.j==(m6b(),r3b)&&w$(a.c,"var ");d_(a,Y0b(b,40));break}fe(p==2,"Bad GETPROP: expected 2 children, but got %s",p);ee(H.j==(m6b(),Q5b),"Bad GETPROP: RHS should be STRING");K=t.j==p5b;K&&w$(a.c,"(");b_(a,t,tjb(bb),c);K&&w$(a.c,")");if(a.i&&q6b(H.ni())){w$(a.c,"[");a.Ag(H,4);w$(a.c,"]")}else{w$(a.c, -".");d_(a,H.ni())}break}case 27:he(p==2,p,b);b_(a,t,tjb(bb),c);w$(a.c,"[");a.Ag(t.d,4);w$(a.c,"]");break;case 77:de(p==2);w$(a.c,"with(");a.Ag(t,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 63:case 64:{de(p==1);M=bb==(m6b(),N4b)?"++":"--";R=W0b(b,32)!=0;if(R){b_(a,t,tjb(bb),c);y$(a.c,M,false)}else{y$(a.c,M,false);a.Ag(t,4)}break}case 28:if(t.j==(m6b(),e5b)&&Rkc("eval",t.ni())&&W0b(t,49)==0||W0b(b,50)!=0&&(Vhb(),t.j==C4b||t.j==B4b)){w$(a.c,"(0,");b_(a,t,tjb(V3b),4);w$(a.c,")")}else b_(a,t,tjb(bb), -c);g=t.d;w$(a.c,"(");f_(a,g,true,4,",");w$(a.c,")");break;case 66:de(p==2||p==3);B=p==3;f=c==1&&!B;f&&z$(a.c);w$(a.c,"if");a.c.vg();w$(a.c,"(");a.Ag(t,4);w$(a.c,")");if(B){g_(a,t.d,1,false);a.c.vg();w$(a.c,"else");g_(a,H,c==1?1:4,false)}else g_(a,t.d,4,false);f&&A$(a.c,false);break;case 32:de(p==0);w$(a.c,ABc);break;case 33:de(p==0);w$(a.c,_Dc);break;case 99:de(p==0);w$(a.c,aEc);break;case 119:de(p==0);w$(a.c,bEc);break;case 102:w$(a.c,"yield");if(W0b(b,62)!=0){Zd(t);w$(a.c,"*")}if(t){a.c.vg();b_(a, -t,tjb(bb),4)}break;case 103:w$(a.c,"await ");b_(a,t,tjb(bb),4);break;case 34:de(p==0);w$(a.c,cEc);break;case 35:de(p==0);w$(a.c,dEc);break;case 75:de(p<=1);w$(a.c,eEc);if(p==1){if(t.j!=(m6b(),U4b))throw HV(new Jic(fEc));w$(a.c," ");a.Ag(t,4)}a.c.rg(false);break;case 89:de(p==0);w$(a.c,gEc);a.c.rg(false);break;case 74:de(p<=1);w$(a.c,"break");if(p==1){if(t.j!=(m6b(),U4b))throw HV(new Jic(fEc));w$(a.c," ");a.Ag(t,4)}a.c.rg(false);break;case 84:de(p==1);a.Ag(t,2);a.c.rg(false);break;case 23:w$(a.c,"new "); -S=tjb(bb);_hb(t,(m6b(),N3b),(Vhb(),Ohb))&&(S=tjb(t.j)+1);b_(a,t,S,4);L=t.d;if(L){w$(a.c,"(");f_(a,L,true,4,",");w$(a.c,")")}break;case 91:i_(a,b);break;case 31:ee(p==0,"A string may not have children");e_(a,b);break;case 24:de(p==1);w$(a.c,"delete ");a.Ag(t,4);break;case 43:{K=c==2;K&&w$(a.c,"(");w$(a.c,"{");for(m=t;m;m=m.d){m!=t&&a.c.tg();de((Vhb(),m.j==(m6b(),R5b)||m.j==D4b||m.j==L5b||m.j==_4b||m.j==W3b));a.Ag(m,4)}w$(a.c,"}");K&&w$(a.c,")");break}case 114:d=Y0b(b,84);!!d&&Z$(a,(d.e!=null?d.e:""+ -d.f).toLowerCase()+" ");W0b(b,58)!=0&&w$(a.c,"static ");W0b(b,73)!=0?w$(a.c,"get "):W0b(b,74)!=0?w$(a.c,"set "):W0b(H,59)!=0?w$(a.c,"*"):H.j==(m6b(),w4b)&&W0b(H,61)!=0&&w$(a.c,RDc);w$(a.c,"[");a.Ag(t,4);w$(a.c,"]");l_(a,b);if(W0b(b,72)!=0||W0b(b,73)!=0||W0b(b,74)!=0){v=t.d;Q=v.b.d;h=v.b?v.b.f:null;a.Ag(Q,4);a.Ag(h,4)}else{F=b.e.j==(m6b(),T3b);C=t.d;if(C){ee(!F,"initializers should only exist in object literals, not classes");y$(a.c,":",false);a.Ag(C,4)}else ee(W0b(b,75)!=0,b)}break;case 94:h_(a,b); -l_(a,b);break;case 67:w$(a.c,"switch(");a.Ag(t,4);w$(a.c,")");z$(a.c);$$(a,t.d);A$(a.c,c==0);break;case 68:de(p==2);w$(a.c,"case ");a.Ag(t,4);a_(a,H);break;case 69:de(p==1);w$(a.c,UDc);a_(a,t);break;case 83:de(p==2);if(t.j!=(m6b(),U4b))throw HV(new Jic(fEc));a.Ag(t,4);w$(a.c,":");H.j==K3b||a.c.vg();g_(a,H,c==1?1:4,true);break;case 92:a.g&&w$(a.c,"(");a.Ag(t,4);a.g&&w$(a.c,")");break;case 115:a.Ag(t,2);a.Ag(t.d,4);break;case 116:w$(a.c,"`");for(i=t;i;i=i.d)if(i.j==(m6b(),Q5b))Z$(a,o_(a,i.ni(),'"', -"'","\\`",CBc,false,false));else{a.c.gg("${");a.Ag(i.b,2);w$(a.c,"}")}w$(a.c,"`");break;case 120:w$(a.c,xBc);break;case 121:w$(a.c,uBc);break;case 122:w$(a.c,vBc);break;case 126:w$(a.c,"any");break;case 128:w$(a.c,hEc);break;case 130:a.Ag(t,4);break;case 134:b_(a,t,tjb((m6b(),q3b)),c);w$(a.c,"[]");break;case 123:W=t;w$(a.c,"(");f_(a,t.d,true,4,",");w$(a.c,")");y$(a.c,"=>",true);a.Ag(W,4);break;case 125:f_(a,t,true,4,"|");break;case 132:w$(a.c,"{");f_(a,t,false,4,",");w$(a.c,"}");break;case 124:a.Ag(t, -4);w$(a.c,"<");f_(a,t.d,true,4,",");w$(a.c,">");break;case 136:w$(a.c,"<");f_(a,t,false,0,",");w$(a.c,">");break;case 135:d_(a,b.ni());if(b.b){w$(a.c,YDc);a.c.vg();a.Ag(b.b,4)}break;case 148:{de(p==3);J=t;ab=t.d;I=H;w$(a.c,iEc);a.Ag(J,4);A=Y0b(J,81);!!A&&a.Ag(A,4);if(ab.j!=(m6b(),h4b)){w$(a.c,YDc);$=ab.b;a.Ag($,4);while($=$.d){w$(a.c,",");a.c.vg();a.Ag($,4)}}a.Ag(I,4)}break;case 151:{de(p==2);J=t;I=H;w$(a.c,jEc);a.Ag(J,4);a.Ag(I,4);break}case 159:{de(p==2);J=t;s=H;w$(a.c,kEc);a.Ag(J,4);a.Ag(s,4); -break}case 154:w$(a.c,lEc);Z$(a,b.ni());y$(a.c,"=",true);a.Ag(H,4);a.c.rg(true);break;case 155:w$(a.c,mEc);a.Ag(t,4);n_(a,b,c);break;case 157:w$(a.c,"[");a.Ag(t,4);w$(a.c,"]");l_(a,b);a.c.rg(true);break;case 158:W0b(b,83)!=0&&w$(a.c,"new ");w=Y0b(b,81);!!w&&a.Ag(w,4);a.Ag(t,4);l_(a,b);a.c.rg(true);break;default:throw HV(new GC("Unknown type "+bb+OCc+S1b(b)));}a.c.qg(b)}function HGb(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,sb,tb;u=a.i.g;i=VHb(a.i);e=a.i.n;d=rp(a.a,e);if(!d||e.length==0)nGb(a,FHc,e,a.i.g,VHb(a.i));else{g_b(a.e,e,u,i);switch(d.f){case 0:OZb(a.e.a)?lGb(a,"msg.jsdoc.nginject.extra",a.i.g,VHb(a.i)):V_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 26:IZb(a.e.a)?lGb(a,"msg.jsdoc.jaggerInject.extra",a.i.g,VHb(a.i)):K_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 27:JZb(a.e.a)?lGb(a,"msg.jsdoc.jaggerModule.extra",a.i.g,VHb(a.i)):L_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a)); -case 28:KZb(a.e.a)?lGb(a,"msg.jsdoc.jaggerProvide.extra",a.i.g,VHb(a.i)):M_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 29:LZb(a.e.a)?lGb(a,"msg.jsdoc.jaggerProvidePromise.extra",a.i.g,VHb(a.i)):N_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 1:k_b(a.e)||oGb(a,RIc,a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 2:if(a.e.d){g=xGb(a);f=g.a;f.length==0?lGb(a,"msg.jsdoc.authormissing",a.i.g,VHb(a.i)):a_b(a.e,f);b=g.b}else b=uGb(a,!a.n?WHb(a.i):sGb(a));return b;case 4:n_b(a.e)||lGb(a,"msg.jsdoc.consistidgen", -a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 60:r0b(a.e)||oGb(a,RIc,a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 53:i0b(a.e)||oGb(a,RIc,a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 11:v_b(a.e)||oGb(a,RIc,a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 6:p_b(a.e)||(HZb(a.e.a)?oGb(a,SIc,a.i.g,VHb(a.i)):oGb(a,RIc,a.i.g,VHb(a.i)));return uGb(a,!a.n?WHb(a.i):sGb(a));case 7:I_b(a.e)||oGb(a,"msg.jsdoc.record",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 9:s_b(a.e)|| -lGb(a,"msg.jsdoc.deprecated",a.i.g,VHb(a.i));J=wGb(a,b,a.f?0:2,false);I=J.a;I.length>0&&t_b(a.e,I);b=J.b;return b;case 25:J_b(a.e)||((a.e.a.a&2)!=0?oGb(a,SIc,a.i.g,VHb(a.i)):oGb(a,RIc,a.i.g,VHb(a.i)));return uGb(a,!a.n?WHb(a.i):sGb(a));case 10:if(kZb(a.e.a)!=null){lGb(a,"msg.jsdoc.desc.extra",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a))}else{k=wGb(a,b,a.f?0:2,false);j=k.a;u_b(a.e,j);b=k.b;return b}case 18:l="";if(a.e.d&&!zGb(a,64)){m=wGb(a,b,a.f?0:1,false);l=m.a;b=m.b}else b=uGb(a,!a.n?WHb(a.i): -sGb(a));C_b(a.e,l)||lGb(a,"msg.jsdoc.fileoverview.extra",a.i.g,VHb(a.i));return b;case 31:case 46:H=wGb(a,b,0,true);G=H.a;G.length>0&&!!a.c&&b_b(a.c,G);b=H.b;return b;case 13:b=!a.n?WHb(a.i):sGb(a);u=a.i.g;i=VHb(a.i);hb=null;if(b!=(PHb(),BHb)&&b!=zHb){lb=GGb(a,b,a.i.g,VHb(a.i),b==EHb,false);if(!!lb&&lb.j==(m6b(),Q5b)){ib=lb.ni();!Rkc(ib,vBc)&&!Rkc(ib,xBc)&&!Rkc(ib,uBc)&&(lb=iHb(a,(m6b(),F3b),lb))}hb=!lb?null:new B0b(lb,(P=Y0b(a.k,51),!P?null:P.Hg()))}else a.n=b;!hb&&(hb=rGb(a,DGb(a,vBc,a.i.g,VHb(a.i)))); -x_b(a.e,hb)||a.b.lh(PIc+j3b(RIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(Q=Y0b(a.k,51),!Q?null:Q.Hg()),u,i);return uGb(a,!a.n?WHb(a.i):sGb(a));case 17:z_b(a.e)||lGb(a,"msg.jsdoc.expose",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 15:B_b(a.e)||lGb(a,"msg.jsdoc.externs",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 14:case 22:gHb(a);b=!a.n?WHb(a.i):sGb(a);u=a.i.g;i=VHb(a.i);v=false;if(b==(PHb(),EHb)){b=!a.n?WHb(a.i):sGb(a);v=true}if(b==OHb){lb=GGb(a,b,u,i,v,true);u=a.i.g;i=VHb(a.i);lb=iHb(a, -(m6b(),F3b),lb);hb=!lb?null:new B0b(lb,(P=Y0b(a.k,51),!P?null:P.Hg()));if(d==(tDb(),xCb))epc(c,new mHb(hb,a.i.g,VHb(a.i)));else{de(d==DCb);G_b(a.e,hb)||a.b.lh(PIc+j3b("msg.jsdoc.implements.duplicate",DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),u,i)}b=!a.n?WHb(a.i):sGb(a);v?b!=KHb?oGb(a,TIc,a.i.g,VHb(a.i)):b=!a.n?WHb(a.i):sGb(a):b!=BHb&&b!=AHb&&b!=zHb&&oGb(a,"msg.end.annotation.expected",a.i.g,VHb(a.i))}else a.b.lh(PIc+j3b("msg.no.type.name",DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k, -51),!O?null:O.Hg()),u,i);b=uGb(a,b);return b;case 20:E_b(a.e)||lGb(a,"msg.jsdoc.hidden",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 30:gHb(a);v=false;if(AGb(a,(PHb(),EHb))){b=!a.n?WHb(a.i):sGb(a);v=true}if(AGb(a,OHb)){b=!a.n?WHb(a.i):sGb(a);O_b(a.e,a.i.n)||oGb(a,"msg.jsdoc.lends.incompatible",a.i.g,VHb(a.i))}else oGb(a,"msg.jsdoc.lends.missing",a.i.g,VHb(a.i));v&&!AGb(a,KHb)&&oGb(a,TIc,a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 32:A=wGb(a,b,a.f?0:2,false);w=A.a;b=A.b;R_b(a.e, -w)||lGb(a,"msg.jsdoc.meaning.extra",a.i.g,VHb(a.i));return b;case 36:W_b(a.e)||lGb(a,"msg.jsdoc.noalias",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 38:Y_b(a.e)||lGb(a,"msg.jsdoc.nocompile",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 37:X_b(a.e)||lGb(a,"msg.jsdoc.nocollapse",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 40:return uGb(a,!a.n?WHb(a.i):sGb(a));case 24:case 41:a0b(a.e)||oGb(a,"msg.jsdoc.override",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 44:PZb(a.e.a)? -lGb(a,"msg.jsdoc.polymer.extra",a.i.g,VHb(a.i)):d0b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 45:QZb(a.e.a)?lGb(a,"msg.jsdoc.polymerBehavior.extra",a.i.g,VHb(a.i)):e0b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 3:GZb(a.e.a)?lGb(a,"msg.jsdoc.customElement.extra",a.i.g,VHb(a.i)):q_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 33:MZb(a.e.a)?lGb(a,"msg.jsdoc.mixinClass.extra",a.i.g,VHb(a.i)):S_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 34:NZb(a.e.a)?lGb(a,"msg.jsdoc.mixinFunction.extra",a.i.g, -VHb(a.i)):T_b(a.e);return uGb(a,!a.n?WHb(a.i):sGb(a));case 57:{gHb(a);b=!a.n?WHb(a.i):sGb(a);u=a.i.g;i=VHb(a.i);hb=null;if(b==(PHb(),EHb)){hb=rGb(a,GGb(a,b,a.i.g,VHb(a.i),b==EHb,false));if(!hb)return uGb(a,!a.n?WHb(a.i):sGb(a))}b=sGb(a);n0b(a.e,hb);r=zGb(a,64);if(a.e.d&&!r){k=wGb(a,b,a.f?0:2,false);j=k.a;j.length>0&&m0b(a.e,hb,j);b=k.b}else b=uGb(a,!a.n?WHb(a.i):sGb(a));return b}case 43:gHb(a);b=!a.n?WHb(a.i):sGb(a);u=a.i.g;i=VHb(a.i);hb=null;o=false;if(b==(PHb(),EHb)){hb=rGb(a,(Qd(b==EHb),qb=a.i.g, -rb=VHb(a.i),sb=(Qd(b==EHb),gHb(a),tb=SGb(a,!a.n?WHb(a.i):sGb(a)),!!tb&&(AGb(a,KHb)?!a.n?WHb(a.i):sGb(a):(oGb(a,TIc,a.i.g,VHb(a.i)),null)),tb),dHb(a,qb,rb,sb,true),sb));if(!hb)return uGb(a,!a.n?WHb(a.i):sGb(a));gHb(a);b=!a.n?WHb(a.i):sGb(a);u=a.i.g;i=VHb(a.i);o=true}B=null;s=GHb==b;s&&(b=!a.n?WHb(a.i):sGb(a));if(OHb!=b)a.b.lh(PIc+j3b("msg.missing.variable.name",DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),u,i);else{o||kGb(a,a.i.g,VHb(a.i));B=a.i.n;if(s){b=!a.n?WHb(a.i):sGb(a);if(CHb== -b){b=!a.n?WHb(a.i):sGb(a);OHb==b&&(b=!a.n?WHb(a.i):sGb(a))}MHb!=b?(oGb(a,"msg.jsdoc.missing.rb",a.i.g,VHb(a.i)),null):!!hb&&(hb=hb.a.j==(m6b(),m4b)||hb.a.j==g4b?hb:new B0b(new _1b(m4b,hb.a),hb.b))}t6b();if(r6b.test(B))b0b(a.e,B,hb)||(e_b(a.e,B)?a.b.lh(PIc+j3b("msg.dup.variable.name",DD(yD(nT,1),UBc,1,5,[B]))+QIc,(P=Y0b(a.k,51),!P?null:P.Hg()),u,i):a.b.lh(PIc+j3b(RIc,DD(yD(nT,1),UBc,1,5,[B]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),u,i));else{a.b.lh(j3b("msg.invalid.variable.name",DD(yD(nT,1),UBc,1,5,[B])), -(O=Y0b(a.k,51),!O?null:O.Hg()),u,i);B=null}}if(B==null){b=uGb(a,b);return b}h_b(a.e,B,a.k,u,i);if(a.e.d&&b!=uHb){F=wGb(a,b,a.f?0:2,false);D=F.a;D.length>0&&c0b(a.e,B,D);b=F.b}else b!=zHb&&b!=AHb&&(b=uGb(a,!a.n?WHb(a.i):sGb(a)));return b;case 39:Z_b(a.e)||lGb(a,"msg.jsdoc.nosideeffects",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 35:b=RGb(a,!a.n?WHb(a.i):sGb(a));return b;case 23:H_b(a.e)||oGb(a,"msg.jsdoc.implicitcast",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 51:if(a.e.d){L= -xGb(a);K=L.a;K.length==0?lGb(a,"msg.jsdoc.seemissing",a.i.g,VHb(a.i)):c_b(a.e,K);b=L.b}else b=uGb(a,!a.n?WHb(a.i):sGb(a));return b;case 52:h0b(a.e)||lGb(a,"msg.jsdoc.stableidgen",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 54:b=WGb(a,!a.n?WHb(a.i):sGb(a));return b;case 55:{bb=a.i.g;$=VHb(a.i);ab=wGb(a,b,1,false);db=ab.a;mb="";t=false;nb=true;if(db.indexOf(":=")!=-1){gb=db.indexOf(":=");cb=db.substr(0,gb);if(db.indexOf("=:")!=-1){t=true;eb=db.indexOf("=:");mb=jlc(db.substr(gb+2,eb-(gb+ -2)))}else{nb=false;a.b.lh(PIc+j3b("msg.jsdoc.typetransformation.missing.delimiter",DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),bb,$)}}else db.indexOf(OCc)!=-1?cb=flc(db,0,Ukc(db,mlc(10))):cb=db;C=bf(df(gf(new ic(44)),(Ic(),Gc)),cb);if(C.b.size()==1&&C.a.getAtIndex(0).length==0)a.b.lh(PIc+j3b("msg.jsdoc.templatemissing",DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),bb,$);else for(jb=new fsc(C.b.Pd());jb.b.Jd();){ib=jb.b.Kd();ib.length!=0&&sc((rc(),qc,ib.charCodeAt(0)))&& -Yb(new Dc((mc(),lc),new ic(95)),ib)?t||k0b(a.e,ib)||a.b.lh(PIc+j3b(UIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(P=Y0b(a.k,51),!P?null:P.Hg()),bb,$):a.b.lh(PIc+j3b("msg.jsdoc.template.invalid.type.name",DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),bb,$)}if(t){C.b.size()>1&&a.b.lh(PIc+j3b("msg.jsdoc.typetransformation.with.multiple.names",DD(yD(nT,1),UBc,1,5,[]))+QIc,(P=Y0b(a.k,51),!P?null:P.Hg()),bb,$);if(mb.length==0){nb=false;a.b.lh(PIc+j3b("msg.jsdoc.typetransformation.expression.missing",DD(yD(nT, -1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),bb,$)}if(nb){fb=new $Ib(mb,Y0b(a.k,51),a.b,bb,$);yIb(fb)&&!p0b(a.e,C.a.getAtIndex(0),fb.e)&&a.b.lh(PIc+j3b(UIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),bb,$)}}b=ab.b;return b}case 21:b=PGb(a,!a.n?WHb(a.i):sGb(a));return b;case 62:u0b(a.e)||lGb(a,"msg.jsdoc.wizaction",a.i.g,VHb(a.i));return uGb(a,!a.n?WHb(a.i):sGb(a));case 12:{ab=xGb(a);C=bf(df(gf(new ic(44)),(Ic(),Gc)),ab.a);C.a.isEmpty()||C.a.getAtIndex(0).length==0?oGb(a,"msg.jsdoc.disposeparameter.missing", -a.i.g,VHb(a.i)):w_b(a.e,C)||oGb(a,"msg.jsdoc.disposeparameter.error",a.i.g,VHb(a.i));b=ab.b;return b}case 61:pb=xGb(a);ob=pb.a;ob.length==0?lGb(a,"msg.jsdoc.versionmissing",a.i.g,VHb(a.i)):s0b(a.e,ob)||lGb(a,"msg.jsdoc.extraversion",a.i.g,VHb(a.i));b=pb.b;return b;case 5:case 19:case 8:case 16:case 50:case 42:case 47:case 48:case 49:case 56:case 58:case 59:u=a.i.g;i=VHb(a.i);kb=null;p=zGb(a,123);q=d==(tDb(),YCb)||d==bDb||d==cDb||d==dDb||d==mCb||d==ACb||d==vCb;h=q||d==fDb;hb=null;d==fDb&&!p&&kGb(a, -a.i.g,VHb(a.i));if(p||!h){gHb(a);b=!a.n?WHb(a.i):sGb(a);kb=GGb(a,b,a.i.g,VHb(a.i),b==(PHb(),EHb),false);d==lDb&&(kb=iHb(a,(m6b(),F3b),kb));hb=!kb?null:new B0b(kb,(O=Y0b(a.k,51),!O?null:O.Hg()))}n=!hb&&!h;if(!n){(!!hb&&q||d==nDb)&&!o0b(a.e,hb)&&a.b.lh(PIc+j3b(RIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(P=Y0b(a.k,51),!P?null:P.Hg()),u,i);r=zGb(a,64);switch(d.f){case 5:o_b(a.e)||lGb(a,"msg.jsdoc.const",a.i.g,VHb(a.i));break;case 19:D_b(a.e)||oGb(a,"msg.jsdoc.final",a.i.g,VHb(a.i));break;case 8:r_b(a.e,hb)||a.b.lh(j3b("msg.jsdoc.define", -DD(yD(nT,1),UBc,1,5,[])),(S=Y0b(a.k,51),!S?null:S.Hg()),u,i);if(!r)return cHb(a,b);break;case 16:y_b(a.e)?t0b(a.e,(Z$b(),Y$b))||a.b.lh(j3b(VIc,DD(yD(nT,1),UBc,1,5,[])),(T=Y0b(a.k,51),!T?null:T.Hg()),u,i):a.b.lh(j3b("msg.jsdoc.export",DD(yD(nT,1),UBc,1,5,[])),(U=Y0b(a.k,51),!U?null:U.Hg()),u,i);if(!r)return cHb(a,b);break;case 47:t0b(a.e,(Z$b(),W$b))||a.b.lh(j3b(VIc,DD(yD(nT,1),UBc,1,5,[])),(V=Y0b(a.k,51),!V?null:V.Hg()),u,i);if(!r)return cHb(a,b);break;case 42:t0b(a.e,(Z$b(),V$b))||a.b.lh(j3b(VIc, -DD(yD(nT,1),UBc,1,5,[])),(W=Y0b(a.k,51),!W?null:W.Hg()),u,i);if(!r)return cHb(a,b);break;case 48:t0b(a.e,(Z$b(),X$b))||a.b.lh(j3b(VIc,DD(yD(nT,1),UBc,1,5,[])),(X=Y0b(a.k,51),!X?null:X.Hg()),u,i);if(!r)return cHb(a,b);break;case 49:t0b(a.e,(Z$b(),Y$b))||a.b.lh(j3b(VIc,DD(yD(nT,1),UBc,1,5,[])),(Y=Y0b(a.k,51),!Y?null:Y.Hg()),u,i);if(!r)return cHb(a,b);break;case 50:!hb&&(hb=rGb(a,CGb(a,(m6b(),C5b))));if(!g0b(a.e,hb)){a.b.lh(PIc+j3b(RIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(Z=Y0b(a.k,51),!Z?null:Z.Hg()),u,i); -break}if(a.e.d&&!r){N=wGb(a,b,a.f?0:2,false);M=N.a;M.length>0&&f0b(a.e,M);b=N.b}else b=uGb(a,!a.n?WHb(a.i):sGb(a));return b;case 56:l0b(a.e,hb)||a.b.lh(PIc+j3b(RIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(R=Y0b(a.k,51),!R?null:R.Hg()),u,i);break;case 59:q0b(a.e,hb)||a.b.lh(PIc+j3b(RIc,DD(yD(nT,1),UBc,1,5,[]))+QIc,(O=Y0b(a.k,51),!O?null:O.Hg()),u,i)}}return uGb(a,!a.n?WHb(a.i):sGb(a))}}return!a.n?WHb(a.i):sGb(a)}function PXb(){var a;a=new Flc;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// Some types require them to be part of their definition (such as Array).\\n\\n\\n// TODO(johnlenz): symbol should be a primitive type.\\n/** @typedef {?} */\\nvar symbol;\\n\\n/**\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\nfunction Symbol(opt_description) {}\\n\\n\\n/**\\n * @param {string} sym\\n * @return {symbol|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for\\n */\\nSymbol.for;\\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;\\n\\n\\n// Well known symbols\\n\\n/** @const {symbol} */\\nSymbol.iterator;\\n\\n/** @const {symbol} */\\nSymbol.toStringTag;\\n\\n/** @const {symbol} */\\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 {VALUE=} value\\n * @return {!IIterableResult}\\n */\\nIterator.prototype.next;\\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 * @template T\\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, but we need it in order for the current type\\n * checker to typecheck the \\"arguments\\" variable in a function correctly.\\n * TODO(tbreisacher): When the old type checker is gone, delete this and add\\n * an \'arguments\' variable of type 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 {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code 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 */\\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 */\\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 * @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 * @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 * @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 * Removes a watchpoint set with the {@see Object.prototype.watch} method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch\\n * @return {undefined}\\n */\\nObject.prototype.unwatch = function(prop) {};\\n\\n/**\\n * Returns the object\'s {@code 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 * Sets a watchpoint method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @param {Function} handler A function to call.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch\\n * @return {undefined}\\n */\\nObject.prototype.watch = function(prop, handler) {};\\n\\n\\n/**\\n * @constructor\\n * @param {...*} var_args\\n * @throws {Error}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n */\\nfunction Function(var_args) {}\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\\n */\\nFunction.prototype.call = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\\n */\\nFunction.prototype.apply = function(var_args) {};\\n\\nFunction.prototype.arguments;\\n\\n/**\\n * @type {number}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity\\n */\\nFunction.prototype.arity;\\n\\n/**\\n * Nonstandard; Mozilla and JScript only.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\\n */\\nFunction.prototype.caller;\\n\\n/**\\n * Nonstandard.\\n * @type {?}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\\n */\\nFunction.prototype.displayName;\\n\\n/**\\n * Expected number of arguments.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\\n */\\nFunction.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\\n */\\nFunction.prototype.name;\\n\\n/**\\n * @this {Function}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nFunction.prototype.toString = function() {};\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\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 '; +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=CBc;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= +kEc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=$Dc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=bEc;d=true;break g;case 108:b=fEc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=lFc;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=dEc;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=GJc;d=true}else if(c==114){b=SDc;d=true}break g;case 104:b=bHc;d=true;break g;case 109:b=ZDc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=LIc;d=true;break g;case 117:b=KIc;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=WDc;d=true;break g;case 121:b=qHc;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=HIc;d=true;break g;case 101:b=XDc;d=true;break g; +case 105:b=RDc;d=true;break g;case 111:b=wBc;d=true;break g;case 114:b=IIc;d=true;break g;case 120:b=_Dc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=hEc;d=true;break g;case 100:b=jEc;d=true;break g;case 102:b=yBc;d=true;break g;case 118:b="volatile";d=true;break g}break g;case 9:c=e.charCodeAt(0);if(c==105){b=lEc;d=true}else if(c==112){b=JIc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=aEc;d=true}else if(c== +110){b=rHc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!Tkc(b,e))return false}return d}function $Vb(){$Vb=gW;yVb=new _Vb("PROGRAM",0);ZUb=new _Vb("FUNCTION_DECLARATION",1);tUb=new _Vb("BLOCK",2);WVb=new _Vb("VARIABLE_STATEMENT",3);UVb=new _Vb("VARIABLE_DECLARATION",4);PUb=new _Vb("EMPTY_STATEMENT",5);TUb=new _Vb("EXPRESSION_STATEMENT",6);cVb=new _Vb("IF_STATEMENT",7);OUb=new _Vb("DO_WHILE_STATEMENT",8);XVb=new _Vb("WHILE_STATEMENT",9);WUb=new _Vb("FOR_IN_STATEMENT",10); +YUb=new _Vb("FOR_STATEMENT",11);VVb=new _Vb("VARIABLE_DECLARATION_LIST",12);KUb=new _Vb("CONTINUE_STATEMENT",13);uUb=new _Vb("BREAK_STATEMENT",14);CVb=new _Vb("RETURN_STATEMENT",15);YVb=new _Vb("WITH_STATEMENT",16);xUb=new _Vb("CASE_CLAUSE",17);MUb=new _Vb("DEFAULT_CLAUSE",18);GVb=new _Vb("SWITCH_STATEMENT",19);hVb=new _Vb("LABELLED_STATEMENT",20);LVb=new _Vb("THROW_STATEMENT",21);yUb=new _Vb(DJc,22);MVb=new _Vb("TRY_STATEMENT",23);LUb=new _Vb("DEBUGGER_STATEMENT",24);KVb=new _Vb("THIS_EXPRESSION", +25);bVb=new _Vb("IDENTIFIER_EXPRESSION",26);iVb=new _Vb("LITERAL_EXPRESSION",27);nUb=new _Vb("ARRAY_LITERAL_EXPRESSION",28);tVb=new _Vb("OBJECT_LITERAL_EXPRESSION",29);BUb=new _Vb("COMPREHENSION",30);DUb=new _Vb("COMPREHENSION_IF",31);CUb=new _Vb("COMPREHENSION_FOR",32);aVb=new _Vb("GET_ACCESSOR",33);DVb=new _Vb("SET_ACCESSOR",34);zVb=new _Vb("PROPERTY_NAME_ASSIGNMENT",35);EUb=new _Vb("COMPUTED_PROPERTY_DEFINITION",36);FUb=new _Vb("COMPUTED_PROPERTY_GETTER",37);HUb=new _Vb("COMPUTED_PROPERTY_METHOD", +38);IUb=new _Vb("COMPUTED_PROPERTY_SETTER",39);mVb=new _Vb("MISSING_PRIMARY_EXPRESSION",40);AUb=new _Vb("COMMA_EXPRESSION",41);sUb=new _Vb("BINARY_OPERATOR",42);JUb=new _Vb("CONDITIONAL_EXPRESSION",43);RVb=new _Vb("UNARY_EXPRESSION",44);TVb=new _Vb("UPDATE_EXPRESSION",45);jVb=new _Vb("MEMBER_EXPRESSION",46);qVb=new _Vb("NEW_EXPRESSION",47);mUb=new _Vb("ARGUMENT_LIST",48);vUb=new _Vb("CALL_EXPRESSION",49);zUb=new _Vb("CLASS_DECLARATION",50);gVb=new _Vb("INTERFACE_DECLARATION",51);oVb=new _Vb(AJc,52); +pVb=new _Vb("NAMESPACE_NAME",53);QUb=new _Vb("ENUM_DECLARATION",54);kVb=new _Vb("MEMBER_LOOKUP_EXPRESSION",55);xVb=new _Vb("PAREN_EXPRESSION",56);UUb=new _Vb(HJc,57);FVb=new _Vb("SUPER_EXPRESSION",58);oUb=new _Vb($Jc,59);qUb=new _Vb("ASSIGNMENT_REST_ELEMENT",60);uVb=new _Vb(_Jc,61);VUb=new _Vb("FORMAL_PARAMETER_LIST",62);EVb=new _Vb("SPREAD_EXPRESSION",63);sVb=new _Vb(cIc,64);BVb=new _Vb("REST_PARAMETER",65);nVb=new _Vb("MODULE_IMPORT",66);RUb=new _Vb("EXPORT_DECLARATION",67);SUb=new _Vb("EXPORT_SPECIFIER", +68);dVb=new _Vb("IMPORT_DECLARATION",69);eVb=new _Vb("IMPORT_SPECIFIER",70);XUb=new _Vb("FOR_OF_STATEMENT",71);ZVb=new _Vb("YIELD_EXPRESSION",72);NUb=new _Vb("DEFAULT_PARAMETER",73);HVb=new _Vb("TEMPLATE_LITERAL_EXPRESSION",74);IVb=new _Vb("TEMPLATE_LITERAL_PORTION",75);JVb=new _Vb("TEMPLATE_SUBSTITUTION",76);PVb=new _Vb("TYPE_NAME",77);QVb=new _Vb("TYPE_QUERY",78);NVb=new _Vb("TYPED_PARAMETER",79);vVb=new _Vb(BJc,80);wVb=new _Vb("PARAMETERIZED_TYPE_TREE",81);pUb=new _Vb(aKc,82);AVb=new _Vb(bKc,83); +SVb=new _Vb(cKc,84);$Ub=new _Vb(dKc,85);_Ub=new _Vb(eKc,86);lVb=new _Vb("MEMBER_VARIABLE",87);GUb=new _Vb("COMPUTED_PROPERTY_MEMBER_VARIABLE",88);OVb=new _Vb(CJc,89);lUb=new _Vb(xJc,90);fVb=new _Vb(zJc,91);wUb=new _Vb(yJc,92);rVb=new _Vb("NEW_TARGET_EXPRESSION",93);rUb=new _Vb("AWAIT_EXPRESSION",94)}function pSb(){pSb=gW;MQb=new sSb("END_OF_FILE",0,"End of File");RQb=new sSb(gDc,1,"error");ZQb=new sSb("IDENTIFIER",2,"identifier");sQb=new rSb("BREAK",3);vQb=new rSb("CASE",4);wQb=new rSb(DJc,5);FQb= +new rSb(EJc,6);GQb=new rSb(FJc,7);IQb=new rSb(RHc,8);JQb=new rSb("DELETE",9);KQb=new rSb("DO",10);LQb=new rSb("ELSE",11);VQb=new rSb(HJc,12);WQb=new rSb("FOR",13);XQb=new rSb(SGc,14);$Qb=new rSb("IF",15);bRb=new rSb("IN",16);cRb=new rSb(tJc,17);nRb=new rSb("NEW",18);LRb=new rSb(EIc,19);ZRb=new rSb(IJc,20);bSb=new rSb(FIc,21);cSb=new rSb("THROW",22);fSb=new rSb("TRY",23);hSb=new rSb(JJc,24);kSb=new rSb("VAR",25);lSb=new rSb("VOID",26);mSb=new rSb("WHILE",27);nSb=new rSb("WITH",28);xQb=new rSb(RGc, +29);EQb=new rSb("CONST",30);NQb=new rSb(vIc,31);SQb=new rSb(xIc,32);TQb=new rSb(wIc,33);aRb=new rSb(KJc,34);YRb=new rSb(vJc,35);_Qb=new rSb(yIc,36);dRb=new rSb(zIc,37);hRb=new rSb("LET",38);yRb=new rSb(AIc,39);GRb=new rSb(BIc,40);HRb=new rSb(CIc,41);IRb=new rSb(DIc,42);WRb=new rSb("STATIC",43);oSb=new rSb("YIELD",44);uRb=new sSb("OPEN_CURLY",45,"{");zQb=new sSb("CLOSE_CURLY",46,"}");vRb=new sSb("OPEN_PAREN",47,"(");AQb=new sSb("CLOSE_PAREN",48,")");wRb=new sSb("OPEN_SQUARE",49,"[");BQb=new sSb("CLOSE_SQUARE", +50,"]");BRb=new sSb("PERIOD",51,".");ORb=new sSb("SEMI_COLON",52,";");DQb=new sSb("COMMA",53,",");tRb=new sSb("OPEN_ANGLE",54,"<");yQb=new sSb("CLOSE_ANGLE",55,">");gRb=new sSb("LESS_EQUAL",56,"<=");YQb=new sSb("GREATER_EQUAL",57,">=");oQb=new sSb("ARROW",58,"=>");PQb=new sSb("EQUAL_EQUAL",59,"==");oRb=new sSb("NOT_EQUAL",60,"!=");QQb=new sSb("EQUAL_EQUAL_EQUAL",61,"===");pRb=new sSb("NOT_EQUAL_EQUAL",62,"!==");CRb=new sSb("PLUS",63,"+");iRb=new sSb("MINUS",64,"-");SRb=new sSb("STAR",65,"*");URb= +new sSb("STAR_STAR",66,"**");zRb=new sSb("PERCENT",67,"%");ERb=new sSb("PLUS_PLUS",68,"++");kRb=new sSb("MINUS_MINUS",69,"--");eRb=new sSb("LEFT_SHIFT",70,"<<");MRb=new sSb("RIGHT_SHIFT",71,">>");iSb=new sSb("UNSIGNED_RIGHT_SHIFT",72,">>>");lQb=new sSb("AMPERSAND",73,"&");qQb=new sSb("BAR",74,"|");tQb=new sSb("CARET",75,"^");pQb=new sSb("BANG",76,"!");dSb=new sSb("TILDE",77,"~");nQb=new sSb("AND",78,"&&");xRb=new sSb("OR",79,"||");JRb=new sSb("QUESTION",80,"?");CQb=new sSb("COLON",81,":");OQb=new sSb("EQUAL", +82,"=");DRb=new sSb("PLUS_EQUAL",83,"+=");jRb=new sSb("MINUS_EQUAL",84,"-=");TRb=new sSb("STAR_EQUAL",85,"*=");VRb=new sSb("STAR_STAR_EQUAL",86,"**=");ARb=new sSb("PERCENT_EQUAL",87,"%=");fRb=new sSb("LEFT_SHIFT_EQUAL",88,"<<=");NRb=new sSb("RIGHT_SHIFT_EQUAL",89,">>=");jSb=new sSb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");mQb=new sSb("AMPERSAND_EQUAL",91,"&=");rQb=new sSb("BAR_EQUAL",92,"|=");uQb=new sSb("CARET_EQUAL",93,"^=");PRb=new sSb("SLASH",94,"/");QRb=new sSb("SLASH_EQUAL",95,"/=");FRb=new sSb("POUND", +96,"#");rRb=new rSb(cIc,97);eSb=new rSb(VEc,98);UQb=new rSb(UEc,99);sRb=new sSb(dIc,100,"number literal");XRb=new sSb(eIc,101,"string literal");KRb=new sSb("REGULAR_EXPRESSION",102,"regular expression literal");RRb=new sSb("SPREAD",103,VDc);$Rb=new sSb("TEMPLATE_HEAD",104,"template head");_Rb=new sSb("TEMPLATE_MIDDLE",105,"template middle");aSb=new sSb("TEMPLATE_TAIL",106,"template tail");qRb=new sSb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");gSb=new rSb(GIc,108);HQb=new rSb(LJc,109); +lRb=new rSb("MODULE",110);mRb=new rSb(MJc,111)}function HPb(a){var b,c;LPb(a);b=a.d;if(!sPb(a,a.d))return oPb(a,(pSb(),MQb),b);c=tPb(a);switch(c){case 123:return oPb(a,(pSb(),uRb),b);case 125:return oPb(a,(pSb(),zQb),b);case 40:return oPb(a,(pSb(),vRb),b);case 41:return oPb(a,(pSb(),AQb),b);case 91:return oPb(a,(pSb(),wRb),b);case 93:return oPb(a,(pSb(),BQb),b);case 46:if(aQb(sPb(a,a.d)?Okc(a.e.a,a.d):0))return MPb(a),CPb(a,b);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==46&&(sPb(a,a.d+1)?Okc(a.e.a,a.d+1):0)== +46){tPb(a);tPb(a);return oPb(a,(pSb(),RRb),b)}return oPb(a,(pSb(),BRb),b);case 59:return oPb(a,(pSb(),ORb),b);case 44:return oPb(a,(pSb(),DQb),b);case 126:return oPb(a,(pSb(),dSb),b);case 63:return oPb(a,(pSb(),JRb),b);case 58:return oPb(a,(pSb(),CQb),b);case 60:switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 60:tPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),fRb),b)}return oPb(a,(pSb(),eRb),b);case 61:tPb(a);return oPb(a,(pSb(),gRb),b);default:return oPb(a,(pSb(),tRb),b)}case 62:if(a.f> +0)return oPb(a,(pSb(),yQb),b);switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 62:tPb(a);switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 61:tPb(a);return oPb(a,(pSb(),NRb),b);case 62:tPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),jSb),b)}return oPb(a,(pSb(),iSb),b);default:return oPb(a,(pSb(),MRb),b)}case 61:tPb(a);return oPb(a,(pSb(),YQb),b);default:return oPb(a,(pSb(),yQb),b)}case 61:switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 61:tPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a, +(pSb(),QQb),b)}return oPb(a,(pSb(),PQb),b);case 62:tPb(a);return oPb(a,(pSb(),oQb),b);default:return oPb(a,(pSb(),OQb),b)}case 33:if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),pRb),b)}return oPb(a,(pSb(),oRb),b)}return oPb(a,(pSb(),pQb),b);case 42:if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),TRb),b)}else if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==42){tPb(a);if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),VRb), +b)}else return oPb(a,(pSb(),URb),b)}return oPb(a,(pSb(),SRb),b);case 37:if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),ARb),b)}return oPb(a,(pSb(),zRb),b);case 94:if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),uQb),b)}return oPb(a,(pSb(),tQb),b);case 47:if((sPb(a,a.d)?Okc(a.e.a,a.d):0)==61){tPb(a);return oPb(a,(pSb(),QRb),b)}return oPb(a,(pSb(),PRb),b);case 43:switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 43:tPb(a);return oPb(a,(pSb(),ERb),b);case 61:tPb(a);return oPb(a, +(pSb(),DRb),b);default:return oPb(a,(pSb(),CRb),b)}case 45:switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 45:tPb(a);return oPb(a,(pSb(),kRb),b);case 61:tPb(a);return oPb(a,(pSb(),jRb),b);default:return oPb(a,(pSb(),iRb),b)}case 38:switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 38:tPb(a);return oPb(a,(pSb(),nQb),b);case 61:tPb(a);return oPb(a,(pSb(),mQb),b);default:return oPb(a,(pSb(),lQb),b)}case 124:switch(sPb(a,a.d)?Okc(a.e.a,a.d):0){case 124:tPb(a);return oPb(a,(pSb(),xRb),b);case 61:tPb(a);return oPb(a,(pSb(), +rQb),b);default:return oPb(a,(pSb(),qQb),b)}case 35:return oPb(a,(pSb(),FRb),b);case 48:return FPb(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return MPb(a),DPb(a,b);case 34:case 39:return GPb(a,b,c);case 96:return!sPb(a,a.d)&&zPb(a,jMb(a.e.b,b),XJc,DD(yD(nT,1),WBc,1,5,[])),wPb(a,(pSb(),qRb),$Rb);default:return EPb(a,b,c)}}function gdc(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;g=new m8b(a); +kdc(a,(Occ(),Jbc),g);w=new Aec(a);kdc(a,ecc,w);G=new Iec(a);kdc(a,kcc,G);V=new egc(a);kdc(a,zcc,V);db=new aic(a,false);kdc(a,Kcc,db);hb=new aic(a,true);kdc(a,Kbc,hb);gb=new oic(a);kdc(a,Ncc,gb);b=new Q7b(a);kdc(a,Ebc,b);a.g=new jgc(a,"IObject#KEY1");a.f=new jgc(a,"IObject#VALUE");a.a=new jgc(a,"T");Z=new v9b(a,null,null,true,null);kdc(a,Dcc,Z);I=new gac(a,WFc,new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[b])),null),null,_cc(a,(Zn(),new Zx(qo(DD(yD(nT,1),WBc,1,5,[a.g,a.f])))),null),true,true);I.c.b=(ie(I.g== +($ac(),Xac)||I.g==Yac,WHc,I),P6b(I.n));bac(I,Z,null);kdc(a,mcc,I);M=(ie(I.g==Xac||I.g==Yac,WHc,I),P6b(I.n));kdc(a,qcc,M);L=$9b(I);kdc(a,pcc,L);n=new gac(a,TFc,new b8b(a,$cc(a,true,DD(yD(pS,1),tKc,23,0,[b])),db),null,null,true,true);cac(n,M,null);kdc(a,Tbc,n);o=$9b(n);kdc(a,Vbc,o);v=new hec(a);kdc(a,dcc,v);t=new Tdc(a);kdc(a,bcc,t);u=new rec(a);kdc(a,ccc,u);c=new gac(a,yFc,new b8b(a,$cc(a,true,DD(yD(pS,1),tKc,23,0,[b])),null),null,sgc(_cc(a,new Uy(Zd(a.a)),null),_cc(a,new Uy(Zd(a.f)),new Uy(Zd(a.a)))), +true,true);c.c.b=(ie(c.g==Xac||c.g==Yac,WHc,c),P6b(c.n));$9b(c);kdc(a,Fbc,c);d=(ie(c.g==Xac||c.g==Yac,WHc,c),P6b(c.n));kdc(a,Gbc,d);e=new gac(a,SFc,new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[b])),g),null,null,true,true);$9b(e);kdc(a,Hbc,e);f=(ie(e.g==Xac||e.g==Yac,WHc,e),P6b(e.n));kdc(a,Ibc,f);h=new gac(a,"Date",new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[db,db,db,db,db,db,db])),V),null,null,true,true);$9b(h);kdc(a,Lbc,h);i=(ie(h.g==Xac||h.g==Yac,WHc,h),P6b(h.n));kdc(a,Mbc,i);j=new Jac(a,OFc);kdc(a,Obc,j);k= +(ie(j.g==Xac||j.g==Yac,WHc,j),P6b(j.n));kdc(a,Pbc,k);l=new Jac(a,"EvalError");cac(l,k,null);kdc(a,Qbc,l);m=(ie(l.g==Xac||l.g==Yac,WHc,l),P6b(l.n));kdc(a,Rbc,m);N=new Jac(a,PFc);cac(N,k,null);kdc(a,rcc,N);O=(ie(N.g==Xac||N.g==Yac,WHc,N),P6b(N.n));kdc(a,scc,O);P=new Jac(a,QFc);cac(P,k,null);kdc(a,tcc,P);Q=(ie(P.g==Xac||P.g==Yac,WHc,P),P6b(P.n));kdc(a,ucc,Q);X=new Jac(a,RFc);cac(X,k,null);kdc(a,Bcc,X);Y=(ie(X.g==Xac||X.g==Yac,WHc,X),P6b(X.n));kdc(a,Ccc,Y);$=new Jac(a,"TypeError");cac($,k,null);kdc(a, +Gcc,$);ab=(ie($.g==Xac||$.g==Yac,WHc,$),P6b($.n));kdc(a,Hcc,ab);eb=new Jac(a,"URIError");cac(eb,k,null);kdc(a,Lcc,eb);fb=(ie(eb.g==Xac||eb.g==Yac,WHc,eb),P6b(eb.n));kdc(a,Mcc,fb);B=new gac(a,UFc,new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[b])),G),null,null,true,true);$9b(B);kdc(a,gcc,B);C=(ie(B.g==Xac||B.g==Yac,WHc,B),P6b(B.n));kdc(a,hcc,C);R=new gac(a,VFc,new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[b,b])),null),null,null,true,true);R.c.b=(ie(R.g==Xac||R.g==Yac,WHc,R),P6b(R.n));$9b(R);kdc(a,vcc,R);S=(ie(R.g== +Xac||R.g==Yac,WHc,R),P6b(R.n));kdc(a,wcc,S);T=new gac(a,WCc,new b8b(a,Ycc(a,DD(yD(pS,1),tKc,23,0,[b])),V),null,null,true,true);$9b(T);kdc(a,xcc,T);U=(ie(T.g==Xac||T.g==Yac,WHc,T),P6b(T.n));kdc(a,ycc,U);A=adc(a,DD(yD(pS,1),tKc,23,0,[w,gb]));kdc(a,fcc,A);J=adc(a,DD(yD(pS,1),tKc,23,0,[M,G,V]));kdc(a,ncc,J);K=adc(a,DD(yD(pS,1),tKc,23,0,[M,G,V,g]));kdc(a,occ,K);F=adc(a,DD(yD(pS,1),tKc,23,0,[G,V,g]));kdc(a,jcc,F);D=adc(a,DD(yD(pS,1),tKc,23,0,[G,V]));kdc(a,icc,D);W=adc(a,DD(yD(pS,1),tKc,23,0,[U,V]));kdc(a, +Acc,W);H=adc(a,DD(yD(pS,1),tKc,23,0,[C,G]));kdc(a,lcc,H);cb=Tcc(a,db,DD(yD(pS,1),tKc,23,0,[db]));kdc(a,Jcc,cb);bb=new sdc(a,new b8b(a,$cc(a,true,DD(yD(pS,1),tKc,23,0,[db])),db),db);kdc(a,Icc,bb);kdc(a,Ubc,bb);n.n=bb;de(!(!!bb.i||!bb.v));bb.q=o;s=Vcc(a,v,DD(yD(pS,1),tKc,23,0,[b]));kdc(a,acc,s);q=new gac(a,"global this",new b8b(a,$cc(a,false,DD(yD(pS,1),tKc,23,0,[b])),G),null,null,true,true);p=(ie(q.g==Xac||q.g==Yac,WHc,q),P6b(q.n));kdc(a,Xbc,p);r=Vcc(a,b,DD(yD(pS,1),tKc,23,0,[v]));kdc(a,Ybc,r);ldc(a, +IDc,I)}function Orb(){Orb=gW;new k6("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(tZ(),qZ),new emc("Internal Error: TypeCheck doesn''t know how to handle {0}"));lrb=new k6("JSC_DETERMINISTIC_TEST",sZ,new emc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));xrb=new k6("JSC_INEXISTENT_ENUM_ELEMENT",sZ,new emc("element {0} does not exist on this enum"));yrb=new k6(THc,sZ,new emc(iHc));Jrb=new k6("JSC_POSSIBLE_INEXISTENT_PROPERTY",rZ,new emc(iHc));zrb=new k6(THc,rZ,new emc("Property {0} never defined on {1}. Did you mean {2}?")); +Hrb=new k6("JSC_NOT_A_CONSTRUCTOR",sZ,new emc("cannot instantiate non-constructor"));Arb=new k6("JSC_INSTANTIATE_ABSTRACT_CLASS",sZ,new emc("cannot instantiate abstract class"));hrb=new k6("JSC_BAD_TYPE_FOR_BIT_OPERATION",sZ,new emc("operator {0} cannot be applied to {1}"));Irb=new k6("JSC_NOT_FUNCTION_TYPE",sZ,new emc("{0} expressions are not callable"));krb=new k6("JSC_CONSTRUCTOR_NOT_CALLABLE",sZ,new emc(fHc));erb=new k6("JSC_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",sZ,new emc(mHc));prb=new k6("JSC_FUNCTION_MASKS_VARIABLE", +sZ,new emc("function {0} masks variable (IE bug)"));Frb=new k6("JSC_MULTIPLE_VAR_DEF",sZ,new emc("declaration of multiple variables with shared type information"));mrb=new k6("JSC_ENUM_DUP",qZ,new emc("enum element {0} already defined"));Drb=new k6("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",sZ,new emc("interface members can only be empty property declarations, empty functions{0}"));Brb=new k6("JSC_INTERFACE_METHOD_NOT_EMPTY",sZ,new emc(UGc));irb=new k6("JSC_CONFLICTING_EXTENDED_TYPE",sZ,new emc(UHc)); +nrb=new k6("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",sZ,new emc("ES5 class {0} cannot extend ES6 class {1}"));new k6("JSC_INTERFACE_EXTENDS_LOOP",sZ,new emc("extends loop involving {0}, loop: {1}"));jrb=new k6("JSC_CONFLICTING_IMPLEMENTED_TYPE",sZ,new emc(VHc));grb=new k6("JSC_IMPLEMENTS_NON_INTERFACE",sZ,new emc("can only implement interfaces"));rrb=new k6("JSC_HIDDEN_SUPERCLASS_PROPERTY",rZ,new emc("property {0} already defined on superclass {1}; use @override to override it"));qrb=new k6("JSC_HIDDEN_INTERFACE_PROPERTY", +rZ,new emc("property {0} already defined on interface {1}; use @override to override it"));srb=new k6("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",sZ,new emc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));Lrb=new k6("JSC_UNKNOWN_OVERRIDE",sZ,new emc("property {0} not defined on any superclass of {1}"));Crb=new k6("JSC_INTERFACE_METHOD_OVERRIDE",sZ,new emc("property {0} is already defined by the {1} extended interface")); +Krb=new k6("JSC_UNKNOWN_EXPR_TYPE",rZ,new emc("could not determine the type of this expression"));Mrb=new k6("JSC_UNRESOLVED_TYPE",sZ,new emc("could not resolve the name {0} to a type"));Nrb=new k6("JSC_WRONG_ARGUMENT_COUNT",sZ,new emc(jHc));trb=new k6("JSC_ILLEGAL_IMPLICIT_CAST",sZ,new emc("Illegal annotation on {0}. @implicitCast may only be used in externs."));wrb=new k6("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",sZ,new emc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}")); +orb=new k6("JSC_EXPECTED_THIS_TYPE",sZ,new emc('"{0}" must be called with a "this" type'));Erb=new k6("JSC_IN_USED_WITH_STRUCT",sZ,new emc(hHc));vrb=new k6("JSC_ILLEGAL_PROPERTY_CREATION",sZ,new emc("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.)"));urb=new k6("JSC_ILLEGAL_OBJLIT_KEY",sZ,new emc(gHc));Grb=new k6("JSC_NON_STRINGIFIABLE_OBJECT_KEY",sZ,new emc('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.')); +drb=new k6("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",sZ,new emc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));frb=new A5(DD(yD(tK,1),WBc,5,0,[lrb,xrb,yrb,Jrb,zrb,Hrb,Arb,hrb,Irb,krb,prb,Frb,mrb,Drb,Brb,irb,jrb,grb,srb,Lrb,Crb,Mrb,Nrb,trb,wrb,orb,Erb,vrb,urb,Grb,drb,erb,nrb,(Knb(),Hnb),Jnb,(usb(),tsb),rsb,nsb,qsb,(Xbb(),Ubb)]))}function o6b(){o6b=gW;J5b=new p6b(EIc,0);K3b=new p6b("BITOR",1);L3b=new p6b("BITXOR",2);I3b=new p6b("BITAND",3);n4b=new p6b("EQ", +4);k5b=new p6b("NE",5);a5b=new p6b("LT",6);Z4b=new p6b("LE",7);G4b=new p6b("GT",8);A4b=new p6b("GE",9);_4b=new p6b("LSH",10);L5b=new p6b("RSH",11);h6b=new p6b("URSH",12);m3b=new p6b("ADD",13);V5b=new p6b("SUB",14);f5b=new p6b("MUL",15);g4b=new p6b("DIV",16);d5b=new p6b("MOD",17);p4b=new p6b("EXPONENT",18);o5b=new p6b("NOT",19);J3b=new p6b("BITNOT",20);D5b=new p6b("POS",21);l5b=new p6b("NEG",22);m5b=new p6b("NEW",23);e4b=new p6b("DELPROP",24);d6b=new p6b(JJc,25);E4b=new p6b("GETPROP",26);D4b=new p6b("GETELEM", +27);P3b=new p6b("CALL",28);g5b=new p6b("NAME",29);r5b=new p6b(dIc,30);S5b=new p6b(eIc,31);p5b=new p6b(cIc,32);_5b=new p6b(FIc,33);u4b=new p6b(UEc,34);b6b=new p6b(VEc,35);O5b=new p6b("SHEQ",36);P5b=new p6b("SHNE",37);G5b=new p6b("REGEXP",38);a6b=new p6b("THROW",39);O4b=new p6b("IN",40);R4b=new p6b(tJc,41);q3b=new p6b("ARRAYLIT",42);t5b=new p6b("OBJECTLIT",43);c6b=new p6b("TRY",44);y5b=new p6b("PARAM_LIST",45);X3b=new p6b("COMMA",46);t3b=new p6b("ASSIGN",47);w3b=new p6b("ASSIGN_BITOR",48);x3b=new p6b("ASSIGN_BITXOR", +49);v3b=new p6b("ASSIGN_BITAND",50);A3b=new p6b("ASSIGN_LSH",51);D3b=new p6b("ASSIGN_RSH",52);F3b=new p6b("ASSIGN_URSH",53);u3b=new p6b("ASSIGN_ADD",54);E3b=new p6b("ASSIGN_SUB",55);C3b=new p6b("ASSIGN_MUL",56);y3b=new p6b("ASSIGN_DIV",57);B3b=new p6b("ASSIGN_MOD",58);z3b=new p6b("ASSIGN_EXPONENT",59);H4b=new p6b("HOOK",60);w5b=new p6b("OR",61);n3b=new p6b("AND",62);P4b=new p6b("INC",63);a4b=new p6b("DEC",64);y4b=new p6b(SGc,65);I4b=new p6b("IF",66);X5b=new p6b(IJc,67);R3b=new p6b("CASE",68);c4b= +new p6b("DEFAULT_CASE",69);l6b=new p6b("WHILE",70);h4b=new p6b("DO",71);v4b=new p6b("FOR",72);w4b=new p6b("FOR_IN",73);O3b=new p6b("BREAK",74);$3b=new p6b(EJc,75);i6b=new p6b("VAR",76);m6b=new p6b("WITH",77);T3b=new p6b(DJc,78);j6b=new p6b("VOID",79);j4b=new p6b("EMPTY",80);K5b=new p6b("ROOT",81);M3b=new p6b("BLOCK",82);V4b=new p6b("LABEL",83);t4b=new p6b("EXPR_RESULT",84);M5b=new p6b("SCRIPT",85);F4b=new p6b("GETTER_DEF",86);N5b=new p6b("SETTER_DEF",87);Z3b=new p6b("CONST",88);_3b=new p6b(FJc,89); +W4b=new p6b("LABEL_NAME",90);T5b=new p6b("STRING_KEY",91);S3b=new p6b("CAST",92);r3b=new p6b($Jc,93);u5b=new p6b(_Jc,94);f4b=new p6b("DESTRUCTURING_LHS",95);U3b=new p6b(RGc,96);V3b=new p6b("CLASS_MEMBERS",97);b5b=new p6b("MEMBER_FUNCTION_DEF",98);W5b=new p6b(vJc,99);$4b=new p6b("LET",100);x4b=new p6b("FOR_OF",101);n6b=new p6b("YIELD",102);G3b=new p6b("AWAIT",103);K4b=new p6b(KJc,104);M4b=new p6b("IMPORT_SPECS",105);L4b=new p6b("IMPORT_SPEC",106);N4b=new p6b("IMPORT_STAR",107);q4b=new p6b(xIc,108); +s4b=new p6b("EXPORT_SPECS",109);r4b=new p6b("EXPORT_SPEC",110);e5b=new p6b("MODULE_BODY",111);H5b=new p6b("REST",112);Q5b=new p6b("SPREAD",113);Y3b=new p6b("COMPUTED_PROP",114);Y5b=new p6b("TAGGED_TEMPLATELIT",115);Z5b=new p6b("TEMPLATELIT",116);$5b=new p6b("TEMPLATELIT_SUB",117);d4b=new p6b("DEFAULT_VALUE",118);n5b=new p6b(wJc,119);U5b=new p6b(pKc,120);N3b=new p6b(qKc,121);s5b=new p6b(rKc,122);z4b=new p6b(dKc,123);x5b=new p6b("PARAMETERIZED_TYPE",124);g6b=new p6b(cKc,125);p3b=new p6b("ANY_TYPE", +126);q5b=new p6b("NULLABLE_TYPE",127);k6b=new p6b("VOID_TYPE",128);I5b=new p6b("REST_PARAMETER_TYPE",129);h5b=new p6b("NAMED_TYPE",130);v5b=new p6b(BJc,131);F5b=new p6b(bKc,132);f6b=new p6b("UNDEFINED_TYPE",133);s3b=new p6b(aKc,134);B4b=new p6b("GENERIC_TYPE",135);C4b=new p6b(eKc,136);o3b=new p6b(fJc,137);z5b=new p6b("PIPE",138);R5b=new p6b("STAR",139);m4b=new p6b("EOC",140);E5b=new p6b("QMARK",141);i4b=new p6b("ELLIPSIS",142);H3b=new p6b("BANG",143);o4b=new p6b("EQUALS",144);X4b=new p6b("LB",145); +Y4b=new p6b("LC",146);W3b=new p6b("COLON",147);S4b=new p6b(zIc,148);T4b=new p6b("INTERFACE_EXTENDS",149);U4b=new p6b("INTERFACE_MEMBERS",150);k4b=new p6b(vIc,151);l4b=new p6b("ENUM_MEMBERS",152);J4b=new p6b(yIc,153);e6b=new p6b(CJc,154);b4b=new p6b(LJc,155);c5b=new p6b("MEMBER_VARIABLE_DEF",156);Q4b=new p6b(zJc,157);Q3b=new p6b(yJc,158);i5b=new p6b(MJc,159);j5b=new p6b("NAMESPACE_ELEMENTS",160);A5b=new p6b("PLACEHOLDER1",161);B5b=new p6b("PLACEHOLDER2",162);C5b=new p6b("PLACEHOLDER3",163)}function ceb(){ceb= +gW;Idb=new k6("JSC_NTI_DUPLICATE_JSDOC",(tZ(),sZ),new emc("Found two JsDoc comments for variable: {0}.\n"));Xdb=new k6("JSC_NTI_REDECLARED_PROPERTY",sZ,new emc("Found two declarations for property {0} on {1}.\n"));Rdb=new k6("JSC_NTI_INVALID_PROP_OVERRIDE",sZ,new emc("Invalid redeclaration of property {0}.\ninherited type : {1}\noverriding type : {2}\n"));Gdb=new k6("JSC_NTI_CTOR_IN_DIFFERENT_SCOPE",sZ,new emc("Modifying the prototype is only allowed if the constructor is in the same scope\n")); +aeb=new k6("JSC_NTI_UNRECOGNIZED_TYPE_NAME",sZ,new emc("Type annotation references non-existent type {0}."));Zdb=new k6("JSC_NTI_STRUCT_WITHOUT_CTOR_OR_INTERF",sZ,new emc("@struct used without @constructor, @interface, or @record."));Hdb=new k6("JSC_NTI_DICT_WITHOUT_CTOR",sZ,new emc("@dict used without @constructor."));Kdb=new k6("JSC_NTI_EXPECTED_CONSTRUCTOR",sZ,new emc("Expected constructor name but found {0}."));Ldb=new k6("JSC_NTI_EXPECTED_INTERFACE",sZ,new emc("Expected interface name but found {0}.")); +Ndb=new k6("JSC_NTI_INEXISTENT_PARAM",sZ,new emc(NGc));Edb=new k6("JSC_NTI_CONST_WITHOUT_INITIALIZER",sZ,new emc("Constants must be initialized when they are defined."));Fdb=new k6("JSC_NTI_COULD_NOT_INFER_CONST_TYPE",sZ,new emc("All constants must be typed. The compiler could not infer the type of constant {0}. Please use an explicit type annotation. For more information, see:\nhttps://github.com/google/closure-compiler/wiki/Using-NTI-(new-type-inference)#warnings-about-uninferred-constants"));Udb= +new k6("JSC_NTI_MISPLACED_CONST_ANNOTATION",sZ,new emc("This property cannot be @const. The @const annotation is only allowed for properties of namespaces, prototype properties, static properties of constructors, and properties of the form this.prop declared inside constructors and prototype methods."));Cdb=new k6("JSC_NTI_CANNOT_OVERRIDE_FINAL_METHOD",sZ,new emc("Final method {0} cannot be overriden."));Bdb=new k6("JSC_NTI_CANNOT_INIT_TYPEDEF",sZ,new emc("A typedef variable represents a type name; it cannot be assigned a value.")); +zdb=new k6("JSC_NTI_ANONYMOUS_NOMINAL_TYPE",sZ,new emc("Must specify a name when defining a class or interface."));Tdb=new k6("JSC_NTI_MALFORMED_ENUM",sZ,new emc("An enum must be initialized to a non-empty object literal."));Jdb=new k6("JSC_NTI_DUPLICATE_PROP_IN_ENUM",sZ,new emc("Property {0} appears twice in the enum declaration."));Sdb=new k6("JSC_NTI_LENDS_ON_BAD_TYPE",sZ,new emc("May only lend properties to namespaces, constructors and their prototypes. Found {0}."));Mdb=new k6("JSC_NTI_FUNCTION_CONSTRUCTOR_NOT_DEFINED", +qZ,new emc("You must provide externs that define the built-in Function constructor."));Qdb=new k6("JSC_NTI_INVALID_INTERFACE_PROP_INITIALIZER",sZ,new emc("Invalid initialization of interface property."));Ydb=new k6("JSC_NTI_SETTER_WITH_RETURN",sZ,new emc("Cannot declare a return type on a setter."));beb=new k6("JSC_NTI_WRONG_PARAMETER_COUNT",sZ,new emc("Function definition does not have the declared number of parameters.\nExpected: {0}\nFound: {1}"));Adb=new k6("JSC_NTI_CANNOT_ADD_PROPERTIES_TO_TYPEDEF", +sZ,new emc("A typedef should only be used in type annotations, not as a value. Adding properties to typedefs is not allowed."));$db=new k6("JSC_NTI_SUPER_INTERFACES_HAVE_INCOMPATIBLE_PROPERTIES",sZ,new emc("Interface {0} has a property {1} with incompatible types in its super interfaces: {2}"));Wdb=new k6("JSC_NTI_ONE_TYPE_FOR_MANY_VARS",sZ,new emc("Having one type annotation for multiple variables is not allowed."));_db=new k6("JSC_NTI_UNKNOWN_OVERRIDE",sZ,new emc("property {0} not defined on any supertype of {1}")); +Pdb=new k6("JSC_NTI_INTERFACE_METHOD_NOT_IMPLEMENTED",sZ,new emc(TGc));Odb=new k6("JSC_NTI_INTERFACE_METHOD_NOT_EMPTY",sZ,new emc(UGc));wdb=new k6("JSC_NTI_ABSTRACT_METHOD_IN_CONCRETE_CLASS",sZ,new emc("Abstract methods can only appear in abstract classes. Please declare class {0} as @abstract"));xdb=new k6("JSC_NTI_ABSTRACT_METHOD_IN_INTERFACE",sZ,new emc("Abstract methods cannot appear in interfaces"));ydb=new k6("JSC_NTI_ABSTRACT_METHOD_NOT_IMPLEMENTED_IN_CONCRETE_CLASS",sZ,new emc("Abstract method {0} from superclass {1} not implemented")); +Ddb=new A5(DD(yD(tK,1),WBc,5,0,[wdb,Cdb,Hdb,Jdb,Kdb,Ldb,Mdb,Ndb,Pdb,Odb,Qdb,Rdb,Sdb,Wdb,Xdb,Zdb,$db,_db,aeb,beb]));Vdb=new A5(DD(yD(tK,1),WBc,5,0,[xdb,ydb,zdb,Adb,Bdb,Edb,Fdb,Gdb,Idb,Tdb,Udb,Ydb]));new UBb("jscomp$infer$const$property")}function f6(){f6=gW;b6=new k6("JSC_UNUSED",(tZ(),sZ),new emc($Ec));Qp(_Ec,aFc,bFc,cFc,dFc,eFc,DD(yD(sT,1),FBc,2,6,[fFc,gFc]));e6=new dvc;i6("commonJsModuleLoad",DD(yD(tK,1),WBc,5,0,[($lb(),Ylb),Zlb]));R5=i6("globalThis",DD(yD(tK,1),WBc,5,0,[(gZ(),fZ)]));i6(hFc,DD(yD(tK, +1),WBc,5,0,[($Y(),TY),UY,VY,WY,RY,SY]));i6("underscore",DD(yD(tK,1),WBc,5,0,[(wvb(),svb),tvb]));d6=i6("visibility",DD(yD(tK,1),WBc,5,0,[LY,MY,KY,NY,XY,YY,ZY,QY]));g6("accessControls",d6);i6("nonStandardJsDocs",DD(yD(tK,1),WBc,5,0,[(Knb(),snb),ynb,znb]));i6("invalidCasts",DD(yD(tK,1),WBc,5,0,[($rb(),Wrb),(khb(),Jgb)]));g6(iFc,new z5(iFc,DD(yD(tK,1),WBc,5,0,[b6])));i6("strictModuleDepCheck",DD(yD(tK,1),WBc,5,0,[(Qsb(),Ksb),(eZ(),cZ)]));i6("violatedModuleDep",DD(yD(tK,1),WBc,5,0,[Psb]));i6("externsValidation", +DD(yD(tK,1),WBc,5,0,[Jsb,Lsb]));i6("ambiguousFunctionDecl",DD(yD(tK,1),WBc,5,0,[(spb(),kpb)]));i6("unknownDefines",DD(yD(tK,1),WBc,5,0,[(bmb(),amb)]));i6("tweakValidation",DD(yD(tK,1),WBc,5,0,[(gmb(),cmb),emb,fmb]));i6("missingOverride",DD(yD(tK,1),WBc,5,0,[(Orb(),qrb),rrb]));S5=i6("missingProperties",DD(yD(tK,1),WBc,5,0,[yrb,zrb,Jrb,Hgb,Zgb]));i6("j2clChecks",DD(yD(tK,1),WBc,5,0,[(ueb(),teb)]));i6("missingReturn",DD(yD(tK,1),WBc,5,0,[(CZ(),BZ)]));i6("internetExplorerChecks",DD(yD(tK,1),WBc,5,0,[Gnb])); +a6=i6("undefinedVars",DD(yD(tK,1),WBc,5,0,[Msb]));_5=i6("undefinedNames",DD(yD(tK,1),WBc,5,0,[dZ]));i6("checkDebuggerStatement",DD(yD(tK,1),WBc,5,0,[(bZ(),aZ)]));i6("checkRegExp",DD(yD(tK,1),WBc,5,0,[(HZ(),GZ),FZ]));X5=h6("oldCheckTypes",DD(yD(sK,1),WBc,50,0,[Qrb,frb]));V5=h6(eFc,DD(yD(sK,1),WBc,50,0,[(xzb(),czb),(ceb(),Ddb),sgb]));W5=h6(fFc,DD(yD(sK,1),WBc,50,0,[rzb,Vdb,Ugb]));U5=h6(dFc,DD(yD(sK,1),WBc,50,0,[V5,W5]));L5=h6(LEc,DD(yD(sK,1),WBc,50,0,[X5,U5]));i6("newCheckTypesAllChecks",DD(yD(tK,1), +WBc,5,0,[Ygb]));i6("newCheckTypesClosureClean",DD(yD(tK,1),WBc,5,0,[dzb,ezb,fzb,kzb,lzb,ozb,pzb,vzb,wdb,zdb,Bdb,Cdb,Edb,Gdb,Hdb,Idb,Jdb,Kdb,Ldb,Ndb,Pdb,Sdb,Tdb,Udb,Wdb,Zdb,$db,_db,aeb,lgb,ngb,qgb,wgb,tgb,xgb,zgb,Dgb,Qgb,Mgb,Ngb,Pgb,Rgb,dhb,ghb]));i6("tooManyTypeParams",DD(yD(tK,1),WBc,5,0,[Fnb]));g6(jFc,new z5(jFc,DD(yD(tK,1),WBc,5,0,[b6])));Y5=i6(cFc,DD(yD(tK,1),WBc,5,0,[Krb]));Z5=i6(_Ec,DD(yD(tK,1),WBc,5,0,[Krb,ehb]));M5=i6("checkVars",DD(yD(tK,1),WBc,5,0,[Msb,Osb,(etb(),btb),ctb]));i6(kFc,DD(yD(tK, +1),WBc,5,0,[(JZ(),IZ),(SZ(),RZ)]));i6(lFc,DD(yD(tK,1),WBc,5,0,[OY,PY,(e5(),d5),wgb,vgb,ugb]));J5=i6("accessControlsConst",DD(yD(tK,1),WBc,5,0,[OY,PY]));i6("constantProperty",DD(yD(tK,1),WBc,5,0,[OY,PY,vgb,ugb]));i6("typeInvalidation",DD(yD(tK,1),WBc,5,0,[(q6(),o6),p6]));N5=i6(mFc,DD(yD(tK,1),WBc,5,0,[Osb,Rrb,Srb,ctb,Xdb]));i6("es3",DD(yD(tK,1),WBc,5,0,[wnb,Gnb]));Q5=i6("es5StrictUncommon",DD(yD(tK,1),WBc,5,0,[xnb,tnb,rpb,opb,npb,jpb,gpb,lpb,mpb]));P5=i6("es5StrictReflection",DD(yD(tK,1),WBc,5,0,[hpb, +ipb,qpb,ppb]));O5=h6("es5Strict",DD(yD(sK,1),WBc,50,0,[Q5,P5]));T5=i6(nFc,DD(yD(tK,1),WBc,5,0,[(EZ(),DZ),(u$(),r$)]));i6(oFc,DD(yD(tK,1),WBc,5,0,[(AZ(),zZ)]));h6(gFc,DD(yD(sK,1),WBc,50,0,[Z5,_5,a6,T5,B5((Xbb(),Qbb)),B5((Xlb(),Vlb)),S5,N5,B5(_lb),B5((u7(),t7))]));$5=i6("strictMissingRequire",DD(yD(tK,1),WBc,5,0,[zZ,xZ,yZ]));i6("legacyGoogScopeRequire",DD(yD(tK,1),WBc,5,0,[xZ,wZ]));i6("extraRequire",DD(yD(tK,1),WBc,5,0,[wZ]));i6("misplacedTypeAnnotation",DD(yD(tK,1),WBc,5,0,[(pZ(),iZ),jZ,kZ,mZ,lZ,nZ, +oZ]));i6("misplacedMsgAnnotation",DD(yD(tK,1),WBc,5,0,[oZ]));i6("suspiciousCode",DD(yD(tK,1),WBc,5,0,[(Zub(),Yub),(PZ(),OZ),KZ,MZ,LZ,NZ,lrb,Ylb]));i6("functionParams",DD(yD(tK,1),WBc,5,0,[Obb,Pbb]));i6("deprecatedAnnotations",DD(yD(tK,1),WBc,5,0,[hZ]));c6=i6("unusedPrivateMembers",DD(yD(tK,1),WBc,5,0,[(UZ(),TZ)]));i6("unusedLocalVariables",DD(yD(tK,1),WBc,5,0,[dtb]));i6("jsdocMissingType",DD(yD(tK,1),WBc,5,0,[Bnb]));i6("unnecessaryEscape",DD(yD(tK,1),WBc,5,0,[Inb]));h6("lintChecks",DD(yD(sK,1),WBc, +50,0,[ivb,new A5(DD(yD(tK,1),WBc,5,0,[(_ub(),$ub),(evb(),avb),bvb,cvb,dvb,(hvb(),fvb),gvb,(yvb(),xvb),(Evb(),Cvb),Dvb,(Gvb(),Fvb),(Lvb(),Hvb),Kvb,Jvb,Ivb,(Nvb(),Mvb),(Pvb(),Ovb),(b$(),WZ),XZ,$Z,YZ,ZZ,_Z,a$,s$,Anb]))]));i6("strictModuleChecks",DD(yD(tK,1),WBc,5,0,[VZ,$Z,YZ,ZZ,_Z,a$]));K5=i6(bFc,DD(yD(tK,1),WBc,5,0,[(Xub(),Wub),(Bvb(),zvb),Avb,(seb(),reb),Fnb]));h6(aFc,DD(yD(sK,1),WBc,50,0,[K5,c6]));i6("useOfGoogBase",DD(yD(tK,1),WBc,5,0,[Wlb]));i6("closureDepMethodUsageChecks",DD(yD(tK,1),WBc,5,0, +[Slb]));i6("transitionalSuspiciousCodeWarnings",DD(yD(tK,1),WBc,5,0,[(Rkb(),Pkb),Qkb,Okb]));i6("lateProvide",DD(yD(tK,1),WBc,5,0,[Ulb,q$]));i6("missingPolyfill",DD(yD(tK,1),WBc,5,0,[(_mb(),$mb)]));i6("invalidProvide",DD(yD(tK,1),WBc,5,0,[Tlb]));i6("es6Typed",DD(yD(tK,1),WBc,5,0,[Cnb]));i6("duplicateZipContents",DD(yD(tK,1),WBc,5,0,[(wob(),vob)]))}function khb(){khb=gW;Sgb=new k6("JSC_NTI_MISTYPED_ASSIGN_RHS",(tZ(),sZ),new emc("The right side in the assignment is not a subtype of the left side.\n{0}")); +Ogb=new k6("JSC_NTI_INVALID_OPERAND_TYPE",sZ,new emc("Invalid type(s) for operator {0}.\n{1}"));ahb=new k6("JSC_NTI_RETURN_NONDECLARED_TYPE",sZ,new emc("Returned type does not match declared return type.\n{0}"));Mgb=new k6("JSC_NTI_INVALID_INFERRED_RETURN_TYPE",sZ,new emc("Function called in context that expects incompatible type.\n{0}"));Kgb=new k6("JSC_NTI_INVALID_DECLARED_RETURN_TYPE_OF_GENERATOR_FUNCTION",sZ,new emc("A generator function must return a (supertype of) Generator.\n{0}."));Igb=new k6("JSC_NTI_INVALID_ARGUMENT_TYPE", +sZ,new emc("Invalid type for parameter {0} of function {1}.\n{2}"));bhb=new k6("JSC_NTI_TEMPLATE_ARGUMENT_MISMATCH",sZ,new emc("Invalid type for the first parameter of tag function {0}.\n{1}"));chb=new k6("JSC_NTI_TEMPLATE_ARGUMENT_MISSING",sZ,new emc("A tag function must take at least one argument.\n"));xgb=new k6("JSC_NTI_CROSS_SCOPE_GOTCHA",sZ,new emc("Variable {0} typed inconsistently across scopes.\nIn outer scope : {1}\nIn inner scope : {2}\n"));Zgb=new k6("JSC_NTI_POSSIBLY_INEXISTENT_PROPERTY", +sZ,new emc("Property {0} may not be present on {1}."));$gb=new k6("JSC_NTI_PROPERTY_ACCESS_ON_NONOBJECT",sZ,new emc("Cannot access property {0} of non-object type {1}."));Xgb=new k6("JSC_NTI_NOT_UNIQUE_INSTANTIATION",sZ,new emc("When instantiating a polymorphic function, you can only specify one type for each type variable.\n Found {0} types for type variable {1}: {2},\n when instantiating type: {3}"));Lgb=new k6("JSC_NTI_INVALID_INDEX_TYPE",sZ,new emc("Invalid type for index.\n{0}"));ogb=new k6("JSC_NTI_BOTTOM_INDEX_TYPE", +sZ,new emc("This IObject {0} cannot be accessed with a valid type.\n Usually the result of a bad union type.\n"));Ngb=new k6("JSC_NTI_INVALID_OBJLIT_PROPERTY_TYPE",sZ,new emc("Invalid type for object-literal property.\n{0}"));ygb=new k6("JSC_NTI_FORIN_EXPECTS_OBJECT",sZ,new emc("For/in expects an object, found type {0}."));zgb=new k6("JSC_NTI_FORIN_EXPECTS_STRING_KEY",sZ,new emc("For/in creates string keys, but variable has declared type {1}."));Agb=new k6("JSC_NTI_FOROF_EXPECTS_ITERABLE",sZ,new emc("For/of expects an iterable, found type {0}.")); +Tgb=new k6("JSC_NTI_MISTYPED_FOROF_ELEMENT_TYPE",sZ,new emc("Invalid type for for/of element.\n{0}"));wgb=new k6("JSC_NTI_CONST_REASSIGNED",sZ,new emc("Cannot change the value of a constant."));vgb=new k6("JSC_NTI_CONST_PROPERTY_REASSIGNED",sZ,new emc("Cannot change the value of a constant property."));ugb=new k6("JSC_NTI_CONSTANT_PROPERTY_DELETED",sZ,new emc("Constant property {0} cannot be deleted"));Vgb=new k6("JSC_NTI_NOT_A_CONSTRUCTOR",sZ,new emc("Expected a constructor but found type {0}.")); +rgb=new k6("JSC_NTI_CANNOT_INSTANTIATE_ABSTRACT_CLASS",sZ,new emc("Cannot instantiate abstract class {0}."));new k6("JSC_UNDEFINED_SUPER_CLASS",sZ,new emc("Undefined super class for {0}."));ngb=new k6("JSC_NTI_ASSERT_FALSE",sZ,new emc("Assertion is always false. Please use a throw or fail() instead."));dhb=new k6("JSC_NTI_UNKNOWN_ASSERTION_TYPE",sZ,new emc("Assert with unknown asserted type."));Pgb=new k6("JSC_NTI_INVALID_THIS_TYPE_IN_BIND",sZ,new emc("Invalid type for the first argument to bind.\n{0}")); +qgb=new k6("JSC_NTI_CANNOT_BIND_CTOR",sZ,new emc("We do not support using .bind on constructor functions."));Cgb=new k6("JSC_NTI_GOOG_BIND_EXPECTS_FUNCTION",sZ,new emc("The first argument to goog.bind/goog.partial must be a function, found: {0}"));pgb=new k6("JSC_NTI_BOTTOM_PROP",sZ,new emc("Property {0} of {1} cannot have a valid type.Maybe the result of a union of incompatible types?"));Jgb=new k6("JSC_NTI_INVALID_CAST",sZ,new emc("invalid cast - the types do not have a common subtype\nfrom: {0}\nto : {1}")); +Bgb=new k6("JSC_NTI_USED_GLOBAL_THIS",sZ,new emc("Dangerous use of the global THIS object"));Rgb=new k6("JSC_NTI_MISSING_RETURN_STATEMENT",sZ,new emc(CDc));tgb=new k6("JSC_NTI_CONSTRUCTOR_NOT_CALLABLE",sZ,new emc(fHc));Dgb=new k6("JSC_NTI_ILLEGAL_OBJLIT_KEY",sZ,new emc(gHc));Fgb=new k6("JSC_NTI_ILLEGAL_PROPERTY_CREATION",sZ,new emc("Cannot add property {0} to a struct instance after it is constructed."));Qgb=new k6("JSC_NTI_IN_USED_WITH_STRUCT",sZ,new emc(hHc));mgb=new k6("JSC_NTI_ADDING_PROPERTY_TO_NON_OBJECT", +sZ,new emc("Cannot create property {0} on non-object type {1}."));Hgb=new k6("JSC_NTI_INEXISTENT_PROPERTY",sZ,new emc(iHc));Wgb=new k6("JSC_NTI_NOT_FUNCTION_TYPE",sZ,new emc("Cannot call non-function type {0}"));hhb=new k6("JSC_NTI_WRONG_ARGUMENT_COUNT",sZ,new emc(jHc));Egb=new k6("JSC_NTI_ILLEGAL_PROPERTY_ACCESS",sZ,new emc(kHc));ghb=new k6("JSC_NTI_UNKNOWN_TYPEOF_VALUE",sZ,new emc(lHc));fhb=new k6("JSC_NTI_UNKNOWN_NAMESPACE_PROPERTY",sZ,new emc("Cannot determine the type of namespace property {0}. Maybe a prefix of the property name has been redefined?")); +Ggb=new k6("JSC_INCOMPATIBLE_STRICT_COMPARISON",sZ,new emc("Cannot perform strict equality / inequality comparisons on incompatible types:\nleft : {0}\nright: {1}"));lgb=new k6("JSC_NTI_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",sZ,new emc(mHc));_gb=new k6("JSC_NTI_REFLECT_CONSTRUCTOR_EXPECTED",sZ,new emc(nHc));Ygb=new k6("JSC_NTI_NULLABLE_DEREFERENCE",rZ,new emc("Attempt to use nullable type {0}."));ehb=new k6("JSC_NTI_UNKNOWN_EXPR_TYPE",rZ,new emc("This {0} expression has the unknown type."));jhb=new k6("JSC_NTI_YIELD_NONDECLARED_TYPE", +sZ,new emc("Yielded type does not match declared return type.\n{0}"));ihb=new k6("JSC_NTI_YIELD_ALL_EXPECTS_ITERABLE",sZ,new emc("Expression yield* expects an iterable, found type {0}."));sgb=new A5(DD(yD(tK,1),WBc,5,0,[lgb,qgb,rgb,ugb,vgb,wgb,_gb,tgb,zgb,Agb,Tgb,Bgb,Cgb,Dgb,Egb,Fgb,Qgb,Hgb,Igb,bhb,chb,Jgb,Lgb,Ngb,Rgb,Sgb,Vgb,Wgb,Zgb,ahb,dhb,ghb,hhb,ihb,Kgb]));Ugb=new A5(DD(yD(tK,1),WBc,5,0,[mgb,ngb,ogb,pgb,xgb,ygb,Ggb,Mgb,Ogb,Pgb,Xgb,$gb,fhb,jhb]))}function hFb(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,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb;switch(b.p.f){case 42:return(b.b.c==(pSb(),URb)||b.b.c==VRb)&&cFb(a,b,(VKb(),rKb)),dEb(a.a,b.c.o)?iEb(a.a,PEb(b.b.c),yEb(a.a,b.a),yEb(a.a,b.c)):lFb(a,b);case 28:return iFb(a,b);case 74:return UFb(a,b);case 75:return VFb(a,b.a);case 76:return hEb(a.a,(o6b(),$5b),yEb(a.a,b.a));case 44:return ZFb(a,b);case 2:return mFb(a,b);case 14:return nFb(a,b);case 49:return yFb(a,b);case 17:return RFb(a,b);case 18:return SFb(a, +b);case 22:return iEb(a.a,(o6b(),T3b),yEb(a.a,b.b),zEb(a.a,b.a));case 13:return qFb(a,b);case 8:return iEb(a.a,(o6b(),h4b),zEb(a.a,b.a),yEb(a.a,b.b));case 5:return gEb((d=a,b,d).a,(o6b(),j4b));case 6:return uFb(a,b);case 24:return gEb((e=a,b,e).a,(o6b(),_3b));case 25:return gEb((f=a,b,f).a,(o6b(),_5b));case 11:return vFb(a,b);case 10:return h=yEb(a.a,b.c),i=(Cn(),Mp(DD(yD(nT,1),WBc,1,5,[(o6b(),q3b),t5b]))),i.contains(h.j)&&a.a.d.lh("Invalid LHS for a for-in loop",a.a.r,(WDb(),b.c.o.b.b+1),b.c.o.b.a), +jEb(a.a,w4b,h,yEb(a.a,b.b),zEb(a.a,b.a));case 1:return xFb(a,b);case 55:return iEb(a.a,(o6b(),D4b),yEb(a.a,b.b),yEb(a.a,b.a));case 46:return j=yEb(a.a,b.b),k=b.a,l=IFb(a,k),!l.qi()&&!a.a.c&&dFb(a,l),iEb(a.a,(o6b(),E4b),j,l);case 43:return jEb(a.a,(o6b(),H4b),yEb(a.a,b.a),yEb(a.a,b.b),yEb(a.a,b.c));case 7:return BFb(a,b);case 20:return iEb(a.a,(o6b(),V4b),cGb(a,b.a),yEb(a.a,b.b));case 56:return VEb(a,b),yEb(a.a,b.a);case 26:return EFb(a,b.a,false);case 47:return HFb(a,b);case 29:return JFb(a,b);case 36:return cFb(a, +b,(VKb(),kKb)),iEb(a.a,(o6b(),Y3b),yEb(a.a,b.a),yEb(a.a,b.b));case 37:return cFb(a,b,(VKb(),kKb)),m=yEb(a.a,b.c),n=yEb(a.a,b.a),o=jYb((ie(Wkc("",olc(46))==-1,GDc,""),new $2b((o6b(),g5b),"")),new _1b(y5b),n),Y1b(o,n),p=iEb(a.a,Y3b,m,o),q=x1b(p,p.g,73),q!=p.g&&(p.g=q),p.g=new D2b(73,1,p.g),s1b(p,58,b.b),p;case 88:return cFb(a,b,(VKb(),kKb)),fFb(a,b,DKb),r=hEb(a.a,(o6b(),Y3b),yEb(a.a,b.d)),_Eb(a,r,b.b),s=x1b(r,r.g,75),s!=r.g&&(r.g=s),r.g=new D2b(75,1,r.g),t1b(r,84,b.a),L1b(r,b.c),ZEb(a,b,r,b.a),r;case 38:return cFb(a, +b,(VKb(),kKb)),t=iEb(a.a,(o6b(),Y3b),yEb(a.a,b.c),yEb(a.a,b.b)),u=x1b(t,t.g,72),u!=t.g&&(t.g=u),t.g=new D2b(72,1,t.g),b.b.i&&(v=x1b(t,t.g,58),v!=t.g&&(t.g=v),t.g=new D2b(58,1,t.g)),ZEb(a,b,t,b.a),t;case 39:return cFb(a,b,(VKb(),kKb)),w=yEb(a.a,b.d),A=yEb(a.a,b.a),B=CYb(bGb(a,b.c)),C=jYb((ie(Wkc("",olc(46))==-1,GDc,""),new $2b((o6b(),g5b),"")),B,A),Y1b(C,A),D=iEb(a.a,Y3b,w,C),F=x1b(D,D.g,74),F!=D.g&&(D.g=F),D.g=new D2b(74,1,D.g),s1b(D,58,b.b),D;case 15:return OFb(a,b);case 45:return G=TEb(b.b.c),H= +yEb(a.a,b.a),WEb(a,G,b.c==1,H);case 0:return kFb(a,b);case 27:return DFb(a,b);case 19:return TFb(a,b);case 21:return hEb(a.a,(o6b(),a6b),yEb(a.a,b.a));case 23:return WFb(a,b);case 3:return hFb(a.a.u,b.a);case 12:return aGb(a,b);case 4:return _Fb(a,b);case 9:return iEb(a.a,(o6b(),l6b),yEb(a.a,b.b),zEb(a.a,b.a));case 16:return iEb(a.a,(o6b(),m6b),yEb(a.a,b.b),zEb(a.a,b.a));case 41:return pFb(a,b);case 64:return gEb((g=a,b,g).a,(o6b(),j4b));case 57:return zEb(a.a,b.a);case 40:return lEb((c=a,b,c).a, +(o6b(),g5b),RIc);case 35:return I=IFb(a,b.a),O1b(I,(o6b(),T5b)),!!b.b&&K0b(I,yEb(a.a,b.b)),I;case 33:return J=IFb(a,b.c),O1b(J,(o6b(),F4b)),K=yEb(a.a,b.a),L=lEb(a.a,g5b,""),vEb(L,b.a),M=gEb(a.a,y5b),vEb(M,b.a),N=jEb(a.a,y4b,L,M,K),vEb(N,b.a),K0b(J,N),_Eb(a,N,b.d),L1b(J,b.b),J;case 34:return O=IFb(a,b.d),O1b(O,(o6b(),N5b)),P=yEb(a.a,b.a),Q=lEb(a.a,g5b,""),uEb(Q,b.d),R=hEb(a.a,y5b,bGb(a,b.c)),uEb(R,b.c),_Eb(a,R.b,b.e),S=jEb(a.a,y4b,Q,R,P),vEb(S,b.a),K0b(O,S),L1b(O,b.b),O;case 62:return wFb(a,b);case 50:return oFb(a, +b);case 58:return cFb(a,b,(VKb(),PKb)),gEb(a.a,(o6b(),W5b));case 93:return cFb(a,b,(VKb(),GKb)),gEb(a.a,(o6b(),n5b));case 72:return T=gEb(a.a,(o6b(),n6b)),!!b.a&&J0b(T,yEb(a.a,b.a)),R1b(T,b.b),T;case 94:return cFb(a,b,(VKb(),fKb)),U=gEb(a.a,(o6b(),G3b)),J0b(U,yEb(a.a,b.a)),U;case 71:return cFb(a,b,(VKb(),tKb)),V=yEb(a.a,b.c),W=(Cn(),Mp(DD(yD(nT,1),WBc,1,5,[(o6b(),q3b),t5b]))),W.contains(V.j)&&a.a.d.lh("Invalid LHS for a for-of loop",a.a.r,(WDb(),b.c.o.b.b+1),b.c.o.b.a),jEb(a.a,x4b,V,yEb(a.a,b.b), +zEb(a.a,b.a));case 67:return sFb(a,b);case 68:return tFb(a,b);case 69:return cFb(a,b,(VKb(),EKb)),X=fGb(a,b.a,b),Y=b.d?lEb(a.a,(o6b(),N4b),b.d.a):eGb(a,(o6b(),M4b),b.b),i2b(Y.i)==-1&&wEb(Y,b.o.b,b.o.a),Z=PFb(a,b.c),jEb(a.a,(o6b(),K4b),X,Y,Z);case 70:return $=EFb(a,b.b,true),O1b($,(o6b(),g5b)),ab=hEb(a.a,L4b,$),!!b.a&&J0b(ab,EFb(a,b.a,false)),ab;case 59:return jFb(a,b);case 61:return KFb(a,b);case 60:return cFb(a,b,(VKb(),dKb)),hEb(a.a,(o6b(),H5b),AEb(a.a,b.a));case 32:case 31:case 30:return a.a.d.lh("unsupported language feature: array/generator comprehensions", +a.a.r,(WDb(),b.o.b.b+1),b.o.b.a),lEb(a.a,(o6b(),g5b),RIc);case 73:return cFb(a,b,(VKb(),nKb)),iEb(a.a,(o6b(),d4b),yEb(a.a,b.b),yEb(a.a,b.a));case 65:return cFb(a,b,(VKb(),LKb)),bb=AEb(a.a,b.a),(bb.j==(o6b(),u5b)||bb.j==r3b)&&cFb(a,b.a,oKb),hEb(a.a,H5b,bb);case 63:return cFb(a,b,(VKb(),NKb)),hEb(a.a,(o6b(),Q5b),yEb(a.a,b.a));case 77:return XFb(a,b);case 79:return cb=yEb(a.a,b.a),_Eb(a,cb,b.b),cb;case 80:return fFb(a,b,(VKb(),IKb)),db=yEb(a.a,b.a),eb=x1b(db,db.g,80),eb!=db.g&&(db.g=eb),db.g=new D2b(80, +1,db.g),db;case 81:return LFb(a,b);case 82:return XDb(a.a,w6b(yEb(a.a,b.a)));case 83:return MFb(a,b);case 84:return $Fb(a,b);case 85:return zFb(a,b);case 78:return YFb(a,b);case 86:return AFb(a,b);case 87:return fb=lEb(a.a,(o6b(),c5b),b.e.a),_Eb(a,fb,b.b),L1b(fb,b.d),s1b(fb,80,b.c),ZEb(a,b,fb,b.a),fb;case 51:return CFb(a,b);case 54:return rFb(a,b);case 89:return fFb(a,b,(VKb(),TKb)),gb=lEb(a.a,(o6b(),e6b),b.a.a),K0b(gb,yEb(a.a,b.b)),gb;case 90:return fFb(a,b,(VKb(),cKb)),hEb(a.a,(o6b(),b4b),yEb(a.a, +b.a));case 52:return FFb(a,b);case 91:return fFb(a,b,(VKb(),yKb)),hb=yEb(a.a,b.b),ib=$0b(hb,78),ib.j!=(o6b(),s5b)&&ib.j!=U5b&&a.a.d.lh("Index signature parameter type must be 'string' or 'number'",a.a.r,(WDb(),b.b.o.b.b+1),b.b.o.b.a),jb=hEb(a.a,Q4b,hb),_Eb(a,jb,b.a),jb;case 92:return fFb(a,b,b.c?(VKb(),lKb):(VKb(),iKb)),kb=hEb(a.a,(o6b(),Q3b),yEb(a.a,b.a)),_Eb(a,kb,b.d),$Eb(a,kb,b.b),s1b(kb,83,b.c),kb}return a.a.d.lh("Unsupported syntax: "+b.p,a.a.r,(WDb(),b.o.b.b+1),0),gEb(a.a,(o6b(),j4b))}function Y$(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;if(a.g&&!!$0b(b,29)){G=zeb(a.e,$0b(b,29));Tkc(G,"/** */ ")||w$(a.c,G)}bb=b.j;N=sjb(bb);p=V0b(b);t=b.b;H=b.b?b.b.f:null;if(N!=null&&t!=H){je(p==2,N,p);O=m_(a,b);X=c==3?3:4;K=c==2&&t.j==(o6b(),u5b);b.j==(o6b(),t3b)&&K&&w$(a.c,"(");if(Dib(b)||bb==p4b){b_(a,t,O+1,c);y$(a.c,N,true);b_(a,H,O,X)}else p_(a,b,bb,N,c,X,O,O+1);b.j==t3b&&K&&w$(a.c,")");return}a.c.Ag(b);switch(bb.f){case 44:{de(t.d.j== +(o6b(),M3b)&&!e1b(t.d));de(p>=2&&p<=3);w$(a.c,"try");a.Bg(t,4);n=t.d.b;!!n&&a.Bg(n,4);if(p==3){a.c.wg();w$(a.c,RDc);a.Bg(H,4)}break}case 78:de(p==2);a.c.wg();w$(a.c,"catch");a.c.wg();w$(a.c,"(");a.Bg(t,4);w$(a.c,")");a.Bg(H,4);break;case 39:de(p==1);w$(a.c,"throw");a.c.wg();a.Bg(t,4);a.c.sg(true);break;case 0:w$(a.c,SDc);if(p==1){a.c.wg();a.Bg(t,4)}else de(p==0);a.c.sg(false);break;case 76:w$(a.c,"var ");f_(a,t,false,c==3?3:4,",");(!b.e||(Whb(),b.j!=(o6b(),e5b)&&djb(b.e)))&&a.c.sg(false);break;case 88:w$(a.c, +"const ");f_(a,t,false,c==3?3:4,",");(!b.e||(Whb(),b.j!=(o6b(),e5b)&&djb(b.e)))&&a.c.sg(false);break;case 100:w$(a.c,"let ");f_(a,t,false,c==3?3:4,",");(!b.e||(Whb(),b.j!=(o6b(),e5b)&&djb(b.e)))&&a.c.sg(false);break;case 90:de(b.oi().length!=0);d_(a,b.oi());break;case 95:a.Bg(t,4);if(t!=H){de(p==2);y$(a.c,"=",true);a.Bg(H,4)}break;case 29:a.k&&$0b(b,40)!=null?d_(a,$0b(b,40)):d_(a,b.oi());Y0b(b,80)!=0&&w$(a.c,"?");l_(a,b);if(!!t&&t.j!=(o6b(),j4b)){de(p==1);y$(a.c,"=",true);t.j==(o6b(),X3b)||t.j==S3b&& +t.b.j==X3b?b_(a,t,ujb(t3b),4):b_(a,t,0,c==3?3:4)}break;case 42:w$(a.c,"[");_$(a,t);w$(a.c,"]");break;case 93:w$(a.c,"[");_$(a,t);w$(a.c,"]");l_(a,b);break;case 45:w$(a.c,"(");f_(a,t,true,4,",");w$(a.c,")");break;case 118:a.Bg(t,4);l_(a,b);y$(a.c,"=",true);a.Bg(t.d,4);break;case 46:de(p==2);p_(a,b,(o6b(),X3b),",",c,c==3?3:4,0,0);break;case 30:de(p==0);a.c.gg(b.ni(),b);break;case 25:case 79:case 19:case 20:case 21:{de(p==1);y$(a.c,tjb(bb),false);b_(a,t,ujb(bb),4);break}case 22:{de(p==1);if(b.b.j==(o6b(), +r5b))a.c.gg(-b.b.ni(),b.b);else{y$(a.c,tjb(bb),false);b_(a,t,ujb(bb),4)}break}case 60:{de(p==3);O=ujb(bb);X=c==3?3:4;b_(a,t,O+1,c);y$(a.c,"?",true);b_(a,t.d,1,X);y$(a.c,":",true);b_(a,H,1,X);break}case 38:if(t.j!=(o6b(),S5b)||H.j!=S5b)throw HV(new Lic("Expected children to be strings"));V="/"+o_(a,t.oi(),'"',"'","`","\\",false,true)+"/";if(p==2)Z$(a,V+H.oi());else{de(p==1);w$(a.c,V)}break;case 65:{if(b.Oj!=VR)throw HV(new Lic(TDc));de(p==3);b.j==(o6b(),y4b)&&Y0b(b,60)!=0?(de(t.oi().length==0),cb= +(db=b.e,!!db&&(Whb(),Eib(db.j)||gjb(db.j)||ijb(db.j)||db.j==Y5b||db.j==E4b||(db.j==D4b||db.j==P3b||db.j==H4b)&&(eb=b.e,!!eb&&b==eb.b))),cb&&w$(a.c,"("),fb=$0b(t,81),!!fb&&a.Bg(fb,4),b.j==y4b&&Y0b(b,61)!=0&&w$(a.c,UDc),a.Bg(t.d,4),l_(a,b),y$(a.c,"=>",true),H.j==M3b?a.Bg(H,4):b_(a,H,ujb(X3b)+1,c),a.c.pg(c==0),cb&&w$(a.c,")"),undefined):c_(a,b,t,H,c);break}case 112:w$(a.c,VDc);a.Bg(t,4);l_(a,b);break;case 113:w$(a.c,VDc);a.Bg(b.b,4);break;case 108:w$(a.c,WDc);Y0b(b,63)!=0&&w$(a.c,XDc);if(Y0b(b,64)!= +0){w$(a.c,"*");de(!!t&&t.j==(o6b(),j4b))}else a.Bg(t,4);if(p==2){w$(a.c,YDc);a.Bg(H,4)}n_(a,t,c);break;case 104:w$(a.c,ZDc);Y=t.d;if(t.j!=(o6b(),j4b)){a.Bg(t,4);Y.j==j4b||a.c.ug()}Y.j==j4b||a.Bg(Y,4);(t.j!=j4b||Y.j!=j4b)&&w$(a.c,YDc);a.Bg(H,4);a.c.sg(false);break;case 109:case 105:w$(a.c,"{");for(j=t;j;j=j.d){j!=t&&a.c.ug();a.Bg(j,4)}w$(a.c,"}");break;case 110:case 106:a.Bg(t,4);if(t!=H){w$(a.c,"as");a.Bg(H,4)}break;case 107:w$(a.c,"*");w$(a.c,"as");Z$(a,b.oi());break;case 96:{de(p==3);q=c==2;q&& +w$(a.c,"(");J=t;Z=t.d;I=H;w$(a.c,$Dc);J.j==(o6b(),j4b)||a.Bg(J,4);A=$0b(t,81);!!A&&a.Bg(A,4);if(Z.j!=j4b){w$(a.c,_Dc);a.Bg(Z,4)}D=$0b(b,82);if(D){w$(a.c,aEc);o=D.b;a.Bg(o,4);while(o=o.d){w$(a.c,",");a.c.wg();a.Bg(o,4)}}a.Bg(I,4);B$(a.c,c==0);q&&w$(a.c,")")}break;case 97:case 150:case 160:z$(a.c);for(k=t;k;k=k.d){a.Bg(k,4);n_(a,k,c);a.c.qg()}A$(a.c,false);break;case 152:z$(a.c);for(l=t;l;l=l.d){a.Bg(l,4);!!l.d&&w$(a.c,",");a.c.qg()}A$(a.c,false);break;case 86:case 87:case 98:case 156:{de(b.e.j==(o6b(), +t5b)||b.e.j==V3b||b.e.j==U4b||b.e.j==F5b||b.e.j==Q4b);e=$0b(b,84);!!e&&Z$(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");Y0b(b,58)!=0&&w$(a.c,"static ");if(b.j!=c5b&&Y0b(b.b,59)!=0){de(bb==b5b);w$(a.c,"*")}b.j==b5b&&i1b(b.b)&&w$(a.c,"async ");switch(bb.f){case 86:de(!t.b.d.b);w$(a.c,"get ");break;case 87:de(f1b(t.b.d));w$(a.c,"set ")}J=b.oi();if(b.j==c5b){Z$(a,b.oi());Y0b(b,80)!=0&&w$(a.c,"?");l_(a,b)}else{de(p==1);de(t.j==y4b);de(t.b.oi().length==0);u=t;P=u.b.d;h=u.b?u.b.f:null;if(!b.qi()&&(v6b(),t6b.test(J))&& +Tib(J)){w$(a.c,J);k_(a,u.b)}else{r=v_(J);isNaN(r)?e_(a,b):a.c.gg(r,b)}Y0b(u,80)!=0&&w$(a.c,"?");a.Bg(P,4);l_(a,u);a.Bg(h,4)}break}case 85:case 111:case 82:case 81:{if(b.Oj!=VR)throw HV(new Lic(TDc));U=b.j==(o6b(),M3b)&&Y0b(b,38)==0;U&&z$(a.c);T=bb==M5b||bb==M3b&&!U&&b.e.j==M5b;for(m=t;m;m=m.d){a.Bg(m,0);(m.j==y4b||m.j==U3b)&&a.c.xg();T&&a.c.yg()}U&&A$(a.c,a.c.mg(b,c==0));break}case 72:de(p==4);w$(a.c,"for");a.c.wg();w$(a.c,"(");Whb();!!t&&(t.j==(o6b(),i6b)||t.j==$4b||t.j==Z3b)?a.Bg(t,3):b_(a,t,0, +3);w$(a.c,";");t.d.j==(o6b(),j4b)||a.c.wg();a.Bg(t.d,4);w$(a.c,";");t.d.d.j==j4b||a.c.wg();a.Bg(t.d.d,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 73:de(p==3);w$(a.c,"for");a.c.wg();w$(a.c,"(");a.Bg(t,4);w$(a.c,"in");a.Bg(t.d,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 101:de(p==3);w$(a.c,"for");a.c.wg();w$(a.c,"(");a.Bg(t,4);w$(a.c,"of");a.Bg(t.d,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 71:de(p==2);w$(a.c,"do");g_(a,t,4,false);a.c.wg();w$(a.c,bEc);a.c.wg();w$(a.c,"(");a.Bg(H,4); +w$(a.c,")");a.c.sg(false);break;case 70:de(p==2);w$(a.c,bEc);a.c.wg();w$(a.c,"(");a.Bg(t,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 80:de(p==0);break;case 26:{if(a.k&&$0b(b,40)!=null){q1b(b.b,"$jscomp.scope")&&b.e.j==(o6b(),t3b)&&w$(a.c,"var ");d_(a,$0b(b,40));break}fe(p==2,"Bad GETPROP: expected 2 children, but got %s",p);ee(H.j==(o6b(),S5b),"Bad GETPROP: RHS should be STRING");K=t.j==r5b;K&&w$(a.c,"(");b_(a,t,ujb(bb),c);K&&w$(a.c,")");if(a.i&&s6b(H.oi())){w$(a.c,"[");a.Bg(H,4);w$(a.c,"]")}else{w$(a.c, +".");d_(a,H.oi())}break}case 27:he(p==2,p,b);b_(a,t,ujb(bb),c);w$(a.c,"[");a.Bg(t.d,4);w$(a.c,"]");break;case 77:de(p==2);w$(a.c,"with(");a.Bg(t,4);w$(a.c,")");g_(a,H,c==1?1:4,false);break;case 63:case 64:{de(p==1);M=bb==(o6b(),P4b)?"++":"--";R=Y0b(b,32)!=0;if(R){b_(a,t,ujb(bb),c);y$(a.c,M,false)}else{y$(a.c,M,false);a.Bg(t,4)}break}case 28:if(t.j==(o6b(),g5b)&&Tkc("eval",t.oi())&&Y0b(t,49)==0||Y0b(b,50)!=0&&(Whb(),t.j==E4b||t.j==D4b)){w$(a.c,"(0,");b_(a,t,ujb(X3b),4);w$(a.c,")")}else b_(a,t,ujb(bb), +c);g=t.d;w$(a.c,"(");f_(a,g,true,4,",");w$(a.c,")");break;case 66:de(p==2||p==3);B=p==3;f=c==1&&!B;f&&z$(a.c);w$(a.c,"if");a.c.wg();w$(a.c,"(");a.Bg(t,4);w$(a.c,")");if(B){g_(a,t.d,1,false);a.c.wg();w$(a.c,"else");g_(a,H,c==1?1:4,false)}else g_(a,t.d,4,false);f&&A$(a.c,false);break;case 32:de(p==0);w$(a.c,CBc);break;case 33:de(p==0);w$(a.c,cEc);break;case 99:de(p==0);w$(a.c,dEc);break;case 119:de(p==0);w$(a.c,eEc);break;case 102:w$(a.c,"yield");if(Y0b(b,62)!=0){Zd(t);w$(a.c,"*")}if(t){a.c.wg();b_(a, +t,ujb(bb),4)}break;case 103:w$(a.c,"await ");b_(a,t,ujb(bb),4);break;case 34:de(p==0);w$(a.c,fEc);break;case 35:de(p==0);w$(a.c,gEc);break;case 75:de(p<=1);w$(a.c,hEc);if(p==1){if(t.j!=(o6b(),W4b))throw HV(new Lic(iEc));w$(a.c," ");a.Bg(t,4)}a.c.sg(false);break;case 89:de(p==0);w$(a.c,jEc);a.c.sg(false);break;case 74:de(p<=1);w$(a.c,"break");if(p==1){if(t.j!=(o6b(),W4b))throw HV(new Lic(iEc));w$(a.c," ");a.Bg(t,4)}a.c.sg(false);break;case 84:de(p==1);a.Bg(t,2);a.c.sg(false);break;case 23:w$(a.c,"new "); +S=ujb(bb);aib(t,(o6b(),P3b),(Whb(),Phb))&&(S=ujb(t.j)+1);b_(a,t,S,4);L=t.d;if(L){w$(a.c,"(");f_(a,L,true,4,",");w$(a.c,")")}break;case 91:i_(a,b);break;case 31:ee(p==0,"A string may not have children");e_(a,b);break;case 24:de(p==1);w$(a.c,"delete ");a.Bg(t,4);break;case 43:{K=c==2;K&&w$(a.c,"(");w$(a.c,"{");for(m=t;m;m=m.d){m!=t&&a.c.ug();de((Whb(),m.j==(o6b(),T5b)||m.j==F4b||m.j==N5b||m.j==b5b||m.j==Y3b));a.Bg(m,4)}w$(a.c,"}");K&&w$(a.c,")");break}case 114:d=$0b(b,84);!!d&&Z$(a,(d.e!=null?d.e:""+ +d.f).toLowerCase()+" ");Y0b(b,58)!=0&&w$(a.c,"static ");Y0b(b,73)!=0?w$(a.c,"get "):Y0b(b,74)!=0?w$(a.c,"set "):Y0b(H,59)!=0?w$(a.c,"*"):H.j==(o6b(),y4b)&&Y0b(H,61)!=0&&w$(a.c,UDc);w$(a.c,"[");a.Bg(t,4);w$(a.c,"]");l_(a,b);if(Y0b(b,72)!=0||Y0b(b,73)!=0||Y0b(b,74)!=0){v=t.d;Q=v.b.d;h=v.b?v.b.f:null;a.Bg(Q,4);a.Bg(h,4)}else{F=b.e.j==(o6b(),V3b);C=t.d;if(C){ee(!F,"initializers should only exist in object literals, not classes");y$(a.c,":",false);a.Bg(C,4)}else ee(Y0b(b,75)!=0,b)}break;case 94:h_(a,b); +l_(a,b);break;case 67:w$(a.c,"switch(");a.Bg(t,4);w$(a.c,")");z$(a.c);$$(a,t.d);A$(a.c,c==0);break;case 68:de(p==2);w$(a.c,"case ");a.Bg(t,4);a_(a,H);break;case 69:de(p==1);w$(a.c,XDc);a_(a,t);break;case 83:de(p==2);if(t.j!=(o6b(),W4b))throw HV(new Lic(iEc));a.Bg(t,4);w$(a.c,":");H.j==M3b||a.c.wg();g_(a,H,c==1?1:4,true);break;case 92:a.g&&w$(a.c,"(");a.Bg(t,4);a.g&&w$(a.c,")");break;case 115:a.Bg(t,2);a.Bg(t.d,4);break;case 116:w$(a.c,"`");for(i=t;i;i=i.d)if(i.j==(o6b(),S5b))Z$(a,o_(a,i.oi(),'"', +"'","\\`",EBc,false,false));else{a.c.hg("${");a.Bg(i.b,2);w$(a.c,"}")}w$(a.c,"`");break;case 120:w$(a.c,zBc);break;case 121:w$(a.c,wBc);break;case 122:w$(a.c,xBc);break;case 126:w$(a.c,"any");break;case 128:w$(a.c,kEc);break;case 130:a.Bg(t,4);break;case 134:b_(a,t,ujb((o6b(),s3b)),c);w$(a.c,"[]");break;case 123:W=t;w$(a.c,"(");f_(a,t.d,true,4,",");w$(a.c,")");y$(a.c,"=>",true);a.Bg(W,4);break;case 125:f_(a,t,true,4,"|");break;case 132:w$(a.c,"{");f_(a,t,false,4,",");w$(a.c,"}");break;case 124:a.Bg(t, +4);w$(a.c,"<");f_(a,t.d,true,4,",");w$(a.c,">");break;case 136:w$(a.c,"<");f_(a,t,false,0,",");w$(a.c,">");break;case 135:d_(a,b.oi());if(b.b){w$(a.c,_Dc);a.c.wg();a.Bg(b.b,4)}break;case 148:{de(p==3);J=t;ab=t.d;I=H;w$(a.c,lEc);a.Bg(J,4);A=$0b(J,81);!!A&&a.Bg(A,4);if(ab.j!=(o6b(),j4b)){w$(a.c,_Dc);$=ab.b;a.Bg($,4);while($=$.d){w$(a.c,",");a.c.wg();a.Bg($,4)}}a.Bg(I,4)}break;case 151:{de(p==2);J=t;I=H;w$(a.c,mEc);a.Bg(J,4);a.Bg(I,4);break}case 159:{de(p==2);J=t;s=H;w$(a.c,nEc);a.Bg(J,4);a.Bg(s,4); +break}case 154:w$(a.c,oEc);Z$(a,b.oi());y$(a.c,"=",true);a.Bg(H,4);a.c.sg(true);break;case 155:w$(a.c,pEc);a.Bg(t,4);n_(a,b,c);break;case 157:w$(a.c,"[");a.Bg(t,4);w$(a.c,"]");l_(a,b);a.c.sg(true);break;case 158:Y0b(b,83)!=0&&w$(a.c,"new ");w=$0b(b,81);!!w&&a.Bg(w,4);a.Bg(t,4);l_(a,b);a.c.sg(true);break;default:throw HV(new GC("Unknown type "+bb+RCc+U1b(b)));}a.c.rg(b)}function JGb(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,sb,tb;u=a.i.g;i=XHb(a.i);e=a.i.n;d=rp(a.a,e);if(!d||e.length==0)pGb(a,KHc,e,a.i.g,XHb(a.i));else{i_b(a.e,e,u,i);switch(d.f){case 0:QZb(a.e.a)?nGb(a,"msg.jsdoc.nginject.extra",a.i.g,XHb(a.i)):X_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 26:KZb(a.e.a)?nGb(a,"msg.jsdoc.jaggerInject.extra",a.i.g,XHb(a.i)):M_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 27:LZb(a.e.a)?nGb(a,"msg.jsdoc.jaggerModule.extra",a.i.g,XHb(a.i)):N_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a)); +case 28:MZb(a.e.a)?nGb(a,"msg.jsdoc.jaggerProvide.extra",a.i.g,XHb(a.i)):O_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 29:NZb(a.e.a)?nGb(a,"msg.jsdoc.jaggerProvidePromise.extra",a.i.g,XHb(a.i)):P_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 1:m_b(a.e)||qGb(a,WIc,a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 2:if(a.e.d){g=zGb(a);f=g.a;f.length==0?nGb(a,"msg.jsdoc.authormissing",a.i.g,XHb(a.i)):c_b(a.e,f);b=g.b}else b=wGb(a,!a.n?YHb(a.i):uGb(a));return b;case 4:p_b(a.e)||nGb(a,"msg.jsdoc.consistidgen", +a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 60:t0b(a.e)||qGb(a,WIc,a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 53:k0b(a.e)||qGb(a,WIc,a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 11:x_b(a.e)||qGb(a,WIc,a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 6:r_b(a.e)||(JZb(a.e.a)?qGb(a,XIc,a.i.g,XHb(a.i)):qGb(a,WIc,a.i.g,XHb(a.i)));return wGb(a,!a.n?YHb(a.i):uGb(a));case 7:K_b(a.e)||qGb(a,"msg.jsdoc.record",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 9:u_b(a.e)|| +nGb(a,"msg.jsdoc.deprecated",a.i.g,XHb(a.i));J=yGb(a,b,a.f?0:2,false);I=J.a;I.length>0&&v_b(a.e,I);b=J.b;return b;case 25:L_b(a.e)||((a.e.a.a&2)!=0?qGb(a,XIc,a.i.g,XHb(a.i)):qGb(a,WIc,a.i.g,XHb(a.i)));return wGb(a,!a.n?YHb(a.i):uGb(a));case 10:if(mZb(a.e.a)!=null){nGb(a,"msg.jsdoc.desc.extra",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a))}else{k=yGb(a,b,a.f?0:2,false);j=k.a;w_b(a.e,j);b=k.b;return b}case 18:l="";if(a.e.d&&!BGb(a,64)){m=yGb(a,b,a.f?0:1,false);l=m.a;b=m.b}else b=wGb(a,!a.n?YHb(a.i): +uGb(a));E_b(a.e,l)||nGb(a,"msg.jsdoc.fileoverview.extra",a.i.g,XHb(a.i));return b;case 31:case 46:H=yGb(a,b,0,true);G=H.a;G.length>0&&!!a.c&&d_b(a.c,G);b=H.b;return b;case 13:b=!a.n?YHb(a.i):uGb(a);u=a.i.g;i=XHb(a.i);hb=null;if(b!=(RHb(),DHb)&&b!=BHb){lb=IGb(a,b,a.i.g,XHb(a.i),b==GHb,false);if(!!lb&&lb.j==(o6b(),S5b)){ib=lb.oi();!Tkc(ib,xBc)&&!Tkc(ib,zBc)&&!Tkc(ib,wBc)&&(lb=kHb(a,(o6b(),H3b),lb))}hb=!lb?null:new D0b(lb,(P=$0b(a.k,51),!P?null:P.Ig()))}else a.n=b;!hb&&(hb=tGb(a,FGb(a,xBc,a.i.g,XHb(a.i)))); +z_b(a.e,hb)||a.b.mh(UIc+l3b(WIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(Q=$0b(a.k,51),!Q?null:Q.Ig()),u,i);return wGb(a,!a.n?YHb(a.i):uGb(a));case 17:B_b(a.e)||nGb(a,"msg.jsdoc.expose",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 15:D_b(a.e)||nGb(a,"msg.jsdoc.externs",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 14:case 22:iHb(a);b=!a.n?YHb(a.i):uGb(a);u=a.i.g;i=XHb(a.i);v=false;if(b==(RHb(),GHb)){b=!a.n?YHb(a.i):uGb(a);v=true}if(b==QHb){lb=IGb(a,b,u,i,v,true);u=a.i.g;i=XHb(a.i);lb=kHb(a, +(o6b(),H3b),lb);hb=!lb?null:new D0b(lb,(P=$0b(a.k,51),!P?null:P.Ig()));if(d==(vDb(),zCb))gpc(c,new oHb(hb,a.i.g,XHb(a.i)));else{de(d==FCb);I_b(a.e,hb)||a.b.mh(UIc+l3b("msg.jsdoc.implements.duplicate",DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),u,i)}b=!a.n?YHb(a.i):uGb(a);v?b!=MHb?qGb(a,YIc,a.i.g,XHb(a.i)):b=!a.n?YHb(a.i):uGb(a):b!=DHb&&b!=CHb&&b!=BHb&&qGb(a,"msg.end.annotation.expected",a.i.g,XHb(a.i))}else a.b.mh(UIc+l3b("msg.no.type.name",DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k, +51),!O?null:O.Ig()),u,i);b=wGb(a,b);return b;case 20:G_b(a.e)||nGb(a,"msg.jsdoc.hidden",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 30:iHb(a);v=false;if(CGb(a,(RHb(),GHb))){b=!a.n?YHb(a.i):uGb(a);v=true}if(CGb(a,QHb)){b=!a.n?YHb(a.i):uGb(a);Q_b(a.e,a.i.n)||qGb(a,"msg.jsdoc.lends.incompatible",a.i.g,XHb(a.i))}else qGb(a,"msg.jsdoc.lends.missing",a.i.g,XHb(a.i));v&&!CGb(a,MHb)&&qGb(a,YIc,a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 32:A=yGb(a,b,a.f?0:2,false);w=A.a;b=A.b;T_b(a.e, +w)||nGb(a,"msg.jsdoc.meaning.extra",a.i.g,XHb(a.i));return b;case 36:Y_b(a.e)||nGb(a,"msg.jsdoc.noalias",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 38:$_b(a.e)||nGb(a,"msg.jsdoc.nocompile",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 37:Z_b(a.e)||nGb(a,"msg.jsdoc.nocollapse",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 40:return wGb(a,!a.n?YHb(a.i):uGb(a));case 24:case 41:c0b(a.e)||qGb(a,"msg.jsdoc.override",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 44:RZb(a.e.a)? +nGb(a,"msg.jsdoc.polymer.extra",a.i.g,XHb(a.i)):f0b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 45:SZb(a.e.a)?nGb(a,"msg.jsdoc.polymerBehavior.extra",a.i.g,XHb(a.i)):g0b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 3:IZb(a.e.a)?nGb(a,"msg.jsdoc.customElement.extra",a.i.g,XHb(a.i)):s_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 33:OZb(a.e.a)?nGb(a,"msg.jsdoc.mixinClass.extra",a.i.g,XHb(a.i)):U_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 34:PZb(a.e.a)?nGb(a,"msg.jsdoc.mixinFunction.extra",a.i.g, +XHb(a.i)):V_b(a.e);return wGb(a,!a.n?YHb(a.i):uGb(a));case 57:{iHb(a);b=!a.n?YHb(a.i):uGb(a);u=a.i.g;i=XHb(a.i);hb=null;if(b==(RHb(),GHb)){hb=tGb(a,IGb(a,b,a.i.g,XHb(a.i),b==GHb,false));if(!hb)return wGb(a,!a.n?YHb(a.i):uGb(a))}b=uGb(a);p0b(a.e,hb);r=BGb(a,64);if(a.e.d&&!r){k=yGb(a,b,a.f?0:2,false);j=k.a;j.length>0&&o0b(a.e,hb,j);b=k.b}else b=wGb(a,!a.n?YHb(a.i):uGb(a));return b}case 43:iHb(a);b=!a.n?YHb(a.i):uGb(a);u=a.i.g;i=XHb(a.i);hb=null;o=false;if(b==(RHb(),GHb)){hb=tGb(a,(Qd(b==GHb),qb=a.i.g, +rb=XHb(a.i),sb=(Qd(b==GHb),iHb(a),tb=UGb(a,!a.n?YHb(a.i):uGb(a)),!!tb&&(CGb(a,MHb)?!a.n?YHb(a.i):uGb(a):(qGb(a,YIc,a.i.g,XHb(a.i)),null)),tb),fHb(a,qb,rb,sb,true),sb));if(!hb)return wGb(a,!a.n?YHb(a.i):uGb(a));iHb(a);b=!a.n?YHb(a.i):uGb(a);u=a.i.g;i=XHb(a.i);o=true}B=null;s=IHb==b;s&&(b=!a.n?YHb(a.i):uGb(a));if(QHb!=b)a.b.mh(UIc+l3b("msg.missing.variable.name",DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),u,i);else{o||mGb(a,a.i.g,XHb(a.i));B=a.i.n;if(s){b=!a.n?YHb(a.i):uGb(a);if(EHb== +b){b=!a.n?YHb(a.i):uGb(a);QHb==b&&(b=!a.n?YHb(a.i):uGb(a))}OHb!=b?(qGb(a,"msg.jsdoc.missing.rb",a.i.g,XHb(a.i)),null):!!hb&&(hb=hb.a.j==(o6b(),o4b)||hb.a.j==i4b?hb:new D0b(new b2b(o4b,hb.a),hb.b))}v6b();if(t6b.test(B))d0b(a.e,B,hb)||(g_b(a.e,B)?a.b.mh(UIc+l3b("msg.dup.variable.name",DD(yD(nT,1),WBc,1,5,[B]))+VIc,(P=$0b(a.k,51),!P?null:P.Ig()),u,i):a.b.mh(UIc+l3b(WIc,DD(yD(nT,1),WBc,1,5,[B]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),u,i));else{a.b.mh(l3b("msg.invalid.variable.name",DD(yD(nT,1),WBc,1,5,[B])), +(O=$0b(a.k,51),!O?null:O.Ig()),u,i);B=null}}if(B==null){b=wGb(a,b);return b}j_b(a.e,B,a.k,u,i);if(a.e.d&&b!=wHb){F=yGb(a,b,a.f?0:2,false);D=F.a;D.length>0&&e0b(a.e,B,D);b=F.b}else b!=BHb&&b!=CHb&&(b=wGb(a,!a.n?YHb(a.i):uGb(a)));return b;case 39:__b(a.e)||nGb(a,"msg.jsdoc.nosideeffects",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 35:b=TGb(a,!a.n?YHb(a.i):uGb(a));return b;case 23:J_b(a.e)||qGb(a,"msg.jsdoc.implicitcast",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 51:if(a.e.d){L= +zGb(a);K=L.a;K.length==0?nGb(a,"msg.jsdoc.seemissing",a.i.g,XHb(a.i)):e_b(a.e,K);b=L.b}else b=wGb(a,!a.n?YHb(a.i):uGb(a));return b;case 52:j0b(a.e)||nGb(a,"msg.jsdoc.stableidgen",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 54:b=YGb(a,!a.n?YHb(a.i):uGb(a));return b;case 55:{bb=a.i.g;$=XHb(a.i);ab=yGb(a,b,1,false);db=ab.a;mb="";t=false;nb=true;if(db.indexOf(":=")!=-1){gb=db.indexOf(":=");cb=db.substr(0,gb);if(db.indexOf("=:")!=-1){t=true;eb=db.indexOf("=:");mb=llc(db.substr(gb+2,eb-(gb+ +2)))}else{nb=false;a.b.mh(UIc+l3b("msg.jsdoc.typetransformation.missing.delimiter",DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),bb,$)}}else db.indexOf(RCc)!=-1?cb=hlc(db,0,Wkc(db,olc(10))):cb=db;C=bf(df(gf(new ic(44)),(Ic(),Gc)),cb);if(C.b.size()==1&&C.a.getAtIndex(0).length==0)a.b.mh(UIc+l3b("msg.jsdoc.templatemissing",DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),bb,$);else for(jb=new hsc(C.b.Qd());jb.b.Kd();){ib=jb.b.Ld();ib.length!=0&&sc((rc(),qc,ib.charCodeAt(0)))&& +Yb(new Dc((mc(),lc),new ic(95)),ib)?t||m0b(a.e,ib)||a.b.mh(UIc+l3b(ZIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(P=$0b(a.k,51),!P?null:P.Ig()),bb,$):a.b.mh(UIc+l3b("msg.jsdoc.template.invalid.type.name",DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),bb,$)}if(t){C.b.size()>1&&a.b.mh(UIc+l3b("msg.jsdoc.typetransformation.with.multiple.names",DD(yD(nT,1),WBc,1,5,[]))+VIc,(P=$0b(a.k,51),!P?null:P.Ig()),bb,$);if(mb.length==0){nb=false;a.b.mh(UIc+l3b("msg.jsdoc.typetransformation.expression.missing",DD(yD(nT, +1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),bb,$)}if(nb){fb=new aJb(mb,$0b(a.k,51),a.b,bb,$);AIb(fb)&&!r0b(a.e,C.a.getAtIndex(0),fb.e)&&a.b.mh(UIc+l3b(ZIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),bb,$)}}b=ab.b;return b}case 21:b=RGb(a,!a.n?YHb(a.i):uGb(a));return b;case 62:w0b(a.e)||nGb(a,"msg.jsdoc.wizaction",a.i.g,XHb(a.i));return wGb(a,!a.n?YHb(a.i):uGb(a));case 12:{ab=zGb(a);C=bf(df(gf(new ic(44)),(Ic(),Gc)),ab.a);C.a.isEmpty()||C.a.getAtIndex(0).length==0?qGb(a,"msg.jsdoc.disposeparameter.missing", +a.i.g,XHb(a.i)):y_b(a.e,C)||qGb(a,"msg.jsdoc.disposeparameter.error",a.i.g,XHb(a.i));b=ab.b;return b}case 61:pb=zGb(a);ob=pb.a;ob.length==0?nGb(a,"msg.jsdoc.versionmissing",a.i.g,XHb(a.i)):u0b(a.e,ob)||nGb(a,"msg.jsdoc.extraversion",a.i.g,XHb(a.i));b=pb.b;return b;case 5:case 19:case 8:case 16:case 50:case 42:case 47:case 48:case 49:case 56:case 58:case 59:u=a.i.g;i=XHb(a.i);kb=null;p=BGb(a,123);q=d==(vDb(),$Cb)||d==dDb||d==eDb||d==fDb||d==oCb||d==CCb||d==xCb;h=q||d==hDb;hb=null;d==hDb&&!p&&mGb(a, +a.i.g,XHb(a.i));if(p||!h){iHb(a);b=!a.n?YHb(a.i):uGb(a);kb=IGb(a,b,a.i.g,XHb(a.i),b==(RHb(),GHb),false);d==nDb&&(kb=kHb(a,(o6b(),H3b),kb));hb=!kb?null:new D0b(kb,(O=$0b(a.k,51),!O?null:O.Ig()))}n=!hb&&!h;if(!n){(!!hb&&q||d==pDb)&&!q0b(a.e,hb)&&a.b.mh(UIc+l3b(WIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(P=$0b(a.k,51),!P?null:P.Ig()),u,i);r=BGb(a,64);switch(d.f){case 5:q_b(a.e)||nGb(a,"msg.jsdoc.const",a.i.g,XHb(a.i));break;case 19:F_b(a.e)||qGb(a,"msg.jsdoc.final",a.i.g,XHb(a.i));break;case 8:t_b(a.e,hb)||a.b.mh(l3b("msg.jsdoc.define", +DD(yD(nT,1),WBc,1,5,[])),(S=$0b(a.k,51),!S?null:S.Ig()),u,i);if(!r)return eHb(a,b);break;case 16:A_b(a.e)?v0b(a.e,(_$b(),$$b))||a.b.mh(l3b($Ic,DD(yD(nT,1),WBc,1,5,[])),(T=$0b(a.k,51),!T?null:T.Ig()),u,i):a.b.mh(l3b("msg.jsdoc.export",DD(yD(nT,1),WBc,1,5,[])),(U=$0b(a.k,51),!U?null:U.Ig()),u,i);if(!r)return eHb(a,b);break;case 47:v0b(a.e,(_$b(),Y$b))||a.b.mh(l3b($Ic,DD(yD(nT,1),WBc,1,5,[])),(V=$0b(a.k,51),!V?null:V.Ig()),u,i);if(!r)return eHb(a,b);break;case 42:v0b(a.e,(_$b(),X$b))||a.b.mh(l3b($Ic, +DD(yD(nT,1),WBc,1,5,[])),(W=$0b(a.k,51),!W?null:W.Ig()),u,i);if(!r)return eHb(a,b);break;case 48:v0b(a.e,(_$b(),Z$b))||a.b.mh(l3b($Ic,DD(yD(nT,1),WBc,1,5,[])),(X=$0b(a.k,51),!X?null:X.Ig()),u,i);if(!r)return eHb(a,b);break;case 49:v0b(a.e,(_$b(),$$b))||a.b.mh(l3b($Ic,DD(yD(nT,1),WBc,1,5,[])),(Y=$0b(a.k,51),!Y?null:Y.Ig()),u,i);if(!r)return eHb(a,b);break;case 50:!hb&&(hb=tGb(a,EGb(a,(o6b(),E5b))));if(!i0b(a.e,hb)){a.b.mh(UIc+l3b(WIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(Z=$0b(a.k,51),!Z?null:Z.Ig()),u,i); +break}if(a.e.d&&!r){N=yGb(a,b,a.f?0:2,false);M=N.a;M.length>0&&h0b(a.e,M);b=N.b}else b=wGb(a,!a.n?YHb(a.i):uGb(a));return b;case 56:n0b(a.e,hb)||a.b.mh(UIc+l3b(WIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(R=$0b(a.k,51),!R?null:R.Ig()),u,i);break;case 59:s0b(a.e,hb)||a.b.mh(UIc+l3b(WIc,DD(yD(nT,1),WBc,1,5,[]))+VIc,(O=$0b(a.k,51),!O?null:O.Ig()),u,i)}}return wGb(a,!a.n?YHb(a.i):uGb(a))}}return!a.n?YHb(a.i):uGb(a)}function RXb(){var a;a=new Hlc;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// Some types require them to be part of their definition (such as Array).\\n\\n\\n// TODO(johnlenz): symbol should be a primitive type.\\n/** @typedef {?} */\\nvar symbol;\\n\\n/**\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\nfunction Symbol(opt_description) {}\\n\\n\\n/**\\n * @param {string} sym\\n * @return {symbol|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for\\n */\\nSymbol.for;\\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;\\n\\n\\n// Well known symbols\\n\\n/** @const {symbol} */\\nSymbol.iterator;\\n\\n/** @const {symbol} */\\nSymbol.toStringTag;\\n\\n/** @const {symbol} */\\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 {VALUE=} value\\n * @return {!IIterableResult}\\n */\\nIterator.prototype.next;\\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 * @template T\\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, but we need it in order for the current type\\n * checker to typecheck the \\"arguments\\" variable in a function correctly.\\n * TODO(tbreisacher): When the old type checker is gone, delete this and add\\n * an \'arguments\' variable of type 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 {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code 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 */\\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 */\\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 * @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 * @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 * @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 * Removes a watchpoint set with the {@see Object.prototype.watch} method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch\\n * @return {undefined}\\n */\\nObject.prototype.unwatch = function(prop) {};\\n\\n/**\\n * Returns the object\'s {@code 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 * Sets a watchpoint method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @param {Function} handler A function to call.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch\\n * @return {undefined}\\n */\\nObject.prototype.watch = function(prop, handler) {};\\n\\n\\n/**\\n * @constructor\\n * @param {...*} var_args\\n * @throws {Error}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n */\\nfunction Function(var_args) {}\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\\n */\\nFunction.prototype.call = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\\n */\\nFunction.prototype.apply = function(var_args) {};\\n\\nFunction.prototype.arguments;\\n\\n/**\\n * @type {number}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity\\n */\\nFunction.prototype.arity;\\n\\n/**\\n * Nonstandard; Mozilla and JScript only.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\\n */\\nFunction.prototype.caller;\\n\\n/**\\n * Nonstandard.\\n * @type {?}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\\n */\\nFunction.prototype.displayName;\\n\\n/**\\n * Expected number of arguments.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\\n */\\nFunction.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\\n */\\nFunction.prototype.name;\\n\\n/**\\n * @this {Function}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nFunction.prototype.toString = function() {};\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\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 '; a.a+="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/**\\n * Mutates an array by appending the given elements and returning the new\\n * length of the array.\\n *\\n * @param {...T} 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 {*=} opt_begin Zero-based index at which to begin extraction. A\\n * non-number type will be auto-cast by the browser to a number.\\n * @param {*=} opt_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(opt_begin, opt_end) {};\\n\\n/**\\n * Sorts the elements of an array in place.\\n *\\n * @param {function(T,T):number=} opt_compareFunction 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_compareFunction) {};\\n\\n/**\\n * Changes the content of an array, adding new elements while removing old\\n * elements.\\n *\\n * @param {*=} opt_index Index at which to start changing the array. If negative,\\n * will begin that many elements from the end. A non-number type will be\\n * auto-cast by the browser to a number.\\n * @param {*=} opt_howMany An integer indicating the number of old array elements\\n * 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(opt_index, opt_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 * @param {IArrayLike} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.every = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {!Array}\\n * @template T,S\\n */\\nArray.filter = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @template T,S\\n * @return {undefined}\\n */\\nArray.forEach = function(arr, callback, opt_context) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.indexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.lastIndexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * @param {IArrayLike} arr\\n * @param {?function(this:S, T, number, !Array): R} callback\\n * @param {S=} opt_context\\n * @return {!Array}\\n * @template T,S,R\\n */\\nArray.map = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.some = function(arr, callback, opt_context) {};\\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 * @noside"; a.a+="effects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random\\n */\\nMath.random = function() {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\\n */\\nMath.round = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin\\n */\\nMath.sin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt\\n */\\nMath.sqrt = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan\\n */\\nMath.tan = function(x) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource\\n */\\nMath.toSource = function() {};\\n\\n// Properties:\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\\n */\\nMath.E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\\n */\\nMath.LN2;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\\n */\\nMath.LN10;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\\n */\\nMath.LOG2E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\\n */\\nMath.LOG10E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\\n */\\nMath.PI;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2\\n */\\nMath.SQRT1_2;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2\\n */\\nMath.SQRT2;\\n\\n\\n/**\\n * @param {?=} opt_yr_num\\n * @param {?=} opt_mo_num\\n * @param {?=} opt_day_num\\n * @param {?=} opt_hr_num\\n * @param {?=} opt_min_num\\n * @param {?=} opt_sec_num\\n * @param {?=} opt_ms_num\\n * @constructor\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n */\\nfunction Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,\\n opt_sec_num, opt_ms_num) {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now\\n */\\nDate.now = function() {};\\n\\n/**\\n * Parses a string representation of a date, and returns the number\\n * of milliseconds since January 1, 1970, 00:00:00, local time.\\n * @param {*} date\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\\n */\\nDate.parse = function(date) {};\\n\\n/**\\n * @param {number} year\\n * @param {number} month\\n * @param {number=} opt_date\\n * @param {number=} opt_hours\\n * @param {number=} opt_minute\\n * @param {number=} opt_second\\n * @param {number=} opt_ms\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC\\n */\\nDate.UTC = function(year, month,\\n opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate\\n */\\nDate.prototype.getDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay\\n */\\nDate.prototype.getDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth\\n */\\nDate.prototype.getMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear\\n */\\nDate.prototype.getFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear\\n */\\nDate.prototype.getYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours\\n */\\nDate.prototype.getHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes\\n */\\nDate.prototype.getMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds\\n */\\nDate.prototype.getSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds\\n */\\nDate.prototype.getMilliseconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime\\n */\\nDate.prototype.getTime = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\\n */\\nDate.prototype.getTimezoneOffset = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate\\n */\\nDate.prototype.getUTCDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay\\n */\\nDate.prototype.getUTCDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth\\n */\\nDate.prototype.getUTCMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear\\n */\\nDate.prototype.getUTCFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours\\n */\\nDate.prototype.getUTCHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes\\n */\\nDate.prototype.getUTCMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds\\n */\\nDate.prototype.getUTCSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds\\n */\\nDate.prototype.getUTCMilliseconds = function() {};\\n\\n/**\\n * Sets the day of the month for a specified date according to local time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\\n * @return {number}\\n */\\nDate.prototype.setDate = function(dayValue) {};\\n\\n/**\\n * Set the month for a specified date according to local time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\\n * @return {number}\\n */\\nDate.prototype.setMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear\\n * @return {number}\\n */\\nDate.prototype.setFullYear =\\n function(yearValue, opt_monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @deprecated\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear\\n * @return {number}\\n */\\nDate.prototype.setYear = function(yearValue) {};\\n\\n/**\\n * Sets the hours for a specified date according to local time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours\\n * @return {number}\\n */\\nDate.prototype.setHours = function(hoursValue, opt_minutesValue,\\n opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to local time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes\\n * @return {number}\\n */\\nDate.prototype.setMinutes =\\n function(minutesValue, opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the seconds for a specified date according to local time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds\\n * @return {number}\\n */\\nDate.prototype.setSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to local time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * Sets the Date object to the time represented by a number of milliseconds\\n * since January 1, 1970, 00:00:00 UTC.\\n *\\n * @param {number} timeValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime\\n * @return {number}\\n */\\nDate.prototype.setTime = function(timeValue) {};\\n\\n/**\\n * Sets the day of the month for a specified date according to universal time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate\\n * @return {number}\\n */\\nDate.prototype.setUTCDate = function(dayValue) {};\\n\\n/**\\n * Sets the month for a specified date according to universal time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth\\n * @return {number}\\n */\\nDate.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to universal time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear\\n * @return {number}\\n */\\nDate.prototype.setUTCFullYear = function(yearValue, opt_monthValue,\\n opt_dayValue) {};\\n\\n/**\\n * Sets the hour for a specified date according to universal time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours\\n * @return {number}\\n */\\nDate.prototype.setUTCHours = function(hoursValue, opt_minutesValue,\\n opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to universal time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes\\n * @return {number}\\n */\\nDate.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,\\n opt_msValue) {};\\n\\n\\n/**\\n * Sets the seconds for a specified date according to universal time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds\\n * @return {number}\\n */\\nDate.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to universal time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setUTCMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource\\n * @override\\n */\\nDate.prototype.toSource = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString\\n */\\nDate.prototype.toDateString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString\\n */\\nDate.prototype.toGMTString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString\\n */\\nDate.prototype.toTimeString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\\n */\\nDate.prototype.toUTCString = function() {};\\n\\n/**\\n * @param {(string|Array)=} 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.or"; a.a+="g/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 * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode\\n */\\nString.fromCharCode = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor\\n */\\nString.prototype.anchor = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big\\n */\\nString.prototype.big = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink\\n */\\nString.prototype.blink = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold\\n */\\nString.prototype.bold = function() {};\\n\\n/**\\n * Returns the specified character from a string.\\n *\\n * @this {String|string}\\n * @param {number} index\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt\\n */\\nString.prototype.charAt = function(index) {};\\n\\n/**\\n * Returns a number indicating the Unicode value of the character at the given\\n * index.\\n *\\n * @this {String|string}\\n * @param {number=} opt_index\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\\n */\\nString.prototype.charCodeAt = function(opt_index) {};\\n\\n/**\\n * Combines the text of two or more strings and returns a new string.\\n *\\n * @this {String|string}\\n * @param {...*} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat\\n */\\nString.prototype.concat = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed\\n */\\nString.prototype.fixed = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} color\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor\\n */\\nString.prototype.fontcolor = function(color) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} size\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize\\n */\\nString.prototype.fontsize = function(size) {};\\n\\n/**\\n * Returns the index within the calling String object of the first occurrence\\n * of the specified value, starting the search at fromIndex, returns -1 if the\\n * value is not found.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf\\n */\\nString.prototype.indexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics\\n */\\nString.prototype.italics = function() {};\\n\\n/**\\n * Returns the index within the calling String object of the last occurrence of\\n * the specified value, or -1 if not found. The calling string is searched\\n * backward, starting at fromIndex.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf\\n */\\nString.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} hrefAttribute\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link\\n */\\nString.prototype.link = function(hrefAttribute) {};\\n\\n/**\\n * Returns a number indicating whether a reference string comes before or after\\n * or is the same as the given string in sort order.\\n *\\n * @this {*}\\n * @param {?string} compareString\\n * @param {string|Array=} 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} regex\\n * @param {string|Function} str\\n * @param {string=} opt_flags\\n * @return {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace\\n */\\nString.prototype.replace = function(regex, str, opt_flags) {};\\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} regexp\\n * @return {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search\\n */\\nString.prototype.search = function(regexp) {};\\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 * @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() {};\\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/toLocaleLowerCase\\n */\\nString.prototype.toLocaleLowerCase = 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/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 {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 String.prototype.match.\\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// 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 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/**\\n * @constructor\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!Error}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n */\\nfunction Error(opt_message, opt_file, opt_line) {}\\n\\n\\n/**\\n * Chrome/v8 specific, altering the maximum depth of the stack trace\\n * (10 by default).\\n * @type {number}\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n */\\nError.stackTraceLimit;\\n\\n\\n/**\\n * Chrome/v8 specific, adds a stack trace to the error object. The optional\\n * constructorOpt parameter allows you to pass in a function value. When\\n * collecting the stack trace all frames above the topmost call to this\\n * function, including that call"; @@ -1382,468 +1384,470 @@ a.a+=' @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @se a.a+='xcept in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event specification.\\n * The whole file has been fully type annotated.\\n * Created from\\n * http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @interface\\n * @see https://dom.spec.whatwg.org/#interface-eventtarget\\n */\\nfunction EventTarget() {}\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {(boolean|!AddEventListenerOptions)=} opt_options\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener\\n */\\nEventTarget.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {(boolean|!EventListenerOptions)=} opt_options\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener\\n */\\nEventTarget.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/**\\n * @param {!Event} evt\\n * @return {boolean}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent\\n */\\nEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @interface\\n */\\nfunction EventListener() {}\\n\\n/**\\n * @param {!Event} evt\\n * @return {undefined}\\n */\\nEventListener.prototype.handleEvent = function(evt) {};\\n\\n// The EventInit interface and the parameters to the Event constructor are part\\n// of DOM Level 3 (suggested) and the DOM \\"Living Standard\\" (mandated). They are\\n// included here as externs cannot be redefined. The same applies to other\\n// *EventInit interfaces and *Event constructors throughout this file. See:\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-initializers\\n// http://dom.spec.whatwg.org/#constructing-events\\n// https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#event-constructors\\n\\n/**\\n * @record\\n * @see https://dom.spec.whatwg.org/#dictdef-eventinit\\n */\\nfunction EventInit() {}\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.bubbles;\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.cancelable;\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.composed;\\n\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {EventInit=} opt_eventInitDict\\n */\\nfunction Event(type, opt_eventInitDict) {}\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.CAPTURING_PHASE;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.AT_TARGET;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.BUBBLING_PHASE;\\n\\n/** @type {string} */\\nEvent.prototype.type;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.target;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.currentTarget;\\n\\n/** @type {number} */\\nEvent.prototype.eventPhase;\\n\\n/** @type {boolean} */\\nEvent.prototype.bubbles;\\n\\n/** @type {boolean} */\\nEvent.prototype.cancelable;\\n\\n/** @type {number} */\\nEvent.prototype.timeStamp;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {Array|undefined}\\n */\\nEvent.prototype.path;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {function():Array|undefined}\\n * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath\\n */\\nEvent.prototype.deepPath;\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.stopPropagation = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.preventDefault = function() {};\\n\\n/**\\n * @param {string} eventTypeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @return {undefined}\\n */\\nEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://dom.spec.whatwg.org/#dictdef-customeventinit\\n */\\nfunction CustomEventInit() {}\\n\\n/** @type {(*|undefined)} */\\nCustomEventInit.prototype.detail;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {CustomEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent\\n */\\nfunction CustomEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {string} eventType\\n * @param {boolean} bubbles\\n * @param {boolean} cancelable\\n * @param {*} detail\\n * @return {undefined}\\n */\\nCustomEvent.prototype.initCustomEvent = function(\\n eventType, bubbles, cancelable, detail) {};\\n\\n/**\\n * @type {*}\\n */\\nCustomEvent.prototype.detail;\\n\\n/**\\n * @interface\\n */\\nfunction DocumentEvent() {}\\n\\n/**\\n * @param {string} eventType\\n * @return {!Event}\\n */\\nDocumentEvent.prototype.createEvent = function(eventType) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://w3c.github.io/uievents/#idl-uieventinit\\n */\\nfunction UIEventInit() {}\\n\\n/** @type {undefined|?Window} */\\nUIEventInit.prototype.view;\\n\\n/** @type {undefined|number} */\\nUIEventInit.prototype.detail;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {UIEventInit=} opt_eventInitDict\\n */\\nfunction UIEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nUIEvent.prototype.detail;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @return {undefined}\\n */\\nUIEvent.prototype.initUIEvent = function(typeArg, canBubbleArg, cancelableArg,\\n viewArg, detailArg) {};\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#dictdef-eventmodifierinit\\n */\\nfunction EventModifierInit() {}\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.ctrlKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.shiftKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.altKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.metaKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierAltGraph;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierCapsLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierFn;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierFnLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierHyper;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierNumLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierScrollLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSuper;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSymbol;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSymbolLock;\\n\\n/**\\n * @record\\n * @extends {EventModifierInit}\\n * @see https://w3c.github.io/uievents/#idl-mouseeventinit\\n */\\nfunction MouseEventInit() {}\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.screenX;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.screenY;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.clientX;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.clientY;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.button;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.buttons;\\n\\n/** @type {undefined|?EventTarget} */\\nMouseEventInit.prototype.relatedTarget;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {MouseEventInit=} opt_eventInitDict\\n */\\nfunction MouseEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenY;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientY;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.metaKey;\\n\\n/** @type {number} */\\nMouseEvent.prototype.button;\\n\\n/** @type {EventTarget} */\\nMouseEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction MutationEvent() {}\\n\\n/** @type {Node} */\\nMutationEvent.prototype.relatedNode;\\n\\n/** @type {string} */\\nMutationEvent.prototype.prevValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.newValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.attrName;\\n\\n/** @type {number} */\\nMutationEvent.prototype.attrChange;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Node} relatedNodeArg\\n * @param {string} prevValueArg\\n * @param {string} newValueArg\\n * @param {string} attrNameArg\\n * @param {number} attrChangeArg\\n * @return {undefined}\\n */\\nMutationEvent.prototype.initMutationEvent = function(typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg) {};\\n\\n\\n// DOM3\\n/**\\n * @record\\n * @extends {EventModifierInit}\\n * @see https://w3c.github.io/uievents/#idl-keyboardeventinit\\n */\\nfunction KeyboardEventInit() {}\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.key;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.code;\\n\\n/** @type {undefined|number} */\\nKeyboardEventInit.prototype.location;\\n\\n/** @type {undefined|boolean} */\\nKeyboardEventInit.prototype.repeat;\\n\\n/** @type {undefined|boolean} */\\nKeyboardEventInit.prototype.isComposing;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.char;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.locale;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {KeyboardEventInit=} opt_eventInitDict\\n */\\nfunction KeyboardEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.keyIdentifier;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.metaKey;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nKeyboardEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#idl-focuseventinit\\n */\\nfunction FocusEventInit() {}\\n\\n/** @type {undefined|?EventTarget} */\\nFocusEventInit.prototype.relatedTarget;\\n\\n\\n/**\\n * The FocusEvent interface provides specific contextual information associated\\n * with Focus events.\\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent\\n *\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {FocusEventInit=} opt_eventInitDict\\n */\\nfunction FocusEvent(type, opt_eventInitDict) {}\\n\\n/** @type {EventTarget} */\\nFocusEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions\\n * @record\\n */\\nvar EventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nEventListenerOptions.prototype.capture;\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptions\\n * @record\\n * @extends {EventListenerOptions}\\n */\\nvar AddEventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.passive;\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.once;\\n\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#idl-inputeventinit\\n * @see https://w3c.github.io/input-events/#interface-InputEvent\\n */\\nfunction InputEventInit() {}\\n\\n/** @type {undefined|?string} */\\nInputEventInit.prototype.data;\\n\\n/** @type {undefined|boolean} */\\nInputEventInit.prototype.isComposing;\\n\\n/** @type {undefined|string} */\\nInputEventInit.prototype.inputType;\\n\\n/** @type {undefined|?DataTransfer} */\\nInputEventInit.prototype.dataTransfer;\\n\\n\\n// TODO(charleyroy): Add getTargetRanges() once a consensus has been made\\n// regarding how to structure these values. See\\n// https://github.com/w3c/input-events/issues/38.\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {InputEventInit=} opt_eventInitDict\\n * @see https://www.w3.org/TR/uievents/#interface-inputevent\\n * @see https://w3c.github.io/input-events/#interface-InputEvent\\n */\\nfunction InputEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nInputEvent.prototype.data;\\n\\n/** @type {boolean} */\\nInputEvent.prototype.isComposed;\\n\\n/** @type {string} */\\nInputEvent.prototype.inputType;\\n\\n/** @type {?DataTransfer} */\\nInputEvent.prototype.dataTransfer;\\n","externs/w3c_event3.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event Level 3 specification.\\n * This file depends on w3c_event.js.\\n * The whole file has been partially type annotated.\\n * Created from\\n * http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding\\n *\\n * @externs\\n * @author ericdingle@google.com (Eric Dingle)\\n */\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {string} keyIdentifierArg\\n * @param {number} keyLocationArg\\n * @param {string} modifiersList\\n * @return {undefined}\\n */\\nKeyboardEvent.prototype.initKeyboardEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList) {};\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.char;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.code;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.key;\\n\\n/** @type {number} */\\nKeyboardEvent.prototype.location;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.repeat;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.locale;\\n\\n/** @type {number} */\\nMouseEvent.prototype.buttons;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nMouseEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.defaultPrevented;\\n\\n/** @type {string} */\\nEvent.prototype.namespaceURI;\\n\\n/** @return {undefined} */\\nEvent.prototype.stopImmediatePropagation = function() {};\\n","externs/gecko_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n * W3C\'s event specification by Gecko. This file depends on\\n * w3c_event.js.\\n *\\n * @externs\\n * @author acleung@google.com (Alan '; a.a+='Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n/** @type {number} */ Event.prototype.HORIZONTAL_AXIS;\\n/** @type {number} */ Event.prototype.VERTICAL_AXIS;\\n/** @type {boolean} */ Event.prototype.altKey;\\n/** @type {number} */ Event.prototype.axis;\\n/** @type {number} */ Event.prototype.button;\\n/** @type {boolean} */ Event.prototype.cancelBubble;\\n/** @type {number} */ Event.prototype.charCode;\\n/** @type {number} */ Event.prototype.clientX;\\n/** @type {number} */ Event.prototype.clientY;\\n/** @type {boolean} */ Event.prototype.ctrlKey;\\n/** @type {EventTarget} */ Event.prototype.explicitOriginalTarget;\\n/** @type {boolean} */ Event.prototype.isChar;\\n/** @type {boolean} */ Event.prototype.isTrusted;\\n/** @type {number} */ Event.prototype.keyCode;\\n/** @type {number} */ Event.prototype.layerX;\\n/** @type {number} */ Event.prototype.layerY;\\n/** @type {boolean} */ Event.prototype.metaKey;\\n/** @type {EventTarget} */ Event.prototype.originalTarget;\\n/** @type {number} */ Event.prototype.pageX;\\n/** @type {number} */ Event.prototype.pageY;\\n/** @type {EventTarget|undefined} */ Event.prototype.relatedTarget;\\n/** @type {number} */ Event.prototype.screenX;\\n/** @type {number} */ Event.prototype.screenY;\\n/** @type {boolean} */ Event.prototype.shiftKey;\\n/** @type {Window} */ Event.prototype.view;\\n/** @type {number} */ Event.prototype.which;\\n\\n/** @constructor */ function nsIDOMPageTransitionEvent() {}\\n/** @type {boolean} */ nsIDOMPageTransitionEvent.prototype.persisted;\\n\\n//Methods\\nEvent.prototype.initKeyEvent;\\nEvent.prototype.initMouseEvent;\\nEvent.prototype.initUIEvent;\\nEvent.prototype.initMessageEvent;\\nEvent.prototype.preventBubble;\\nEvent.prototype.preventCapture;\\n","externs/ie_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n * W3C\'s event specification by IE in JScript. This file depends on\\n * w3c_event.js.\\n *\\n * @see http://msdn.microsoft.com/en-us/library/ms535863.aspx\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {string} */\\nEvent.prototype.Abstract;\\n\\n/** @type {boolean} */\\nEvent.prototype.altLeft;\\n\\n/** @type {string} */\\nEvent.prototype.Banner;\\n\\n/**\\n * A ClipboardData on IE, but a DataTransfer on WebKit.\\n * @see http://msdn.microsoft.com/en-us/library/ms535220.aspx\\n * @type {(ClipboardData|undefined)}\\n */\\nEvent.prototype.clipboardData;\\n\\n/** @type {boolean} */\\nEvent.prototype.contentOverflow;\\n\\n/** @type {boolean} */\\nEvent.prototype.ctrlLeft;\\n\\n/** @type {string} */\\nEvent.prototype.dataFld;\\n\\nEvent.prototype.domain;\\n\\n/** @type {Element} */\\nEvent.prototype.fromElement;\\n\\n/** @type {string} */\\nEvent.prototype.MoreInfo;\\n\\n/** @type {string} */\\nEvent.prototype.nextPage;\\n\\n/** @type {number} */\\nEvent.prototype.offsetX;\\n\\n/** @type {number} */\\nEvent.prototype.offsetY;\\n\\n/** @type {string} */\\nEvent.prototype.propertyName;\\n\\n/** @type {string} */\\nEvent.prototype.qualifier;\\n\\n/** @type {number} */\\nEvent.prototype.reason;\\n\\n/** @type {Object<*>} */\\nEvent.prototype.recordset;\\n\\n/** @type {boolean} */\\nEvent.prototype.repeat;\\n\\n/** @type {(boolean|string|undefined)} */\\nEvent.prototype.returnValue;\\n\\n/** @type {string} */\\nEvent.prototype.saveType;\\n\\nEvent.prototype.scheme;\\n\\n/** @type {boolean} */\\nEvent.prototype.shiftLeft;\\n\\n/** @type {Window} */\\nEvent.prototype.source;\\n\\n/** @type {Element} */\\nEvent.prototype.srcElement;\\n\\nEvent.prototype.srcFilter;\\n\\n/** @type {string} */\\nEvent.prototype.srcUrn;\\n\\n/** @type {Element} */\\nEvent.prototype.toElement;\\n\\nEvent.prototype.userName;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDelta;\\n\\n/** @type {number} */\\nEvent.prototype.x;\\n\\n/** @type {number} */\\nEvent.prototype.y;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspx\\n */\\nfunction MSPointerPoint() {}\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerType;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspx\\n */\\nfunction MSPointerEvent() {}\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_MOUSE;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_PEN;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.hwTimestamp;\\n\\n/** @type {boolean} */\\nMSPointerEvent.prototype.isPrimary;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerType;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltY;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.timeStamp;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.width;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msReleasePointerCapture;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msSetPointerCapture;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {boolean} ctrlKeyArg\\n * @param {boolean} altKeyArg\\n * @param {boolean} shiftKeyArg\\n * @param {boolean} metaKeyArg\\n * @param {number} buttonArg\\n * @param {Element} relatedTargetArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} widthArg\\n * @param {number} heightArg\\n * @param {number} pressure\\n * @param {number} rotation\\n * @param {number} tiltX\\n * @param {number} tiltY\\n * @param {number} pointerIdArg\\n * @param {number} pointerType\\n * @param {number} hwTimestampArg\\n * @param {boolean} isPrimary\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspx\\n */\\nMSPointerEvent.prototype.initPointerEvent;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspx\\n */\\nfunction MSGesture() {}\\n\\n/**\\n * @type {Element}\\n */\\nMSGesture.prototype.target;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSGesture.prototype.addPointer = function(pointerId) {};\\n\\nMSGesture.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx\\n */\\nfunction MSGestureEvent() {}\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.expansion;\\n\\n/** @type {!MSGesture} */\\nMSGestureEvent.prototype.gestureObject;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.hwTimestamp;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.scale;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationY;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityAngular;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityExpansion;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityY;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} translationXArg\\n * @param {number} translationYArg\\n * @param {number} scaleArg\\n * @param {number} expansionArg\\n * @param {number} rotationArg\\n * @param {number} velocityXArg\\n * @param {number} velocityYArg\\n * @param {number} velocityExpansionArg\\n * @param {number} velocityAngularArg\\n * @param {number} hwTimestampArg\\n * @param {EventTarget} relatedTargetArg\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspx\\n */\\nMSGestureEvent.prototype.initGestureEvent;\\n","externs/webkit_event.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s\\n * event specification by WebKit. This file depends on w3c_event.js.\\n * All the provided definitions have been type annotated\\n *\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaX;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaY;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html\\n */\\nfunction WebKitAnimationEvent() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.animationName;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.elapsedTime;","externs/w3c_device_sensor_event.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s device orientation and device motion\\n * events specification.\\n * This file depends on w3c_event.js.\\n * The whole file has been partially type annotated.\\n * Created from http://dev.w3.org/geo/api/spec-source-orientation.\\n *\\n * @externs\\n * @author lukaszbk@google.com (Lukasz Bieniasz-Krzywiec)\\n */\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceOrientationEvent() {}\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.gamma;\\n\\n/** @type {boolean} */\\nDeviceOrientationEvent.prototype.absolute;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracy\\n */\\nDeviceOrientationEvent.prototype.webkitCompassAccuracy;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading\\n */\\nDeviceOrientationEvent.prototype.webkitCompassHeading;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceAcceleration() {}\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.x;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.y;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.z;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceRotationRate() {}\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.gamma;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceMotionEvent() {}\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.acceleration;\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.accelerationIncludingGravity;\\n\\n/** @type {?DeviceRotationRate} */\\nDeviceMotionEvent.prototype.rotationRate;\\n\\n/** @type {?number} */\\nDeviceMotionEvent.prototype.interval;\\n","externs/w3c_dom1.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 1 specification.\\n * The whole file has been fully type annotated. Created from\\n * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187\\n */\\nfunction DOMException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INDEX_SIZE_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.DOMSTRING_SIZE_ERR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.HIERARCHY_REQUEST_ERR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.WRONG_DOCUMENT_ERR = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INVALID_CHARACTER_ERR = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_DATA_ALLOWED_ERR = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_MODIFICATION_ALLOWED_ERR = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_FOUND_ERR = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_SUPPORTED_ERR = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INUSE_ATTRIBUTE_ERR = 10;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nfunction ExceptionCode() {}\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-o'; a.a+="ne-core.html#ID-102161490\\n */\\nfunction DOMImplementation() {}\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.hasFeature = function(feature, version) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nfunction Node() {}\\n\\n/** @override */\\nNode.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nNode.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {NamedNodeMap}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nNode.prototype.attributes;\\n\\n/**\\n * @type {!NodeList}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes\\n */\\nNode.prototype.childNodes;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild\\n */\\nNode.prototype.firstChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild\\n */\\nNode.prototype.lastChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling\\n */\\nNode.prototype.nextSibling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName\\n */\\nNode.prototype.nodeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue\\n */\\nNode.prototype.nodeValue;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType\\n */\\nNode.prototype.nodeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument\\n */\\nNode.prototype.ownerDocument;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode\\n */\\nNode.prototype.parentNode;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling\\n */\\nNode.prototype.previousSibling;\\n\\n/**\\n * @param {Node} newChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild\\n */\\nNode.prototype.appendChild = function(newChild) {};\\n\\n/**\\n * @param {boolean} deep\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode\\n * @nosideeffects\\n */\\nNode.prototype.cloneNode = function(deep) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes\\n * @nosideeffects\\n */\\nNode.prototype.hasChildNodes = function() {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} refChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore\\n */\\nNode.prototype.insertBefore = function(newChild, refChild) {};\\n\\n/**\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild\\n */\\nNode.prototype.removeChild = function(oldChild) {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild\\n */\\nNode.prototype.replaceChild = function(newChild, oldChild) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ATTRIBUTE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.CDATA_SECTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.COMMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_FRAGMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_TYPE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ELEMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_REFERENCE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.PROCESSING_INSTRUCTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.TEXT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.XPATH_NAMESPACE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.NOTATION_NODE;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3\\n */\\nfunction DocumentFragment() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document\\n */\\nfunction Document() {}\\n\\n/**\\n * @type {DocumentType}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype\\n */\\nDocument.prototype.doctype;\\n\\n/**\\n * @type {!Element}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement\\n */\\nDocument.prototype.documentElement;\\n\\n/**\\n * @type {DOMImplementation}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation\\n */\\nDocument.prototype.implementation;\\n\\n/**\\n * @param {string} name\\n * @return {!Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute\\n * @nosideeffects\\n */\\nDocument.prototype.createAttribute = function(name) {};\\n\\n/**\\n * @param {string} data\\n * @return {!Comment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment\\n * @nosideeffects\\n */\\nDocument.prototype.createComment = function(data) {};\\n\\n/**\\n * @param {string} data\\n * @return {!CDATASection}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection\\n * @nosideeffects\\n */\\nDocument.prototype.createCDATASection = function(data) {};\\n\\n/**\\n * @return {!DocumentFragment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment\\n * @nosideeffects\\n */\\nDocument.prototype.createDocumentFragment = function() {};\\n\\n/**\\n * Create a DOM element.\\n *\\n * Web components introduced the second parameter as a way of extending existing\\n * tags (e.g. document.createElement('button', 'fancy-button')).\\n *\\n * @param {string} tagName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @nosideeffects\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate\\n */\\nDocument.prototype.createElement = function(tagName, opt_typeExtension) {};\\n\\n/**\\n * @param {string} name\\n * @return {!EntityReference}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference\\n * @nosideeffects\\n */\\nDocument.prototype.createEntityReference = function(name) {};\\n\\n/**\\n * @param {string} target\\n * @param {string} data\\n * @return {!ProcessingInstruction}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction\\n * @nosideeffects\\n */\\nDocument.prototype.createProcessingInstruction = function(target, data) {};\\n\\n/**\\n * @param {number|string} data\\n * @return {!Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode\\n * @nosideeffects\\n */\\nDocument.prototype.createTextNode = function(data) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094\\n * @nosideeffects\\n */\\nDocument.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @implements {Iterable}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177\\n */\\nfunction NodeList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337\\n */\\nNodeList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136\\n */\\nNodeList.prototype.item = function(index) {};\\n\\n/**\\n * @param {?function(this:S, T, number, !NodeList): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {NodeList}\\n * @template T,S\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach\\n */\\nNodeList.prototype.forEach = function(callback, opt_thisobj) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number), T>}\\n * @implements {IArrayLike}\\n * @implements {Iterable}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922\\n */\\nfunction NamedNodeMap() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E\\n */\\nNamedNodeMap.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.getNamedItem = function(name) {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193\\n */\\nNamedNodeMap.prototype.removeNamedItem = function(name) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788\\n */\\nNamedNodeMap.prototype.setNamedItem = function(arg) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306\\n */\\nfunction CharacterData() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359\\n */\\nCharacterData.prototype.data;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C\\n */\\nCharacterData.prototype.length;\\n\\n/**\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F\\n */\\nCharacterData.prototype.appendData = function(arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781\\n */\\nCharacterData.prototype.deleteData = function(offset, count) {};\\n\\n/**\\n * @param {number} offset\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F\\n */\\nCharacterData.prototype.insertData = function(offset, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB\\n */\\nCharacterData.prototype.replaceData = function(offset, count, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF\\n * @nosideeffects\\n */\\nCharacterData.prototype.substringData = function(offset, count) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024\\n */\\nfunction Attr() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403\\n */\\nAttr.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273\\n */\\nAttr.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474\\n */\\nAttr.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614\\n */\\nfunction Element() {}\\n\\n/**\\n * An Element always contains a non-null NamedNodeMap containing the attributes\\n * of this node.\\n * @type {!NamedNodeMap}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nElement.prototype.attributes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName\\n */\\nElement.prototype.tagName;\\n\\n/**\\n * @implicitCast\\n * @type {?}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className\\n * We type it as ? even though it is a string, because some SVG elements have\\n * className that is an object, which isn't a subtype of string.\\n * Alternative: TypeScript types this as string and types className on\\n * SVGElement as ?.\\n */\\nElement.prototype.className;\\n\\n/**\\n * @param {string} name\\n * @param {number?=} opt_flags\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNode = function(name) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute\\n */\\nElement.prototype.removeAttribute = function(name) {};\\n\\n/**\\n * @param {Attr} oldAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode\\n */\\nElement.prototype.removeAttributeNode = function(oldAttr) {};\\n\\n/**\\n * @param {string} name\\n * @param {string|number|boolean} value Values are converted to strings with\\n * ToString, so we accept number and boolean since both convert easily to\\n * strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one"; -a.a+='-core.html#method-setAttribute\\n */\\nElement.prototype.setAttribute = function(name, value) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode\\n */\\nElement.prototype.setAttributeNode = function(newAttr) {};\\n\\n// Event handlers\\n// The DOM level 3 spec has a good index of these\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-types\\n\\n/** @type {?function (Event)} */ Element.prototype.onabort;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeinput;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Element.prototype.onblur;\\n/** @type {?function (Event)} */ Element.prototype.onchange;\\n/** @type {?function (Event)} */ Element.prototype.onclick;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionstart;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionupdate;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionend;\\n/** @type {?function (Event)} */ Element.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Element.prototype.oncopy;\\n/** @type {?function (Event)} */ Element.prototype.oncut;\\n/** @type {?function (Event)} */ Element.prototype.ondblclick;\\n/** @type {?function (Event)} */ Element.prototype.onerror;\\n/** @type {?function (Event)} */ Element.prototype.onfocus;\\n/** @type {?function (Event)} */ Element.prototype.onfocusin;\\n/** @type {?function (Event)} */ Element.prototype.onfocusout;\\n/** @type {?function (Event)} */ Element.prototype.oninput;\\n/** @type {?function (Event)} */ Element.prototype.onkeydown;\\n/** @type {?function (Event)} */ Element.prototype.onkeypress;\\n/** @type {?function (Event)} */ Element.prototype.onkeyup;\\n/** @type {?function (Event)} */ Element.prototype.onload;\\n/** @type {?function (Event)} */ Element.prototype.onunload;\\n/** @type {?function (Event)} */ Element.prototype.onmousedown;\\n/** @type {?function (Event)} */ Element.prototype.onmousemove;\\n/** @type {?function (Event)} */ Element.prototype.onmouseout;\\n/** @type {?function (Event)} */ Element.prototype.onmouseover;\\n/** @type {?function (Event)} */ Element.prototype.onmouseup;\\n/** @type {?function (Event)} */ Element.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Element.prototype.onpaste;\\n/** @type {?function (Event)} */ Element.prototype.onreset;\\n/** @type {?function (Event)} */ Element.prototype.onresize;\\n/** @type {?function (Event)} */ Element.prototype.onscroll;\\n/** @type {?function (Event)} */ Element.prototype.onselect;\\n/** @type {?function (Event=)} */ Element.prototype.onsubmit;\\n/** @type {?function (Event)} */ Element.prototype.ontextinput;\\n/** @type {?function (Event)} */ Element.prototype.onwheel;\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\\n */\\nfunction Text() {}\\n\\n/**\\n * @param {number} offset\\n * @return {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D\\n */\\nText.prototype.splitText = function(offset) {};\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322\\n */\\nfunction Comment() {}\\n\\n/**\\n * @constructor\\n * @extends {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212\\n */\\nfunction CDATASection() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927\\n */\\nfunction DocumentType() {}\\n\\n/**\\n * @type {NamedNodeMap}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630\\n */\\nDocumentType.prototype.entities;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134\\n */\\nDocumentType.prototype.name;\\n\\n/**\\n * @type {NamedNodeMap}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF\\n */\\nDocumentType.prototype.notations;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9\\n */\\nfunction Notation() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0\\n */\\nNotation.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0\\n */\\nNotation.prototype.systemId;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2\\n */\\nfunction Entity() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025\\n */\\nEntity.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E\\n */\\nEntity.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38\\n */\\nEntity.prototype.notationName;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490\\n */\\nfunction EntityReference() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813\\n */\\nfunction ProcessingInstruction() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393\\n */\\nProcessingInstruction.prototype.data;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192\\n */\\nProcessingInstruction.prototype.target;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Window() {}\\nWindow.prototype.Window;\\n\\n/** @override */\\nWindow.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {?function (Event)} */ Window.prototype.onabort;\\n/** @type {?function (Event)} */ Window.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Window.prototype.onblur;\\n/** @type {?function (Event)} */ Window.prototype.onchange;\\n/** @type {?function (Event)} */ Window.prototype.onclick;\\n/** @type {?function (Event)} */ Window.prototype.onclose;\\n/** @type {?function (Event)} */ Window.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Window.prototype.ondblclick;\\n/** @type {?function (Event)} */ Window.prototype.ondragdrop;\\n// onerror has a special signature.\\n// See https://developer.mozilla.org/en/DOM/window.onerror\\n// and http://msdn.microsoft.com/en-us/library/cc197053(VS.85).aspx\\n/** @type {?function (string, string, number)} */\\nWindow.prototype.onerror;\\n/** @type {?function (Event)} */ Window.prototype.onfocus;\\n/** @type {?function (Event)} */ Window.prototype.onhashchange;\\n/** @type {?function (Event)} */ Window.prototype.onkeydown;\\n/** @type {?function (Event)} */ Window.prototype.onkeypress;\\n/** @type {?function (Event)} */ Window.prototype.onkeyup;\\n/** @type {?function (Event)} */ Window.prototype.onload;\\n/** @type {?function (Event)} */ Window.prototype.onmousedown;\\n/** @type {?function (Event)} */ Window.prototype.onmousemove;\\n/** @type {?function (Event)} */ Window.prototype.onmouseout;\\n/** @type {?function (Event)} */ Window.prototype.onmouseover;\\n/** @type {?function (Event)} */ Window.prototype.onmouseup;\\n/** @type {?function (Event)} */ Window.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Window.prototype.onpaint;\\n/** @type {?function (Event)} */ Window.prototype.onpopstate;\\n/** @type {?function (Event)} */ Window.prototype.onreset;\\n/** @type {?function (Event)} */ Window.prototype.onresize;\\n/** @type {?function (Event)} */ Window.prototype.onscroll;\\n/** @type {?function (Event)} */ Window.prototype.onselect;\\n/** @type {?function (Event=)} */ Window.prototype.onsubmit;\\n/** @type {?function (Event)} */ Window.prototype.onunload;\\n/** @type {?function (Event)} */ Window.prototype.onwheel;\\n","externs/w3c_dom2.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 2 specification.\\n * This file depends on w3c_dom1.js.\\n * The whole file has been fully type annotated.\\n * Created from\\n * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n */\\n\\n/**\\n * @param {string} s id.\\n * @return {Element}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId\\n */\\nDocument.prototype.getElementById = function(s) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createElementNS =\\n function(namespaceURI, qualifiedName, opt_typeExtension) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {!Attr}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createAttributeNS =\\n function(namespaceURI, qualifiedName) {};\\n\\n/**\\n * @param {string} namespace\\n * @param {string} name\\n * @return {!NodeList}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\\n */\\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @param {boolean} deep\\n * @return {Node}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\\n */\\nDocument.prototype.importNode = function(externalNode, deep) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),T>}\\n * @implements {IArrayLike}\\n * @implements {Iterable}\\n * @template T\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506\\n */\\nfunction HTMLCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551\\n */\\nHTMLCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),HTMLOptionElement>}\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection\\n */\\nfunction HTMLOptionsCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-length\\n */\\nHTMLOptionsCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268\\n */\\nfunction HTMLDocument() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827\\n */\\nHTMLDocument.prototype.title;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140\\n */\\nHTMLDocument.prototype.referrer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147\\n */\\nHTMLDocument.prototype.domain;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437\\n */\\nHTMLDocument.prototype.URL;\\n\\n/**\\n * @type {!HTMLBodyElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201\\n */\\nHTMLDocument.prototype.body;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\\n */\\nHTMLDocument.prototype.images;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\\n */\\nHTMLDocument.prototype.applets;\\n\\n/**\\n * @type {!HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\\n */\\nHTMLDocument.prototype.links;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\\n */\\nHTMLDocument.prototype.forms;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\\n */\\nHTMLDocument.prototype.anchors;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\\n */\\nHTMLDocument.prototype.cookie;\\n\\n/**\\n * @param {string=} opt_mimeType\\n * @param {string=} opt_replace\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * Even though official spec says \\"no parameters\\" some old browsers might take\\n * optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx\\n * @override\\n */\\nHTMLDocument.prototype.open = function(opt_mimeType, opt_replace) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567\\n * @override\\n */\\nHTMLDocument.prototype.close = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634\\n * @override\\n */\\nHTMLDocument.prototype.write = function(text) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390\\n * @override\\n */\\nHTMLDocument.prototype.writeln = function(text) {};\\n\\n/**\\n * @param {string} elementName\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!NodeIterator}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createNodeIterator = function(\\n root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!TreeWalker}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createTreeWalker = function(\\n root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n\\n/** @typedef {{\\n createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\\n createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker\\n}} */\\nvar Tr'; -a.a+="aversalDocument;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter\\n*/\\nfunction NodeFilter() {}\\n\\n/* Constants for whatToShow */\\n/** @const {number} */ NodeFilter.SHOW_ALL;\\n/** @const {number} */ NodeFilter.SHOW_ATTRIBUTE;\\n/** @const {number} */ NodeFilter.SHOW_CDATA_SECTION;\\n/** @const {number} */ NodeFilter.SHOW_COMMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_FRAGMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_TYPE;\\n/** @const {number} */ NodeFilter.SHOW_ELEMENT;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY_REFERENCE;\\n/** @const {number} */ NodeFilter.SHOW_NOTATION;\\n/** @const {number} */ NodeFilter.SHOW_PROCESSING_INSTRUCTION;\\n/** @const {number} */ NodeFilter.SHOW_TEXT;\\n\\n/* Consants for acceptNode */\\n/** @const {number} */ NodeFilter.FILTER_ACCEPT;\\n/** @const {number} */ NodeFilter.FILTER_REJECT;\\n/** @const {number} */ NodeFilter.FILTER_SKIP;\\n\\n/**\\n * @param {Node} n\\n * @return {number} Any of NodeFilter.FILTER_* constants.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode\\n*/\\nNodeFilter.prototype.acceptNode = function(n) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator\\n*/\\nfunction NodeIterator() {}\\n\\n/**\\n * Detach and invalidate the NodeIterator.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach\\n * @return {undefined}\\n */\\nNodeIterator.prototype.detach = function() {};\\n\\n/**\\n * @return {Node} Next node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode\\n */\\nNodeIterator.prototype.nextNode = function() {};\\n\\n/**\\n * @return {Node} Previous node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode\\n */\\nNodeIterator.prototype.previousNode = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker\\n*/\\nfunction TreeWalker() {}\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild\\n */\\nTreeWalker.prototype.firstChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null..\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild\\n */\\nTreeWalker.prototype.lastChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode\\n */\\nTreeWalker.prototype.nextNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling\\n */\\nTreeWalker.prototype.nextSibling = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode\\n */\\nTreeWalker.prototype.parentNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode\\n */\\nTreeWalker.prototype.previousNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling\\n */\\nTreeWalker.prototype.previousSibling = function() {};\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.root;\\n\\n/**\\n * @type {number}\\n */\\nTreeWalker.prototype.whatToShow;\\n\\n/**\\n * @type {NodeFilter}\\n */\\nTreeWalker.prototype.filter;\\n\\n/**\\n * @type {boolean}\\n */\\nTreeWalker.prototype.expandEntityReference;\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.currentNode;\\n\\n/**\\n * @constructor\\n * @extends {Element}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037\\n */\\nfunction HTMLElement() {}\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901\\n */\\nHTMLElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800\\n */\\nHTMLElement.prototype.title;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nHTMLElement.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807\\n */\\nHTMLElement.prototype.lang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740\\n */\\nHTMLElement.prototype.dir;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176\\n */\\nHTMLElement.prototype.className;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705\\n */\\nHTMLElement.prototype.tabIndex;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296\\n */\\nfunction HTMLHtmlElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775\\n */\\nHTMLHtmlElement.prototype.version;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77253168\\n */\\nfunction HTMLHeadElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909\\n */\\nHTMLHeadElement.prototype.profile;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001\\n */\\nfunction HTMLLinkElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129\\n */\\nHTMLLinkElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491\\n */\\nHTMLLinkElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588\\n */\\nHTMLLinkElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682\\n */\\nHTMLLinkElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125\\n */\\nHTMLLinkElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587\\n */\\nHTMLLinkElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461\\n */\\nHTMLLinkElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095\\n */\\nHTMLLinkElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296\\n */\\nHTMLLinkElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLLinkElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169\\n */\\nfunction HTMLTitleElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413\\n */\\nHTMLTitleElement.prototype.text;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454\\n */\\nfunction HTMLMetaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826\\n */\\nHTMLMetaElement.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449\\n */\\nHTMLMetaElement.prototype.httpEquiv;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081\\n */\\nHTMLMetaElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789\\n */\\nHTMLMetaElement.prototype.scheme;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039\\n */\\nfunction HTMLBaseElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887\\n */\\nHTMLBaseElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298\\n */\\nHTMLBaseElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003\\n */\\nfunction HTMLIsIndexElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980\\n */\\nHTMLIsIndexElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862\\n */\\nHTMLIsIndexElement.prototype.prompt;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977\\n */\\nfunction HTMLStyleElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010\\n */\\nHTMLStyleElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738\\n */\\nHTMLStyleElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002\\n */\\nHTMLStyleElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLStyleElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039\\n */\\nfunction HTMLBodyElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581\\n */\\nHTMLBodyElement.prototype.aLink;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810\\n */\\nHTMLBodyElement.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084\\n */\\nHTMLBodyElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206\\n */\\nHTMLBodyElement.prototype.link;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763\\n */\\nHTMLBodyElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305\\n */\\nHTMLBodyElement.prototype.vLink;\\n\\n/**\\n * @constructor\\n * @extends {HTMLCollection}\\n * @implements {IObject)>}\\n * @implements {IArrayLike}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\\n */\\nfunction HTMLFormControlsCollection() {}\\n\\n/**\\n * @param {string} name\\n * @return {T|RadioNodeList|null}\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\\n * @nosideeffects\\n * @override\\n * @suppress {newCheckTypes}\\n */\\nHTMLFormControlsCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357\\n */\\nfunction HTMLFormElement() {}\\n\\n/**\\n * @type {HTMLFormControlsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\\n */\\nHTMLFormElement.prototype.elements;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\\n */\\nHTMLFormElement.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\\n */\\nHTMLFormElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\\n */\\nHTMLFormElement.prototype.acceptCharset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\\n */\\nHTMLFormElement.prototype.action;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\\n */\\nHTMLFormElement.prototype.enctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\\n */\\nHTMLFormElement.prototype.method;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\\n */\\nHTMLFormElement.prototype.target;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\\n */\\nHTMLFormElement.prototype.submit = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\\n */\\nHTMLFormElement.prototype.reset = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\\n */\\nfunction HTMLSelectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\\n */\\nHTMLSelectElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\\n */\\nHTMLSelectElement.prototype.selectedIndex;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\\n */\\nHTMLSelectElement.prototype.value;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\\n */\\nHTMLSelectElement.prototype.length;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\\n */\\nHTMLSelectElement.prototype.form;\\n\\n/**\\n * @type {!HTMLOptionsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\\n */\\nHTMLSelectElement.prototype.options;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\\n */\\nHTMLSelectElement.prototype.disabled;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\\n */\\nHTMLSelectElement.prototype.multiple;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\\n */\\nHTMLSelectElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\\n */\\nHTMLSelectElement.prototype.size;\\n\\n/**\\n * @param {HTMLElement} element\\n * @param {HTMLElement=} opt_before\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\\n */\\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\\n * @override\\n */\\nHTMLSelectElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\\n * @override\\n */\\nHTMLSelectElement.prototype.focus = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\\n * @override\\n */\\nHTMLSelectElement.prototype.remove = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\\n */\\nfunction HTMLOptGroupElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.o"; -a.a+="rg/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\\n */\\nHTMLOptGroupElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\\n */\\nHTMLOptGroupElement.prototype.label;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\\n */\\nfunction HTMLOptionElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\\n */\\nHTMLOptionElement.prototype.defaultSelected;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\\n */\\nHTMLOptionElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\\n */\\nHTMLOptionElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\\n */\\nHTMLOptionElement.prototype.index;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\\n */\\nHTMLOptionElement.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\\n */\\nHTMLOptionElement.prototype.selected;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\\n */\\nHTMLOptionElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\\n */\\nHTMLOptionElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025\\n */\\nfunction HTMLInputElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520\\n */\\nHTMLInputElement.prototype.accept;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154\\n */\\nHTMLInputElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182\\n */\\nHTMLInputElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314\\n */\\nHTMLInputElement.prototype.alt;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917\\n */\\nHTMLInputElement.prototype.checked;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171\\n */\\nHTMLInputElement.prototype.defaultChecked;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157\\n */\\nHTMLInputElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781\\n */\\nHTMLInputElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895\\n */\\nHTMLInputElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353\\n */\\nHTMLInputElement.prototype.maxLength;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498\\n */\\nHTMLInputElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592\\n */\\nHTMLInputElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438\\n */\\nHTMLInputElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704\\n */\\nHTMLInputElement.prototype.src;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355\\n */\\nHTMLInputElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744\\n */\\nHTMLInputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706\\n */\\nHTMLInputElement.prototype.useMap;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485\\n */\\nHTMLInputElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235\\n * @override\\n */\\nHTMLInputElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361\\n * @override\\n */\\nHTMLInputElement.prototype.click = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295\\n * @override\\n */\\nHTMLInputElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168\\n */\\nHTMLInputElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179\\n */\\nfunction HTMLTextAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991\\n */\\nHTMLTextAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225\\n */\\nHTMLTextAreaElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213\\n */\\nHTMLTextAreaElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443\\n */\\nHTMLTextAreaElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464\\n */\\nHTMLTextAreaElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578\\n */\\nHTMLTextAreaElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423\\n */\\nHTMLTextAreaElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887\\n */\\nHTMLTextAreaElement.prototype.rows;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\\n */\\nHTMLTextAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\\n */\\nHTMLTextAreaElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\\n */\\nHTMLTextAreaElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\\n * @override\\n */\\nHTMLTextAreaElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\\n * @override\\n */\\nHTMLTextAreaElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\\n */\\nHTMLTextAreaElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\\n */\\nfunction HTMLButtonElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\\n */\\nHTMLButtonElement.prototype.accessKey;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\\n */\\nHTMLButtonElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\\n */\\nHTMLButtonElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\\n */\\nHTMLButtonElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\\n */\\nHTMLButtonElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\\n */\\nHTMLButtonElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\\n */\\nHTMLButtonElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\\n */\\nfunction HTMLLabelElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\\n */\\nHTMLLabelElement.prototype.accessKey;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\\n */\\nHTMLLabelElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\\n */\\nHTMLLabelElement.prototype.htmlFor;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\\n */\\nfunction HTMLFieldSetElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\\n */\\nHTMLFieldSetElement.prototype.form;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\\n */\\nHTMLFieldSetElement.prototype.disabled;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\\n */\\nfunction HTMLLegendElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\\n */\\nHTMLLegendElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\\n */\\nHTMLLegendElement.prototype.align;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\\n */\\nHTMLLegendElement.prototype.form;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457\\n */\\nfunction HTMLUListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\\n */\\nHTMLUListElement.prototype.compact;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\\n */\\nHTMLUListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\\n */\\nfunction HTMLOListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\\n */\\nHTMLOListElement.prototype.compact;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\\n */\\nHTMLOListElement.prototype.start;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\\n */\\nHTMLOListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\\n */\\nfunction HTMLDListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\\n */\\nHTMLDListElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\\n */\\nfunction HTMLDirectoryElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\\n */\\nHTMLDirectoryElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\\n */\\nfunction HTMLMenuElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\\n */\\nHTMLMenuElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\\n */\\nfunction HTMLLIElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\\n */\\nHTMLLIElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\\n */\\nHTMLLIElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\\n */\\nfunction HTMLDivElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\\n */\\nHTMLDivElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\\n */\\nfunction HTMLParagraphElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\\n */\\nHTMLParagraphElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\\n */\\nfunction HTMLHeadingElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\\n */\\nHTMLHeadingElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\\n */\\nfunction HTMLQuoteElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\\n */\\nHTMLQuoteElement.prototype.cite;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\\n */\\nfunction HTMLPreElement() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\\n */\\nHTMLPreElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\\n */\\nfunction HTMLBRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\\n */\\nHTMLBRElement.prototype.clear;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\\n */\\nfunction HTMLBaseFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\\n */\\nHTMLBaseFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\\n */\\nHTMLBaseFontElement.prototype.face;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\\n */\\nHTMLBaseFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\\n */\\nfunction HTMLFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\\n */\\nHTMLFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\\n */\\nHTMLFontElement.prototype.face;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\\n */\\nHTMLFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www"; -a.a+=".w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\\n */\\nfunction HTMLHRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\\n */\\nHTMLHRElement.prototype.align;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\\n */\\nHTMLHRElement.prototype.noShade;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\\n */\\nHTMLHRElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\\n */\\nHTMLHRElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\\n */\\nfunction HTMLModElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\\n */\\nHTMLModElement.prototype.cite;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\\n */\\nHTMLModElement.prototype.dateTime;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\\n */\\nfunction HTMLAnchorElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\\n */\\nHTMLAnchorElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\\n */\\nHTMLAnchorElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\\n */\\nHTMLAnchorElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319\\n */\\nHTMLAnchorElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513\\n */\\nHTMLAnchorElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304\\n */\\nHTMLAnchorElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891\\n */\\nHTMLAnchorElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771\\n */\\nHTMLAnchorElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808\\n */\\nHTMLAnchorElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466\\n */\\nHTMLAnchorElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197\\n */\\nHTMLAnchorElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221\\n */\\nHTMLAnchorElement.prototype.type;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939\\n * @override\\n */\\nHTMLAnchorElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313\\n * @override\\n */\\nHTMLAnchorElement.prototype.focus = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901\\n */\\nfunction HTMLImageElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094\\n */\\nHTMLImageElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861\\n */\\nHTMLImageElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671\\n */\\nHTMLImageElement.prototype.border;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496\\n */\\nHTMLImageElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471\\n */\\nHTMLImageElement.prototype.hspace;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880\\n */\\nHTMLImageElement.prototype.isMap;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969\\n */\\nHTMLImageElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910\\n */\\nHTMLImageElement.prototype.lowSrc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097\\n */\\nHTMLImageElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984\\n */\\nHTMLImageElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181\\n */\\nHTMLImageElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897\\n */\\nHTMLImageElement.prototype.vspace;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076\\n */\\nHTMLImageElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177\\n */\\nfunction HTMLObjectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097\\n */\\nHTMLObjectElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837\\n */\\nHTMLObjectElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419\\n */\\nHTMLObjectElement.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146\\n */\\nHTMLObjectElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136\\n */\\nHTMLObjectElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008\\n */\\nHTMLObjectElement.prototype.codeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621\\n */\\nHTMLObjectElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986\\n */\\nHTMLObjectElement.prototype.data;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770\\n */\\nHTMLObjectElement.prototype.declare;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773\\n */\\nHTMLObjectElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838\\n */\\nHTMLObjectElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376\\n */\\nHTMLObjectElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362\\n */\\nHTMLObjectElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673\\n */\\nHTMLObjectElement.prototype.standby;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787\\n */\\nHTMLObjectElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621\\n */\\nHTMLObjectElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772\\n */\\nHTMLObjectElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483\\n */\\nHTMLObjectElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620\\n */\\nHTMLObjectElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273\\n */\\nfunction HTMLParamElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447\\n */\\nHTMLParamElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888\\n */\\nHTMLParamElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357\\n */\\nHTMLParamElement.prototype.value;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872\\n */\\nHTMLParamElement.prototype.valueType;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348\\n */\\nfunction HTMLAppletElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912\\n */\\nHTMLAppletElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064\\n */\\nHTMLAppletElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360\\n */\\nHTMLAppletElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645\\n */\\nHTMLAppletElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160\\n */\\nHTMLAppletElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867\\n */\\nHTMLAppletElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197\\n */\\nHTMLAppletElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695\\n */\\nHTMLAppletElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523\\n */\\nHTMLAppletElement.prototype.object;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173\\n */\\nHTMLAppletElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327\\n */\\nHTMLAppletElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203\\n */\\nfunction HTMLMapElement() {}\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\\n */\\nHTMLMapElement.prototype.areas;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\\n */\\nHTMLMapElement.prototype.name;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\\n */\\nfunction HTMLAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\\n */\\nHTMLAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\\n */\\nHTMLAreaElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\\n */\\nHTMLAreaElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936\\n */\\nHTMLAreaElement.prototype.href;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871\\n */\\nHTMLAreaElement.prototype.noHref;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271\\n */\\nHTMLAreaElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121\\n */\\nHTMLAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682\\n */\\nHTMLAreaElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695\\n */\\nfunction HTMLScriptElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677\\n */\\nHTMLScriptElement.prototype.charset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534\\n */\\nHTMLScriptElement.prototype.defer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403\\n */\\nHTMLScriptElement.prototype.event;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266\\n */\\nHTMLScriptElement.prototype.htmlFor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231\\n */\\nHTMLScriptElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999\\n */\\nHTMLScriptElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818\\n */\\nHTMLScriptElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425\\n */\\nfunction HTMLTableElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977\\n */\\nHTMLTableElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985\\n */\\nHTMLTableElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400\\n */\\nHTMLTableElement.prototype.border;\\n\\n/**\\n * @type {HTMLTableCaptionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520\\n */\\nHTMLTableElement.prototype.caption;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158\\n */\\nHTMLTableElement.prototype.cellPadding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883\\n */\\nHTMLTableElement.prototype.cellSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476\\n */\\nHTMLTableElement.prototype.frame;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\\n */\\nHTMLTableElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\\n */\\nHTMLTableElement.prototype.rules;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\\n */\\nHTMLTableElement.prototype.summary;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\\n */\\nHTMLTableElement.prototype.tBodies;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\\n */\\nHTMLTableElement.prototype.tFoot;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Leve"; -a.a+='l-2-20000510/html.html#ID-9530944\\n */\\nHTMLTableElement.prototype.tHead;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\\n */\\nHTMLTableElement.prototype.width;\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\\n */\\nHTMLTableElement.prototype.createCaption = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\\n */\\nHTMLTableElement.prototype.createTFoot = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\\n */\\nHTMLTableElement.prototype.createTHead = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\\n */\\nHTMLTableElement.prototype.deleteCaption = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\\n */\\nHTMLTableElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\\n */\\nHTMLTableElement.prototype.deleteTFoot = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\\n */\\nHTMLTableElement.prototype.deleteTHead = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\\n */\\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\\n */\\nfunction HTMLTableCaptionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\\n */\\nHTMLTableCaptionElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\\n */\\nfunction HTMLTableColElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\\n */\\nHTMLTableColElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\\n */\\nHTMLTableColElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\\n */\\nHTMLTableColElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\\n */\\nHTMLTableColElement.prototype.span;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\\n */\\nHTMLTableColElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\\n */\\nHTMLTableColElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\\n */\\nfunction HTMLTableSectionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\\n */\\nHTMLTableSectionElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\\n */\\nHTMLTableSectionElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\\n */\\nHTMLTableSectionElement.prototype.chOff;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\\n */\\nHTMLTableSectionElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\\n */\\nHTMLTableSectionElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\\n */\\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\\n */\\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\\n */\\nfunction HTMLTableRowElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\\n */\\nHTMLTableRowElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\\n */\\nHTMLTableRowElement.prototype.bgColor;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\\n */\\nHTMLTableRowElement.prototype.cells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\\n */\\nHTMLTableRowElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\\n */\\nHTMLTableRowElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\\n */\\nHTMLTableRowElement.prototype.rowIndex;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901\\n */\\nHTMLTableRowElement.prototype.sectionRowIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\\n */\\nHTMLTableRowElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\\n */\\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\\n */\\nHTMLTableRowElement.prototype.insertCell = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\\n */\\nfunction HTMLTableCellElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\\n */\\nHTMLTableCellElement.prototype.abbr;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879\\n */\\nHTMLTableCellElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418\\n */\\nHTMLTableCellElement.prototype.axis;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431\\n */\\nHTMLTableCellElement.prototype.bgColor;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363\\n */\\nHTMLTableCellElement.prototype.cellIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780\\n */\\nHTMLTableCellElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310\\n */\\nHTMLTableCellElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244\\n */\\nHTMLTableCellElement.prototype.colSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817\\n */\\nHTMLTableCellElement.prototype.headers;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212\\n */\\nHTMLTableCellElement.prototype.height;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045\\n */\\nHTMLTableCellElement.prototype.noWrap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625\\n */\\nHTMLTableCellElement.prototype.rowSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952\\n */\\nHTMLTableCellElement.prototype.scope;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221\\n */\\nHTMLTableCellElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795\\n */\\nHTMLTableCellElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095\\n */\\nfunction HTMLFrameSetElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594\\n */\\nHTMLFrameSetElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247\\n */\\nHTMLFrameSetElement.prototype.rows;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553\\n */\\nfunction HTMLFrameElement() {}\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536\\n */\\nHTMLFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633\\n */\\nHTMLFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998\\n */\\nHTMLFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778\\n */\\nHTMLFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969\\n */\\nHTMLFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709\\n */\\nHTMLFrameElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578\\n */\\nHTMLFrameElement.prototype.noResize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424\\n */\\nHTMLFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535\\n */\\nHTMLFrameElement.prototype.src;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718\\n */\\nfunction HTMLIFrameElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947\\n */\\nHTMLIFrameElement.prototype.align;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006\\n */\\nHTMLIFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410\\n */\\nHTMLIFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118\\n */\\nHTMLIFrameElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105\\n */\\nHTMLIFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294\\n */\\nHTMLIFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595\\n */\\nHTMLIFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659\\n */\\nHTMLIFrameElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822\\n */\\nHTMLIFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957\\n */\\nHTMLIFrameElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005\\n */\\nHTMLIFrameElement.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_STATE_ERR = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.SYNTAX_ERR = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_MODIFICATION_ERR = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.NAMESPACE_ERR = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_ACCESS_ERR = 15;\\n","externs/w3c_dom3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 3 specification.\\n * This file depends on w3c_dom2.js.\\n * The whole file has been fully type annotated.\\n * Created from\\n * http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.VALIDATION_ERR = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.TYPE_MISMATCH_ERR = 17;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\\n */\\nfunction DOMStringList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\\n */\\nDOMStringList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\\n * @nosideeffects\\n */\\nDOMStringList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\\n * @nosideeffects\\n */\\nDOMStringList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList\\n */\\nfunction NameList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-length\\n */\\nNameList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains\\n * @nosideeffects\\n */\\nNameList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS\\n * @nosideeffects\\n */\\nNameList.prototype.containsNS = function(namespaceURI, name) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/co'; -a.a+="re.html#NameList-getName\\n * @nosideeffects\\n */\\nNameList.prototype.getName = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI\\n * @nosideeffects\\n */\\nNameList.prototype.getNamespaceURI = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\\n */\\nfunction DOMImplementationList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\\n */\\nDOMImplementationList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\\n * @nosideeffects\\n */\\nDOMImplementationList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\\n */\\nfunction DOMImplementationSource() {}\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} publicId\\n * @param {DocumentType} doctype\\n * @return {Document}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocument = function(namespaceURI, publicId, doctype) {};\\n\\n/**\\n * @param {string} qualifiedName\\n * @param {string} publicId\\n * @param {string} systemId\\n * @return {DocumentType}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementation = function(features) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementationList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementationList = function(features) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode\\n */\\nDocument.prototype.adoptNode = function(externalNode) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI\\n */\\nDocument.prototype.documentURI;\\n\\n/**\\n * @type {DOMConfiguration}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfig\\n */\\nDocument.prototype.domConfig;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding\\n */\\nDocument.prototype.inputEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorChecking\\n */\\nDocument.prototype.strictErrorChecking;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding\\n */\\nDocument.prototype.xmlEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone\\n */\\nDocument.prototype.xmlStandalone;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version\\n */\\nDocument.prototype.xmlVersion;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument\\n */\\nDocument.prototype.normalizeDocument = function() {};\\n\\n/**\\n * @param {Node} n\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\\n */\\nDocument.prototype.renameNode = function(n, namespaceURI, qualifiedName) {};\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI\\n */\\nNode.prototype.baseURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN\\n */\\nNode.prototype.localName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname\\n */\\nNode.prototype.namespaceURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix\\n */\\nNode.prototype.prefix;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent\\n */\\nNode.prototype.textContent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED\\n */\\nNode.DOCUMENT_POSITION_DISCONNECTED = 0x01;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING\\n */\\nNode.DOCUMENT_POSITION_PRECEDING = 0x02;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING\\n */\\nNode.DOCUMENT_POSITION_FOLLOWING = 0x04;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS\\n */\\nNode.DOCUMENT_POSITION_CONTAINS = 0x08;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY\\n */\\nNode.DOCUMENT_POSITION_CONTAINED_BY = 0x10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\\n */\\nNode.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;\\n\\n/**\\n * @param {Node} other\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\\n * @nosideeffects\\n */\\nNode.prototype.compareDocumentPosition = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature\\n * @nosideeffects\\n */\\nNode.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData\\n * @nosideeffects\\n */\\nNode.prototype.getUserData = function(key) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs\\n * @nosideeffects\\n */\\nNode.prototype.hasAttributes = function() {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace\\n * @nosideeffects\\n */\\nNode.prototype.isDefaultNamespace = function(namespaceURI) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode\\n * @nosideeffects\\n */\\nNode.prototype.isEqualNode = function(arg) {};\\n\\n/**\\n * @param {Node} other\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode\\n * @nosideeffects\\n */\\nNode.prototype.isSameNode = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports\\n * @nosideeffects\\n */\\nNode.prototype.isSupported = function(feature, version) {};\\n\\n/**\\n * @param {string} prefix\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI\\n * @nosideeffects\\n */\\nNode.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\\n * @nosideeffects\\n */\\nNode.prototype.lookupPrefix = function(namespaceURI) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize\\n */\\nNode.prototype.normalize = function() {};\\n\\n/**\\n * @param {Object} key\\n * @param {Object} data\\n * @param {UserDataHandler} handler\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData'\\n */\\nNode.prototype.setUserData = function(key, data, handler) {};\\n\\n/**\\n * @param {string} query\\n * @return {?Element}\\n * @see http://www.w3.org/TR/selectors-api/#queryselector\\n * @nosideeffects\\n */\\nNode.prototype.querySelector = function(query) {};\\n\\n/**\\n * @param {string} query\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\\n * @nosideeffects\\n */\\nNode.prototype.querySelectorAll = function(query) {};\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\\n */\\nAttr.prototype.ownerElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\\n */\\nAttr.prototype.isId;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfo\\n */\\nAttr.prototype.schemaTypeInfo;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfo\\n */\\nElement.prototype.schemaTypeInfo;\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\\n * @nosideeffects\\n */\\nElement.prototype.hasAttribute = function(name) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\\n */\\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\\n */\\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string|number|boolean} value Values are converted to strings with\\n * ToString, so we accept number and boolean since both convert easily to\\n * strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\\n */\\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\\n\\n/**\\n * @param {string} name\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttr\\n */\\nElement.prototype.setIdAttribute = function(name, isId) {};\\n\\n/**\\n * @param {Attr} idAttr\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNode\\n */\\nElement.prototype.setIdAttributeNode = function(idAttr, isId) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNS\\n */\\nElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText\\n */\\nText.prototype.wholeText;\\n\\n/**\\n * @param {string} newText\\n * @return {Text}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeText\\n */\\nText.prototype.replaceWholeText = function(newText) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo\\n */\\nfunction TypeInfo() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSION\\n */\\nTypeInfo.prototype.DERIVATION_EXTENSION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LIST\\n */\\nTypeInfo.prototype.DERIVATION_LIST;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTION\\n */\\nTypeInfo.prototype.DERIVATION_RESTRICTION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNION\\n */\\nTypeInfo.prototype.DERIVATION_UNION;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeName\\n */\\nTypeInfo.prototype.typeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespace\\n */\\nTypeInfo.prototype.typeNamespace;\\n\\n/**\\n * @param {string} typeNamespaceArg\\n * @param {string} typeNameArg\\n * @param {number} derivationMethod\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom\\n * @nosideeffects\\n */\\nTypeInfo.prototype.isDerivedFrom = function(typeNamespaceArg, typeNameArg, derivationMethod) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler\\n */\\nfunction UserDataHandler() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONED\\n */\\nUserDataHandler.prototype.NODE_CLONED = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTED\\n */\\nUserDataHandler.prototype.NODE_IMPORTED = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETED\\n */\\nUserDataHandler.prototype.NODE_DELETED = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMED\\n */\\nUserDataHandler.prototype.NODE_RENAMED = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED\\n */\\nUserDataHandler.prototype.NODE_ADOPTED = 5;\\n\\n/**\\n * @param {number} operation\\n * @param {string} key\\n * @param {*=} opt_data\\n * @param {?Node=} opt_src\\n * @param {?Node=} opt_dst\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEvent\\n */\\nUserDataHandler.prototype.handle = function(operation, key, opt_data,\\n opt_src, opt_dst) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError\\n */\\nfunction DOMError() {}\\n\\n/**\\n * @type {DOMLocator}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location\\n */\\nDOMError.prototype.location;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message\\n */\\nDOMError.prototype.message;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData\\n */\\nDOMError.prototype.relatedData;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException\\n */\\nDOMError.prototype.relatedException;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning\\n */\\nDOMError.SEVERITY_WARNING = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error\\n */\\nDOMError.SEVERITY_ERROR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-error\\n */\\nDOMError.SEVERIT"; -a.a+='Y_FATAL_ERROR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity\\n */\\nDOMError.prototype.severity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type\\n */\\nDOMError.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/dom/#domerror\\n */\\nDOMError.prototype.name;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler\\n */\\nfunction DOMErrorHandler() {}\\n\\n/**\\n * @param {DOMError} error\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError\\n */\\nDOMErrorHandler.prototype.handleError = function(error) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator\\n */\\nfunction DOMLocator() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset\\n */\\nDOMLocator.prototype.byteOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number\\n */\\nDOMLocator.prototype.columnNumber;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number\\n */\\nDOMLocator.prototype.lineNumber;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node\\n */\\nDOMLocator.prototype.relatedNode;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri\\n */\\nDOMLocator.prototype.uri;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset\\n */\\nDOMLocator.prototype.utf16Offset;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration\\n */\\nfunction DOMConfiguration() {}\\n\\n/**\\n * @type {DOMStringList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNames\\n */\\nDOMConfiguration.prototype.parameterNames;\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.canSetParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.getParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-property\\n */\\nDOMConfiguration.prototype.setParameter = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubset\\n */\\nDocumentType.prototype.internalSubset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId\\n */\\nDocumentType.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId\\n */\\nDocumentType.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncoding\\n */\\nEntity.prototype.inputEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encoding\\n */\\nEntity.prototype.xmlEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-version\\n */\\nEntity.prototype.xmlVersion;\\n","externs/w3c_dom4.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM4 specification. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated. Created from\\n * https://www.w3.org/TR/domcore/.\\n *\\n * @externs\\n * @author zhoumotongxue008@gmail.com (Michael Zhou)\\n */\\n\\n/**\\n * @typedef {?(DocumentType|Element|CharacterData)}\\n * @see https://www.w3.org/TR/domcore/#interface-childnode\\n */\\nvar ChildNode;\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nDocumentType.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nElement.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nCharacterData.prototype.remove = function() {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nDocumentType.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nElement.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nCharacterData.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @return {!Array}\\n * @see https://dom.spec.whatwg.org/#dom-element-getattributenames\\n */\\nElement.prototype.getAttributeNames = function() {};\\n","externs/gecko_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n * W3C\'s DOM specification by Gecko. This file depends on\\n * w3c_dom2.js.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n// Gecko DOM;\\n\\n/**\\n * Mozilla only???\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSpanElement() {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/Components_object\\n */\\nWindow.prototype.Components;\\n\\n/**\\n * @type {Window}\\n * @see https://developer.mozilla.org/en/DOM/window.content\\n */\\nWindow.prototype.content;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.closed\\n */\\nWindow.prototype.closed;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.controllers */\\nWindow.prototype.controllers;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n/**\\n * Gets/sets the status bar text for the given window.\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.defaultStatus\\n */\\nWindow.prototype.defaultStatus;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */\\nWindow.prototype.dialogArguments;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.directories */\\nWindow.prototype.directories;\\n\\n/**\\n * @type {HTMLObjectElement|HTMLIFrameElement|null}\\n * @see https://developer.mozilla.org/en/DOM/window.frameElement\\n */\\nWindow.prototype.frameElement;\\n\\n/**\\n * Allows lookup of frames by index or by name.\\n * @type {?Object}\\n * @see https://developer.mozilla.org/en/DOM/window.frames\\n */\\nWindow.prototype.frames;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.fullScreen\\n */\\nWindow.prototype.fullScreen;\\n\\n/**\\n * @return {!Promise}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage\\n */\\nWindow.prototype.globalStorage;\\n\\n/**\\n * @type {!History}\\n * @suppress {duplicate}\\n * @see https://developer.mozilla.org/en/DOM/window.history\\n */\\nvar history;\\n\\n/**\\n * Returns the number of frames (either frame or iframe elements) in the\\n * window.\\n *\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.length\\n */\\nWindow.prototype.length;\\n\\n/**\\n * Location has an exception in the DeclaredGlobalExternsOnWindow pass\\n * so we have to manually include it:\\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116\\n *\\n * @type {!Location}\\n * @implicitCast\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n */\\nWindow.prototype.location;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.locationbar\\n */\\nWindow.prototype.locationbar;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.menubar\\n */\\nWindow.prototype.menubar;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.name\\n */\\nWindow.prototype.name;\\n\\n/**\\n * @type {Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n */\\nWindow.prototype.navigator;\\n\\n/**\\n * @type {?Window}\\n * @see https://developer.mozilla.org/en/DOM/window.opener\\n */\\nWindow.prototype.opener;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.parent\\n */\\nWindow.prototype.parent;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.personalbar */\\nWindow.prototype.personalbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */\\nWindow.prototype.pkcs11;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window */\\nWindow.prototype.returnValue;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.scrollbars */\\nWindow.prototype.scrollbars;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX\\n */\\nWindow.prototype.scrollMaxX;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY\\n */\\nWindow.prototype.scrollMaxY;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.self;\\n\\n/** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */\\nWindow.prototype.sessionStorage;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.sidebar */\\nWindow.prototype.sidebar;\\n\\n/**\\n * @type {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.status\\n */\\nWindow.prototype.status;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.statusbar */\\nWindow.prototype.statusbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.toolbar */\\nWindow.prototype.toolbar;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.top;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.window;\\n\\n/**\\n * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nWindow.prototype.alert = function(message) {};\\n\\n/**\\n * Decodes a string of data which has been encoded using base-64 encoding.\\n *\\n * @param {string} encodedData\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.atob\\n * @nosideeffects\\n */\\nfunction atob(encodedData) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.back\\n * @return {undefined}\\n */\\nWindow.prototype.back = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.blur\\n * @return {undefined}\\n */\\nWindow.prototype.blur = function() {};\\n\\n/**\\n * @param {string} stringToEncode\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.btoa\\n * @nosideeffects\\n */\\nfunction btoa(stringToEncode) {}\\n\\n/** @deprecated */\\nWindow.prototype.captureEvents;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.close\\n * @return {undefined}\\n */\\nWindow.prototype.close = function() {};\\n\\n/**@see https://developer.mozilla.org/en/DOM/window.find */\\nWindow.prototype.find;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.focus\\n * @return {undefined}\\n */\\nWindow.prototype.focus = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.forward\\n * @return {undefined}\\n */\\nWindow.prototype.forward = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.getAttention\\n * @return {undefined}\\n */\\nWindow.prototype.getAttention = function() {};\\n\\n/**\\n * @return {Selection}\\n * @see https://developer.mozilla.org/en/DOM/window.getSelection\\n * @nosideeffects\\n */\\nWindow.prototype.getSelection = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.home\\n * @return {undefined}\\n */\\nWindow.prototype.home = function() {};\\n\\nWindow.prototype.openDialog;\\nWindow.prototype.releaseEvents;\\nWindow.prototype.scrollByLines;\\nWindow.prototype.scrollByPages;\\n\\n/**\\n * @param {string} uri\\n * @param {?=} opt_arguments\\n * @param {string=} opt_options\\n * @see https://developer.mozilla.org/en/DOM/window.showModalDialog\\n */\\nWindow.prototype.showModalDialog;\\n\\nWindow.prototype.sizeToContent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.stop = function() {};\\n\\nWindow.prototype.updateCommands;\\n\\n// properties of Document\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.alinkColor\\n * @type {string}\\n */\\nDocument.prototype.alinkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.anchors\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.anchors;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.applets\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.applets;\\n/** @type {boolean} */ Document.prototype.async;\\n/** @type {string?} */ Document.prototype.baseURI;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.bgColor\\n * @type {string}\\n */\\nDocument.prototype.bgColor;\\n\\n/** @type {HTMLBodyElement} */ Document.prototype.body;\\nDocument.prototype.characterSet;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.compatMode\\n * @type {string}\\n */\\nDocument.prototype.compatMode;\\n\\nDocument.prototype.contentType;\\n/** @type {string} */ Document.prototype.cookie;\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView\\n * @type {?Window}\\n */\\nDocument.prototype.defaultView;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.designMode\\n * @type {string}\\n */\\nDocument.prototype.designMode;\\n\\nDocument.prototype.documentURIObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.domain\\n * @type {string}\\n */\\nDocument.prototype.domain;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.embeds\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.embeds;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\\n * @type {string}\\n */\\nDocument.prototype.fgColor;\\n\\n/** @type {Element} */ Document.prototype.firstChild;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.forms\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.forms;\\n\\n/** @type {number} */\\nDocument.prototype.height;\\n\\n/** @type {HTMLCollection} */\\nDocument.prototype.images;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\\n */\\nDocument.prototype.lastModified;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\\n */\\nDocument.prototype.linkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.links\\n * @type {HTMLCollection<(!HTMLAreaElement|!H'; -a.a+='TMLAnchorElement)>}\\n */\\nDocument.prototype.links;\\n\\n/**\\n * @type {!Location}\\n * @implicitCast\\n */\\nDocument.prototype.location;\\n\\nDocument.prototype.namespaceURI;\\nDocument.prototype.nodePrincipal;\\nDocument.prototype.plugins;\\nDocument.prototype.popupNode;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.referrer\\n */\\nDocument.prototype.referrer;\\n\\n/**\\n * @type {StyleSheetList}\\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\\n */\\nDocument.prototype.styleSheets;\\n\\n/** @type {?string} */ Document.prototype.title;\\nDocument.prototype.tooltipNode;\\n/** @type {string} */ Document.prototype.URL;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\\n */\\nDocument.prototype.vlinkColor;\\n\\n/** @type {number} */ Document.prototype.width;\\n\\n// Methods of Document\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.clear\\n * @return {undefined}\\n */\\nDocument.prototype.clear = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.close\\n */\\nDocument.prototype.close;\\n\\n/**\\n * @param {string} type\\n * @return {Event}\\n */\\nDocument.prototype.createEvent = function(type) {};\\nDocument.prototype.createNSResolver;\\n/** @return {Range} */ Document.prototype.createRange = function() {};\\nDocument.prototype.createTreeWalker;\\n\\nDocument.prototype.evaluate;\\n\\n/**\\n * @param {string} commandName\\n * @param {?boolean=} opt_showUi\\n * @param {*=} opt_value\\n * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands\\n */\\nDocument.prototype.execCommand;\\n\\n/**\\n * @param {string} name\\n * @return {!NodeList}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName\\n */\\nDocument.prototype.getElementsByClassName = function(name) {};\\n\\n/**\\n * @param {string} uri\\n * @return {undefined}\\n */\\nDocument.prototype.load = function(uri) {};\\nDocument.prototype.loadOverlay;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.open\\n */\\nDocument.prototype.open;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nDocument.prototype.queryCommandEnabled;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nDocument.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nDocument.prototype.queryCommandState;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n * @param {string} command\\n * @return {?} Implementation-specific.\\n */\\nDocument.prototype.queryCommandSupported;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nDocument.prototype.queryCommandValue;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.write\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.write = function(text) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.writeln\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.writeln = function(text) {};\\n\\nDocument.prototype.ononline;\\nDocument.prototype.onoffline;\\n\\n// XUL\\n/**\\n * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor\\n * @return {BoxObject}\\n * @nosideeffects\\n */\\nDocument.prototype.getBoxObjectFor = function(element) {};\\n\\n// From:\\n// http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl\\n\\n/**\\n * @param {string} tag\\n * @return {DocumentFragment}\\n */\\nRange.prototype.createContextualFragment;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.isPointInRange;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.comparePoint;\\n\\n/**\\n * @param {Node} n\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.intersectsNode;\\n\\n/**\\n * @param {Node} n\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.compareNode;\\n\\n\\n/** @constructor */\\nfunction Selection() {}\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode\\n */\\nSelection.prototype.anchorNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset\\n */\\nSelection.prototype.anchorOffset;\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusNode\\n */\\nSelection.prototype.focusNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset\\n */\\nSelection.prototype.focusOffset;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed\\n */\\nSelection.prototype.isCollapsed;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount\\n */\\nSelection.prototype.rangeCount;\\n\\n/**\\n * @param {Range} range\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/addRange\\n */\\nSelection.prototype.addRange = function(range) {};\\n\\n/**\\n * @param {number} index\\n * @return {Range}\\n * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt\\n * @nosideeffects\\n */\\nSelection.prototype.getRangeAt = function(index) {};\\n\\n/**\\n * @param {Node} node\\n * @param {number} index\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapse\\n */\\nSelection.prototype.collapse = function(node, index) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd\\n */\\nSelection.prototype.collapseToEnd = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart\\n */\\nSelection.prototype.collapseToStart = function() {};\\n\\n/**\\n * @param {Node} node\\n * @param {boolean} partlyContained\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/containsNode\\n * @nosideeffects\\n */\\nSelection.prototype.containsNode = function(node, partlyContained) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument\\n * @return {undefined}\\n */\\nSelection.prototype.deleteFromDocument = function() {};\\n\\n/**\\n * @param {Node} parentNode\\n * @param {number} offset\\n * @see https://developer.mozilla.org/en/DOM/Selection/extend\\n * @return {undefined}\\n */\\nSelection.prototype.extend = function(parentNode, offset) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges\\n * @return {undefined}\\n */\\nSelection.prototype.removeAllRanges = function() {};\\n\\n/**\\n * @param {Range} range\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeRange\\n * @return {undefined}\\n */\\nSelection.prototype.removeRange = function(range) {};\\n\\n/**\\n * @param {Node} parentNode\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren\\n */\\nSelection.prototype.selectAllChildren;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange\\n */\\nSelection.prototype.selectionLanguageChange;\\n\\n/**\\n * @type {!NodeList}\\n * @see https://developer.mozilla.org/en/DOM/element.children\\n */\\nElement.prototype.children;\\n\\n/**\\n * Firebug sets this property on elements it is inserting into the DOM.\\n * @type {boolean}\\n */\\nElement.prototype.firebugIgnore;\\n\\n/**\\n * Note: According to the spec, id is actually defined on HTMLElement and\\n * SVGElement, rather than Element. Deliberately ignore this so that saying\\n * Element.id is allowed.\\n * @type {string}\\n * @implicitCast\\n */\\nElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML\\n * @implicitCast\\n */\\nElement.prototype.innerHTML;\\n\\n/**\\n * Note: According to the spec, name is defined on specific types of\\n * HTMLElements, rather than on Node, Element, or HTMLElement directly.\\n * Ignore this.\\n * @type {string}\\n */\\nElement.prototype.name;\\n\\nElement.prototype.nodePrincipal;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * This belongs on HTMLElement rather than Element, but that\\n * breaks a lot.\\n * TODO(rdcronin): Remove this declaration once the breakage is fixed.\\n */\\nElement.prototype.style;\\n\\n/**\\n * @override\\n * @return {!Element}\\n */\\nElement.prototype.cloneNode = function(deep) {};\\n\\n/** @return {undefined} */\\nElement.prototype.blur = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.click = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.focus = function() {};\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setSelectionRange =\\n function(selectionStart, selectionEnd) {};\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setSelectionRange =\\n function(selectionStart, selectionEnd) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.buildID\\n */\\nNavigator.prototype.buildID;\\n\\n/**\\n * @type {!Array|undefined}\\n * @see https://developer.mozilla.org/en/Navigator.languages\\n */\\nNavigator.prototype.languages;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.oscpu\\n */\\nNavigator.prototype.oscpu;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.productSub\\n */\\nNavigator.prototype.productSub;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\\n */\\nNavigator.prototype.securityPolicy;\\n\\n/**\\n * @param {string} url\\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\\n */\\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendor\\n */\\nNavigator.prototype.vendor;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\\n */\\nNavigator.prototype.vendorSub;\\n\\n\\n/** @constructor */\\nfunction BoxObject() {}\\n\\n/** @type {Element} */\\nBoxObject.prototype.element;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenX;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenY;\\n\\n/** @type {number} */\\nBoxObject.prototype.x;\\n\\n/** @type {number} */\\nBoxObject.prototype.y;\\n\\n/** @type {number} */\\nBoxObject.prototype.width;\\n\\n\\n/**\\n * @param {Element} element\\n * @param {?string=} pseudoElt\\n * @return {?CSSStyleDeclaration}\\n * @nosideeffects\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\n */\\nfunction getComputedStyle(element, pseudoElt) {}\\n","externs/ie_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n * W3C\'s DOM specification by IE in JScript. This file depends on\\n * w3c_dom2.js. The whole file has NOT been fully type annotated.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead\\n// of kludging them as an inheritance hierarchy.\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx\\n */\\nfunction XMLDOMDocument() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.async;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ondataavailable;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.onreadystatechange;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ontransformnode;\\n\\n/**\\n * @type {Object}\\n * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.parseError;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.preserveWhiteSpace;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.readyState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx\\n * @type {boolean}\\n */\\nXMLDOMDocument.prototype.resolveExternals;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx\\n * @param {string} name\\n * @param {*} value\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.setProperty = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.url;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.validateOnParse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.abort = function() {};\\n\\n/**\\n * @param {*} type\\n * @param {string} name\\n * @param {string} namespaceURI\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx\\n * @nosideeffects\\n */\\nXMLDOMDocument.prototype.createNode = function(type, name, namespaceURI) {};\\n\\n/**\\n * @param {string} xmlSource\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.load = function(xmlSource) {};\\n\\n/**\\n * @param {string} xmlString\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.loadXML = function(xmlString) {};\\n\\n/**\\n * @param {string} id\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.nodeFromID = function(id) {};\\n\\n//==============================================================================\\n// XMLNode methods and properties\\n// In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.\\n// Since we can\'t express that in our type system, we put XMLNode properties\\n// on Node.\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx\\n */\\nNode.prototype.baseName;\\n\\n/**\\n * @type {?string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx\\n */\\nNode.prototype.dataType;\\n\\n/**\\n * @type {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx\\n */\\nNode.prototype.definition;\\n\\n/**\\n * IE5 used document instead of ownerDocument.\\n * Old versions of WebKit used document instead of contentDocument.\\n * @type {Document}\\n */\\nNode.prototype.document;\\n\\n\\n/**\\n * Inserts the given H'; -a.a+="TML text into the element at the location.\\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\\n * 'afterBegin', 'beforeEnd', 'afterEnd'.\\n * @param {string} sText HTML text to insert.\\n * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx\\n * @return {undefined}\\n */\\nNode.prototype.insertAdjacentHTML = function(sWhere, sText) {};\\n\\n\\n/**\\n * @type {*}\\n * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx\\n */\\nNode.prototype.nodeTypedValue;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx\\n */\\nNode.prototype.nodeTypeString;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx\\n */\\nNode.prototype.parsed;\\n\\n/**\\n * @type {Element}\\n * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx\\n */\\nNode.prototype.parentElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx\\n */\\nNode.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx\\n */\\nNode.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx\\n */\\nNode.prototype.xml;\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {!NodeList}\\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectNodes = function(expression) {};\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectSingleNode = function(expression) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.transformNode = function(stylesheet) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @param {Object} outputObject\\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\\n * @return {Object}\\n */\\nNode.prototype.transformNodeToObject =\\n function(stylesheet, outputObject) {};\\n\\n//==============================================================================\\n// Node methods\\n\\n/**\\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\\n * Defaults to false.\\n * @return {Node} The object that was removed.\\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\\n */\\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\\n\\n/**\\n * @constructor\\n */\\nfunction ClipboardData() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\\n * 'URL' or 'File' or 'HTML' or 'Image'.\\n * @return {undefined}\\n */\\nClipboardData.prototype.clearData = function(opt_type) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\\n * @param {string} data Data to set\\n * @return {boolean} Whether the data were set correctly.\\n */\\nClipboardData.prototype.setData = function(type, data) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\\n * @return {string} The current data\\n */\\nClipboardData.prototype.getData = function(type) { };\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window\\n */\\nvar window;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @type {ClipboardData}\\n */\\nWindow.prototype.clipboardData;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx\\n */\\nWindow.prototype.dialogHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx\\n */\\nWindow.prototype.dialogLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx\\n */\\nWindow.prototype.dialogTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx\\n */\\nWindow.prototype.dialogWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx\\n */\\nWindow.prototype.event;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPer1_0Server;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPerServer;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx\\n */\\nWindow.prototype.offscreenBuffering;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\n */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\n */\\nWindow.prototype.screenTop;\\n\\n// Functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nWindow.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx\\n */\\nWindow.prototype.createPopup;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nWindow.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx\\n */\\nWindow.prototype.execScript;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nWindow.prototype.focus;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveBy = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx\\n */\\nWindow.prototype.navigate;\\n\\n/**\\n * @param {*=} opt_url\\n * @param {string=} opt_windowName\\n * @param {string=} opt_windowFeatures\\n * @param {boolean=} opt_replace\\n * @return {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx\\n */\\nWindow.prototype.open = function(opt_url, opt_windowName, opt_windowFeatures,\\n opt_replace) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.print = function() {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeBy = function(width, height) {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeTo = function(width, height) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nWindow.prototype.setActive;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx\\n */\\nWindow.prototype.showHelp;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx\\n */\\nWindow.prototype.showModelessDialog;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx\\n * @const {!Object}\\n */\\nWindow.prototype.external;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number|string} delta The number of entries to go back, or\\n * the URL to which to go back. (URL form is supported only in IE)\\n * @return {undefined}\\n */\\nHistory.prototype.go = function(delta) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number=} opt_distance The number of entries to go back\\n * (Mozilla doesn't support distance -- use #go instead)\\n * @return {undefined}\\n */\\nHistory.prototype.back = function(opt_distance) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @type {number}\\n */\\nHistory.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @return {undefined}\\n */\\nHistory.prototype.forward = function() {};\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLFrameElement.prototype.contentWindow;\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLIFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.contentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx\\n */\\nHTMLBodyElement.prototype.createControlRange;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLScriptElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLImageElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLObjectElement.prototype.readyState;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction ControlRange() {}\\n\\nControlRange.prototype.add;\\nControlRange.prototype.addElement;\\nControlRange.prototype.execCommand;\\nControlRange.prototype.item;\\nControlRange.prototype.queryCommandEnabled;\\nControlRange.prototype.queryCommandIndeterm;\\nControlRange.prototype.queryCommandState;\\nControlRange.prototype.queryCommandSupported;\\nControlRange.prototype.queryCommandValue;\\nControlRange.prototype.remove;\\nControlRange.prototype.scrollIntoView;\\nControlRange.prototype.select;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx\\n */\\nfunction TextRange() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx\\n */\\nTextRange.prototype.boundingHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx\\n */\\nTextRange.prototype.boundingLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspx\\n */\\nTextRange.prototype.boundingTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx\\n */\\nTextRange.prototype.boundingWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx\\n */\\nTextRange.prototype.htmlText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx\\n */\\nTextRange.prototype.offsetLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx\\n */\\nTextRange.prototype.offsetTop;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\\n */\\nTextRange.prototype.text;\\n\\n/**\\n * @param {boolean=} opt_toStart\\n * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx\\n */\\nTextRange.prototype.collapse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx\\n */\\nTextRange.prototype.compareEndPoints;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx\\n */\\nTextRange.prototype.duplicate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx\\n */\\nTextRange.prototype.execCommand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx\\n */\\nTextRange.prototype.expand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx\\n */\\nTextRange.prototype.findText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx\\n */\\nTextRange.prototype.getBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx\\n */\\nTextRange.prototype.getBoundingClientRect;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx\\n */\\nTextRange.prototype.getClientRects;\\n\\n/**\\n * @param {TextRange|ControlRange} range\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx\\n */\\nTextRange.prototype.inRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx\\n */\\nTextRange.prototype.isEqual;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx\\n */\\nTextRange.prototype.move;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx\\n */\\nTextRange.prototype.moveEnd;\\n\\n/**\\n * @param {string} unit\\n * @param {number=} opt_count\\n * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx\\n */\\nTextRange.prototype.moveStart;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx\\n */\\nTextRange.prototype.moveToBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx\\n */\\nTextRange.prototype.moveToElementText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx\\n */\\nTextRange.prototype.moveToPoint;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx\\n * @return {?Element}\\n */\\nTextRange.prototype.parentElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx\\n */\\nTextRange.prototype.pasteHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandEnabled;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandSupported;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandValue;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx\\n */\\nTextRange.prototype.scrollIntoView;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\\n */\\nTextRange.prototype.select = function() {};\\n\\n/**\\n * @param {string} how\\n * @param {TextRange|ControlRange} sourceRange\\n * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx\\n */\\nTextRange.prototype.setEndPoint;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx\\n */\\nSelection.prototype.clear = function() {};\\n\\n/**\\n * @return {TextRange|ControlRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx\\n */\\nSelection.prototype.createRange = function() {};\\n\\n/**\\n * @return {Array}\\n * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx\\n */\\nSelection.prototype.createRangeCollection = function() {};\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx\\n */\\nfunction controlRange() {}\\n\\n\\nDocument.prototype.loadXML;\\n\\n\\n// http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx\\n */\\nDocument.prototype.activeElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx\\n */\\nDocument.prototype.charset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx\\n */\\nDocument.prototype.cookie;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspx\\n */\\nDocument.prototype.defaultCharset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx\\n */\\nDocument.prototype.dir;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx\\n */\\nDocument.prototype.documentMode;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx\\n */\\nDocument.prototype.expando;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/l"; -a.a+='ibrary/ms533750(VS.85).aspx\\n */\\nDocument.prototype.fileCreatedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx\\n */\\nDocument.prototype.fileModifiedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx\\n */\\nDocument.prototype.fileSize;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx\\n * @type {?Window}\\n */\\nDocument.prototype.parentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n */\\nDocument.prototype.protocol;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLDocument.prototype.readyState;\\n\\n/**\\n * @type {Selection}\\n * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx\\n */\\nDocument.prototype.selection;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx\\n */\\nDocument.prototype.uniqueID;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx\\n */\\nDocument.prototype.URLUnencoded;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx\\n */\\nDocument.prototype.XMLDocument;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx\\n */\\nDocument.prototype.XSLDocument;\\n\\n// functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nDocument.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx\\n */\\nDocument.prototype.createEventObject;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx\\n */\\nDocument.prototype.createStyleSheet;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nDocument.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nDocument.prototype.focus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx\\n * @return {boolean}\\n */\\nDocument.prototype.hasFocus = function() {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx\\n */\\nDocument.prototype.mergeAttributes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx\\n */\\nDocument.prototype.recalc;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n */\\nDocument.prototype.releaseCapture;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nDocument.prototype.setActive;\\n\\n\\n// collections\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx\\n */\\nDocument.prototype.all;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx\\n */\\nDocument.prototype.childNodes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx\\n */\\nDocument.prototype.frames;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx\\n */\\nDocument.prototype.namespaces;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx\\n * @type {!HTMLCollection}\\n */\\nDocument.prototype.scripts;\\n\\n/**\\n * @param {string} sUrl\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx\\n */\\nElement.prototype.addBehavior = function(sUrl) {};\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx\\n */\\nElement.prototype.attachEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx\\n */\\nElement.prototype.canHaveChildren;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx\\n */\\nElement.prototype.classid;\\n\\n/**\\n * @param {number} iCoordX Integer that specifies the client window coordinate\\n * of x.\\n * @param {number} iCoordY Integer that specifies the client window coordinate\\n * of y.\\n * @return {string} The component of an element located at the specified\\n * coordinates.\\n * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.componentFromPoint = function(iCoordX, iCoordY) {};\\n\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx\\n */\\nElement.prototype.contentEditable;\\n\\n/**\\n * @return {TextRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx\\n */\\nElement.prototype.createTextRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx\\n * @type {?CSSStyleDeclaration}\\n */\\nElement.prototype.currentStyle;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx\\n */\\nElement.prototype.detachEvent;\\n\\n/**\\n * @param {string=} opt_action\\n * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx\\n * @return {undefined}\\n */\\nElement.prototype.doScroll = function(opt_action) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx\\n */\\nElement.prototype.fireEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx\\n */\\nElement.prototype.hideFocus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx\\n */\\nElement.prototype.innerText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx\\n */\\nElement.prototype.isContentEditable;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with subclasses.\\n */\\nElement.prototype.load;\\n\\n/**\\n * @param {number} pointerId Id of the pointer that is assign to the element.\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.msSetPointerCapture = function(pointerId) {};\\n\\n/**\\n * @param {number} pointerId\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx\\n * @return {undefined}\\n */\\nElement.prototype.msReleasePointerCapture = function(pointerId) {};\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx\\n */\\nElement.prototype.onbeforedeactivate;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx\\n */\\nElement.prototype.onmouseenter;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx\\n */\\nElement.prototype.onmouseleave;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspx\\n */\\nElement.prototype.onselectstart;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspx\\n */\\nElement.prototype.outerHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.releaseCapture = function() {};\\n\\n/**\\n * @param {number} iID\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx\\n */\\nElement.prototype.removeBehavior = function(iID) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx\\n */\\nElement.prototype.runtimeStyle;\\n\\n/**\\n * @param {string} sStoreName The arbitrary name assigned to a persistent object\\n * in a UserData store.\\n * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.save = function(sStoreName) {};\\n\\n/**\\n * @param {boolean=} opt_bContainerCapture Events originating in a container are\\n * captured by the container. Defaults to true.\\n * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.setCapture = function(opt_bContainerCapture) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx\\n */\\nElement.prototype.sourceIndex;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx\\n */\\nElement.prototype.unselectable;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx\\n */\\nfunction HTMLFiltersCollection() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx\\n * @type {number}\\n */\\nHTMLFiltersCollection.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx\\n * @type {HTMLFiltersCollection}\\n */\\nElement.prototype.filters;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx\\n */\\nfunction HTMLFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx\\n * @return {undefined}\\n */\\nHTMLFilter.prototype.apply = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx\\n */\\nfunction AlphaFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx\\n * @type {number}\\n */\\nAlphaFilter.prototype.Opacity;\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx\\n */\\nfunction AlphaImageLoaderFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx\\n * @type {string}\\n */\\nAlphaImageLoaderFilter.prototype.sizingMethod;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspx\\n */\\nfunction Location() {}\\n\\n/**\\n * @see http://trac.webkit.org/changeset/113945\\n * @type {DOMStringList}\\n */\\nLocation.prototype.ancestorOrigins;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hash;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.host;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hostname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.href;\\n\\n/**\\n * @see https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en\\n * @type {string}\\n */\\nLocation.prototype.origin;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.pathname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspx\\n */\\nLocation.prototype.port;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.protocol;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.search;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx\\n * @param {string} url\\n * @return {undefined}\\n */\\nLocation.prototype.assign = function(url) {};\\n\\n/**\\n * @param {boolean=} opt_forceReload If true, reloads the page from\\n * the server. Defaults to false.\\n * @see http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.reload = function(opt_forceReload) {};\\n\\n/**\\n * @param {string} url\\n * @see http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.replace = function(url) {};\\n\\n\\n// For IE, returns an object representing key-value pairs for all the global\\n// variables prefixed with str, e.g. test*\\n\\n/** @param {*=} opt_str\\n */\\nfunction RuntimeObject(opt_str) {}\\n\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx\\n */\\nHTMLStyleElement.prototype.styleSheet;\\n\\n\\n/**\\n * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests)\\n * via the XDomainRequest object.\\n *\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx\\n * @see http://www.w3.org/TR/cors/\\n */\\nfunction XDomainRequest() {}\\n\\n/**\\n * Aborts the request.\\n * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.abort = function() {};\\n\\n/**\\n * Sets the method and URL for the request.\\n * @param {string} bstrMethod Either \\"GET\\" or \\"POST\\"\\n * @param {string} bstrUrl The target URL\\n * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.open = function(bstrMethod, bstrUrl) {};\\n\\n/**\\n * Sends the request.\\n * @param {string=} varBody The POST body to send to the server. If omitted,\\n * the behavior is identical to sending an empty string.\\n * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.send = function(varBody) {};\\n\\n/**\\n * Called if the request could not be completed. Note that error information is\\n * not available.\\n * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onerror;\\n\\n/**\\n * Called when the response has finished.\\n * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onload;\\n\\n/**\\n * Called every time part of the response has been received.\\n * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onprogress;\\n\\n/**\\n * Called if the timeout period has elapsed.\\n * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.ontimeout;\\n\\n/**\\n * The current response body.\\n * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx\\n * @type {string}\\n */\\nXDomainRequest.prototype.responseText;\\n\\n/**\\n * The timeout (in milliseconds) for the request.\\n * @type {number}\\n */\\nXDomainRequest.prototype.timeout;\\n\\n/**\\n * The Content-Type of the response, or an empty string.\\n * @type {string}\\n */\\nXDomainRequest.prototype.contentType;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx\\n */\\nNavigator.prototype.browserLanguage;\\n\\n/**\\n * @type {number}\\n * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx\\n */\\nNavigator.prototype.msMaxTouchPoints;\\n\\n/**\\n * @type {boolean}\\n * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx\\n */\\nNavigator.prototype.msPointerEnabled;\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveOrOpenBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx\\n */\\nScreen.prototype.deviceXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalYDPI;\\n","externs/webkit_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s DOM\\n * specification b'; -a.a+='y WebKit. This file depends on w3c_dom2.js.\\n * All the provided definitions has been type annotated\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @param {boolean=} opt_center\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoViewIfNeeded = function(opt_center) {};\\n\\n/**\\n * @constructor\\n * @see 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 * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl\\n */\\nfunction ScriptProfileNode() {};\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.functionName;\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.url;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.lineNumber;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.totalTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.selfTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.numberOfCalls;\\n\\n/** @type {Array} */\\nScriptProfileNode.prototype.children;\\n\\n/** @type {boolean} */\\nScriptProfileNode.prototype.visible;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.callUID;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\\n */\\nfunction ScriptProfile() {};\\n\\n/** @type {string} */\\nScriptProfile.prototype.title;\\n\\n/** @type {number} */\\nScriptProfile.prototype.uid;\\n\\n/** @type {ScriptProfileNode} */\\nScriptProfile.prototype.head;\\n\\n/**\\n * @constructor\\n * @see https://console.spec.whatwg.org/\\n */\\nfunction Console() {};\\n\\n/**\\n * @param {*} condition\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.assert = function(condition, var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.error = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.info = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.log = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.warn = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.debug = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.dir = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.dirxml = function(var_args) {};\\n\\n/**\\n * @param {!Object} data\\n * @param {*=} opt_columns\\n * @return {undefined}\\n */\\nConsole.prototype.table = function(data, opt_columns) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.trace = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.count = function(value) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.markTimeline = function(value) {};\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profile = function(opt_title) {};\\n\\n/** @type {Array} */\\nConsole.prototype.profiles;\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profileEnd = function(opt_title) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.time = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.timeEnd = function(name) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.timeStamp = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.group = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.groupCollapsed = function(var_args) {};\\n\\nConsole.prototype.groupEnd = function() {};\\n\\nConsole.prototype.clear = function() {};\\n\\n/** @type {MemoryInfo} */\\nConsole.prototype.memory;\\n\\n/** @type {!Console} */\\nWindow.prototype.console;\\n\\n/**\\n * @type {!Console}\\n * @suppress {duplicate}\\n */\\nvar console;\\n\\n/**\\n * @type {number}\\n * @see http://developer.android.com/reference/android/webkit/WebView.html\\n */\\nWindow.prototype.devicePixelRatio;\\n\\n/** @type {Node} */\\nSelection.prototype.baseNode;\\n\\n/** @type {number} */\\nSelection.prototype.baseOffset;\\n\\n/** @type {Node} */\\nSelection.prototype.extentNode;\\n\\n/** @type {number} */\\nSelection.prototype.extentOffset;\\n\\n/** @type {string} */\\nSelection.prototype.type;\\n\\n/**\\n * @return {undefined}\\n */\\nSelection.prototype.empty = function() {};\\n\\n/**\\n * @param {Node} baseNode\\n * @param {number} baseOffset\\n * @param {Node} extentNode\\n * @param {number} extentOffset\\n * @return {undefined}\\n */\\nSelection.prototype.setBaseAndExtent =\\n function(baseNode, baseOffset, extentNode, extentOffset) {};\\n\\n/**\\n * @param {string} alter\\n * @param {string} direction\\n * @param {string} granularity\\n * @return {undefined}\\n */\\nSelection.prototype.modify = function(alter, direction, granularity) {};\\n\\n/**\\n * @param {Element} element\\n * @param {string} pseudoElement\\n * @param {boolean=} opt_authorOnly\\n * @return {CSSRuleList}\\n * @nosideeffects\\n */\\nViewCSS.prototype.getMatchedCSSRules =\\n function(element, pseudoElement, opt_authorOnly) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {string} name\\n * @param {number} width\\n * @param {number} height\\n * @nosideeffects\\n * @return {undefined}\\n */\\nDocument.prototype.getCSSCanvasContext =\\n function(contextId, name, width, height) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Range}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\\n */\\nDocument.prototype.caretRangeFromPoint = function(x, y) {};\\n","externs/w3c_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s CSS specification\\n * The whole file has been fully type annotated.\\n * http://www.w3.org/TR/DOM-Level-2-Style/css.html\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n *\\n * TODO(nicksantos): When there are no more occurrences of w3c_range.js and\\n * gecko_dom.js being included directly in BUILD files, bug dbeam to split the\\n * bottom part of this file into a separate externs.\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet\\n */\\nfunction StyleSheet() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type\\n */\\nStyleSheet.prototype.type;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled\\n */\\nStyleSheet.prototype.disabled;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner\\n */\\nStyleSheet.prototype.ownerNode;\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\\n */\\nStyleSheet.prototype.parentStyleSheet;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\\n */\\nStyleSheet.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\\n */\\nStyleSheet.prototype.title;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\\n */\\nStyleSheet.prototype.media;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\\n */\\nfunction StyleSheetList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\\n */\\nStyleSheetList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\\n */\\nStyleSheetList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\\n */\\nfunction MediaList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\\n */\\nMediaList.prototype.mediaText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\\n */\\nMediaList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\\n */\\nMediaList.prototype.item = function(index) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\\n */\\nfunction LinkStyle() {}\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\\n */\\nLinkStyle.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\\n */\\nfunction DocumentStyle() {}\\n\\n/**\\n * @type {StyleSheetList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\\n */\\nDocumentStyle.prototype.styleSheets;\\n\\n/**\\n * @constructor\\n * @extends {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\\n */\\nfunction CSSStyleSheet() {}\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule\\n */\\nCSSStyleSheet.prototype.ownerRule;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\\n */\\nCSSStyleSheet.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\\n */\\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\\n * @return {undefined}\\n */\\nCSSStyleSheet.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\\n */\\nfunction CSSRuleList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\\n */\\nCSSRuleList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\\n */\\nCSSRuleList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\\n */\\nfunction CSSRule() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\\n */\\nCSSRule.prototype.cssText;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\\n */\\nCSSRule.prototype.parentStyleSheet;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\\n */\\nCSSRule.prototype.parentRule;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nCSSRule.prototype.style;\\n\\n/**\\n * Indicates that the rule is a {@see CSSUnknownRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.UNKNOWN_RULE = 0;\\n\\n/**\\n * Indicates that the rule is a {@see CSSStyleRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.STYLE_RULE = 1;\\n\\n/**\\n * Indicates that the rule is a {@see CSSCharsetRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.CHARSET_RULE = 2;\\n\\n/**\\n * Indicates that the rule is a {@see CSSImportRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.IMPORT_RULE = 3;\\n\\n/**\\n * Indicates that the rule is a {@see CSSMediaRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.MEDIA_RULE = 4;\\n\\n/**\\n * Indicates that the rule is a {@see CSSFontFaceRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.FONT_FACE_RULE = 5;\\n\\n/**\\n * Indicates that the rule is a {@see CSSPageRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.PAGE_RULE = 6;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nfunction CSSStyleRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText\\n */\\nCSSStyleRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style\\n */\\nCSSStyleRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\\n */\\nfunction CSSMediaRule() {}\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes\\n */\\nCSSMediaRule.prototype.media;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules\\n */\\nCSSMediaRule.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule\\n */\\nCSSMediaRule.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule\\n * @return {undefined}\\n */\\nCSSMediaRule.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule\\n */\\nfunction CSSFontFaceRule() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style\\n */\\nCSSFontFaceRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule\\n */\\nfunction CSSPageRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name\\n */\\nCSSPageRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style\\n */\\nCSSPageRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule\\n */\\nfunction CSSImportRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.or'; -a.a+="g/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href\\n */\\nCSSImportRule.prototype.href;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media\\n */\\nCSSImportRule.prototype.media;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet\\n */\\nCSSImportRule.prototype.styleSheet;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule\\n */\\nfunction CSSCharsetRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding\\n */\\nCSSCharsetRule.prototype.encoding;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule\\n */\\nfunction CSSUnknownRule() {}\\n\\n/**\\n * @constructor\\n * @extends {CSSProperties}\\n * @implements {IObject<(string|number), string>}\\n * @implements {IArrayLike}\\n * @implements {Iterable}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\\n */\\nfunction CSSStyleDeclaration() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText\\n */\\nCSSStyleDeclaration.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length\\n */\\nCSSStyleDeclaration.prototype.length;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule\\n */\\nCSSStyleDeclaration.prototype.parentRule;\\n\\n/**\\n * @param {string} propertyName\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyCSSValue = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority\\n */\\nCSSStyleDeclaration.prototype.getPropertyPriority = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyValue = function(propertyName) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\\n */\\nCSSStyleDeclaration.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\\n */\\nCSSStyleDeclaration.prototype.removeProperty = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @param {string} value\\n * @param {string=} opt_priority\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\\n */\\nCSSStyleDeclaration.prototype.setProperty = function(propertyName, value, opt_priority) {};\\n\\n// IE-specific\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeAttribute =\\n function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @param {number=} opt_flags\\n * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx\\n * @return {undefined}\\n */\\nCSSStyleDeclaration.prototype.setAttribute = function(name, value, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} expr\\n * @param {string=} opt_language\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.setExpression =\\n function(name, expr, opt_language) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue\\n */\\nfunction CSSValue() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText\\n */\\nCSSValue.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType\\n */\\nCSSValue.prototype.cssValueType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_INHERIT = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_PRIMITIVE_VALUE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_VALUE_LIST = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_CUSTOM = 3;\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nfunction CSSPrimitiveValue() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.prototype.primitiveType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_UNKNOWN = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_NUMBER = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PERCENTAGE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EMS = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EXS = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PX = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_CM = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MM = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IN = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PT = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PC = 10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DEG = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RAD = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_GRAD = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MS = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_S = 15;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_HZ = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_KHZ = 17;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DIMENSION = 18;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_STRING = 19;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_URI = 20;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IDENT = 21;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_ATTR = 22;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_COUNTER = 23;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RECT = 24;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RGBCOLOR = 25;\\n\\n/**\\n * @return {Counter}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getCounterValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getFloatValue = function(unitType) {};\\n\\n/**\\n * @return {RGBColor}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRGBColorValue = function() {};\\n\\n/**\\n * @return {Rect}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRectValue = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getStringValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @param {number} floatValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n * {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setFloatValue = function(unitType, floatValue) {};\\n\\n/**\\n * @param {number} stringType\\n * @param {string} stringValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n * {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setStringValue = function(stringType, stringValue) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\\n */\\nfunction CSSValueList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\\n */\\nCSSValueList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\\n */\\nCSSValueList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\\n */\\nfunction RGBColor() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\\n */\\nRGBColor.prototype.red;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\\n */\\nRGBColor.prototype.green;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\\n */\\nRGBColor.prototype.blue;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\\n */\\nfunction Rect() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\\n */\\nRect.prototype.top;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\\n */\\nRect.prototype.right;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\\n */\\nRect.prototype.bottom;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\\n */\\nRect.prototype.left;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\\n */\\nfunction Counter() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\\n */\\nCounter.prototype.identifier;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\\n */\\nCounter.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\\n */\\nCounter.prototype.separator;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS\\n */\\nfunction ViewCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {?string=} opt_pseudoElt This argument is required according to the\\n * CSS2 specification, but optional in all major browsers. See the note at\\n * https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle\\n * @return {?CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\n */\\nViewCSS.prototype.getComputedStyle = function(elt, opt_pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS\\n */\\nfunction DocumentCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {string} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle\\n */\\nDocumentCSS.prototype.getOverrideStyle = function(elt, pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS\\n */\\nfunction DOMImplementationCSS() {}\\n\\n/**\\n * @param {string} title\\n * @param {string} media\\n * @return {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet\\n * @throws DOMException {@see DomException.SYNTAX_ERR}\\n */\\nDOMImplementationCSS.prototype.createCSSStyleSheet = function(title, media) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nfunction ElementCSSInlineStyle() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style\\n */\\nElementCSSInlineStyle.prototype.style;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties\\n */\\nfunction CSSProperties() {}\\n\\n// CSS 2 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth\\n */\\nCSSProperties.prototype.azimuth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background\\n */\\nCSSProperties.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.or"; -a.a+="g/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment\\n */\\nCSSProperties.prototype.backgroundAttachment;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor\\n */\\nCSSProperties.prototype.backgroundColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage\\n */\\nCSSProperties.prototype.backgroundImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition\\n */\\nCSSProperties.prototype.backgroundPosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat\\n */\\nCSSProperties.prototype.backgroundRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-background-size\\n */\\nCSSProperties.prototype.backgroundSize;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border\\n */\\nCSSProperties.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse\\n */\\nCSSProperties.prototype.borderCollapse;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor\\n */\\nCSSProperties.prototype.borderColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing\\n */\\nCSSProperties.prototype.borderSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle\\n */\\nCSSProperties.prototype.borderStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop\\n */\\nCSSProperties.prototype.borderTop;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight\\n */\\nCSSProperties.prototype.borderRight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom\\n */\\nCSSProperties.prototype.borderBottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft\\n */\\nCSSProperties.prototype.borderLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor\\n */\\nCSSProperties.prototype.borderTopColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor\\n */\\nCSSProperties.prototype.borderRightColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor\\n */\\nCSSProperties.prototype.borderBottomColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor\\n */\\nCSSProperties.prototype.borderLeftColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle\\n */\\nCSSProperties.prototype.borderTopStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle\\n */\\nCSSProperties.prototype.borderRightStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle\\n */\\nCSSProperties.prototype.borderBottomStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle\\n */\\nCSSProperties.prototype.borderLeftStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth\\n */\\nCSSProperties.prototype.borderTopWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth\\n */\\nCSSProperties.prototype.borderRightWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth\\n */\\nCSSProperties.prototype.borderBottomWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth\\n */\\nCSSProperties.prototype.borderLeftWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth\\n */\\nCSSProperties.prototype.borderWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomRightRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopRightRadius;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-source\\n */\\nCSSProperties.prototype.borderImageSource;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-slice\\n */\\nCSSProperties.prototype.borderImageSlice;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-width\\n */\\nCSSProperties.prototype.borderImageWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-outset\\n */\\nCSSProperties.prototype.borderImageOutset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat\\n */\\nCSSProperties.prototype.borderImageRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image\\n */\\nCSSProperties.prototype.borderImage;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom\\n */\\nCSSProperties.prototype.bottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide\\n */\\nCSSProperties.prototype.captionSide;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear\\n */\\nCSSProperties.prototype.clear;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip\\n */\\nCSSProperties.prototype.clip;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color\\n */\\nCSSProperties.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content\\n */\\nCSSProperties.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement\\n */\\nCSSProperties.prototype.counterIncrement;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset\\n */\\nCSSProperties.prototype.counterReset;\\n\\n/**\\n * This is not an official part of the W3C spec. In practice, this is a settable\\n * property that works cross-browser. It is used in goog.dom.setProperties() and\\n * needs to be extern'd so the --disambiguate_properties JS compiler pass works.\\n * @type {string}\\n */\\nCSSProperties.prototype.cssText;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue\\n */\\nCSSProperties.prototype.cue;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter\\n */\\nCSSProperties.prototype.cueAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore\\n */\\nCSSProperties.prototype.cueBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\\n */\\nCSSProperties.prototype.cursor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\\n */\\nCSSProperties.prototype.direction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\\n */\\nCSSProperties.prototype.display;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\\n */\\nCSSProperties.prototype.elevation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\\n */\\nCSSProperties.prototype.emptyCells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\\n */\\nCSSProperties.prototype.cssFloat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\\n */\\nCSSProperties.prototype.font;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\\n */\\nCSSProperties.prototype.fontFamily;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\\n */\\nCSSProperties.prototype.fontSize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\\n */\\nCSSProperties.prototype.fontSizeAdjust;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\\n */\\nCSSProperties.prototype.fontStretch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\\n */\\nCSSProperties.prototype.fontStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\\n */\\nCSSProperties.prototype.fontVariant;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\\n */\\nCSSProperties.prototype.fontWeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\\n */\\nCSSProperties.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\\n */\\nCSSProperties.prototype.left;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\\n */\\nCSSProperties.prototype.letterSpacing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\\n */\\nCSSProperties.prototype.lineHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\\n */\\nCSSProperties.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\\n */\\nCSSProperties.prototype.listStyleImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\\n */\\nCSSProperties.prototype.listStylePosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\\n */\\nCSSProperties.prototype.listStyleType;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\\n */\\nCSSProperties.prototype.margin;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\\n */\\nCSSProperties.prototype.marginTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\\n */\\nCSSProperties.prototype.marginRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\\n */\\nCSSProperties.prototype.marginBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\\n */\\nCSSProperties.prototype.marginLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\\n */\\nCSSProperties.prototype.markerOffset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\\n */\\nCSSProperties.prototype.marks;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\\n */\\nCSSProperties.prototype.maxHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\\n */\\nCSSProperties.prototype.maxWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\\n */\\nCSSProperties.prototype.minHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\\n */\\nCSSProperties.prototype.minWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\\n */\\nCSSProperties.prototype.orphans;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\\n */\\nCSSProperties.prototype.outline;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\\n */\\nCSSProperties.prototype.outlineColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\\n */\\nCSSProperties.prototype.outlineStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\\n */\\nCSSProperties.prototype.outlineWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\\n */\\nCSSProperties.prototype.overflow;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\\n */\\nCSSProperties.prototype.padding;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\\n */\\nCSSProperties.prototype.paddingTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\\n */\\nCSSProperties.prototype.paddingRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\\n */\\nCSSProperties.prototype.paddingBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\\n */\\nCSSProperties.prototype.paddingLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\\n */\\nCSSProperties.prototype.page;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\\n */\\nCSSProperties.prototype.pageBreakAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\\n */\\nCSSProperties.prototype.pageBreakBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\\n */\\nCSSProperties.prototype.pageBreakInside;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\\n */\\nCSSProperties.prototype.pause;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\\n */\\nCSSProperties.prototype.pauseAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\\n */\\nCSSProperties.prototype.pauseBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\\n */\\nCSSProperties.prototype.pitch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\\n */\\nCSSProperties.prototype.pitchRange;\\n\\n/**\\n * @type {string}\\n * @"; -a.a+="see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\\n */\\nCSSProperties.prototype.playDuring;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\\n */\\nCSSProperties.prototype.position;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\\n */\\nCSSProperties.prototype.quotes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#resize\\n */\\nCSSProperties.prototype.resize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\\n */\\nCSSProperties.prototype.richness;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\\n */\\nCSSProperties.prototype.right;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\\n */\\nCSSProperties.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\\n */\\nCSSProperties.prototype.speak;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\\n */\\nCSSProperties.prototype.speakHeader;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\\n */\\nCSSProperties.prototype.speakNumeral;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\\n */\\nCSSProperties.prototype.speakPunctuation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\\n */\\nCSSProperties.prototype.speechRate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\\n */\\nCSSProperties.prototype.stress;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\\n */\\nCSSProperties.prototype.tableLayout;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\\n */\\nCSSProperties.prototype.textAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\\n */\\nCSSProperties.prototype.textDecoration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\\n */\\nCSSProperties.prototype.textIndent;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\\n */\\nCSSProperties.prototype.textShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\\n */\\nCSSProperties.prototype.textTransform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\\n */\\nCSSProperties.prototype.top;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\\n */\\nCSSProperties.prototype.unicodeBidi;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\\n */\\nCSSProperties.prototype.verticalAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\\n */\\nCSSProperties.prototype.visibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\\n */\\nCSSProperties.prototype.voiceFamily;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\\n */\\nCSSProperties.prototype.volume;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\\n */\\nCSSProperties.prototype.whiteSpace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\\n */\\nCSSProperties.prototype.widows;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\\n */\\nCSSProperties.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\\n */\\nCSSProperties.prototype.wordSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\\n */\\nCSSProperties.prototype.wordWrap;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\\n */\\nCSSProperties.prototype.zIndex;\\n\\n// CSS 3 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#box-shadow\\n */\\nCSSProperties.prototype.boxShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\\n */\\nCSSProperties.prototype.boxSizing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-color/#transparency\\n */\\nCSSProperties.prototype.opacity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\\n */\\nCSSProperties.prototype.textOverflow;\\n\\n// CSS 3 transforms\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property\\n */\\nCSSProperties.prototype.backfaceVisibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective\\n */\\nCSSProperties.prototype.perspective;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin\\n */\\nCSSProperties.prototype.perspectiveOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#effects\\n */\\nCSSProperties.prototype.transform;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin\\n */\\nCSSProperties.prototype.transformOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style\\n */\\nCSSProperties.prototype.transformStyle;\\n\\n// CSS 3 transitions\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition\\n */\\nCSSProperties.prototype.transition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-delay\\n */\\nCSSProperties.prototype.transitionDelay;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-duration\\n */\\nCSSProperties.prototype.transitionDuration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-property-property\\n */\\nCSSProperties.prototype.transitionProperty;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function\\n */\\nCSSProperties.prototype.transitionTimingFunction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty\\n */\\nCSSProperties.prototype.pointerEvents;\\n\\n\\n// CSS Flexbox 1\\n\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property\\n */\\nCSSProperties.prototype.alignContent;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignItems;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignSelf;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-property\\n */\\nCSSProperties.prototype.flex;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property\\n */\\nCSSProperties.prototype.flexBasis;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property\\n */\\nCSSProperties.prototype.flexDirection;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property\\n */\\nCSSProperties.prototype.flexFlow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property\\n */\\nCSSProperties.prototype.flexGrow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property\\n */\\nCSSProperties.prototype.flexShrink;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property\\n */\\nCSSProperties.prototype.flexWrap;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property\\n */\\nCSSProperties.prototype.justifyContent;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#order-property\\n */\\nCSSProperties.prototype.order;\\n\\n// Externs for CSS Will Change Module Level 1\\n// http://www.w3.org/TR/css-will-change/\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css-will-change-1/#will-change\\n */\\nCSSProperties.prototype.willChange;\\n\\n\\n/**\\n * TODO(dbeam): Put this in separate file named w3c_cssom.js.\\n * Externs for the CSSOM View Module.\\n * @see http://www.w3.org/TR/cssom-view/\\n */\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface\\n\\n/**\\n * @param {string} media_query_list\\n * @return {MediaQueryList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia\\n */\\nWindow.prototype.matchMedia = function(media_query_list) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth\\n */\\nWindow.prototype.innerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight\\n */\\nWindow.prototype.innerHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx\\n */\\nWindow.prototype.scrollX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset\\n */\\nWindow.prototype.pageXOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly\\n */\\nWindow.prototype.scrollY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset\\n */\\nWindow.prototype.pageYOffset;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll\\n * @return {undefined}\\n */\\nWindow.prototype.scroll = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto\\n * @return {undefined}\\n */\\nWindow.prototype.scrollTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby\\n * @return {undefined}\\n */\\nWindow.prototype.scrollBy = function(x, y) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx\\n */\\nWindow.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny\\n */\\nWindow.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth\\n */\\nWindow.prototype.outerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight\\n */\\nWindow.prototype.outerHeight;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylist\\n */\\nfunction MediaQueryList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media\\n */\\nMediaQueryList.prototype.media;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches\\n */\\nMediaQueryList.prototype.matches;\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.addListener = function(listener) {};\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.removeListener = function(listener) {};\\n\\n/**\\n * @typedef {(function(!MediaQueryList) : void)}\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener\\n */\\nvar MediaQueryListListener;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#screen\\n */\\nfunction Screen() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth\\n */\\nScreen.prototype.availWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight\\n */\\nScreen.prototype.availHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-width\\n */\\nScreen.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-height\\n */\\nScreen.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth\\n */\\nScreen.prototype.colorDepth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth\\n */\\nScreen.prototype.pixelDepth;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint\\n */\\nDocument.prototype.elementFromPoint = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {CaretPosition}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint\\n */\\nDocument.prototype.caretPositionFromPoint = function(x, y) {};\\n\\n/**\\n * @type {Element}\\n * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement\\n */\\nDocument.prototype.scrollingElement;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#caretposition\\n */\\nfunction CaretPosition() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode\\n */\\nCaretPosition.prototype.offsetNode;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset\\n */\\nCaretPosition.prototype.offset;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects\\n */\\nElement.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect\\n */\\nElement.prototype.getBoundingClientRect = function() {};\\n\\n/**\\n * @param {(boolean|{behavior: string, block: string})=} opt_top\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoView = function(opt_top) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop\\n */\\nElement.prototype.scrollTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft\\n */\\nElement.prototype.scrollLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth\\n */\\nElement.prototype.scrollWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight\\n */\\nElement.prototype.scrollHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop\\n */\\nElement.prototype.clientTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft\\n */\\nElement.prototype.clientLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth\\n */\\nElement.prototype.clientWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight\\n */\\nElement.prototype.clientHeight;\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent\\n */\\nHTMLElement.prototype.offsetParent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop\\n */\\nHTMLElement.prototype.offsetTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft\\n */\\nHTMLElement.prototype.offsetLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth\\n */\\nHTMLElement.prototype.offsetWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight\\n */\\nHTMLElement.prototype.offsetHeight;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-range-interface\\n\\n/**\\n * @return {!ClientRe"; -a.a+="ctList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects\\n */\\nRange.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\\n */\\nRange.prototype.getBoundingClientRect = function() {};\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface\\n\\n// MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,\\n// so it seems like a specification issue. I've emailed www-style@w3.org in\\n// hopes of resolving the conflict, but in the mean time they can live here\\n// (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx\\n */\\n//MouseEvent.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny\\n */\\n//MouseEvent.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex\\n */\\nMouseEvent.prototype.pageX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey\\n */\\nMouseEvent.prototype.pageY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx\\n */\\n//MouseEvent.prototype.clientX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty\\n */\\n//MouseEvent.prototype.clientY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x\\n */\\nMouseEvent.prototype.x;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y\\n */\\nMouseEvent.prototype.y;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx\\n */\\nMouseEvent.prototype.offsetX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety\\n */\\nMouseEvent.prototype.offsetY;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#rectangles\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface\\n * @implements {IArrayLike}\\n */\\nfunction ClientRectList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length\\n */\\nClientRectList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item\\n */\\nClientRectList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrect-interface\\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 * http://www.w3.org/TR/css3-conditional/#CSS-interface\\n */\\nfunction CSSInterface() {}\\n\\n/**\\n * @param {string} ident\\n * @return {string}\\n * @see http://www.w3.org/TR/cssom/#the-css.escape()-method\\n * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR}\\n */\\nCSSInterface.prototype.escape = function(ident) {};\\n\\n/**\\n * @param {string} property\\n * @param {string=} opt_value\\n * @return {boolean}\\n */\\nCSSInterface.prototype.supports = function(property, opt_value) {};\\n\\n/**\\n * TODO(nicksantos): This suppress tag probably isn't needed, and\\n * should be removed.\\n * @suppress {duplicate}\\n * @type {CSSInterface}\\n */\\nvar CSS;\\n\\n/** @type {CSSInterface} */\\nWindow.prototype.CSS;\\n\\n// http://dev.w3.org/csswg/css-font-loading/\\n\\n/**\\n * Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus;\\n\\n/**\\n * @typedef {{\\n * style: (string|undefined),\\n * weight: (string|undefined),\\n * stretch: (string|undefined),\\n * unicodeRange: (string|undefined),\\n * variant: (string|undefined),\\n * featureSettings: (string|undefined)\\n * }}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\\n */\\nvar FontFaceDescriptors;\\n\\n/**\\n * @constructor\\n * @param {string} fontFamily\\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\\n * @param {!FontFaceDescriptors=} opt_descriptors\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\\n */\\nfunction FontFace(fontFamily, source, opt_descriptors) {}\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\\n */\\nFontFace.prototype.family;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\\n */\\nFontFace.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\\n */\\nFontFace.prototype.weight;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\\n */\\nFontFace.prototype.stretch;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\\n */\\nFontFace.prototype.unicodeRange;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\\n */\\nFontFace.prototype.variant;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\\n */\\nFontFace.prototype.featureSettings;\\n\\n/**\\n * @type {FontFaceLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\\n */\\nFontFace.prototype.status;\\n\\n/**\\n * @return {!Promise}\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\\n */\\nFontFace.prototype.load = function() {};\\n\\n/**\\n * Set of possible string values: 'loaded', 'loading'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface\\n */\\nfunction FontFaceSet() {}\\n\\n// Event handlers\\n// http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events\\n\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloading;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingdone;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingerror;\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.add = function(value) {};\\n\\n/**\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.clear = function() {};\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {!FontFace} font\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has\\n */\\nFontFaceSet.prototype.has = function(font) {};\\n\\n/**\\n * @param {function(!FontFace, number, !FontFaceSet)} cb\\n * @param {Object|undefined=} opt_selfObj\\n * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.forEach = function(cb, opt_selfObj) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {!Promise>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\\n */\\nFontFaceSet.prototype.load = function(font, opt_text) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\\n */\\nFontFaceSet.prototype.check = function(font, opt_text) {};\\n\\n/**\\n * @type {!Promise}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\\n */\\nFontFaceSet.prototype.ready;\\n\\n/**\\n * @type {FontFaceSetLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\\n */\\nFontFaceSet.prototype.status;\\n\",\"externs/gecko_css.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for Gecko's custom CSS properties. Copied from:\\n * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n\\n/** @type {string} */ CSSProperties.prototype.MozAppearance;\\n/** @type {string} */ CSSProperties.prototype.MozBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundInlinePolicy;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozBinding;\\n/** @type {string} */ CSSProperties.prototype.MozBorderBottomColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderImage;\\n/** @type {string} */ CSSProperties.prototype.MozBorderLeftColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRightColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStart;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderTopColors;\\n/** @type {string} */ CSSProperties.prototype.MozBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.MozBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.MozBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.MozBoxPack;\\n/** @type {string} */ CSSProperties.prototype.MozBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.MozBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.MozColumnCount;\\n/** @type {string} */ CSSProperties.prototype.MozColumnGap;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRule;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.MozColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.MozFloatEdge;\\n/** @type {string} */ CSSProperties.prototype.MozFontFeatureSettings;\\n/** @type {string} */ CSSProperties.prototype.MozFontLanguageOverride;\\n/** @type {string} */ CSSProperties.prototype.MozForceBrokenImageIcon;\\n/** @type {string} */ CSSProperties.prototype.MozImageRegion;\\n/** @type {string} */ CSSProperties.prototype.MozMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.MozMarginStart;\\n/** @type {number|string} */ CSSProperties.prototype.MozOpacity;\\n/** @type {string} */ CSSProperties.prototype.MozOutline;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineColor;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineOffset;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadius;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineStyle;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineWidth;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.MozPerspective;\\n/** @type {string} */ CSSProperties.prototype.MozStackSizing;\\n/** @type {string} */ CSSProperties.prototype.MozTabSize;\\n/** @type {string} */ CSSProperties.prototype.MozTransform;\\n/** @type {string} */ CSSProperties.prototype.MozTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozTransition;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.MozUserFocus;\\n/** @type {string} */ CSSProperties.prototype.MozUserInput;\\n/** @type {string} */ CSSProperties.prototype.MozUserModify;\\n/** @type {string} */ CSSProperties.prototype.MozUserSelect;\\n/** @type {string} */ CSSProperties.prototype.MozWindowShadow;\\n\\n\\n// These are non-standard Gecko CSSOM properties on Window.prototype.screen.\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availTop\\n */\\nScreen.prototype.availTop;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft\\n */\\nScreen.prototype.availLeft;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.left\\n */\\nScreen.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.top\\n */\\nScreen.prototype.top;\\n\",\"externs/ie_css.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE's custom CSS properties, as defined here:\\n * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx\\n *\\n * This page is also useful for the IDL definitions:\\n * http://source.winehq.org/source/include/mshtml.idl\\n *\\n * @externs\\n * @author nicksantos@google.com\\n */\\n\\n/** @type {Element} */\\nStyleSheet.prototype.owningElement;\\n\\n/** @type {boolean} */\\nStyleSheet.prototype.readOnly;\\n\\n/** @type {StyleSheetList} */\\nStyleSheet.prototype.imports;\\n\\n/** @type {string} */\\nStyleSheet.prototype.id;\\n\\n/**\\n * @param {string} bstrURL\\n * @param {number} lIndex\\n * @return {number}\\n */\\nStyleSheet.prototype.addImport;\\n\\n/**\\n * @param {string} bstrSelector\\n * @param {string} bstrStyle\\n * @param {number="; -a.a+='} opt_iIndex\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx\\n */\\nStyleSheet.prototype.addRule;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeImport;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeRule;\\n\\n/** @type {string} */\\nStyleSheet.prototype.cssText;\\n\\n/** @type {CSSRuleList} */\\nStyleSheet.prototype.rules;\\n\\n// StyleSheet methods\\n\\n/**\\n * @param {string} propName\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nStyleSheet.prototype.getExpression;\\n\\n/**\\n * @param {string} name\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nStyleSheet.prototype.setExpression;\\n\\n/**\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nStyleSheet.prototype.removeExpression;\\n\\n// IE-only CSS style names.\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionX;\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionY;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with caller.\\n */\\nCSSProperties.prototype.behavior;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx\\n */\\nCSSProperties.prototype.imeMode;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx\\n */\\nCSSProperties.prototype.msInterpolationMode;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowX;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowY;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelWidth;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelHeight;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelLeft;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelTop;\\n\\n/** @type {string} */ CSSProperties.prototype.styleFloat;\\n\\n/**\\n * @type {string|number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx\\n */\\nCSSProperties.prototype.zoom;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx\\n */\\nCSSProperties.prototype.writingMode;\\n\\n/**\\n * IE-specific extensions.\\n * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx\\n */\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsAccelerator;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBehavior;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBlockProgression;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsFilter;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsImeMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGrid;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridChar;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridLine;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridType;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsInterpolationMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbar3dlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarArrowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarBaseColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarDarkshadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarFaceColor;\\n\\nCSSProperties.prototype.MsScrollbarHighlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarShadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarTrackColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAlignLast;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAutospace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextJustify;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextKashidaSpace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextOverflow;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextUnderlinePosition;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordWrap;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWritingMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsZoom;\\n\\n// See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx\\n\\n/** @type {string} */\\nCSSProperties.prototype.msContentZooming;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTouchAction;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransform;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransition;\\n","externs/webkit_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebKit\'s custom CSS properties. Copied from:\\n * {@link\\n * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}\\n *\\n * If you make changes to this file, notice that every property appears\\n * twice: once as an uppercase name and once as a lowercase name.\\n * WebKit allows both. The uppercase version is preferred.\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n * @author mastepien@google.com (Marek Stepien)\\n */\\n\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.WebkitBinding;\\n/** @type {string} */ CSSProperties.prototype.WebkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitOrder;\\n/** @type {string} */ CS'; -a.a+="SProperties.prototype.WebkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\\n\\n// WebKit also adds bindings for the lowercase versions of these properties.\\n// The uppercase version is preferred.\\n\\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.webkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitMask;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototyp"; -a.a+='e.webkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\\n\\n/**\\n * @constructor\\n * @param {number} x\\n * @param {number} y\\n */\\nfunction WebKitPoint(x, y) {}\\n\\n/** @type {number} */\\nWebKitPoint.prototype.x;\\n\\n/** @type {number} */\\nWebKitPoint.prototype.y;\\n","externs/google.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 Declaration of the type level google namespace.\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/**\\n * Suppresses the compiler warning when multiple externs files declare the\\n * google namespace.\\n * @suppress {duplicate}\\n * @noalias\\n */\\n// TODO(nicksantos): Consolidate to one google namespace declaration.\\nvar google = {};\\n","externs/deprecated.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins that are not part of any specifications\\n * but are still needed in some project\'s build.\\n * @externs\\n */\\n\\nvar opera = {};\\n\\nopera.postError;\\n\\n/** @nosideeffects */\\nopera.version = function() {};\\n\\n/** @constructor */\\nfunction XSLTProcessor() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLOptionElement}\\n * @param {*=} opt_text\\n * @param {*=} opt_value\\n * @param {*=} opt_defaultSelected\\n * @param {*=} opt_selected\\n */\\nfunction Option(opt_text, opt_value, opt_defaultSelected, opt_selected) {}\\n\\n\\n// The \\"methods\\" object is a place to hang arbitrary external\\n// properties. It is a throwback to pre-typed days, and should\\n// not be used for any new definitions; it exists only to bridge\\n// the gap between the old way and the new way.\\nvar methods = {};\\n","externs/fileapi.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for objects in the File API, File Writer API, and\\n * File System API. Details of the API are at:\\n * http://www.w3.org/TR/FileAPI/\\n * http://www.w3.org/TR/file-writer-api/\\n * http://www.w3.org/TR/file-system-api/\\n *\\n * @externs\\n * @author dbk@google.com (David Barrett-Kahn)\\n * @author mpd@google.com (Michael Davidson)\\n */\\n\\n\\n/**\\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\\n * @param {Array=} opt_blobParts\\n * @param {Object=} opt_options\\n * @constructor\\n * @nosideeffects\\n */\\nfunction Blob(opt_blobParts, opt_options) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-size\\n * @type {number}\\n */\\nBlob.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-type\\n * @type {string}\\n */\\nBlob.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-slice\\n * @param {number=} start\\n * @param {number=} length\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.slice = function(start, length, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Chrome since WebKit revision 84005.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number=} start\\n * @param {number=} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.webkitSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Firefox.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number=} start\\n * @param {number=} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.mozSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface\\n * @constructor\\n */\\nfunction BlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n/**\\n * This has replaced BlobBuilder in Chrome since WebKit revision 84008.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @constructor\\n */\\nfunction WebKitBlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nWebKitBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nWebKitBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n\\n/**\\n * @record\\n * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary\\n */\\nfunction FileSystemFlags() {};\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.create;\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.exclusive;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction DirectoryEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader\\n * @return {!DirectoryReader}\\n */\\nDirectoryEntry.prototype.createReader = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!FileEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getFile = function(path, options, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!DirectoryEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getDirectory = function(path, options, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.removeRecursively = function(successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface\\n * @constructor\\n */\\nfunction DirectoryReader() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries\\n * @param {function(!Array)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryReader.prototype.readEntries = function(successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-entry-interface\\n * @constructor\\n */\\nfunction Entry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile\\n * @type {boolean}\\n */\\nEntry.prototype.isFile;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory\\n * @type {boolean}\\n */\\nEntry.prototype.isDirectory;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name\\n * @type {string}\\n */\\nEntry.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath\\n * @type {string}\\n */\\nEntry.prototype.fullPath;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem\\n * @type {!FileSystem}\\n */\\nEntry.prototype.filesystem;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.moveTo = function(parent, newName, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.copyTo = function(parent, newName, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL\\n * @param {string=} mimeType\\n * @return {string}\\n */\\nEntry.prototype.toURL = function(mimeType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.remove = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata\\n * @param {function(!Metadata)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getMetadata = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getParent = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-file\\n * @param {!Array=} opt_contents\\n * @param {string=} opt_name\\n * @param {{type: (string|undefined), lastModified: (number|undefined)}=}\\n * opt_properties\\n * @constructor\\n * @extends {Blob}\\n */\\nfunction File(opt_contents, opt_name, opt_properties) {}\\n\\n/**\\n * Chrome uses this instead of name.\\n * @deprecated Use name instead.\\n * @type {string}\\n */\\nFile.prototype.fileName;\\n\\n/**\\n * Chrome uses this instead of size.\\n * @deprecated Use size instead.\\n * @type {string}\\n */\\nFile.prototype.fileSize;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-name\\n * @type {string}\\n */\\nFile.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate\\n * @type {Date}\\n */\\nFile.prototype.lastModifiedDate;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified\\n * @type {number}\\n */\\nFile.prototype.lastModified;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction FileEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter\\n * @param {function(!FileWriter)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file\\n * @param {function(!File)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.file = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface\\n * @constructor\\n * @extends {DOMError}\\n */\\nfunction FileError() {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_FOUND_ERR = 1;\\n\\n/** @type {number} */\\nFileError.NOT_FOUND_ERR = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\\n * @type {number}\\n */\\nFileError.prototype.SECURITY_ERR = 2;\\n\\n/** @type {number} */\\nFileError.SECURITY_ERR = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR\\n * @type {number}\\n */\\nFileError.prototype.ABORT_ERR = 3;\\n\\n/** @type {number} */\\nFileError.ABORT_ERR = 3;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_READABLE_ERR = 4;\\n\\n/** @type {number} */\\nFileError.NOT_READABLE_ERR = 4;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR\\n * @type {number}\\n */\\nFileError.prototype.ENCODING_ERR = 5;\\n\\n/** @type {number} */\\nFileError.ENCODING_ERR = 5;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR\\n * @type {number}\\n */\\nFileError.prototype.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/** @type {number} */\\nFileError.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_STATE_ERR = 7;\\n\\n/** @type {number} */\\nFileError.INVALID_STATE_ERR = 7;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\\n * @type {number}\\n */\\nFileError.prototype.SYNTAX_ERR = 8;\\n\\n/** @type {number} */\\nFileError.SYNTAX_ERR = 8;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_MODIFICATION_ERR = 9;\\n\\n/** @type {number} */\\nFileError.INVALID_MODIFICATION_ERR '; -a.a+='= 9;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR\\n * @type {number}\\n */\\nFileError.prototype.QUOTA_EXCEEDED_ERR = 10;\\n\\n/** @type {number} */\\nFileError.QUOTA_EXCEEDED_ERR = 10;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\\n * @type {number}\\n */\\nFileError.prototype.TYPE_MISMATCH_ERR = 11;\\n\\n/** @type {number} */\\nFileError.TYPE_MISMATCH_ERR = 11;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\\n * @type {number}\\n */\\nFileError.prototype.PATH_EXISTS_ERR = 12;\\n\\n/** @type {number} */\\nFileError.PATH_EXISTS_ERR = 12;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\\n * @type {number}\\n * @deprecated Use the \'name\' or \'message\' attributes of DOMError rather than\\n * \'code\'\\n */\\nFileError.prototype.code;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-filereader\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction FileReader() {}\\n\\n/** @override */\\nFileReader.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nFileReader.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nFileReader.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsArrayBuffer = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsBinaryString = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText\\n * @param {!Blob} blob\\n * @param {string=} encoding\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsText = function(blob, encoding) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsDataURL = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-abort\\n * @return {undefined}\\n */\\nFileReader.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-empty\\n * @type {number}\\n */\\nFileReader.prototype.EMPTY = 0;\\n\\n/** @type {number} */\\nFileReader.EMPTY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-loading\\n * @type {number}\\n */\\nFileReader.prototype.LOADING = 1;\\n\\n/** @type {number} */\\nFileReader.LOADING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-done\\n * @type {number}\\n */\\nFileReader.prototype.DONE = 2;\\n\\n/** @type {number} */\\nFileReader.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readystate\\n * @type {number}\\n */\\nFileReader.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-result\\n * @type {string|Blob|ArrayBuffer}\\n */\\nFileReader.prototype.result;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-error\\n * @type {FileError}\\n */\\nFileReader.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadstart;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onload\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onload;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver\\n * @constructor\\n */\\nfunction FileSaver() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort\\n * @return {undefined}\\n */\\nFileSaver.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT\\n * @type {number}\\n */\\nFileSaver.prototype.INIT = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING\\n * @type {number}\\n */\\nFileSaver.prototype.WRITING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE\\n * @type {number}\\n */\\nFileSaver.prototype.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState\\n * @type {number}\\n */\\nFileSaver.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error\\n * @type {FileError}\\n */\\nFileSaver.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwritestart;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwrite;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwriteend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface\\n * @constructor\\n */\\nfunction FileSystem() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name\\n * @type {string}\\n */\\nFileSystem.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root\\n * @type {!DirectoryEntry}\\n */\\nFileSystem.prototype.root;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter\\n * @constructor\\n * @extends {FileSaver}\\n */\\nfunction FileWriter() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position\\n * @type {number}\\n */\\nFileWriter.prototype.position;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length\\n * @type {number}\\n */\\nFileWriter.prototype.length;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileWriter.prototype.write = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek\\n * @param {number} offset\\n * @return {undefined}\\n */\\nFileWriter.prototype.seek = function(offset) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate\\n * @param {number} size\\n * @return {undefined}\\n */\\nFileWriter.prototype.truncate = function(size) {};\\n\\n/**\\n * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem\\n * @constructor\\n */\\nfunction LocalFileSystem() {}\\n\\n/**\\n * Metadata interface.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata\\n * @constructor\\n */\\nfunction Metadata() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime\\n * @type {!Date}\\n */\\nMetadata.prototype.modificationTime;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size\\n * @type {number}\\n */\\nMetadata.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY\\n * @type {number}\\n*/\\nWindow.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT\\n * @type {number}\\n*/\\nWindow.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction requestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.requestFileSystem = function(type, size, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.resolveLocalFileSystemURI = function(uri, successCallback,\\n errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitRequestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitRequestFileSystem = function(type, size, successCallback,\\n errorCallback) {};\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitResolveLocalFileSystemURI = function(uri, successCallback,\\n errorCallback) {}\\n\\n// WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.\\n// There are three APIs for this: the old specced API, the new specced API, and\\n// the webkit-prefixed API.\\n// @see http://www.w3.org/TR/FileAPI/#creating-revoking\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nfunction createObjectURL(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nWindow.prototype.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nfunction revokeObjectURL(url) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nWindow.prototype.revokeObjectURL = function(url) {};\\n\\n/**\\n * This has been replaced by URL in Chrome since WebKit revision 75739.\\n * @constructor\\n * @param {string} urlString\\n * @param {string=} opt_base\\n */\\nfunction webkitURL(urlString, opt_base) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nwebkitURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nwebkitURL.revokeObjectURL = function(url) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @constructor\\n */\\nfunction StorageInfo() {}\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n * */\\nStorageInfo.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n */\\nStorageInfo.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota\\n * @param {number} type\\n * @param {number} size\\n * @param {function(number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.requestQuota = function(type, size, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota\\n * @param {number} type\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.queryUsageAndQuota = function(type, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {!StorageInfo}\\n */\\nWindow.prototype.webkitStorageInfo;\\n\\n/**\\n * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.\\n * @constructor\\n */\\nfunction StorageQuota() {}\\n\\n/**\\n * @param {number} size\\n * @param {function(number)=} opt_successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.requestQuota = function(size, opt_successCallback,\\n opt_errorCallback) {};\\n\\n/**\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.queryUsageAndQuota = function(successCallback,\\n opt_errorCallback) {};\\n\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitPersistentStorage;\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitTemporaryStorage;\\n","externs/flash.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\\n * file depends on w3c_dom2.js.\\n * Created from\\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\\n *\\n * @externs\\n * @author ajp@google.com (Andy Perelson)\\n */\\n\\n\\n// Standard Methods.\\n\\n/**\\n * Call a Flash function exported by ExternalInterface.\\n * @param {string} xmlString The XML string passed to Flash. The outer element\\n * should be {@code }. A sample invocation string:\\n * {@code \\n * test}\\n * @return {string} The serialized return value from Flash that you can eval.\\n */\\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\\n\\n/**\\n * Returns the value of the Flash variable specified by varName or null if the\\n * variable does not exist.\\n * @param {string} varName The variable name.\\n * @return {string?} The variable value.\\n */\\nHTMLObj'; -a.a+='ectElement.prototype.GetVariable = function(varName) {};\\n\\n/**\\n * Activates the frame number specified by {@code frameNumber} in the current\\n * movie.\\n * @param {number} frameNumber A non-negative integer frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.GotoFrame = function(frameNumber) {};\\n\\n/**\\n * @return {boolean} Whether the movie is currently playing.\\n */\\nHTMLObjectElement.prototype.IsPlaying = function() {};\\n\\n/**\\n * Loads the movie identified by {@code url} to the layer specified by {@code\\n * layerNumber}.\\n * @param {number} layerNumber The layer number.\\n * @param {string} url The movie URL.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.LoadMovie = function(layerNumber, url) {};\\n\\n/**\\n * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to\\n * specify whether the values for x and y are pixels or a percent of the window.\\n * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates\\n * are percent of the window.\\n * @param {number} x The x-coordinate.\\n * @param {number} y The y-coordinate.\\n * @param {number} mode The mode.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Pan = function(x, y, mode) {};\\n\\n/**\\n * @return {number} The percent of the Flash Player movie that has streamed\\n * into the browser so far; Possible values are from 0 to 100.\\n */\\nHTMLObjectElement.prototype.PercentLoaded = function() {};\\n\\n/**\\n * Starts playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Play = function() {};\\n\\n/**\\n * Goes to the first frame.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Rewind = function() {};\\n\\n/**\\n * Sets the value of the flash variable.\\n * @param {string} variableName The variable name.\\n * @param {string} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetVariable = function(variableName, value) {};\\n\\n/**\\n * Zooms in on a rectangular area of the movie. The units of the coordinates\\n * are in twips (1440 units per inch).\\n * @param {number} left The left coordinate.\\n * @param {number} top The top coordinate.\\n * @param {number} right The right coordinate.\\n * @param {number} bottom The bottom coordinate.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetZoomRect = function(left, top, right, bottom) {};\\n\\n/**\\n * Stops playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.StopPlay = function() {};\\n\\n/**\\n * @return {number} The total number of frames in the movie.\\n */\\nHTMLObjectElement.prototype.TotalFrames = function() {};\\n\\n/**\\n * Zooms the view by a relative scale factor.\\n * @param {number} percent The percentage scale factor, should be an integer.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Zoom = function(percent) {};\\n\\n\\n// TellTarget Methods.\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallFrame = function(target, frameNumber) {};\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {string} label The frame label.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallLabel = function(target, label) {};\\n\\n/**\\n * Returns the number of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {number} The number of the current frame.\\n */\\nHTMLObjectElement.prototype.TCurentFrame = function(target) {};\\n\\n/**\\n * Returns the label of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {string} The label of the current frame, empty string if no\\n * current frame.\\n */\\nHTMLObjectElement.prototype.TCurrentLabel = function(target) {};\\n\\n/**\\n * Returns a string indicating the value of the property in the\\n * specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {string} The value of the property.\\n */\\nHTMLObjectElement.prototype.TGetProperty = function(target, property) {};\\n\\n/**\\n * Returns a number indicating the value of the property in the specified\\n * timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {number} A number indicating the value of the property.\\n */\\nHTMLObjectElement.prototype.TGetPropertyAsNumber = function(target, property) {};\\n\\n/**\\n * Goes to the specified frame number in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoFrame = function(target, frameNumber) {};\\n\\n/**\\n * Goes to the specified frame label in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {string} label The framelabel.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoLabel = function(target, label) {};\\n\\n/**\\n * Plays the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TPlay = function(target) {};\\n\\n/**\\n * Sets the value of the property in the specified timeline.\\n * @param {number} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @param {string|number} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TSetProperty = function(target, property, value) {};\\n\\n/**\\n * Stops the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TStopPlay = function(target) {};\\n","externs/gecko_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over some of the\\n * W3C\'s XML specifications by Gecko. This file depends on\\n * w3c_xml.js. The whole file has been fully type annotated.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/**\\n * XMLSerializer can be used to convert DOM subtree or DOM document into text.\\n * XMLSerializer is available to unprivileged scripts.\\n *\\n * XMLSerializer is mainly useful for applications and extensions based on\\n * Mozilla platform. While it\'s available to web pages, it\'s not part of any\\n * standard and level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction XMLSerializer() {}\\n\\n/**\\n * Returns the serialized subtree in the form of a string\\n * @param {Node} subtree\\n * @return {string}\\n */\\nXMLSerializer.prototype.serializeToString = function(subtree) {};\\n\\n/**\\n * The subtree rooted by the specified element is serialized to a byte stream\\n * using the character set specified.\\n *\\n * @param {Node} subtree\\n * @return {Object}\\n */\\nXMLSerializer.prototype.serializeToStream = function(subtree) {};\\n\\n/**\\n * DOMParser is mainly useful for applications and extensions based on Mozilla\\n * platform. While it\'s available to web pages, it\'s not part of any standard and\\n * level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction DOMParser() {}\\n\\n/**\\n * The string passed in is parsed into a DOM document.\\n *\\n * Example:\\n * var parser = new DOMParser();\\n * var doc = parser.parseFromString(aStr, \\"text/xml\\");\\n *\\n * @param {string} src The UTF16 string to be parsed.\\n * @param {string} type The content type of the string.\\n * @return {Document}\\n */\\nDOMParser.prototype.parseFromString = function(src, type) {};\\n","externs/html5.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n * W3C\'s DOM3 specification in HTML5. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated.\\n *\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html\\n * @see http://dev.w3.org/html5/spec/Overview.html\\n *\\n * This also includes Typed Array definitions from\\n * http://www.khronos.org/registry/typedarray/specs/latest/\\n *\\n * This relies on w3c_event.js being included first.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {?HTMLSlotElement} */\\nNode.prototype.assignedSlot;\\n\\n/**\\n * Note: In IE, the contains() method only exists on Elements, not Nodes.\\n * Therefore, it is recommended that you use the Conformance framework to\\n * prevent calling this on Nodes which are not Elements.\\n * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\\n *\\n * @param {Node} n The node to check\\n * @return {boolean} If \'n\' is this Node, or is contained within this Node.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains\\n * @nosideeffects\\n */\\nNode.prototype.contains = function(n) {};\\n\\n/** @type {boolean} */\\nNode.prototype.isConnected;\\n\\n/**\\n * @constructor\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLCanvasElement() {}\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob\\n * @param {function(!Blob)} callback\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toBlob = function(callback, opt_type, var_args) {};\\n\\n/**\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @return {string}\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toDataURL = function(opt_type, var_args) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {Object=} opt_args\\n * @return {Object}\\n */\\nHTMLCanvasElement.prototype.getContext = function(contextId, opt_args) {};\\n\\n/**\\n * @see https://www.w3.org/TR/mediacapture-fromelement/\\n * @param {number=} opt_framerate\\n * @return {!MediaStream}\\n * @throws {Error}\\n * */\\nHTMLCanvasElement.prototype.captureStream = function(opt_framerate) {};\\n\\n/**\\n * @typedef {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement}\\n */\\nvar CanvasImageSource;\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods\\n */\\nfunction CanvasPathMethods() {}\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.bezierCurveTo = function(\\n cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arc = function(\\n x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @constructor\\n * @implements {CanvasPathMethods}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#path2d-objects\\n */\\nfunction Path2D() {}\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.bezierCurveTo = function(\\n cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} optAnticlockwise\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arc = function(\\n x, y, radius, startAngle, endAngle, optAnticlockwise) {};\\n\\n/**\\n * @param {Path2D} path\\n * @return {undefined}\\n */\\nPath2D.prototype.addPath = function(path) {};\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvasdrawingstyles\\n */\\nfunction CanvasDrawingStyles() {}\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.miterLimit;\\n\\n/**\\n * @param {Array} segments\\n * @return {undefined}\\n */\\nCanvasDrawingStyles.prototype.setLineDash;\\n\\n/**\\n * @return {!Array}\\n */\\nCanvasDrawingStyles.prototype.getLineDash;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.font;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textBaseline;\\n\\n/**\\n * @constructor\\n * @implements {CanvasDrawingStyles}\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @const {!HTMLCanvasElement} */\\nCanvasRenderingContext2D.prototype.canvas;\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.save = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.restore = function() {};\\n\\n/**\\n * @param {number} x'; -a.a+="\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.scale = function(x, y) {};\\n\\n/**\\n * @param {number} angle\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.rotate = function(angle) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.translate = function(x, y) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.transform = function(\\n m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setTransform = function(\\n m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} x1\\n * @param {number} y1\\n * @return {!CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createLinearGradient = function(\\n x0, y0, x1, y1) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} r0\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} r1\\n * @return {!CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createRadialGradient = function(\\n x0, y0, r0, x1, y1, r1) {};\\n\\n/**\\n * @param {CanvasImageSource} image\\n * @param {string} repetition\\n * @return {?CanvasPattern}\\n * @throws {Error}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-createpattern\\n */\\nCanvasRenderingContext2D.prototype.createPattern = function(\\n image, repetition) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clearRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeRect = function(x, y, w, h) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.beginPath = function() {};\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.quadraticCurveTo = function(\\n cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.bezierCurveTo = function(\\n cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arc = function(\\n x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radiusX\\n * @param {number} radiusY\\n * @param {number} rotation\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse\\n */\\nCanvasRenderingContext2D.prototype.ellipse = function(\\n x, y, radiusX, radiusY, rotation, startAngle, endAngle, opt_anticlockwise) {\\n};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {Path2D=} optStroke\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function(optStroke) {};\\n\\n/**\\n * @param {Element} element\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawFocusIfNeeded = function(element) {};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke\\n */\\nCanvasRenderingContext2D.prototype.isPointInStroke = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {string=} opt_fillRule\\n * @return {boolean}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.isPointInPath = function(\\n x, y, opt_fillRule) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillText = function(\\n text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeText = function(\\n text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @return {!TextMetrics}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.measureText = function(text) {};\\n\\n/**\\n * @param {CanvasImageSource} image\\n * @param {number} dx Destination x coordinate.\\n * @param {number} dy Destination y coordinate.\\n * @param {number=} opt_dw Destination box width. Defaults to the image width.\\n * @param {number=} opt_dh Destination box height.\\n * Defaults to the image height.\\n * @param {number=} opt_sx Source box x coordinate. Used to select a portion of\\n * the source image to draw. Defaults to 0.\\n * @param {number=} opt_sy Source box y coordinate. Used to select a portion of\\n * the source image to draw. Defaults to 0.\\n * @param {number=} opt_sw Source box width. Used to select a portion of\\n * the source image to draw. Defaults to the full image width.\\n * @param {number=} opt_sh Source box height. Used to select a portion of\\n * the source image to draw. Defaults to the full image height.\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawImage = function(\\n image, dx, dy, opt_dw, opt_dh, opt_sx, opt_sy, opt_sw, opt_sh) {};\\n\\n/**\\n * @param {number} sw\\n * @param {number} sh\\n * @return {!ImageData}\\n * @throws {Error}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.createImageData = function(sw, sh) {};\\n\\n/**\\n * @param {number} sx\\n * @param {number} sy\\n * @param {number} sw\\n * @param {number} sh\\n * @return {!ImageData}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.getImageData = function(sx, sy, sw, sh) {};\\n\\n/**\\n * @param {ImageData} imagedata\\n * @param {number} dx\\n * @param {number} dy\\n * @param {number=} opt_dirtyX\\n * @param {number=} opt_dirtyY\\n * @param {number=} opt_dirtyWidth\\n * @param {number=} opt_dirtyHeight\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.putImageData = function(imagedata, dx, dy,\\n opt_dirtyX, opt_dirtyY, opt_dirtyWidth, opt_dirtyHeight) {};\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setFillColor;\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setStrokeColor;\\n\\n/**\\n * @return {!Array}\\n */\\nCanvasRenderingContext2D.prototype.getLineDash;\\n\\n/**\\n * @param {Array} segments\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setLineDash;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.fillColor;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.fillStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.font;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.globalAlpha;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.globalCompositeOperation;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.miterLimit;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowBlur;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.shadowColor;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetX;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetY;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.strokeStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.strokeColor;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textBaseline;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineDashOffset;\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasGradient() {}\\n\\n/**\\n * @param {number} offset\\n * @param {string} color\\n * @return {undefined}\\n */\\nCanvasGradient.prototype.addColorStop = function(offset, color) {};\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasPattern() {}\\n\\n/**\\n * @constructor\\n */\\nfunction TextMetrics() {}\\n\\n/** @const {number} */\\nTextMetrics.prototype.width;\\n\\n/**\\n * @param {Uint8ClampedArray|number} dataOrWidth In the first form, this is the\\n * array of pixel data. In the second form, this is the image width.\\n * @param {number} widthOrHeight In the first form, this is the image width. In\\n * the second form, this is the image height.\\n * @param {number=} opt_height In the first form, this is the optional image\\n * height. The second form omits this argument.\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata\\n * @constructor\\n */\\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\\n\\n/** @const {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @const {number} */\\nImageData.prototype.width;\\n\\n/** @const {number} */\\nImageData.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html51/webappapis.html#webappapis-images\\n * @interface\\n */\\nfunction ImageBitmap() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.width;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.height;\\n\\n/**\\n * @constructor\\n */\\nfunction ClientInformation() {}\\n\\n/** @type {boolean} */\\nClientInformation.prototype.onLine;\\n\\n/**\\n * @param {string} protocol\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerProtocolHandler = function(\\n protocol, uri, title) {};\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerContentHandler = function(\\n mimeType, uri, title) {};\\n\\n// HTML5 Database objects\\n/**\\n * @constructor\\n */\\nfunction Database() {}\\n\\n/**\\n * @type {string}\\n */\\nDatabase.prototype.version;\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.transaction = function(\\n callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.readTransaction = function(\\n callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {string} oldVersion\\n * @param {string} newVersion\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {function(!SQLError) : void} errorCallback\\n * @param {Function} successCallback\\n * @return {undefined}\\n */\\nDatabase.prototype.changeVersion = function(\\n oldVersion, newVersion, callback, errorCallback, successCallback) {};\\n\\n/**\\n * @interface\\n */\\nfunction DatabaseCallback() {}\\n\\n/**\\n * @param {!Database} db\\n * @return {undefined}\\n */\\nDatabaseCallback.prototype.handleEvent = function(db) {};\\n\\n/**\\n * @constructor\\n */\\nfunction SQLError() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLError.prototype.code;\\n\\n/**\\n * @type {string}\\n */\\nSQLError.prototype.message;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLTransaction() {}\\n\\n/**\\n * @param {string} sqlStatement\\n * @param {Array<*>=} opt_queryArgs\\n * @param {SQLStatementCallback=} opt_callback\\n * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=}\\n * opt_errorCallback\\n * @return {undefined}\\n */\\nSQLTransaction.prototype.executeSql = function(\\n sqlStatement, opt_queryArgs, opt_callback, opt_errorCallback) {};\\n\\n/**\\n * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)}\\n */\\nvar SQLStatementCallback;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLResultSet() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.insertId;\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.rowsAffected;\\n\\n/**\\n * @type {!SQLResultSetRowList}\\n */\\nSQLResultSet.prototype.rows;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\\n */\\nfunction SQLResultSetRowList() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSetRowList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Object}\\n * @nosideeffects\\n */\\nSQLResultSetRowList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {!Database}\\n */\\nfunction openDatabase(name, version, description, size, opt_callback) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {!Database}\\n */\\nWindow.prototype.openDatabase =\\n function(name, version, description, size, opt_callback) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete\\n */\\nHTMLImag"; -a.a+="eElement.prototype.complete;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\\n */\\nHTMLImageElement.prototype.naturalWidth;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\\n */\\nHTMLImageElement.prototype.naturalHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\\n */\\nHTMLImageElement.prototype.crossOrigin;\\n\\n/**\\n * This is a superposition of the Window and Worker postMessage methods.\\n * @param {*} message\\n * @param {(string|!Array)=} opt_targetOriginOrTransfer\\n * @param {(string|!Array|!Array)=}\\n * opt_targetOriginOrPortsOrTransfer\\n * @return {void}\\n */\\nfunction postMessage(message, opt_targetOriginOrTransfer,\\n opt_targetOriginOrPortsOrTransfer) {}\\n\\n/**\\n * The postMessage method (as implemented in Opera).\\n * @param {string} message\\n */\\nDocument.prototype.postMessage = function(message) {};\\n\\n/**\\n * Document head accessor.\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0\\n * @type {HTMLHeadElement}\\n */\\nDocument.prototype.head;\\n\\n/**\\n * @see https://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction DOMApplicationCache() {}\\n\\n/** @override */\\nDOMApplicationCache.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * The object isn't associated with an application cache. This can occur if the\\n * update process fails and there is no previous cache to revert to, or if there\\n * is no manifest file.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UNCACHED = 0;\\n\\n/**\\n * The cache is idle.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.IDLE = 1;\\n\\n/**\\n * The update has started but the resources are not downloaded yet - for\\n * example, this can happen when the manifest file is fetched.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.CHECKING = 2;\\n\\n/**\\n * The resources are being downloaded into the cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.DOWNLOADING = 3;\\n\\n/**\\n * Resources have finished downloading and the new cache is ready to be used.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UPDATEREADY = 4;\\n\\n/**\\n * The cache is obsolete.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.OBSOLETE = 5;\\n\\n/**\\n * The current status of the application cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.status;\\n\\n/**\\n * Sent when the update process finishes for the first time; that is, the first\\n * time an application cache is saved.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.oncached;\\n\\n/**\\n * Sent when the cache update process begins.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onchecking;\\n\\n/**\\n * Sent when the update process begins downloading resources in the manifest\\n * file.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.ondownloading;\\n\\n/**\\n * Sent when an error occurs.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onerror;\\n\\n/**\\n * Sent when the update process finishes but the manifest file does not change.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onnoupdate;\\n\\n/**\\n * Sent when each resource in the manifest file begins to download.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onprogress;\\n\\n/**\\n * Sent when there is an existing application cache, the update process\\n * finishes, and there is a new application cache ready for use.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onupdateready;\\n\\n/**\\n * Replaces the active cache with the latest version.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.swapCache = function() {};\\n\\n/**\\n * Manually triggers the update process.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.update = function() {};\\n\\n/** @type {DOMApplicationCache} */\\nvar applicationCache;\\n\\n/** @type {DOMApplicationCache} */\\nWindow.prototype.applicationCache;\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nWindow.prototype.importScripts = function(var_args) {};\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nfunction importScripts(var_args) {}\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction WebWorker() {}\\n\\n/** @override */\\nWebWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWebWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {string} message\\n * @return {undefined}\\n */\\nWebWorker.prototype.postMessage = function(message) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWebWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWebWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Worker(opt_arg0) {}\\n\\n/** @override */\\nWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @param {string} scriptURL The URL of the script to run in the SharedWorker.\\n * @param {string=} opt_name A name that can later be used to obtain a\\n * reference to the same SharedWorker.\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SharedWorker(scriptURL, opt_name) {}\\n\\n/** @override */\\nSharedWorker.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MessagePort}\\n */\\nSharedWorker.prototype.port;\\n\\n/**\\n * Called on network errors for loading the initial script.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nSharedWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly\\n * @interface\\n */\\nfunction WorkerLocation() {}\\n\\n/** @type {string} */\\nWorkerLocation.prototype.href;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.origin;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.protocol;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.host;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hostname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.port;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.pathname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.search;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hash;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction WorkerGlobalScope() {}\\n\\n/** @type {!WorkerGlobalScope} */\\nWorkerGlobalScope.prototype.self;\\n\\n/** @type {!WorkerLocation} */\\nWorkerGlobalScope.prototype.location;\\n\\n/**\\n * Closes the worker represented by this WorkerGlobalScope.\\n * @return {undefined}\\n */\\nWorkerGlobalScope.prototype.close = function() {};\\n\\n/**\\n * Sent when the worker encounters an error.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onerror;\\n\\n/**\\n * Sent when the worker goes offline.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onoffline;\\n\\n/**\\n * Sent when the worker goes online.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.ononline;\\n\\n/** @type {!WorkerPerformance} */\\nWorkerGlobalScope.prototype.performance;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction DedicatedWorkerGlobalScope() {}\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.postMessage =\\n function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\\n function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the creator posts a message to this worker.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nDedicatedWorkerGlobalScope.prototype.onmessage;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction SharedWorkerGlobalScope() {}\\n\\n/** @type {string} */\\nSharedWorkerGlobalScope.prototype.name;\\n\\n/**\\n * Sent when a connection to this worker is opened.\\n * @type {?function(!Event)}\\n */\\nSharedWorkerGlobalScope.prototype.onconnect;\\n\\n/** @type {!Array|undefined} */\\nHTMLElement.observedAttributes;\\n\\n/**\\n * @param {!Document} oldDocument\\n * @param {!Document} newDocument\\n */\\nHTMLElement.prototype.adoptedCallback = function(oldDocument, newDocument) {};\\n\\n/**\\n * @param {!{mode: string}} options\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.attachShadow = function(options) {};\\n\\n/**\\n * @param {string} attributeName\\n * @param {?string} oldValue\\n * @param {?string} newValue\\n * @param {?string} namespace\\n */\\nHTMLElement.prototype.attributeChangedCallback = function(attributeName, oldValue, newValue, namespace) {};\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.connectedCallback;\\n\\n/** @type {Element} */\\nHTMLElement.prototype.contextMenu;\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.disconnectedCallback;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.draggable;\\n\\n/**\\n * This is actually a DOMSettableTokenList property. However since that\\n * interface isn't currently defined and no known browsers implement this\\n * feature, just define the property for now.\\n *\\n * @const\\n * @type {Object}\\n */\\nHTMLElement.prototype.dropzone;\\n\\n/**\\n * @see http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname\\n * @param {string} classNames\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nHTMLElement.prototype.getElementsByClassName = function(classNames) {};\\n// NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.hidden;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.spellcheck;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\\n * @typedef {{\\n * composed: boolean\\n * }}\\n */\\nvar GetRootNodeOptions;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\\n * @param {GetRootNodeOptions=} opt_options\\n * @return {!Node}\\n */\\nNode.prototype.getRootNode = function(opt_options) {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.createShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.webkitCreateShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @type {ShadowRoot}\\n */\\nHTMLElement.prototype.shadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList}\\n */\\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @type {function()}\\n */\\nHTMLElement.prototype.createdCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.attachedCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.detachedCallback;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.download;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hash;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.host;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hostname;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.pathname;\\n\\n/**\\n * The 'ping' attribute is known to be supported in recent versions (as of\\n * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any\\n * current version of Internet Explorer.\\n *\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAnchorElement.prototype.ping;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.port;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.protocol;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.search;\\n\\n/** @type {string} */\\nHTMLAreaElement.prototype.download;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAreaElement.prototype.ping;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc\\n */\\nHTMLIFrameElement.prototype.srcdoc;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox\\n */\\nHTMLIFrameElement.prototype.sandbox;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.autocomplete;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.dirname;\\n\\n/** @type {FileList} */\\nHTMLInputElement.prototype.files;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate\\n */\\nHTMLInputElement.prototype.indeterminate;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.list;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.max;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.min;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.pattern;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.multiple;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.placeholder;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.required;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.step;\\n\\n/** @type {Date} */\\nHTMLInputElement.prototype.valueAsDate;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.valueAsNumber;\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier. Defaul"; -a.a+="ts to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepDown = function(opt_n) {};\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier. Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepUp = function(opt_n) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement\\n */\\nfunction HTMLMediaElement() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_NOTHING; // = 0\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_METADATA; // = 1\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_CURRENT_DATA; // = 2\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_FUTURE_DATA; // = 3\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_ENOUGH_DATA; // = 4\\n\\n/** @type {MediaError} */\\nHTMLMediaElement.prototype.error;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.currentSrc;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.networkState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autobuffer;\\n\\n/** @type {!TimeRanges} */\\nHTMLMediaElement.prototype.buffered;\\n\\n/** @type {!MediaStream} */\\nHTMLMediaElement.prototype.srcObject;\\n\\n/**\\n * Loads the media element.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.load = function() {};\\n\\n/**\\n * @param {string} type Type of the element in question in question.\\n * @return {string} Whether it can play the type.\\n * @nosideeffects\\n */\\nHTMLMediaElement.prototype.canPlayType = function(type) {};\\n\\n/** Event handlers */\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onabort;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplaythrough;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ondurationchange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onemptied;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onended;\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onerror;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadeddata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadedmetadata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadstart;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onpause;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplaying;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onprogress;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onratechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeked;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeking;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onstalled;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onsuspend;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ontimeupdate;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onvolumechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onwaiting;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onload;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onerror;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.readyState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.seeking;\\n\\n/**\\n * The current time, in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.currentTime;\\n\\n/**\\n * The absolute timeline offset.\\n * @return {!Date}\\n */\\nHTMLMediaElement.prototype.getStartDate = function() {};\\n\\n/**\\n * The length of the media in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.duration;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.paused;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.defaultPlaybackRate;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.playbackRate;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.played;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.seekable;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.ended;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autoplay;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.loop;\\n\\n/**\\n * Starts playing the media.\\n * @return {?Promise} This is a *nullable* Promise on purpose unlike\\n * the HTML5 spec because supported older browsers (incl. Smart TVs) don't\\n * return a Promise.\\n */\\nHTMLMediaElement.prototype.play = function() {};\\n\\n/**\\n * Pauses the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.pause = function() {};\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.controls;\\n\\n/**\\n * The audio volume, from 0.0 (silent) to 1.0 (loudest).\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.volume;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.muted;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack\\n * @param {string} kind Kind of the text track.\\n * @param {string=} opt_label Label of the text track.\\n * @param {string=} opt_language Language of the text track.\\n * @return {!TextTrack} TextTrack object added to the media element.\\n */\\nHTMLMediaElement.prototype.addTextTrack =\\n function(kind, opt_label, opt_language) {};\\n\\n/** @type {!TextTrackList} */\\nHTMLMediaElement.prototype.textTracks;\\n\\n/**\\n * The ID of the audio device through which output is being delivered, or an\\n * empty string if using the default device.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @type {string}\\n */\\nHTMLMediaElement.prototype.sinkId;\\n\\n/**\\n * Sets the audio device through which output should be delivered.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @param {string} sinkId The ID of the audio output device, or empty string\\n * for default device.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @return {!Promise}\\n */\\nHTMLMediaElement.prototype.setSinkId = function(sinkId) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://html.spec.whatwg.org/multipage/dom.html#htmlunknownelement\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#customized-built-in-element-restrictions\\n * @see https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api\\n */\\nfunction HTMLUnknownElement() {}\\n\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList}\\n */\\nText.prototype.getDestinationInsertionPoints = function() {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\\n * @constructor\\n * @implements {IArrayLike}\\n */\\nfunction TextTrackList() {}\\n\\n/** @type {number} */\\nTextTrackList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrack}\\n */\\nTextTrackList.prototype.getTrackById = function(id) {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction TextTrack() {}\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.addCue = function(cue) {};\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeCue = function(cue) {};\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.activeCues;\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.cues;\\n\\n/**\\n * @type {string}\\n */\\nTextTrack.prototype.mode;\\n\\n/** @override */\\nTextTrack.prototype.addEventListener = function(\\n type, listener, opt_useCapture) {};\\n\\n/** @override */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nTextTrack.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\\n * @constructor\\n * @implements {IArrayLike}\\n */\\nfunction TextTrackCueList() {}\\n\\n/** @const {number} */\\nTextTrackCueList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrackCue}\\n */\\nTextTrackCueList.prototype.getCueById = function(id) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\\n * @constructor\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction TextTrackCue(startTime, endTime, text) {}\\n\\n/** @type {string} */\\nTextTrackCue.prototype.id;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.startTime;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.endTime;\\n\\n/** @type {string} */\\nTextTrackCue.prototype.text;\\n\\n\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#vttregion\\n * @constructor\\n */\\nfunction VTTRegion() {}\\n\\n/** @type {string} */\\nVTTRegion.prototype.id;\\n\\n/** @type {number} */\\nVTTRegion.prototype.width;\\n\\n/** @type {number} */\\nVTTRegion.prototype.lines;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorY;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorY;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-scrollsetting\\n * @type {string}\\n */\\nVTTRegion.prototype.scroll;\\n\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\n\\n/** @type {?VTTRegion} */\\nVTTCue.prototype.region;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-directionsetting\\n * @type {string}\\n */\\nVTTCue.prototype.vertical;\\n\\n/** @type {boolean} */\\nVTTCue.prototype.snapToLines;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.line;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-linealignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.lineAlign;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.position;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-positionalignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.positionAlign;\\n\\n/** @type {number} */\\nVTTCue.prototype.size;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-alignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.align;\\n\\n/** @type {string} */\\nVTTCue.prototype.text;\\n\\n/** @return {!DocumentFragment} */\\nVTTCue.prototype.getCueAsHTML = function() {};\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n */\\nfunction HTMLAudioElement() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n * The webkit-prefixed attributes are defined in\\n * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl\\n */\\nfunction HTMLVideoElement() {}\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullscreen = function() {};\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullScreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullscreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullScreen = function() {};\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.height;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoWidth;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoHeight;\\n\\n/** @type {string} */\\nHTMLVideoElement.prototype.poster;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitSupportsFullscreen;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitDisplayingFullscreen;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDecodedFrameCount;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDroppedFrameCount;\\n\\n/**\\n * @typedef {{\\n * creationTime: number,\\n * totalVideoFrames: number,\\n * droppedVideoFrames: number,\\n * corruptedVideoFrames: number,\\n * totalFrameDelay: number\\n * }}\\n */\\nvar VideoPlaybackQuality;\\n\\n/**\\n * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions\\n * @return {!VideoPlaybackQuality} Stats about the current playback.\\n */\\nHTMLVideoElement.prototype.getVideoPlaybackQuality = function() {};\\n\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/media.html#error-codes\\n */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\n\\n/** @type {string} */\\nMediaError.prototype.message;\\n\\n/**\\n * The fetching process for the media resource was aborted by the user agent at\\n * the user's request.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_ABORTED;\\n\\n/**\\n * A network error of some description caused the user agent to stop fetching\\n * the media resource, after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_NETWORK;\\n\\n/**\\n * An error of some description occurred while decoding the media resource,\\n * after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_DECODE;\\n\\n/**\\n * The media resource indicated by the src attribute was not suitable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_SRC_NOT_SUPPORTED;\\n\\n// HTML5 MessageChannel\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messagechannel\\n * @constructor\\n */\\nfunction MessageChannel() {}\\n\\n/**\\n * Returns the first port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port1;\\n\\n/**\\n * Returns the second port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port2;\\n\\n// HTML5 MessagePort\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageport\\n * @constructor\\n * @implements {EventTarget}\\n * @implements {Transferable}\\n */\\nfunction MessagePort() {}\\n\\n/** @override */\\nMessagePort.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nMessagePort.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nMessagePort.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Posts a message through the channel, optionally with the given\\n * Array of Transferables.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\\n};\\n\\n/**\\n * Begins dispatching messages received on the port.\\n * @return {undefined}\\n */\\nMessagePort.prototype.start = function() {};\\n\\n/**\\n * Disconnects the port, so that it is no longer active.\\n * @return {undefined}\\n */\\nMessagePort.prototype.close = function() {};\\n\\n/**\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent)}\\n */\\nMessagePort.prototype.onmessage;\\n\\n// HTML5 MessageEvent class\\n/**\\n * @typedef {Window|MessagePort|ServiceWorker}\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventsource\\n */\\nvar MessageEventSource;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventinit\\n */\\nfunction MessageEventInit() {}\\n\\n/** @type {T|undefined} */\\nMessageEventInit.prototype.data;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.origin;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.lastEventId;\\n\\n/** @type {(?MessageEventSource|undefined)} */\\nMessageEventInit.prototype.source;\\n\\n/** @type {(!Array|undefined)} */\\nMessageEventInit.prototype.ports;\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\\n * @constructor\\n *"; -a.a+=" @extends {Event}\\n * @param {string} type\\n * @param {MessageEventInit=} opt_eventInitDict\\n * @template T\\n */\\nfunction MessageEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * The data payload of the message.\\n * @type {T}\\n */\\nMessageEvent.prototype.data;\\n\\n/**\\n * The origin of the message, for server-sent events and cross-document\\n * messaging.\\n * @type {string}\\n */\\nMessageEvent.prototype.origin;\\n\\n/**\\n * The last event ID, for server-sent events.\\n * @type {string}\\n */\\nMessageEvent.prototype.lastEventId;\\n\\n/**\\n * The window that dispatched the event.\\n * @type {Window}\\n */\\nMessageEvent.prototype.source;\\n\\n/**\\n * The Array of MessagePorts sent with the message, for cross-document\\n * messaging and channel messaging.\\n * @type {Array}\\n */\\nMessageEvent.prototype.ports;\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} typeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @param {T=} dataArg\\n * @param {string=} originArg\\n * @param {string=} lastEventIdArg\\n * @param {?MessageEventSource=} sourceArg\\n * @param {!Array=} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\\n cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} namespaceURI\\n * @param {string=} typeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @param {T=} dataArg\\n * @param {string=} originArg\\n * @param {string=} lastEventIdArg\\n * @param {?MessageEventSource=} sourceArg\\n * @param {!Array=} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\\n canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\\n portsArg) {};\\n\\n\\n/**\\n * HTML5 BroadcastChannel class.\\n * @param {string} channelName\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\\n * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction BroadcastChannel(channelName) {}\\n\\n/**\\n * Sends the message, of any type of object, to each BroadcastChannel object\\n * listening to the same channel.\\n * @param {*} message\\n */\\nBroadcastChannel.prototype.postMessage;\\n\\n/**\\n * Closes the channel object, indicating it won't get any new messages, and\\n * allowing it to be, eventually, garbage collected.\\n * @return {void}\\n */\\nBroadcastChannel.prototype.close;\\n\\n/** @override */\\nBroadcastChannel.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/**\\n * An EventHandler property that specifies the function to execute when a\\n * message event is fired on this object.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nBroadcastChannel.prototype.onmessage;\\n\\n/**\\n * The name of the channel.\\n * @type {string}\\n */\\nBroadcastChannel.prototype.name;\\n\\n/**\\n * HTML5 DataTransfer class.\\n *\\n * We say that this extends ClipboardData, because Event.prototype.clipboardData\\n * is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so\\n * similar that it's easier to merge them.\\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 * @extends {ClipboardData}\\n */\\nfunction DataTransfer() {}\\n\\n/** @type {string} */\\nDataTransfer.prototype.dropEffect;\\n\\n/** @type {string} */\\nDataTransfer.prototype.effectAllowed;\\n\\n/** @type {!Array} */\\nDataTransfer.prototype.types;\\n\\n/** @type {!FileList} */\\nDataTransfer.prototype.files;\\n\\n/**\\n * @param {string=} opt_format Format for which to remove data.\\n * @override\\n * @return {undefined}\\n */\\nDataTransfer.prototype.clearData = function(opt_format) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @param {string} data Data to add.\\n * @override\\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 * @override\\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/** @type {number} */\\nWheelEvent.DOM_DELTA_PIXEL;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_LINE;\\n\\n/** @type {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 * @return {?Entry} The Entry corresponding to this item, or null. Note that\\n * despite its name,this method only works in Chrome, and will eventually\\n * be renamed to {@code getAsEntry}.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.webkitGetAsEntry = function() { 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 http://dev.w3.org/html5/websockets/\\n * @constructor\\n * @param {string} url\\n * @param {string=} opt_protocol\\n * @implements {EventTarget}\\n */\\nfunction WebSocket(url, opt_protocol) {}\\n\\n/**\\n * The connection has not yet been established.\\n * @type {number}\\n */\\nWebSocket.CONNECTING = 0;\\n\\n/**\\n * The WebSocket connection is established and communication is possible.\\n * @type {number}\\n */\\nWebSocket.OPEN = 1;\\n\\n/**\\n * The connection is going through the closing handshake, or the close() method has been invoked.\\n * @type {number}\\n */\\nWebSocket.CLOSING = 2;\\n\\n/**\\n * The connection has been closed or could not be opened.\\n * @type {number}\\n */\\nWebSocket.CLOSED = 3;\\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 open event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onopen;\\n\\n/**\\n * An event handler called on message event.\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent)}\\n */\\nWebSocket.prototype.onmessage;\\n\\n/**\\n * An event handler called on close event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onclose;\\n\\n/**\\n * Transmits data using the connection.\\n * @param {string|ArrayBuffer|ArrayBufferView} data\\n * @return {boolean}\\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 */\\nfunction History() {}\\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 * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{state: *}=} opt_eventInitDict\\n */\\nfunction PopStateEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {*}\\n */\\nPopStateEvent.prototype.state;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} stateArg\\n * @return {undefined}\\n */\\nPopStateEvent.prototype.initPopStateEvent = function(typeArg, canBubbleArg,\\n cancelableArg, stateArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{oldURL: string, newURL: string}=} opt_eventInitDict\\n */\\nfunction HashChangeEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.oldURL;\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.newURL;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} oldURLArg\\n * @param {string} newURLArg\\n * @return {undefined}\\n */\\nHashChangeEvent.prototype.initHashChangeEvent = function(typeArg, canBubbleArg,\\n cancelableArg, oldURLArg, newURLArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{pers"; -a.a+="isted: 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 * @type {!Object}\\n * @const\\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 * @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 * A better interface to CSS classes than className.\\n * @type {!DOMTokenList}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\\n * @const\\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\\n * @type {?NodeList}\\n */\\nHTMLButtonElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLButtonElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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 * @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 * @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\\n * @type {?NodeList}\\n */\\nHTMLInputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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\\n * @type {?NodeList}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection} */\\nHTMLSelectElement.prototype.selectedOptions;\\n\\n/** @type {string} */\\nHTMLSelectElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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\\n * @type {?NodeList}\\n */\\nHTMLTextAreaElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLTextAreaElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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 * @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 * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen\\n * @return {undefined}\\n */\\nElement.prototype.requestFullscreen = function() {};\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled\\n */\\nDocument.prototype.fullscreenEnabled;\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement\\n */\\nDocument.prototype.fullscreenElement;\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen\\n * @return {undefined}\\n */\\nDocument.prototype.exitFullscreen = function() {};\\n\\n// Externs definitions of browser current implementations.\\n// Firefox 10 implementation.\\nElement.prototype.mozRequestFullScreen = function() {};\\n\\nElement.prototype.mozRequestFullScreenWithKeys = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreen;\\n\\nDocument.prototype.mozCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.prototype.mozFullScreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreenEnabled;\\n\\n// Chrome 21 implementation.\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n * Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullScreen = function(opt_allowKeyboardInput) {};\\n\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n * Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullscreen = function(opt_allowKeyboardInput) {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitIsFullScreen;\\n\\nDocument.prototype.webkitCancelFullScreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitCurrentFullScreenElement;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitFullscreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullScreenKeyboardInputAllowed;\\n\\n// IE 11 implementation.\\n// http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx\\n/** @return {void} */\\nElement.prototype.msRequestFullscreen = function() {};\\n\\n/** @return {void} */\\nElement.prototype.msExitFullscreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.msFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.msFullscreenElement;\\n\\n/** @type {number} */\\nElement.ALLOW_KEYBOARD_INPUT = 1;\\n\\n/** @type {number} */\\nElement.prototype.ALLOW_KEYBOARD_INPUT = 1;\\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} */\\nMutati"; -a.a+="onRecord.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)}=} options\\n * @return {!Function} a constructor for the new tag. A generic function is the best we\\n * can do here as it allows the return value to be annotated properly\\n * at the call site.\\n */\\nDocument.prototype.registerElement = function(type, options) {};\\n\\n/**\\n * This method is deprecated and should be removed by the end of 2014.\\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 */\\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 * @param {string} className\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByClassName = function(className) {};\\n\\n\\n/**\\n * @param {string} tagName\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagName = function(tagName) {};\\n\\n\\n/**\\n * @param {string} namespace\\n * @param {string} localName\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagNameNS = function(namespace, localName) {};\\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 * @type {boolean}\\n */\\nShadowRoot.prototype.applyAuthorStyles;\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.resetStyleInheritance;\\n\\n\\n/**\\n * @type {Element}\\n */\\nShadowRoot.prototype.activeElement;\\n\\n\\n/**\\n * @type {?ShadowRoot}\\n */\\nShadowRoot.prototype.olderShadowRoot;\\n\\n\\n/**\\n * @type {string}\\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} */\\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/**\\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\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDataListElement() {}\\n\\n\\n/** @type {HTMLCollection} */\\nHTMLDataListElement.prototype.options;\\n\\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} */\\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 {HTMLE"; -a.a+='lement}\\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 * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#navigator\\n */\\nfunction Navigator() {}\\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/**\\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/scripting.html#custom-elements\\n * @constructor\\n */\\nfunction CustomElementRegistry() {}\\n\\n/**\\n * @param {string} tagName\\n * @param {!function(new:HTMLElement)} klass\\n * @param {{extends: string}=} options\\n */\\nCustomElementRegistry.prototype.define = function (tagName, klass, options) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {?function(new:HTMLElement)}\\n */\\nCustomElementRegistry.prototype.get = function(tagName) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {Promise}\\n */\\nCustomElementRegistry.prototype.whenDefined = function(tagName) {};\\n\\n/** @type {!CustomElementRegistry} */\\nvar customElements;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSlotElement() {}\\n\\n/**\\n * @param {!{flatten: boolean}=} options\\n * @return {!Array}\\n */\\nHTMLSlotElement.prototype.assignedNodes = 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","externs/ie_vml.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s vector markup language, or VML.\\n *\\n * @externs\\n * @author robbyw@google.com (Robby Walker)\\n */\\n\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx\\n */\\nElement.prototype.coordorigin;\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx\\n */\\nElement.prototype.coordsize;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx\\n */\\nElement.prototype.fillcolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx\\n */\\nElement.prototype.filled;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx\\n */\\nElement.prototype.path;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx\\n */\\nElement.prototype.rotation;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx\\n */\\nElement.prototype.strokecolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx\\n */\\nElement.prototype.stroked;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx\\n */\\nElement.prototype.strokeweight;\\n","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://wicg.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://wicg.github.io/IntersectionObserver/#intersection-observer-entry\\n * @record\\n */\\nfunction IntersectionObserverEntry() {}\\n\\n/**\\n * The time the change was observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-time\\n * @type {number}\\n * @const\\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://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-rootbounds\\n * @type {{top: number, right: number, bottom: number, left: number,\\n * height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.rootBounds;\\n\\n/**\\n * The rectangle describing the element being observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-boundingclientrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n * height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.boundingClientRect;\\n\\n/**\\n * The rectangle describing the intersection between the observed element and\\n * the viewport.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n * height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRect;\\n\\n/**\\n * Ratio of intersectionRect area to boundingClientRect area.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionratio\\n * @type {!number}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRatio;\\n\\n/**\\n * The Element whose intersection with the intersection root changed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-target\\n * @type {!Element}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.target;\\n\\n/**\\n * Whether or not the target is intersecting with the root.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting\\n * @type {boolean}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.isIntersecting;\\n\\n/**\\n * Callback for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-callback\\n * @typedef {function(!Array,!IntersectionObserver)}\\n */\\nvar IntersectionObserverCallback;\\n\\n/**\\n * Options for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-init\\n * @typedef {{\\n * threshold: (!Array|number|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://wicg.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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-root\\n * @type {?Element}\\n * @const\\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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-rootmargin\\n * @type {!string}\\n * @const\\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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-thresholds\\n * @type {!Array.}\\n * @const\\n */\\nIntersectionObserver.prototype.thresholds;\\n\\n/**\\n * This is used to set which element to observe.\\n * @see https://wicg.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://wicg.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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-disconnect\\n */\\nIntersectionObserver.prototype.disconnect = function() {};\\n\\n/**\\n * Take records.\\n * @see https://wicg.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'; -a.a+=' 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/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","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 * @constructor\\n * @implements {Iterable>}\\n * @param {(string|!URLSearchParams)=} 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 * @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 * @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\\n * @type {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\\n * @type {!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, software\\n * distributed under the License is distributed on an \\"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 * @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 * @type {number}\\n * @const\\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_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 * @param {function(number): undefined} 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\\n/**\\n * @param {function(number)} 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 {?function(number)} 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 {function(number)} 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 {function(number)} 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 * @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 * @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 */\\nfunction AudioNode() {}\\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 {'; -a.a+="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)} */\\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 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 */\\n"; -a.a+='function 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\\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 * http://www.w3.org/TR/2014/CR-battery-status-20141209/\\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)}\\n */\\nBatteryManager.prototype.onchargingchange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.ondischargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onlevelchange;\\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 ht'; -a.a+='tps://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_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 * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} 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 {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} 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 * @constructor\\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 * @constructor\\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 * @constructor\\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/** @type {number} */\\nGeolocationPositionError.prototype.UNKNOWN_ERROR;\\n/** @type {number} */\\nGeolocationPositionError.prototype.PERMISSION_DENIED;\\n/** @type {number} */\\nGeolocationPositionError.prototype.POSITION_UNAVAILABLE;\\n/** @type {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 * In Chrome all the IndexedDB classes are prefixed with \'webkit\'.\\n * In order to access constants and static methods of these classes they must\\n * be duplicated with the prefix here.\\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} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.msIndexedDB;\\n\\n\\n\\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 * @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/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @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 {*} */\\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 * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBDatabase.prototype.version;\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\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}'; -a.a+=' 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 * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.multiEntry;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @type {(!IDBObjectStore|!IDBIndex)}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {!IDBCursorDirection}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\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 * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\n */\\nIDBTransaction.prototype.objectStoreNames;\\n\\n/**\\n * @type {!IDBTransactionMode}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {!IDBDatabase}\\n * @const\\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 * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\\n */\\nfunction webkitIDBKeyRange() {}\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lower;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upper;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 * @type {number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.oldVersion;\\n\\n/**\\n * @type {?number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.newVersion;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\\n * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent(type, opt_eventInit) {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nwebkitIDBVersionChangeEvent.prototype.version;\\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/perform'; -a.a+="ance-timeline\\n * @see http://www.w3.org/TR/user-timing/\\n *\\n * @externs\\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\\n */\\n\\n/** @constructor */\\nfunction PerformanceTiming() {}\\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\\n\\n/** @constructor */\\nfunction PerformanceEntry() {}\\n/** @type {string} */ PerformanceEntry.prototype.name;\\n/** @type {string} */ PerformanceEntry.prototype.entryType;\\n/** @type {number} */ PerformanceEntry.prototype.startTime;\\n/** @type {number} */ PerformanceEntry.prototype.duration;\\n\\n/**\\n * https://www.w3.org/TR/resource-timing-2/#performanceresourcetiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceResourceTiming() {}\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectEnd;\\n/** @type {number} */\\nPerformanceResourceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.transferSize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.encodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.decodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.workerStart;\\n/** @type {string} */ PerformanceResourceTiming.prototype.nextHopProtocol;\\n\\n/**\\n * Possible values are 'navigate', 'reload', 'back_forward', and 'prerender'.\\n * See https://w3c.github.io/navigation-timing/#sec-performance-navigation-types\\n * @typedef {string}\\n */\\nvar NavigationType;\\n\\n/**\\n * https://w3c.github.io/navigation-timing/#sec-PerformanceNavigationTiming\\n * @constructor\\n * @extends {PerformanceResourceTiming}\\n */\\nfunction PerformanceNavigationTiming() {}\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n .domContentLoadedEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n .domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventEnd;\\n/** @type {NavigationType} */ PerformanceNavigationTiming.prototype.type;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.redirectCount;\\n\\n/** @constructor */\\nfunction PerformanceNavigation() {}\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_NAVIGATE = 0;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RELOAD = 1;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_BACK_FORWARD = 2;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RESERVED = 255;\\n/** @type {number} */ PerformanceNavigation.prototype.type;\\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\\n\\n/** @constructor */\\nfunction Performance() {}\\n/** @type {PerformanceTiming} */ Performance.prototype.timing;\\n/** @type {PerformanceNavigation} */ Performance.prototype.navigation;\\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 * Clear out the buffer of performance timing events for webkit browsers.\\n * @return {undefined}\\n */\\nPerformance.prototype.webkitClearResourceTimings = 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 {@code 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 {@code PerformanceEntry}s with this name.\\n * @param {string=} opt_entryType Only return {@code 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// 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 * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.now = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.webkitNow = 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 * @record\\n */\\nfunction PerformanceObserverInit() {}\\n\\n/** @type {undefined|!Array} */\\nPerformanceObserverInit.prototype.entryTypes;\\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/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 * @record\\n * @extends {MouseEventInit}\\n * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit\\n */\\nfunction PointerEventInit() {}\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pointerId;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.width;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.height;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pressure;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltX;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltY;\\n\\n/** @type {undefined|string} */\\nPointerEventInit.prototype.pointerType;\\n\\n/** @type {undefined|boolean} */\\nPointerEventInit.prototype.isPrimary;\\n\\n/**\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {PointerEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\\n */\\nfunction PointerEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nPointerEvent.prototype.width;\\n\\n/** @type {number} */\\nPointerEvent.pr"; -a.a+='ototype.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/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_PEN;\\n\\n/** @type {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 = 0;\\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 = 1;\\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 = 2;\\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 = 3;\\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 = 0;\\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 = 1;\\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 = 2;\\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 = 3;\\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\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException\\n */\\nfunction RangeException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.BAD_BOUNDARYPOINTS_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.INVALID_NODE_TYPE_ERR = 2;\\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 * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.max;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.min;\\n\\n/**\\n * @type {number}\\n * @const\\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 * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array)} callback\\n * @return {undefined}\\n * @deprecated Use MediaDevices.enumerateDevices().\\n */\\nMediaStreamTrack.getSources = function(callback) {};\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.kind;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.id;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.label;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStreamTrack.prototype.enabled;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 * @type {boolean}\\n * @const\\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.ono'; -a.a+="verconstrained;\\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 * @type {!MediaStreamTrack}\\n * @const\\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 * @type {string}\\n * @const\\n */\\nMediaStream.prototype.label;\\n\\n/**\\n * @type {string}\\n * @const\\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 * @type {function(new: MediaStream,\\n * (!MediaStream|!Array)=)}\\n */\\nvar webkitMediaStream;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface\\n */\\nfunction RTCRtpSender() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpSender.prototype.track;\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n */\\nRTCRtpSender.prototype.replaceTrack = function(track) {};\\n\\n\\n/**\\n * @return {!Object}\\n */\\nRTCRtpSender.prototype.getParameters = function() {};\\n\\n\\n/**\\n * @param {!Object} params\\n * @return {!Promise}\\n */\\nRTCRtpSender.prototype.setParameters = function(params) {};\\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}\\n */\\nRTCRtpContributingSource.prototype.timestamp;\\n\\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/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface\\n */\\nfunction RTCRtpTransceiver() {}\\n\\n/**\\n * @const {?RTCRtpSender}\\n */\\nRTCRtpTransceiver.prototype.sender;\\n\\n/**\\n * @const {?RTCRtpReceiver}\\n */\\nRTCRtpTransceiver.prototype.receiver;\\n\\n/**\\n * This interface defines the available constraint attributes. These are the\\n * attributes defined in\\n * {@see http://tools.ietf.org/html/draft-alvestrand-constraints-resolution-01}.\\n * Note that although that draft refers to \\\"Media Constraints\\\", the W3C uses\\n * the terms \\\"Media[Stream|Track]Constraints\\\" for this type, and\\n * defines a different type (for RTCPeerConnection) called \\\"MediaConstraints\\\".\\n *\\n * This interface type is not part of any standard, so it is marked as private.\\n * It is defined here in order to reserve the property names, which would\\n * otherwise be rewritten when the compiler processes an object literal.\\n * Several subsequent interfaces are defined in the same pattern.\\n *\\n * Note that although this list includes all the properties supported by\\n * libjingle (and hence by Chromium), browsers are permitted to offer other\\n * properties as well ({\\n * @see http://tools.ietf.org/html/draft-burnett-rtcweb-constraints-registry-02\\n * }), and browsers are expected to silently ignore unknown properties. This\\n * creates the potential for a very confusing situation in which properties\\n * not listed here are renamed by the compiler and then ignored by the browser.\\n *\\n * @interface\\n * @private\\n */\\nfunction MediaTrackConstraintSetInterface_() {}\\n\\n/**\\n * @type {?string}\\n */\\nMediaTrackConstraintSetInterface_.prototype.chromeMediaSource;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaTrackConstraintSetInterface_.prototype.echoCancellation;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minWidth;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxWidth;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minHeight;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxHeight;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minAspectRatio;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxAspectRatio;\\n\\n/**\\n * Due to a typo, this is called \\\"minFramerate\\\" in the -01 draft.\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minFrameRate;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxFrameRate;\\n\\n/**\\n * @type {?string}\\n */\\nMediaTrackConstraintSetInterface_.prototype.sourceId;\\n\\n/**\\n * This type and two more below are defined as unions with Object because they\\n * are normally used as record types by constructing an Object literal, but all\\n * of their properties are optional.\\n * @typedef {Object|MediaTrackConstraintSetInterface_}\\n */\\nvar MediaTrackConstraintSet;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaTrackConstraintsInterface_() {}\\n\\n/**\\n * @type {?MediaTrackConstraintSet}\\n */\\nMediaTrackConstraintsInterface_.prototype.mandatory;\\n\\n/**\\n * @type {?Array}\\n */\\nMediaTrackConstraintsInterface_.prototype.optional;\\n\\n/**\\n * @typedef {Object|MediaTrackConstraintsInterface_}\\n */\\nvar MediaTrackConstraints;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaStreamConstraintsInterface_() {}\\n\\n/**\\n * @type {boolean|MediaTrackConstraints}\\n */\\nMediaStreamConstraintsInterface_.prototype.audio;\\n\\n/**\\n * @type {boolean|MediaTrackConstraints}\\n */\\nMediaStreamConstraintsInterface_.prototype.video;\\n\\n/**\\n * @typedef {Object|MediaStreamConstraintsInterface_}\\n */\\nvar MediaStreamConstraints;\\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 * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * @const\\n */\\nNavigatorUserMediaError.prototype.PERMISSION_DENIED; /** 1 */\\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 {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 =\\n function(constraints, successCallback, errorCallback) {};\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction MediaStreamEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?MediaStream}\\n * @const\\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 * @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 * @type {string}\\n * @const\\n */\\nPhotoCapabilities.prototype.redEyeReduction;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageHeight;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageWidth;\\n\\n/**\\n * @type {!Array}\\n * @const\\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 * @type {!MediaStreamTrack}\\n * @const\\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 * @type {?RTCRtpReceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.receiver;\\n\\n/**\\n * @type {?MediaStreamTrack}\\n * @const\\n */\\nRTCTrackEvent.prototype.track;\\n\\n/**\\n * @type {?Array}\\n * @const\\n */\\nRTCTrackEvent.prototype.streams;\\n\\n/**\\n * @type {?RTCRtpTransceiver}\\n * @const\\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 * @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/** @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 "; -a.a+='*/\\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/**\\n * @param {!Object=} candidateInitDict The RTCIceCandidateInit dictionary.\\n * This optional argument may have type\\n * {candidate: string, sdpMid: string, sdpMLineIndex:number}, but none of\\n * these keys are required to be present, and other keys are ignored, so the\\n * closest Closure type is Object.\\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 {{iceServers: !Array}}\\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 * @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 * @type {RTCIceCandidate}\\n * @const\\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 * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @type {Date}\\n * @const\\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 * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.local;\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.remote;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.type;\\n\\n/**\\n * @type {string}\\n * @const\\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, Object)} callback\\n * @param {SCOPE=} opt_thisObj The value of \\"this\\" inside callback function.\\n * @template SCOPE\\n * @readonly\\n */\\nRTCStatsReport.prototype.forEach = function(callback, opt_thisObj) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @readonly\\n */\\nRTCStatsReport.prototype.get = function(key) {};\\n\\n/**\\n * @return {!Iterator}\\n * @readonly\\n */\\nRTCStatsReport.prototype.keys = function() {};\\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 * @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 * @type {string}\\n * @const\\n */\\nRTCDataChannel.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_}\\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 */\\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=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\\n failureCallback, constraints) {};\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n * successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer =\\n function(successCallbackOrConstraints, failureCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.setLocalDescription = function(description,\\n successCallback, failureCallback) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\\n successCallback, failureCallback) {};\\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)=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, failureCallback) {};\\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/**\\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.onsignalingstatechange;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onaddstream;\\n\\n/**\\n * @type {?function(!RTCTrackEvent)}\\n */\\nRTCPeerConnection.prototype.ontrack;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onremovestream;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.oniceconnectionstatechange;\\n\\n/**\\n * @type {?function(!RTCDataChannelEvent)}\\n */\\nRTCPeerConnection.prototype.ondatachannel;\\n\\n/**\\n * @const\\n */\\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-interfa'; -a.a+="ce\\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(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/**\\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/** @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 {PushSubscriptionOptions=} 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 * @typedef {{userVisibleOnly: (boolean|undefined)}}\\n * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions\\n */\\nvar PushSubscriptionOptions;\\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)} */\\nServiceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: (string|undefined), useCache: (boolean|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/** @type {!IDBFactory|undefined} */\\nServiceWorkerGlobalScope.prototype.indexedDB;\\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 * @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"; -a.a+=' {!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 = 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.targetClientId;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.reservedClientId;\\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","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(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/**\\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 * @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 intend'; -a.a+='ed 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 * @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 the\\n * 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 a boolean indicating if the signature operating\\n * has been 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} algorithm Supported\\n * 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 generated key as a CryptoKey or a\\n * CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,\\n extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n * algorithm to use. Supported values are: ECDH, DH, PBKDF2, and HKDF-CTR.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n * derivation algorithm.\\n * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key\\n * derivation algorithm to use.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n * CryptoKey object at a later stage.\\n * @param {!Array} keyUsages Indicates what can be done with the\\n * derivated key.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n * CryptoKeyPair.\\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 key as a CryptoKey or a\\n * CryptoKeyPair.\\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} algorithm Supported values\\n * are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,\\n * 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 as a CryptoKey.\\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 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 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 as a CryptoKey.\\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 */\\nWindow.prototype.crypto;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto\\n * @type {!webCrypto.Crypto|undefined}\\n */\\nWorkerGlobalScope.prototype.crypto;\\n\\n\\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 http://www.w3.org/TR/XMLHttpRequest/\\n * @see http://www.w3.org/TR/XMLHttpRequest2/\\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 * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR\\n */\\nXPathException.INVALID_EXPRESSION_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR\\n */\\nXPathException.TYPE_ERR = 52;\\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 * @noalias\\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#'; -a.a+='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 * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE\\n */\\nXPathResult.ANY_TYPE = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE\\n */\\nXPathResult.NUMBER_TYPE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE\\n */\\nXPathResult.STRING_TYPE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE\\n */\\nXPathResult.BOOLEAN_TYPE = 3;\\n\\n/**\\n * @type {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 = 4;\\n\\n/**\\n * @type {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 = 5;\\n\\n/**\\n * @type {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 = 6;\\n\\n/**\\n * @type {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 = 7;\\n\\n/**\\n * @type {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 = 8;\\n\\n/**\\n * @type {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 = 9;\\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 * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE\\n */\\nXPathNamespace.XPATH_NAMESPACE_NODE = 13;\\n\\n/**\\n * From http://www.w3.org/TR/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 http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object\\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 http://www.w3.org/TR/XMLHttpRequest/#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 http://www.w3.org/TR/XMLHttpRequest/#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 http://www.w3.org/TR/XMLHttpRequest/#the-send()-method\\n */\\nXMLHttpRequest.prototype.send = function(opt_data) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method\\n */\\nXMLHttpRequest.prototype.abort = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method\\n */\\nXMLHttpRequest.prototype.getAllResponseHeaders = function() {};\\n\\n/**\\n * @param {string} header\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method\\n */\\nXMLHttpRequest.prototype.getResponseHeader = function(header) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#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://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\\n */\\nXMLHttpRequest.prototype.responseURL;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute\\n */\\nXMLHttpRequest.prototype.responseXML;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute\\n */\\nXMLHttpRequest.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute\\n */\\nXMLHttpRequest.prototype.status;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute\\n */\\nXMLHttpRequest.prototype.statusText;\\n\\n/**\\n * @type {?function(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.prototype.onreadystatechange;\\n\\n/**\\n * @type {?function(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror\\n */\\nXMLHttpRequest.prototype.onerror;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.UNSENT;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.OPENED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.HEADERS_RECEIVED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.DONE;\\n\\n/**\\n * The FormData object represents an ordered collection of entries. Each entry\\n * has a name and value.\\n *\\n * @param {?Element=} opt_form An optional form to use for constructing the form\\n * data set.\\n * @constructor\\n * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface\\n */\\nfunction FormData(opt_form) {}\\n\\n/**\\n * @param {string} name\\n * @param {Blob|string} value\\n * @param {string=} opt_filename\\n * @return {undefined}\\n */\\nFormData.prototype.append = function(name, value, opt_filename) {};\\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 * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.top\\n * @const\\n */\\nvar top;\\n\\n/**\\n * @type {!Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n * @const\\n */\\nvar navigator;\\n\\n/**\\n * @type {!HTMLDocument}\\n * @see https://developer.mozilla.org/en/DOM/window.document\\n * @const\\n */\\nvar document;\\n\\n/**\\n * @type {!Location}\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n * @const\\n * @suppress {duplicate}\\n * @implicitCast\\n */\\nvar location;\\n\\n/**\\n * @type {!Screen}\\n * @see https://developer.mozilla.org/En/DOM/window.screen\\n * @const\\n */\\nvar screen;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/En/DOM/Window.self\\n * @const\\n */\\nvar self;\\n\\n// Magic functions for Firefox\'s LiveConnect.\\n// We\'ll probably never use these in practice. But redefining them\\n// will fire up the JVM, so we want to reserve the symbol names.\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray\\n */\\nvar JavaArray;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass\\n */\\nvar JavaClass;\\n\\n// We just ripped this from the FF source; it doesn\'t appear to be\\n// publicly documented.\\nvar JavaMember;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject\\n */\\nvar JavaObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage\\n */\\nvar JavaPackage;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages\\n */\\nvar Packages;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java\\n */\\nvar java;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape\\n */\\nvar netscape;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun\\n */\\nvar sun;\\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|undefined|null} 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 * @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) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\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) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @param {...*} var_args\\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, var_args) {}\\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/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 {{dir: (string|undefined), lang: (string|undefined),\\n * body: (string|undefined), tag: (string|undefined),\\n * icon: (string|undefined),\\n * requireInteraction: (boolean|undefined),\\n * actions: (!Array|undefined)}}\\n * @see http://notifications.spec.whatwg.org/#notificationoptions\\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 * 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 {?fun'; -a.a+='ction(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","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 * @type {!WebKitNamespace}\\n * @const\\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 * @constructor\\n * @noalias\\n */\\nfunction WebGLRenderingContext() {}\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingCont'; -a.a+="ext.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FASTEST;\\n\\n/** @type {number} */\\nWebG"; -a.a+="LRenderingContext.prototype.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {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 * @p"; -a.a+="aram {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 * @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 {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n * 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"; -a.a+=" * @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 {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n * 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 * @noalias\\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 * @noalias\\n * @extends {Event}\\n */\\nfunction WebGLContextEvent(eventType) {}\\n\\n/**\\n * @type {string}\\n */\\nWebGLContextEvent.prototype.statusMessage;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\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 * @noalias\\n */\\nfunction WebGLObject() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLBuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLFramebuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLProgram() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLRenderbuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLShader() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTexture() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\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 * @noalias\\n */\\nfunction WebGLUniformLocation() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_float() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\\n * @constructor\\n * @noalias\\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 * @noalias\\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 * @noalias\\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 * @noalias\\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 * @noalias\\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 * @noalias\\n */\\nfunction WEBGL_debug_renderer_info() {}\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_VENDOR_WEBGL;\\n\\n/** @type {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 * @noalias\\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 * @noalias\\n */\\nfunction WEBGL_compressed_texture_s3tc() {}\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGB_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT3_EXT;\\n\\n/** @type {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 * @noalias\\n */\\nfunction OES_depth_texture() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\\n * @constructor\\n * @noalias\\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 * @noalias\\n */\\nfunction EXT_texture_filter_anisotropic() {}\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n/** @type {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 * @noalias\\n */\\nfunction WEBGL_draw_buffers() {}\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_COLOR_ATTACHMENTS_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_DRAW_BUFFERS_WEBGL;\\n\\n/**\\n * @param {Array} buffers Dra"; -a.a+="w 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 * @noalias\\n */\\nfunction ANGLE_instanced_arrays() {}\\n\\n\\n/** @type {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/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>|!IObject}\\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 {!Iterator} */\\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 {!Blob|!BufferSource|!FormData|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/** @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|null)} */\\nRequestInit.prototype.window;\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n * Possible values: '', 'audio', 'font', 'image', 'script', 'style',\\n * 'track', 'video'\\n */\\nvar FetchRequestType;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest',\\n * 'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker',\\n * 'style', 'worker', 'xslt'\\n */\\nvar RequestDestination;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'\\n */\\nvar RequestMode ;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n * Possible values: 'omit', 'same-origin', 'include'\\n */\\nvar RequestCredentials;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n * Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache',\\n * 'only-if-cached'\\n */\\nvar RequestCache;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n * Possible values: 'follow', 'error', 'manual'\\n */\\nvar RequestRedirect;\\n\\n\\n/**\\n * @param {?ResponseBodyInit=} opt_body\\n * @param {!ResponseInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#response\\n */\\nfunction Response(opt_body, opt_init) {}\\n\\n/** @return {!Response} */\\nResponse.error = function() {};\\n\\n/**\\n * @param {string} url\\n * @param {number=} opt_status\\n * @return {!Response}\\n */\\nResponse.redirect = function(url, opt_status) {};\\n\\n/** @override */\\nResponse.prototype.bodyUsed;\\n\\n/** @override */\\nResponse.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nResponse.prototype.blob = function() {};\\n\\n/** @override */\\nResponse.prototype.formData = function() {};\\n\\n/** @override */\\nResponse.prototype.json = function() {};\\n\\n/** @override */\\nResponse.prototype.text = function() {};\\n\\n/** @type {!ResponseType} */\\nResponse.prototype.type;\\n\\n/** @type {string} */\\nResponse.prototype.url;\\n\\n/** @type {boolean} */\\nResponse.prototype.redirected;\\n\\n/** @type {number} */\\nResponse.prototype.status;\\n\\n/** @type {boolean} */\\nResponse.prototype.ok;\\n\\n/** @type {string} */\\nResponse.prototype.statusText;\\n\\n/** @type {!Headers} */\\nResponse.prototype.headers;\\n\\n/** @type {?ReadableStream} */\\nResponse.prototype.body;\\n\\n/** @type {!Promise} */\\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\",\"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\\n * }}\\n */\\nvar QueuingStrategy;\\n\\n\\n/**\\n * @record\\n */\\nfunction TransformStream() {};\\n\\n/** @type {!WritableStream} */\\nTransformStream.prototype.writable;\\n\\n/** @type {!ReadableStream} */\\nTransformStream.prototype.readable;\\n\\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/**\\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 {{ 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 {!TransformStream} 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/**\\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 {!ArrayBu"; -a.a+="fferView} 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 * @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\",\"js/build_polyfill_table.js\":\"#!/usr/bin/env node\\n\\n/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'use strict';\\n\\nconst fs = require('fs');\\n\\n/**\\n * Provides an ordering to ensure lower-versioned polyfills don't\\n * depend on higher versions.\\n */\\nconst ORDER = ['es3', 'es5', 'es6'];\\n\\n/**\\n * Prints to stderr and exits.\\n * @param {string} message\\n */\\nfunction fail(message) {\\n console.error(message);\\n process.exit(1);\\n}\\n\\n/**\\n * Builds up a table of polyfills.\\n */\\nclass PolyfillTable {\\n constructor() {\\n /** @const {!Map>} */\\n this.symbolToFile = new Map();\\n /** @const {!Map>} */\\n this.deps = new Map();\\n /** @const {!Map} */\\n this.versions = new Map();\\n /** @const {!Array>} */\\n this.rows = [];\\n }\\n\\n /**\\n * Returns a shim for $jscomp.polyfill.\\n * @param {string} lib Library currently being scanned.\\n * @return {function(string, ?Function, string, string)}\\n */\\n polyfill(lib) {\\n return (polyfill, impl, fromLang, toLang) => {\\n this.symbolToFile.set(polyfill, this.symbolToFile.get(polyfill) || []);\\n this.symbolToFile.get(polyfill).push(lib);\\n const row = [polyfill, fromLang, toLang];\\n if (impl) {\\n row.push(lib);\\n this.versions.set(lib, maxVersion(this.versions.get(lib), toLang));\\n }\\n this.rows.push(row);\\n };\\n }\\n\\n /**\\n * Reads a JS file and adds it to the table.\\n * @param {string} lib Name of the library.\\n * @param {string} data Contents of the file.\\n */\\n readFile(lib, data) {\\n // Look for 'require' directives and add it to the dependency map.\\n const deps = new Set();\\n this.deps.set(lib, deps);\\n const re = /'require ([^']+)'/g;\\n let match;\\n while (match = re.exec(data)) {\\n match[1].split(' ').forEach(dep => deps.add(dep));\\n }\\n // Now run the file.\\n try {\\n new Function('$jscomp', data)({\\n global: global,\\n polyfill: this.polyfill(lib, table),\\n });\\n } catch (err) {\\n throw new Error('Failed to parse file: ' + lib + ': ' + err);\\n }\\n }\\n\\n /**\\n * Concatenates the table into a string. Throws an error if\\n * there are any symbols provided by multiple files.\\n * @return {string}\\n */\\n build() {\\n const errors = new Set();\\n try {\\n // First check for duplicate provided symbols.\\n for (const entry of this.symbolToFile.entries()) {\\n if (entry[1].length != 1) {\\n errors.add(\\n `ERROR - ${entry[0]} provided by multiple files:${\\n entry[1].map(f => '\\\\n ' + f).join('')}`);\\n }\\n }\\n // Next ensure all deps have nonincreasing versions.\\n checkDeps(errors, this.deps, this.versions);\\n // If there are any errors, we should fail; otherwise concatenate.\\n } catch (err) {\\n errors.add('ERROR - uncaught exception: ' + err.stack);\\n }\\n if (errors.size) {\\n fail(Array.from(errors).join('\\\\n\\\\n'));\\n }\\n return this.rows.sort().map(row => row.join(' ')).join('\\\\n');\\n }\\n}\\n\\n/**\\n * Checks dependencies for the following issues:\\n * (1) cyclic dependencies\\n * (2) missing dependencies\\n * (3) version mismatches\\n * @param {!Set} errors\\n * @param {!Map>} deps\\n * @param {!Map} versions\\n */\\nfunction checkDeps(errors, deps, versions) {\\n for (const file of deps.keys()) {\\n const seen = new Set([file]);\\n const queue = [file];\\n const version = versions.get(file);\\n while (queue.length) {\\n const next = queue.shift();\\n for (const dep of deps.get(next) || []) {\\n if (dep == file) errors.add('ERROR - Cyclic dependency:\\\\n ' + dep);\\n if (seen.has(dep)) continue;\\n seen.add(dep);\\n queue.push(dep);\\n if (!deps.has(dep)) {\\n errors.add(\\n 'ERROR - missing dependency:\\\\n ' + dep +\\n ' required from\\\\n ' + file);\\n }\\n const depVersion = versions.get(dep);\\n if (version && maxVersion(depVersion, version) != version) {\\n errors.add(\\n 'ERROR - lower version depends on higher version:\\\\n ' +\\n version + ': ' + file + '\\\\n ' + depVersion + ': ' + dep);\\n }\\n }\\n }\\n }\\n}\\n\\n/**\\n * Returns the higher order of the given versions.\\n * @param {string} version1\\n * @param {string} version2\\n * @return {string} The max version.\\n */\\nfunction maxVersion(version1, version2) {\\n return ORDER[Math.max(ORDER.indexOf(version1), ORDER.indexOf(version2))];\\n}\\n\\nconst table = new PolyfillTable();\\n\\nconst reads = process.argv.slice(2).map(filename =>\\n new Promise((fulfill, reject) =>\\n fs.readFile(filename, 'utf8', (err, data) => {\\n try {\\n if (err) {\\n reject(err);\\n } else {\\n const lib = filename.replace(/^.*?\\\\/js\\\\/|\\\\.js$/g, '');\\n table.readFile(lib, data);\\n fulfill('');\\n }\\n } catch (err) {\\n reject(err);\\n }\\n })));\\n\\nPromise.all(reads).then(\\n success => console.log(table.build()),\\n failure => fail(failure.stack));\\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.includes es7 es3 es6/array/includes\\nArray.prototype.keys es6 es3 es6/array/keys\\nArray.prototype.values es6 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/exp1m\\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\\nObject.assign es6 es3 es6/object/assign\\nObject.entries es8 es3 es6/object/entries\\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\\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.raw es6 es6\\nWeakMap es6 es3 es6/weakmap\\nWeakSet es6 es3 es6/weakset\\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"; -a.a+=" *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 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 */\\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/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 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 = Number(target);\\n start = Number(start);\\n opt_end = Number(opt_end != null ? opt_end : len);\\n if (target < start) {\\n opt_end = Math.min(opt_end, len);\\n while (start < opt_end) {\\n if (start in this) {\\n this[target++] = this[start++];\\n } else {\\n delete this[target++];\\n start++;\\n }\\n }\\n } else {\\n opt_end = Math.min(opt_end, len + start - target);\\n target += opt_end - start;\\n while (opt_end > start) {\\n if (--opt_end in this) {\\n this[--target] = this[opt_end];\\n } else {\\n delete this[target];\\n }\\n }\\n }\\n return this;\\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}\\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 writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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/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 es6/symbol';\\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): 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 $jscomp.initSymbolIterator();\\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 = /** @type {?} */ (arrayLike)[Symbol.iterator];\\n if (typeof iteratorFunction == 'function') {\\n arrayLike = iteratorFunction.call(arrayLike);\\n var next;\\n while (!(next = arrayLike.next()).done) {\\n result.push(\\n opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value));\\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]));\\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 for (var i = opt_fromIndex || 0; i < len; i++) {\\n if (array[i] == searchElement || Object.is(array[i], 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"; -a.a+=" util/polyfill';\\n\\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 // NOTE: 'es6' here is incorrect, since this method is not actually supported\\n // in current versions of Chrome and FF (due to web compatibility).\\n}, 'es6', 'es3');\\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\\n/**\\n * Handle 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$arguments = arguments;\\n * let $jscomp$async$this = this;\\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 * }\\n * return $jscomp.executeAsyncGenerator($jscomp$async$generator());\\n * }\\n * ```\\n * @param {!Generator} generator\\n * @return {!Promise}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.executeAsyncGenerator = 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\",\"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/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 // Perform a conformance check to ensure correct native implementation.\\n var isConformant = !$jscomp.ASSUME_NO_NATIVE_MAP && (function() {\\n if (!NativeMap ||\\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 if (isConformant) return NativeMap;\\n\\n // We depend on Symbol.iterator, so ensure it's loaded.\\n $jscomp.initSymbol();\\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 var r = maybeGetEntry(this, key);\\n if (!r.list) {\\n r.list = (this.data_[r.id] = []);\\n }\\n if (!r.entry) {\\n r.entry = {\\n next: this.head_,\\n previous: this.head_.previous,\\n head: this.head_,\\n key: key,\\n value: value,\\n };\\n r.list.push(r.entry);\\n this.head_.previous.next = r.entry;\\n this.head_.previous = r.entry;\\n this.size++;\\n } else {\\n r.entry.value = value;\\n }\\n return this;\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.delete = function(key) {\\n var r = maybeGetEntry(this, key);\\n if (r.entry && r.list) {\\n r.list.splice(r.index, 1);\\n if (!r.list.length) delete this.data_[r.id];\\n r.entry.previous.next = r.entry.next;\\n r.entry.next.previous = r.entry.previous;\\n r.entry.head = null;\\n this.size--;\\n return true;\\n }\\n return false;\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.clear = function() {\\n this.data_ = {};\\n this.head_ = this.head_.previous = createHead();\\n this.size = 0;\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.has = function(key) {\\n return !!(maybeGetEntry(this, key).entry);\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.get = function(key) {\\n var entry = maybeGetEntry(this, key).entry;\\n // NOTE: this cast is a lie, but so is the extern.\\n return /** @type {VALUE} */ (entry &&\\n /** @type {VALUE} */ (entry.value));\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.entries = function() {\\n return makeIterator(this, /** @return {!Array<(KEY|VALUE)>} */ function(\\n /** !$jscomp.MapEntry */ 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 */\\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/exp1m';\\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\\"; -a.a+="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/exp1m.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.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/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} x Any number, or value that can be coerced to a number.\\n * @param {number} y Any number, or value that can be coerced to a number.\\n * @param {...*} var_args More numbers.\\n * @return {number} The square root of the sum of the squares.\\n */\\n var polyfill = function(x, y, var_args) {\\n // Make the type checker happy.\\n x = Number(x);\\n y = Number(y);\\n var i, z, sum;\\n // Note: we need to normalize the numbers in case of over/underflow.\\n var max = Math.max(Math.abs(x), Math.abs(y));\\n for (i = 2; i < arguments.length; i++) {\\n max = Math.max(max, Math.abs(arguments[i]));\\n }\\n if (max > 1e100 || max < 1e-100) {\\n x = x / max;\\n y = y / max;\\n sum = x * x + y * y;\\n for (i = 2; 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 = x * x + y * y;\\n for (i = 2; 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 * C"; -a.a+="opyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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/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\",\"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)) 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/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 */\\n'require es6/object/assign';\\n'require es6/object/entries';\\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'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.assign', function(orig) {\\n if (orig) return orig;\\n\\n /**\\n * Polyfill for Object.assign() method:\\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 * @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 * @suppress {reportUnknownTypes}\\n */\\n var polyfill = 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\\n return polyfill;\\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 {!IObject} 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/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 co"; -a.a+="py of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {!IObject} 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 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {@code 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 * @return {!AsyncExecutor} this object\\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 this.asyncExecuteBatch_();\\n }\\n this.batch_.push(f);\\n return this;\\n };\\n\\n /**\\n * Schedule execution of the jobs in {@code this.batch_}.\\n * @private\\n */\\n AsyncExecutor.prototype.asyncExecuteBatch_ = function() {\\n var self = this;\\n this.asyncExecuteFunction(function() { self.executeBatch_(); });\\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 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 = executingBatch[i];\\n delete executingBatch[i]; // 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 executed when this promise 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(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 */\\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 // Allow nulls in callbacks so we can free memory\\n var /** !Array */ callbacks = this.onSettledCallbacks_;\\n\\n for (var i = 0; i < callbacks.length; ++i) {\\n (/** @type {function()} */ (callbacks[i])).call();\\n callbacks[i] = null; // free memory\\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 };\\"; -a.a+="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 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(function() {\\n asyncExecutor.asyncExecute(callback);\\n });\\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 =\\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 = $jscomp.makeIterator(thenablesOrValues);\\n var /** !IIterableResult<*> */ iterRec = iterator.next();\\n\\n if (iterRec.done) {\\n return resolvingPromise([]);\\n } else {\\n return new PolyfillPromise(function(resolveAll, rejectAll) {\\n var resultsArray = [];\\n var unresolvedCount = 0;\\n\\n function onFulfilled(i) {\\n return function(ithResult) {\\n resultsArray[i] = ithResult;\\n unresolvedCount--;\\n if (unresolvedCount == 0) {\\n resolveAll(resultsArray);\\n }\\n };\\n }\\n\\n do {\\n resultsArray.push(undefined);\\n unresolvedCount++;\\n // Using resolvingPromise() allows us to treat all elements the same\\n // way.\\n // NOTE: resolvingPromise(promise) always returns the argument\\n // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n // creating an unnecessary extra promise.\\n resolvingPromise(iterRec.value)\\n .callWhenSettled_(\\n onFulfilled(resultsArray.length - 1), rejectAll);\\n iterRec = iterator.next();\\n } while (!iterRec.done);\\n });\\n }\\n };\\n\\n return PolyfillPromise;\\n}, 'es6', 'es3');\\n\",\"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 i"; -a.a+="s distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 * 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/symbol';\\n'require es6/map';\\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 // Perform a conformance check to ensure correct native implementation.\\n var isConformant = !$jscomp.ASSUME_NO_NATIVE_SET && (function() {\\n if (!NativeSet ||\\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 if (isConformant) return NativeSet;\\n\\n // We depend on Symbol.iterator, so ensure it's loaded.\\n $jscomp.initSymbol();\\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 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 */\\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\",\"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"; -a.a+=" 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 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/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'require util/defineproperty';\\n'require util/global';\\n\\n/** @const {string} */\\n$jscomp.SYMBOL_PREFIX = 'jscomp_symbol_';\\n\\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 * 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 * @param {string=} opt_description\\n * @return {symbol}\\n * @suppress {reportUnknownTypes}\\n */\\n function Symbol(opt_description) {\\n return /** @type {symbol} */ (\\n $jscomp.SYMBOL_PREFIX + (opt_description || '') + (counter++));\\n }\\n return Symbol;\\n})();\\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']('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.arrayIterator(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 * Returns an iterator from the given array.\\n * @param {!Array} array\\n * @return {!IteratorIterable}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n var index = 0;\\n return $jscomp.iteratorPrototype(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/**\\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() { return this; };\\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 = iterator.next()).done) {\\n arr.push(i.value);\\n }\\n return arr;\\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\\"; -a.a+="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 */\\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/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/symbol';\\n\\n\\n/**\\n * Creates an iterator for the given iterable.\\n *\\n * @param {string|!Iterable|!Iterator|!Arguments} iterable\\n * @return {!Iterator}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.makeIterator = function(iterable) {\\n $jscomp.initSymbolIterator();\\n\\n // NOTE: Disabling typechecking because [] not allowed on @struct.\\n var iteratorFunction = /** @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 = (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/symbol';\\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 (isConformant()) return NativeWeakMap;\\n\\n var prop = '$jscomp_hidden_' + Math.random().toString().substring(2);\\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 = {};\\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 insert(target);\\n return prev(target);\\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 $jscomp.initSymbol();\\n $jscomp.initSymbolIterator();\\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 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 $jscomp.owns(key, prop) ? key[prop][this.id_] : undefined;\\n };\\n\\n /** @override */\\n PolyfillWeakMap.prototype.has = function(key) {\\n return $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_);\\n };\\n\\n /** @override */\\n PolyfillWeakMap.prototype.delete = function(key) {\\n if (!$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/symbol';\\n'require es6/util/makeiterator';\\n'require util/polyfill';\\n'require es6/weakmap';\\n\\n$jscomp.polyfill('WeakSet"; -a.a+="',\\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 (isConformant()) return NativeWeakSet;\\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 $jscomp.initSymbol();\\n $jscomp.initSymbolIterator();\\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'require es6/array';\\n'require es6/execute_async_generator';\\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/license.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\",\"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'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.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 */\\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 */\\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\\n if (win.tracked) {\\n return;\\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('"; -a.a+=' + 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","js/util/finddescriptor.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require es6/reflect/getownpropertydescriptor\';\\n\'require es6/reflect/getprototypeof\';\\n\\n\\n/**\\n * Helper function to find a descriptor.\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {!ObjectPropertyDescriptor|undefined}\\n */\\n$jscomp.findDescriptor = function(target, propertyKey) {\\n var /** ?Object */ obj = target;\\n while (obj) {\\n var property = Reflect.getOwnPropertyDescriptor(obj, propertyKey);\\n if (property) {\\n return property;\\n }\\n obj = Reflect.getPrototypeOf(obj);\\n }\\n return undefined;\\n};\\n","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\'declare global\';\\n\'declare window\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars|reportUnknownTypes}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n maybeGlobal :\\n (typeof global != \'undefined\' && global != null) ? global : maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\", but there\'s not\\n// currently any way to do this in the existing 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\\n * @param {?function(*): *} polyfill\\n * @param {string} fromLang\\n * @param {string} toLang\\n * @suppress {reportUnknownTypes}\\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'; -a.a+=' * Definition for object reflection. See goog.reflect.object.\\n *\\n * @param {!Function} type Type to cast to.\\n * @param {Object} object Object literal to cast.\\n * @return {Object} The object literal.\\n */\\n$jscomp.reflectObject = function(type, object) {\\n return object;\\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","parsing/ParserConfig.properties":"# Copyright 2009 The Closure Compiler Authors.\\n#\\n# Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n# you may not use this file except in compliance with the License.\\n# You may obtain a copy of the License at\\n#\\n# http://www.apache.org/licenses/LICENSE-2.0\\n#\\n# Unless required by applicable law or agreed to in writing, software\\n# distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n# See the License for the specific language governing permissions and\\n# limitations under the License.\\n\\n# Configuration options for the Parser.\\n#\\n# Allows us to update the allowed JSDoc annotations independently of the\\n# Compiler binary, so we can add new JSDoc annotations to old binaries.\\n\\n# The version of the compiler that we\'re currently building.\\n# Should be formatted as:\\n# Version# (Revision XXX)\\ncompiler.version = ${compiler.version}\\n\\n# The datestamp of the compiler that we\'re currently building.\\ncompiler.date = ${compiler.date}\\n\\n# A comma-delimited list.\\n# Some of these are not used by JSCompiler, but appear in third-party JS code.\\n# http://usejsdoc.org/\\n# It\'s not strictly necessary for the natively-supported annotations to be\\n# listed here, but it\'s nice to have them all in one place.\\njsdoc.annotations =\\\\\\n addon,\\\\\\n alias,\\\\\\n animations,\\\\\\n augments,\\\\\\n author,\\\\\\n base,\\\\\\n borrows,\\\\\\n bug,\\\\\\n channel, \\\\\\n class,\\\\\\n classdesc,\\\\\\n codepen,\\\\\\n config,\\\\\\n consistentIdGenerator,\\\\\\n constructor,\\\\\\n constructs,\\\\\\n copyright,\\\\\\n default,\\\\\\n delegate,\\\\\\n demo,\\\\\\n deprecated,\\\\\\n desc,\\\\\\n description,\\\\\\n dict,\\\\\\n element,\\\\\\n enhance,\\\\\\n enhanceable,\\\\\\n enum,\\\\\\n event,\\\\\\n eventOf,\\\\\\n eventType,\\\\\\n example,\\\\\\n exception,\\\\\\n exec,\\\\\\n export,\\\\\\n expose,\\\\\\n externs,\\\\\\n field,\\\\\\n file,\\\\\\n fires,\\\\\\n function,\\\\\\n global,\\\\\\n hassoydelcall,\\\\\\n hassoydeltemplate,\\\\\\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 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 public,\\\\\\n readonly,\\\\\\n requirecss,\\\\\\n requires,\\\\\\n restrict,\\\\\\n returns,\\\\\\n scope,\\\\\\n see,\\\\\\n since,\\\\\\n stableIdGenerator,\\\\\\n static,\\\\\\n struct,\\\\\\n summary,\\\\\\n supported,\\\\\\n this,\\\\\\n throws,\\\\\\n todo,\\\\\\n tutorial,\\\\\\n type,\\\\\\n typedef,\\\\\\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 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 newCheckTypes,\\\\\\n newCheckTypesAllChecks,\\\\\\n nonStandardJsDocs,\\\\\\n reportUnknownTypes,\\\\\\n strictModuleDepCheck,\\\\\\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 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# 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\\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.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.consistidgen =\\\\\\n extra @consistentIdGenerator 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.preserve.nobuilder =\\\\\\n @preserve or @license annotation without file to associate it with\\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.noalias =\\\\\\n extra @noalias tag\\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.nocompile =\\\\\\n extra @nocompile tag\\n\\nmsg.jsdoc.nocollapse =\\\\\\n extra @nocollapse 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.duplicate =\\\\\\n duplicate @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.stableidgen =\\\\\\n extra @stableIdGenerator tag\\n\\nmsg.jsdoc.templatemissing =\\\\\\n @template tag missing type name.\\n\\nmsg.jsdoc.template.name.declared.twice =\\\\\\n Type name(s) for @template annotation declared twice.\\n\\nmsg.jsdoc.template.invalid.type.name =\\\\\\n Invalid type name(s) for @template annotation.\\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.jaggerInject.extra =\\\\\\n extra @jaggerInject tag\\n\\nmsg.jsdoc.jaggerModule.extra =\\\\\\n extra @jaggerModule tag\\n\\nmsg.jsdoc.jaggerProvidePromise.extra =\\\\\\n extra @jaggerProvidePromise tag\\n\\nmsg.jsdoc.jaggerProvide.extra =\\\\\\n extra @jaggerProvide tag\\n\\nmsg.jsdoc.nginject.extra =\\\\\\n extra @ngInject tag\\n\\nmsg.no.type.name =\\\\\\n expecting a type name.\\n\\nmsg.jsdoc.typetransformation.missing.delimiter =\\\\\\n Expected end delimiter for a type transformation.\\n\\nmsg.jsdoc.typetransformation.with.multiple.names =\\\\\\n Type transformation must be associated to a single type name.\\n\\nmsg.jsdoc.typetransformation.expression.missing =\\\\\\n Missing type transformation expression.\\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"}\n'; -return a.a}var tBc="object",uBc="boolean",vBc="number",wBc="function",xBc="string",yBc=2147483647,zBc='For input string: "',ABc="null",BBc=-2147483648,CBc="\\\\",DBc={3:1,4:1,24:1},EBc={82:1,3:1},FBc=65536,GBc=55296,HBc=1023,IBc=65535,JBc=56320,KBc={3:1},LBc="use Optional.orNull() instead of Optional.or(null)",MBc={32:1},NBc="0123456789ABCDEF",OBc={122:1,59:1,60:1},PBc="[A-Z\\d]",QBc="[A-Z]",RBc=", ",SBc="(this Collection)",TBc={15:1,17:1},UBc={3:1,4:1},VBc={15:1,17:1,45:1},WBc="%s (%s) must not be negative", -XBc="index",YBc="negative size: ",ZBc={3:1,11:1,4:1},$Bc={59:1,138:1,3:1,21:1,14:1,60:1},_Bc={15:1},aCc="Suppliers.memoize(",bCc={44:1},cCc="value already present: %s",dCc={3:1,44:1},eCc="no calls to next() since the last call to remove()",fCc={48:1},gCc="entry no longer in map",hCc={15:1,17:1,31:1},iCc={113:1,32:1},jCc={113:1,32:1,128:1},kCc={101:1,3:1},lCc={15:1,17:1,45:1,65:1},mCc={32:1,128:1},nCc={15:1,17:1,31:1,129:1},oCc={15:1,17:1,206:1,31:1,129:1},pCc="occurrences cannot be negative: %s", -qCc={167:1,48:1},rCc={68:1,3:1,15:1,17:1},sCc={68:1,116:1,3:1,15:1,17:1,45:1,65:1},tCc={3:1,4:1,141:1},uCc={137:1,3:1,44:1},vCc={68:1,105:1,3:1,15:1,17:1,31:1},wCc={552:1,3:1},xCc={212:1,3:1},yCc=1073741824,zCc="expectedKeys",ACc="position (",BCc="expectedValuesPerKey",CCc=461845907,DCc=-862048943,ECc={3:1,15:1,17:1,45:1,65:1},FCc={3:1,15:1,17:1,45:1},GCc={130:1,191:1,3:1,21:1,14:1,127:1},HCc={130:1,127:1},ICc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",JCc={289:1,3:1},KCc= -"Unrecognized character: 0x",LCc="__noinit__",MCc="__java$exception",NCc="stack",OCc="\n",PCc={l:0,m:0,h:524288},QCc={140:1,3:1},RCc=1114111,SCc={3:1,40:1,22:1,38:1},TCc="String",UCc="anonymous",VCc="fnStack",WCc="Unknown",XCc=4194303,YCc=1048575,ZCc=524288,$Cc=4194304,_Cc=17592186044416,aDc=4095,bDc=-17592186044416,cDc="CSS1Compat",dDc="ERROR",eDc="WARNING",fDc="OFF",gDc="Expected 0 children, but was ",hDc="Expected ",iDc=" children, but was ",jDc="Expected 2 children, but was ",kDc="Expected 1 children, but was ", -lDc="Expected child count in [1, 2], but was ",mDc=" node",nDc="Expected child count in [0, 1], but was ",oDc="Expected non-null string.",pDc="Expected non-empty string.",qDc="Invalid child for ",rDc="Expected unnamed function expression.",sDc="Expected child count in [2, 3], but was ",tDc={53:1},uDc={560:1,3:1,4:1},vDc={131:1},wDc={26:1},xDc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",yDc="missing require: ''{0}''",zDc="Missing return statement. Function expected to return {0}.", -ADc="JSC_AT_EXPORT_IN_GOOG_MODULE",BDc="Array.isArray",CDc="goog",DDc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",EDc={35:1,3:1,4:1},FDc="prototype",GDc="goog.addSingletonGetter",HDc="goog$addSingletonGetter",IDc="JSC_LATE_PROVIDE_ERROR",JDc="use strict",KDc="loadModule",LDc="module",MDc="provide",NDc="require",ODc="finally",PDc="return",QDc="Unexpected Node subclass.",RDc="async",SDc="...",TDc="export",UDc="default",VDc="from",WDc="import",XDc="class",YDc="extends",ZDc="implements", -$Dc="while",_Dc="this",aEc="super",bEc="new.target",cEc="false",dEc="true",eEc="continue",fEc="Unexpected token type. Should be LABEL_NAME.",gEc="debugger",hEc="void",iEc="interface",jEc="enum",kEc="namespace",lEc="type",mEc="declare",nEc="async function",oEc="Expected qualified name, found: %s",pEc="$jscomp.inherits",qEc="$jscomp$inherits",rEc="JSC_MISSING_ENTRY_ERROR",sEc="JSC_OPTIMIZE_LOOP_ERROR",tEc="No inputs. Did you call init() or initModules()?",uEc="generateReport",vEc=".js",wEc=" [synthetic:", -xEc="{SyntheticVarsDeclar}",yEc=32768,zEc=131072,AEc="toSource",BEc="parseInputs",CEc="recordFunctionInformation",DEc="runTranspileOnlyPasses",EEc="runWhitespaceOnlyPasses",FEc={57:1},GEc="./",HEc="checkTypes",IEc="collapseObjectLiterals",JEc="inlineFunctions",KEc="inlineVariables",LEc="locale",MEc="removeUnusedClassProperties",NEc="removeUnusedPrototypeProperties",OEc="removeUnusedVars",PEc="BROWSER",QEc="FALSE",REc="TRUE",SEc="ECMASCRIPT3",TEc="ECMASCRIPT5",UEc={182:1,3:1},VEc={3:1,131:1},WEc="{0}", -XEc="reportUnknownTypes",YEc="analyzerChecks",ZEc="analyzerChecksInternal",$Ec="oldReportUnknownTypes",_Ec="newCheckTypes",aFc="newCheckTypesCompatibility",bFc="newCheckTypesExtraChecks",cFc="missingSourcesWarnings",dFc="deprecated",eFc="fileoverviewTags",fFc="checkEventfulObjectDisposal",gFc="uselessCode",hFc="const",iFc="duplicate",jFc="missingProvide",kFc="missingRequire",lFc="BAD_REST_PARAMETER_ANNOTATION",mFc='Missing "..." in type annotation for rest parameter.',nFc="Symbol",oFc="apply",pFc= -"Symbol.iterator",qFc="es6/symbol",rFc=-536870912,sFc=536870912,tFc="$jscomp$restParams",uFc="Array",vFc="$jscomp$restIndex",wFc="arguments",xFc={53:1,26:1},yFc="es6/util/",zFc="makeIterator",AFc="ES5 getters/setters (consider using --language_out=ES5)",BFc="async functions should have already been converted",CFc={135:1,3:1,21:1,14:1},DFc="JSC_INVALID_SUPER_CALL",EFc=134217728,FFc="var_args",GFc="Only calls to super or to a method of super are supported.",HFc="constructor",IFc="call",JFc={59:1,60:1}, -KFc="Error",LFc="RangeError",MFc="ReferenceError",NFc="SyntaxError",OFc="Boolean",PFc="Function",QFc="Number",RFc="RegExp",SFc="Object",TFc="$jscomp$tmp$error",UFc="message",VFc="$jscomp$super$this",WFc="undefined",XFc="%20",YFc="%5B",ZFc="%5D",$Fc="%3C",_Fc="%3E",aGc="$jscomp$arguments",bGc="$jscomp$this",cGc=".prototype",dGc=2097152,eGc=8388608,fGc="util/global",gGc="$jscomp.global.Object.defineProperties",hGc=1024,iGc="$jscomp$destructuring$var",jGc="next",kGc="value",lGc="$jscomp$generator$state", -mGc="done",nGc="$jscomp$generator$forin$array",oGc="$jscomp$generator$forin$var",pGc="$jscomp$generator$forin$iter",qGc="$jscomp$generator$arguments",rGc="$jscomp$generator$this",sGc="$jscomp$generator$first$do",tGc="$jscomp$generator$global$errortemp",uGc="$jscomp$generator$global$error",vGc="$jscomp",wGc="$jscomp$generator$yield$all",xGc="$jscomp$generator$yield$entry",yGc="$jscomp$generator$next$arg",zGc="$jscomp$generator$action$arg",AGc="$jscomp$generator$throw$arg",BGc="$jscompDefaultExport", -CGc="goog.require",DGc="goog.provide",EGc="goog.module",FGc="JSC_CANNOT_CONVERT",GGc="$jscomp$",HGc="Unexpected.",IGc="@implements used without @constructor or @interface for {0}",JGc="parameter {0} does not appear in {1}''s parameter list",KGc=1610612736,LGc=".prototype.",MGc=67108864,NGc="CLASS",OGc="FUNCTION",PGc="property {0} on interface {1} is not implemented by type {2}",QGc="interface member functions must have an empty body",RGc="java.lang.Integer",SGc="java/lang/Integer.impl.java.js",TGc= -"java.lang.Float",UGc="java/lang/Float.impl.java.js",VGc="goog.math.Long",WGc="closure/goog/math/long.js",XGc=268435456,YGc="throws",ZGc="@template ",$Gc="$jscomp$key$",_Gc={26:1,901:1},aHc='Constructor {0} should be called with the "new" keyword',bHc="Illegal key, the object literal is a {0}",cHc="Cannot use the IN operator with structs",dHc="Property {0} never defined on {1}",eHc="Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.",fHc="Cannot do {0} access on a {1}", -gHc="unknown type: {0}",hHc="Abstract super method {0} cannot be called",iHc="Constructor expected as first argument",jHc="Unexpected node type: ",kHc="Infinity",lHc="typeof",mHc="instanceof",nHc="Normalize constraints violated:\n",oHc="Duplicate VAR declaration",pHc=1048576,qHc="Unexpected const change.\n name: ",rHc="Normalize ES6 shorthand property syntax",sHc="peepholeOptimizations",tHc="removeUnreachableCode",uHc="JSC_BASE_CLASS_ERROR",vHc="$jscomp$async$this",wHc="$jscomp$async$arguments", -xHc="$jscomp$async$generator",yHc="$jscomp$browser$blacklisted",zHc="/package.json",AHc="$jscomp.polyfill",BHc="Parse error. {0}",CHc="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.",DHc="Can only have JSDoc or inline type annotations, not both",EHc="Trailing comma is not legal in an ECMA-262 object initializer",FHc="msg.bad.jsdoc.tag",GHc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?", -HHc="Sanity Check failed",IHc={183:1,3:1,21:1,14:1},JHc={185:1,970:1,3:1},KHc={59:1,188:1,3:1,21:1,14:1,60:1},LHc={187:1,3:1,21:1,14:1},MHc="DEFAULT",NHc="-beginning-",OHc="JSC_INEXISTENT_PROPERTY",PHc="{1} cannot extend this type; {0}s can only extend {0}s",QHc="{0} cannot implement this type; an interface can only extend, but not implement interfaces",RHc="Expected a constructor; got %s",SHc=" * ",THc="../",UHc={130:1,265:1,3:1,21:1,14:1,127:1},VHc="node_modules/",WHc="LOOSE_TOP_FUNCTION",XHc="TOP_FUNCTION", -YHc="FALSE_TYPE",ZHc="NULL",$Hc="NUMBER",_Hc="STRING",aIc="TOP_SCALAR",bIc="TRUE_TYPE",cIc="TRUTHY",dIc="UNKNOWN",eIc="UNDEFINED_OR_BOOLEAN",fIc="UNDEFINED_OR_NUMBER",gIc="UNDEFINED_OR_STRING",hIc="NULL_OR_BOOLEAN",iIc="NULL_OR_NUMBER",jIc="NULL_OR_STRING",kIc="NULL_OR_UNDEFINED",lIc="NUMBER_OR_STRING",mIc={124:1,150:1,85:1,56:1,3:1},nIc="QMARK_FUNCTION",oIc="BOTTOM_FUNCTION",pIc="CONSTRUCTOR",qIc="ENUM",rIc="EXTENDS",sIc="EXPORT",tIc="IMPLEMENTS",uIc="INTERFACE",vIc="PACKAGE",wIc="PRIVATE",xIc="PROTECTED", -yIc="PUBLIC",zIc="RETURN",AIc="THIS",BIc="TYPE",CIc="package",DIc="private",EIc="protected",FIc="public",GIc="static",HIc="Octal integer literals are not supported in strict mode.",IIc="Invalid octal digit in octal literal.",JIc="unexpected: ",KIc="this language feature is only supported for ",LIc=" mode or better: ",MIc="__missing_expression__",NIc="unique",OIc="consistent",PIc="Bad type annotation. ",QIc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.", -RIc="msg.jsdoc.incompat.type",SIc="msg.jsdoc.interface.constructor",TIc="msg.jsdoc.missing.rc",UIc="msg.jsdoc.template.name.declared.twice",VIc="msg.jsdoc.extra.visibility",WIc="msg.jsdoc.type.syntax",XIc="msg.jsdoc.missing.rp",YIc="msg.jsdoc.idgen.bad",ZIc="msg.jsdoc.idgen.duplicate",$Ic="msg.jsdoc.modifies",_Ic="msg.jsdoc.suppress",aJc="ANNOTATION",bJc="com.google.javascript.jscomp.parsing.ParserConfig",cJc="Expected a call node, found %s",dJc="msg.jsdoc.typetransformation.invalid",eJc="msg.jsdoc.typetransformation.invalid.expression", -fJc="type transformation",gJc="msg.jsdoc.typetransformation.invalid.inside",hJc="conditional",iJc="map function",jJc="Expected a function node, found %s",kJc="msg.jsdoc.typetransformation.missing.param",lJc="msg.jsdoc.typetransformation.extra.param",mJc="map function body",nJc="template type operation",oJc="INSTANCEOF",pJc="unknown",qJc="SUPER",rJc="NEW_TARGET",sJc="AMBIENT_DECLARATION",tJc="CALL_SIGNATURE",uJc="INDEX_SIGNATURE",vJc="NAMESPACE_DECLARATION",wJc="OPTIONAL_PARAMETER",xJc="TYPE_ALIAS", -yJc="CATCH",zJc="CONTINUE",AJc="DEBUGGER",BJc="delete",CJc="FINALLY",DJc="SWITCH",EJc="TYPEOF",FJc="IMPORT",GJc="DECLARE",HJc="NAMESPACE",IJc="'%s' expected",JJc="const variables must have an initializer",KJc="destructuring must have an initializer",LJc="No newline allowed before '=>'",MJc="invalid assignment target",NJc="async functions cannot be generators",OJc="invalid parenthesized expression",PJc="cannot use keyword '%s' here.",QJc="unreachable",RJc="invalid arrow function parameters",SJc="Unterminated template literal", -TJc="Invalid escape sequence",UJc="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.",VJc="ARRAY_PATTERN",WJc="OBJECT_PATTERN",XJc="ARRAY_TYPE",YJc="RECORD_TYPE",ZJc="UNION_TYPE",$Jc="FUNCTION_TYPE",_Jc="GENERIC_TYPE_LIST",aKc=4294967295,bKc="Bit index should be non-negative integer",cKc="String has leading or trailing whitespace",dKc="The new child node has next siblings.",eKc="The new child node has previous siblings.", -fKc="The new child node already has a parent.",gKc="Number node not created with Node.newNumber",hKc="String node not created with Node.newString",iKc=" is not a string node",jKc="com.google.javascript.rhino.Messages",kKc="STRING_TYPE",lKc="BOOLEAN_TYPE",mKc="NUMBER_TYPE",nKc={56:1,23:1,3:1},oKc={49:1,3:1,4:1},pKc={85:1,56:1,23:1,47:1,3:1},qKc={85:1,56:1,23:1,47:1,84:1,3:1},rKc={150:1,85:1,56:1,69:1,23:1,47:1,84:1,3:1},sKc={85:1,56:1,23:1,47:1,126:1,3:1},tKc={155:1,3:1,21:1,14:1},uKc={3:1,89:1,38:1}, -vKc={21:1,181:1},wKc=16777619,xKc={3:1,15:1,17:1,31:1},yKc={3:1,21:1,14:1,147:1},zKc={3:1,4:1,972:1},AKc="Invalid UTF8 sequence",BKc=", length: ",CKc="fromIndex: ",DKc=", toIndex: ",EKc="user.agent";var _,dW,$V,FV=-1;eW();fW(1,null,{},ub);_.Cd=function vb(a){return this===a};_.Dd=function xb(){return this.Nj};_.Ed=function zb(){return kBc(this)};_.Fd=function Bb(){var a;return ojc(yb(this))+"@"+(a=Ab(this)>>>0,a.toString(16))};_.equals=function(a){return this.Cd(a)};_.hashCode=function(){return this.Ed()}; -_.toString=function(){return this.Fd()};var kE,lE,mE;kE={3:1,596:1,21:1};var Nic,Oic;fW(374,1,{},qjc);_.vj=function rjc(a){var b;b=new qjc;b.i=4;a>1?b.c=yjc(this,a-1):b.c=this;return b};_.wj=function xjc(){mjc(this);return this.b};_.Hg=function zjc(){return ojc(this)};_.xj=function Bjc(){return pjc(this)};_.yj=function Djc(){return(this.i&4)!=0};_.zj=function Ejc(){return(this.i&1)!=0};_.Fd=function Hjc(){return((this.i&2)!=0?"interface ":(this.i&1)!=0?"":"class ")+(mjc(this),this.p)};_.i=0;_.k=0; -var ljc=1;fW(214,1,{3:1,214:1});var Jjc;lE={3:1,21:1,597:1,214:1};mE={3:1,375:1,21:1,2:1};fW(1007,1,{});var nT=tjc(1);var XS=tjc(596);var ZS=tjc(374);var mT=tjc(214);var $S=tjc(597);var sT=tjc(2);fW(913,1,KBc);var UE=tjc(913);fW(623,913,KBc,Fb);_.Cd=function Gb(a){return a===this};_.Gd=function Hb(){throw HV(new Ujc("Optional.get() cannot be called on an absent value"));};_.Ed=function Ib(){return 2040732332};_.Hd=function Jb(){return false};_.Id=function Kb(a){return Eb(a)};_.Fd=function Lb(){return"Optional.absent()"}; -var Cb;var DE=tjc(623);fW(593,1,MBc);_.Jd=function Pb(){return Mb(this)};_.Kd=function Qb(){return Nb(this)};_.Ld=function Rb(){throw HV(new Llc);};_.i=1;var EE=tjc(593);var WE=vjc();fW(122,1,OBc);_.Md=function Zb(a){return this.Nd(a.Rj)};_.Cd=function $b(a){return this===a};_.Fd=function ac(){var a;return ojc(this.Nj)+"@"+(a=Ab(this)>>>0,a.toString(16))};var PE=tjc(122);fW(592,122,OBc,bc);_.Nd=function cc(a){return Rpc(this.a,a)>=0};_.Fd=function dc(){var a,b,c,d,e;e=new Ilc('CharMatcher.anyOf("'); -for(b=this.a,c=0,d=b.length;c>>Hc)==a};var Gc,Hc=0;var OE=tjc(589);fW(72,1,{},Qc);var RE=tjc(72);var gT=vjc();fW(909,1,TBc);_.add=function Zc(a){throw HV(new Mlc("Add not supported on this collection"));};_.addAll=function $c(a){return Sc(this,a)};_.clear= -function _c(){Uc(this)};_.contains=function ad(a){return Tc(this,a,false)};_.containsAll=function bd(a){return Vc(this,a)};_.isEmpty=function cd(){return this.size()==0};_.remove=function dd(a){return Tc(this,a,true)};_.removeAll=function ed(a){return Wc(this,a)};_.retainAll=function fd(a){return Xc(this,a)};_.toArray=function gd(){return this.Qd(AD(nT,UBc,1,this.size(),5,1))};_.Qd=function hd(a){var b,c,d,e;e=this.size();a.lengthe&&(a[e]=null);return a};_.Fd=function jd(){return Yc(this)};var yT=tjc(909);fW(929,909,VBc);_.addAtIndex=function md(a,b){throw HV(new Mlc("Add not supported on this list"));};_.add=function nd(a){this.addAtIndex(this.size(),a);return true};_.addAllAtIndex=function od(a,b){var c,d,e;aBc(b);c=false;for(e=b.Pd();e.Jd();){d=e.Kd();this.addAtIndex(a++,d);c=true}return c};_.clear=function pd(){this.Td(0,this.size())};_.Cd=function qd(a){return kd(this,a)};_.Ed=function rd(){return Vqc(this)}; -_.indexOf=function sd(a){return ld(this,a)};_.Pd=function td(){return new Qmc(this)};_.lastIndexOf=function ud(a){var b;for(b=this.size()-1;b>-1;--b)if(vxc(a,this.getAtIndex(b)))return b;return-1};_.Rd=function vd(){return this.Sd(0)};_.Sd=function wd(a){return new Vmc(this,a)};_.removeAtIndex=function xd(a){throw HV(new Mlc("Remove not supported on this list"));};_.Td=function yd(a,b){var c,d;d=this.Sd(a);for(c=a;c0};_.Kd=function Gh(){return Dh(this)}; -_.ke=function Hh(){if(this.b<=0)throw HV(new uxc);return this.me(--this.b)};_.b=0;_.c=0;var pF=tjc(604);fW(399,113,iCc);_.Jd=function Lh(){return Ih(this)};_.Kd=function Mh(){return Jh(this)};_.f=1;var qF=tjc(399);fW(952,1,{101:1});_.oe=function Qh(){var a;return a=this.f,!a?this.f=this.re():a};_.se=function Rh(){return new Oj(this.oe())};_.Cd=function Sh(a){return fx(this,a)};_.Ed=function Th(){return Ab(this.oe())};_.ue=function Uh(){return this.ze()==0};_.ve=function Vh(){return Oh(this)};_.we= -function Wh(a,b){return this.te(a).add(b)};_.xe=function Xh(a,b){var c;return c=this.oe().Yd(a),!!c&&c.remove(b)};_.Fd=function Yh(){return kW(this.oe())};var LF=tjc(952);fW(440,952,kCc);_.pe=function gi(){Zh(this)};_.qe=function hi(a){return $h(this,a)};_.re=function ii(){return new gj(this,this.c)};_.Be=function ji(a){return this.Ae()};_.se=function ki(){return new Vj(this,this.c)};_.Ce=function li(){return ri(this.Ae())};_.te=function mi(a){return _h(this,a)};_.we=function oi(a,b){return ai(this, -a,b)};_.ye=function pi(a){return bi(this,a)};_.ze=function qi(){return this.d};_.d=0;var FF=tjc(440);fW(441,440,kCc);_.Ae=function ui(){return this.De()};_.Ce=function vi(){return Zn(),Zn(),Yn};_.te=function xi(a){return _h(this,a)};_.ye=function Ai(a){return bi(this,a)};_.oe=function ti(){var a;return a=this.f,!a?this.f=new gj(this,this.c):a};_.Cd=function wi(a){return fx(this,a)};_.Ee=function yi(a){return _h(this,a)};_.we=function zi(a,b){return ai(this,a,b)};_.Fe=function Bi(a){return bi(this, -a)};var rF=tjc(441);fW(928,1,bCc);_.getOrDefault=function Pi(a,b){var c;return c=this.Yd(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function Vi(a,b){var c;return c=this.Yd(a),c!=null?c:this.put(a,b)};_.replace=function Xi(a,b){return this.containsKey(a)?this.put(a,b):null};_.clear=function Ii(){this.Xd().clear()};_.Ge=function Ji(a){return Ci(this,a)};_.containsKey=function Ki(a){return!!Ei(this,a,false)};_.containsValue=function Li(a){var b,c,d;for(c=this.Xd().Pd();c.Jd();){b=c.Kd();d=b.ee(); -if(wE(a)===wE(d)||a!=null&&wb(a,d))return true}return false};_.Cd=function Mi(a){return Di(this,a)};_.Yd=function Ni(a){return Oi(Ei(this,a,false))};_.Ed=function Qi(){return Uqc(this.Xd())};_.isEmpty=function Ri(){return this.size()==0};_.keySet=function Si(){return new gnc(this)};_.put=function Ti(a,b){throw HV(new Mlc("Put not supported on this map"));};_.putAll=function Ui(a){Fi(this,a)};_.remove=function Wi(a){return Oi(Ei(this,a,true))};_.size=function Yi(){return this.Xd().size()};_.Fd=function Zi(){return Gi(this)}; -_.values=function $i(){return new qnc(this)};var NT=tjc(928);fW(953,928,bCc);_.Xd=function aj(){return _i(this)};_.keySet=function bj(){var a;a=this.d;return!a?this.d=new Oj(this):a};_.values=function cj(){var a;a=this.e;return!a?this.e=new Kw(this):a};var DH=tjc(953);fW(196,953,bCc,gj);_.Yd=function lj(a){return dj(this,a)};_.remove=function oj(a){return ej(this,a)};_.clear=function hj(){this.a==this.b.c?this.b.pe():Ps(new Kj(this))};_.containsKey=function ij(a){return nw(this.a,a)};_.Ie=function jj(){return new Fj(this)}; -_.He=function(){return this.Ie()};_.Cd=function kj(a){return this===a||Di(this.a,a)};_.Ed=function mj(){return Uqc(this.a.Xd())};_.keySet=function nj(){return this.b.ve()};_.size=function pj(){return this.a.size()};_.Fd=function qj(){return Gi(this.a)};var uF=tjc(196);fW(908,909,hCc);_.Cd=function sj(a){return rj(this,a)};_.Ed=function tj(){return Uqc(this)};_.removeAll=function uj(a){var b,c,d,e;aBc(a);e=this.size();if(e0};var wF=tjc(447);fW(449,1,MBc,ak);_.Jd=function bk(){return this.c.Jd()};_.Kd=function ck(){this.a=this.c.Kd();return this.a.de()};_.Ld=function dk(){var a;ee(!!this.a,eCc);a=this.a.ee();this.c.Ld();this.b.a.d-=a.size();a.clear()};var vF=tjc(449);fW(232,909,TBc,ik);_.add=function jk(a){var b,c;fk(this);c=this.d.isEmpty();b=this.d.add(a);if(b){++this.f.d;c&&ek(this)}return b}; -_.addAll=function kk(a){var b,c,d;if(a.isEmpty())return false;d=(fk(this),this.d.size());b=this.d.addAll(a);if(b){c=this.d.size();this.f.d+=c-d;d==0&&ek(this)}return b};_.clear=function lk(){var a;a=(fk(this),this.d.size());if(a==0)return;this.d.clear();this.f.d-=a;gk(this)};_.contains=function mk(a){fk(this);return this.d.contains(a)};_.containsAll=function nk(a){fk(this);return this.d.containsAll(a)};_.Cd=function ok(a){if(a===this)return true;fk(this);return wb(this.d,a)};_.Ed=function pk(){fk(this); -return Ab(this.d)};_.Pd=function qk(){fk(this);return new Lk(this)};_.remove=function rk(a){var b;fk(this);b=this.d.remove(a);if(b){--this.f.d;gk(this)}return b};_.removeAll=function sk(a){var b,c,d;if(a.isEmpty())return false;d=(fk(this),this.d.size());b=this.d.removeAll(a);if(b){c=this.d.size();this.f.d+=c-d;gk(this)}return b};_.retainAll=function tk(a){var b,c,d;Zd(a);d=(fk(this),this.d.size());b=this.d.retainAll(a);if(b){c=this.d.size();this.f.d+=c-d;gk(this)}return b};_.size=function uk(){return hk(this)}; -_.Fd=function vk(){fk(this);return kW(this.d)};var zF=tjc(232);fW(445,232,VBc,wk);_.addAtIndex=function xk(a,b){var c;fk(this);c=this.d.isEmpty();this.d.addAtIndex(a,b);++this.a.d;c&&ek(this)};_.addAllAtIndex=function yk(a,b){var c,d,e;if(b.isEmpty())return false;e=(fk(this),this.d.size());c=this.d.addAllAtIndex(a,b);if(c){d=this.d.size();this.a.d+=d-e;e==0&&ek(this)}return c};_.getAtIndex=function zk(a){fk(this);return this.d.getAtIndex(a)};_.indexOf=function Ak(a){fk(this);return this.d.indexOf(a)}; -_.lastIndexOf=function Bk(a){fk(this);return this.d.lastIndexOf(a)};_.Rd=function Ck(){fk(this);return new Qk(this)};_.Sd=function Dk(a){fk(this);return new Rk(this,a)};_.removeAtIndex=function Ek(a){var b;fk(this);b=this.d.removeAtIndex(a);--this.a.d;gk(this);return b};_.setAtIndex=function Fk(a,b){fk(this);return this.d.setAtIndex(a,b)};_.subList=function Gk(a,b){fk(this);return ei(this.a,this.e,this.d.subList(a,b),!this.b?this:this.b)};var BF=tjc(445);fW(753,445,lCc,Hk);var xF=tjc(753);fW(333, -1,MBc,Lk);_.Jd=function Nk(){Kk(this);return this.b.Jd()};_.Kd=function Ok(){Kk(this);return this.b.Kd()};_.Ld=function Pk(){Jk(this)};var yF=tjc(333);fW(446,333,mCc,Qk,Rk);_.Ld=function Vk(){Jk(this)};_.ie=function Sk(a){var b;b=hk(this.a)==0;(Kk(this),this.b).ie(a);++this.a.a.d;b&&ek(this.a)};_.je=function Tk(){return(Kk(this),this.b).je()};_.ke=function Uk(){return(Kk(this),this.b).ke()};_.le=function Wk(a){(Kk(this),this.b).le(a)};var AF=tjc(446);fW(334,232,nCc,Xk);var EF=tjc(334);fW(444,334, -oCc,Yk);var CF=tjc(444);fW(443,232,hCc,Zk);_.removeAll=function $k(a){var b,c,d;if(a.isEmpty())return false;d=(fk(this),this.d.size());b=jy(this.d,a);if(b){c=this.d.size();this.a.d+=c-d;gk(this)}return b};var DF=tjc(443);fW(959,909,{373:1,15:1,17:1});_.add=function dl(a){return rl(this,a,1),true};_.addAll=function el(a){return Bx(this,a)};_.clear=function fl(){var a;Ps((a=this.a.Xd().Pd(),new Cl(this,a)))};_.contains=function gl(a){return _k(this,a)};_.Ke=function hl(){return al(this)};_.Cd=function il(a){return Cx(this, -a)};_.Ed=function jl(){return Ab(bl(this))};_.isEmpty=function kl(){return bl(this).isEmpty()};_.Pd=function ll(){return new Hx(this,bl(this).Pd())};_.remove=function ml(a){return vl(this,a,1)>0};_.removeAll=function nl(a){return cl(this,a)};_.retainAll=function ol(a){var b;return Zd(a),b=qE(a,373)?a.Ke():a,this.Ke().retainAll(b)};_.size=function pl(){return Ex(this)};_.Fd=function ql(){return kW(bl(this))};var OF=tjc(959);fW(870,959,{373:1,3:1,15:1,17:1});_.clear=function yl(){sl(this)};_.Pd=function Al(){return new Ll(this)}; -_.size=function Bl(){return UA(this.b)};_.b=0;var JF=tjc(870);fW(540,1,MBc,Cl);_.Kd=function El(){var a;return a=this.c.Kd(),this.b=a,new Kl(this,a)};_.Jd=function Dl(){return this.c.Jd()};_.Ld=function Fl(){ee(!!this.b,eCc);this.a.b=UV(this.a.b,Xm(this.b.ee(),0));this.c.Ld();this.b=null};var HF=tjc(540);fW(956,1,{974:1});_.Cd=function Gl(a){var b;if(qE(a,249)){b=a;return Jl(this)==Jl(b)&&Ld(this.b.de(),b.b.de())}return false};_.Ed=function Hl(){var a;a=this.b.de();return(a==null?0:Ab(a))^Jl(this)}; -_.Fd=function Il(){var a,b;b=qlc(this.b.de());a=Jl(this);return a==1?b:b+" x "+a};var TH=tjc(956);fW(249,956,{249:1,974:1},Kl);var GF=tjc(249);fW(871,1,MBc,Ll);_.Jd=function Ml(){return this.d>0||this.c.Jd()};_.Kd=function Nl(){if(this.d==0){this.b=this.c.Kd();this.d=this.b.ee().a}--this.d;this.a=true;return this.b.de()};_.Ld=function Ol(){var a;ee(this.a,eCc);a=this.b.ee().a;if(a<=0)throw HV(new Ytc);(this.b.ee().a+=-1)==0&&this.c.Ld();this.e.b=UV(this.e.b,1);this.a=false};_.a=false;_.d=0;var IF= -tjc(871);fW(167,1,qCc);_.Cd=function Pl(a){var b;if(qE(a,48)){b=a;return Ld(this.de(),b.de())&&Ld(this.ee(),b.ee())}return false};_.Ed=function Ql(){var a,b;a=this.de();b=this.ee();return(a==null?0:Ab(a))^(b==null?0:Ab(b))};_.fe=function Rl(a){throw HV(new Llc);};_.Fd=function Sl(){return this.de()+"="+this.ee()};var KF=tjc(167);fW(954,939,hCc);_.clear=function Tl(){sl(this.a)};_.contains=function Ul(a){return _k(this.a,a)};_.containsAll=function Vl(a){return Vc(this.a,a)};_.isEmpty=function Wl(){return bl(this.a).isEmpty()}; -_.Pd=function Xl(){return new Fx(bl(this.a).Pd())};_.remove=function Yl(a){return vl(this.a,a,yBc)>0};_.size=function Zl(){return bl(this.a).size()};var VH=tjc(954);fW(755,954,hCc,$l);var MF=tjc(755);fW(955,939,hCc);_.clear=function _l(){sl(this.a)};_.contains=function am(a){var b,c;if(qE(a,249)){c=a;if(Jl(c)<=0)return false;b=tl(this.a,c.b.de());return b==Jl(c)}return false};_.remove=function bm(a){var b,c,d,e;if(qE(a,249)){c=a;b=c.b.de();d=Jl(c);if(d!=0){e=this.a;return Dx(e,b,d,0)}}return false}; -var WH=tjc(955);fW(756,955,hCc,cm);_.Pd=function dm(){return ul(this.a)};_.size=function em(){return this.a.a.size()};var NF=tjc(756);fW(332,440,kCc);_.Ae=function hm(){return this.Le()};_.Ce=function im(){return Cn(),cy(),by};_.te=function km(a){return _h(this,a)};_.ye=function nm(a){return bi(this,a)};_.oe=function gm(){var a;return a=this.f,!a?this.f=new gj(this,this.c):a};_.Cd=function jm(a){return fx(this,a)};_.Me=function lm(a){return _h(this,a)};_.we=function mm(a,b){return ai(this,a,b)};_.Ne= -function om(a){return bi(this,a)};var PF=tjc(332);fW(960,1,{552:1});_.Pe=function pm(){var a;return a=this.d,!a?this.d=new um(this):a};_.pe=function qm(){Ps(this.Pe().a.Oe())};_.Cd=function rm(a){return Mz(this,a)};_.Ed=function sm(){return Uqc(this.Pe())};_.Fd=function tm(){return Gi(this.Qe())};var RF=tjc(960);fW(543,908,hCc,um);_.clear=function vm(){this.a.pe()};_.contains=function wm(a){var b,c;if(qE(a,251)){b=a;c=ow(this.a.Qe(),b.b);return!!c&&Gm(c.Xd(),new Wq(b.a,b.c))}return false};_.Pd=function xm(){return this.a.Oe()}; -_.remove=function ym(a){var b,c;if(qE(a,251)){b=a;c=ow(this.a.Qe(),b.b);return!!c&&Hm(c.Xd(),new Wq(b.a,b.c))}return false};_.size=function zm(){return this.a.ze()};var QF=tjc(543);fW(822,441,kCc);var SF=tjc(822);fW(531,822,kCc,Bm);_.De=function Cm(){return new rpc(this.a)};_.a=0;var TF=tjc(531);fW(631,909,TBc,Km);_.clear=function Lm(){this.a.clear()};_.isEmpty=function Mm(){return this.a.isEmpty()};_.Pd=function Nm(){return Jm(this)};_.size=function Om(){return this.a.size()};var UF=tjc(631);fW(226, -1,{226:1,131:1});_.Cd=function Pm(a){return this===a};_.Te=function Rm(){return new Rtc(this)};_.Se=function Qm(){return new Rx(this)};var _H=tjc(226);fW(318,226,{318:1,226:1,3:1,131:1},Sm);_.Re=function Tm(a,b){return this.a.Re(a,b)};_.Cd=function Um(a){var b;if(a===this)return true;if(qE(a,318)){b=a;return this.a.Cd(b.a)}return false};_.Ed=function Vm(){return Ab(this.a)};_.Fd=function Wm(){return kW(this.a)};var VF=tjc(318);fW(287,1,{287:1,3:1},Ym);_.Cd=function Zm(a){return qE(a,287)&&a.a==this.a}; -_.Ed=function $m(){return this.a};_.Fd=function _m(){return""+this.a};_.a=0;var WF=tjc(287);fW(893,952,kCc);_.oe=function an(){return this.a};_.te=function en(a){return this.Ue(a)};_.ve=function fn(){return this.a.df()};_.ye=function kn(a){return this.Ve(a)};_.pe=function bn(){throw HV(new Llc);};_.qe=function cn(a){return qp(this.a,a)};_.re=function dn(){throw HV(new Mic("should never be called"));};_.we=function gn(a,b){throw HV(new Llc);};_.xe=function hn(a,b){throw HV(new Llc);};_.Ve=function jn(a){throw HV(new Llc); -};_.ze=function ln(){return this.b};_.b=0;var KG=tjc(893);fW(549,893,kCc,on);_.oe=function pn(){return this.a};_.Cd=function rn(a){return fx(this,a)};_.Ue=function sn(a){return mn(this,a)};_.te=function tn(a){var b;return b=rp(this.a,a),!b?(Zn(),Zn(),Yn):b};_.Ee=function un(a){var b;return b=rp(this.a,a),!b?(Zn(),Zn(),Yn):b};_.Ve=function vn(a){return nn()};_.ye=function wn(a){return nn()};_.Fe=function xn(a){return nn()};var AG=tjc(549);fW(897,549,kCc,An);var yn;var XF=tjc(897);fW(684,1,_Bc);_.Fd= -function Bn(){return Ys(this.c.Id(this).Pd())};var YF=tjc(684);fW(68,909,rCc);_.Pd=function Kn(){return this.Ye()};_.add=function En(a){throw HV(new Llc);};_.addAll=function Fn(a){throw HV(new Llc);};_.We=function Gn(){return Dn(this)};_.clear=function Hn(){throw HV(new Llc);};_.contains=function In(a){return a!=null&&Tc(this,a,false)};_.Xe=function Jn(){switch(this.size()){case 0:return Zn(),Zn(),Yn;case 1:return Zn(),new Uy(Zd(this.Ye().Kd()));default:return new _r(this,this.toArray())}};_.remove= -function Ln(a){throw HV(new Llc);};_.removeAll=function Mn(a){throw HV(new Llc);};_.retainAll=function Nn(a){throw HV(new Llc);};var uG=tjc(68);fW(398,68,rCc,On);_.Pd=function Tn(){return $s(this.a.Pd())};_.contains=function Pn(a){return a!=null&&this.a.contains(a)};_.containsAll=function Qn(a){return this.a.containsAll(a)};_.isEmpty=function Rn(){return this.a.isEmpty()};_.Ye=function Sn(){return $s(this.a.Pd())};_.size=function Un(){return this.a.size()};_.toArray=function Vn(){return this.a.toArray()}; -_.Qd=function Wn(a){return this.a.Qd(a)};_.Fd=function Xn(){return kW(this.a)};var $F=tjc(398);fW(116,68,sCc);_.Pd=function lo(){return this.Ye()};_.Rd=function no(){return this.Ze(0)};_.Sd=function po(a){return this.Ze(a)};_.subList=function uo(a,b){return this.$e(a,b)};_.addAtIndex=function ao(a,b){throw HV(new Llc);};_.addAllAtIndex=function bo(a,b){throw HV(new Llc);};_.We=function co(){return this};_.Cd=function ho(a){return Wu(this,a)};_.Ed=function io(){return Xu(this)};_.indexOf=function jo(a){return a== -null?-1:Yu(this,a)};_.Ye=function ko(){return this.Ze(0)};_.lastIndexOf=function mo(a){return a==null?-1:Zu(this,a)};_.Ze=function oo(a){return $n(this,a)};_.removeAtIndex=function ro(a){throw HV(new Llc);};_.setAtIndex=function so(a,b){throw HV(new Llc);};_.$e=function to(a,b){var c;return vo((c=new iv(this),new _mc(c,a,b)))};var Yn;var BG=tjc(116);fW(931,116,sCc);_.Pd=function Go(){return $s(this._e().Pd())};_.subList=function Ko(a,b){return vo(this._e().subList(a,b))};_.contains=function yo(a){return wo(this, -a)};_.containsAll=function zo(a){return this._e().containsAll(a)};_.Cd=function Ao(a){return wb(this._e(),a)};_.getAtIndex=function Bo(a){return xo(this,a)};_.Ed=function Co(){return Ab(this._e())};_.indexOf=function Do(a){return this._e().indexOf(a)};_.isEmpty=function Eo(){return this._e().isEmpty()};_.Ye=function Fo(){return $s(this._e().Pd())};_.lastIndexOf=function Ho(a){return this._e().lastIndexOf(a)};_.size=function Io(){return this._e().size()};_.$e=function Jo(a,b){return vo(this._e().subList(a, -b))};_.toArray=function Lo(){return this._e().Qd(AD(nT,UBc,1,this._e().size(),5,1))};_.Qd=function Mo(a){return this._e().Qd(a)};_.Fd=function No(){return kW(this._e())};var _F=tjc(931);fW(137,1,uCc);_.Xd=function _o(){return Qo(this)};_.getOrDefault=function cp(a,b){var c;return c=this.Yd(a),c==null&&!this.containsKey(a)?b:c};_.keySet=function gp(){return this.df()};_.putIfAbsent=function kp(a,b){var c;return c=this.Yd(a),c!=null?c:this.put(a,b)};_.replace=function mp(a,b){return this.containsKey(a)? -this.put(a,b):null};_.values=function pp(){return this.ef()};_.clear=function Uo(){throw HV(new Llc);};_.containsKey=function Vo(a){return this.Yd(a)!=null};_.containsValue=function Wo(a){return this.ef().contains(a)};_.bf=function Yo(){return new xr(this)};_.cf=function Zo(){return new Cr(this)};_.Cd=function ap(a){return lw(this,a)};_.Ed=function dp(){return Qo(this).Ed()};_.isEmpty=function ep(){return this.size()==0};_.df=function fp(){return Ro(this)};_.put=function ip(a,b){return So()};_.putAll= -function jp(a){To()};_.remove=function lp(a){throw HV(new Llc);};_.Fd=function np(){return qw(this)};_.ef=function op(){if(this.g)return this.g;return this.g=this.cf()};_.e=null;_.f=null;_.g=null;var Oo;var IG=tjc(137);fW(225,137,uCc);_.containsKey=function up(a){return qp(this,a)};_.containsValue=function vp(a){return Dsc(this.d,a)};_.af=function wp(){return Rp(new Fp(this))};_.bf=function xp(){return Rp(Gsc(this.d))};_.cf=function yp(){return Cn(),new On(Isc(this.d))};_.Cd=function zp(a){return Fsc(this.d, -a)};_.Yd=function Ap(a){return rp(this,a)};_.Ed=function Bp(){return Ab(this.d.d)};_.isEmpty=function Cp(){return this.d.d.isEmpty()};_.size=function Dp(){return this.d.d.size()};_.Fd=function Ep(){return kW(this.d.d)};var bG=tjc(225);fW(632,934,hCc,Fp);_.contains=function Gp(a){if(qE(a,48)&&a.de()==null)return false;return dtc(Esc(this.a.d),a)};_.he=function Hp(){return Esc(this.a.d)};_.Qd=function Ip(a){var b;b=etc(Esc(this.a.d),a);Esc(this.a.d).b.size()=0};var PG=tjc(824);fW(322,225,{137:1,322:1,3:1,44:1},js);_.bf=function ks(){return zs(this.a,Gsc(this.c))};_.df=function ls(){var a;return a=this.b,!a?this.b=zs(this.a,Gsc(this.c)):a};_.keySet=function ms(){var a; -return a=this.b,!a?this.b=zs(this.a,Gsc(this.c)):a};var RG=tjc(322);fW(713,94,{},rs);_.nf=function ss(){return ps(this)};_.pf=function ts(a,b){return epc(this.b,(Po(),Dm(a,b),new Wq(a,b))),this};var QG=tjc(713);fW(337,313,{68:1,105:1,337:1,3:1,15:1,17:1,31:1,129:1});_.Pd=function Cs(){return $s(new fsc(this.b.b.Pd()))};_.contains=function xs(a){return a!=null&&Orc(this.a,a)};_.containsAll=function ys(a){var b,c;for(c=a.Pd();c.Jd();){b=c.Kd();if(b==null)return false}return Prc(this.a,a)};_.Ye=function Bs(){return $s(new fsc(this.b.b.Pd()))}; -_.toArray=function Ds(){return Xx(this,AD(nT,UBc,1,this.b.b.size(),5,1))};_.Qd=function Es(a){return Yx(this,a)};var us,vs;var SG=tjc(337);fW(685,684,_Bc,Ks);_.Pd=function Ls(){return Js(this)};var TG=tjc(685);fW(665,113,iCc,_s);_.Jd=function at(){return this.a.Jd()};_.Kd=function bt(){return this.a.Kd()};var VG=tjc(665);fW(413,113,iCc,ct);_.Jd=function dt(){return!this.a};_.Kd=function et(){if(this.a)throw HV(new uxc);this.a=true;return this.b};_.a=false;var UG=tjc(413);fW(666,189,MBc,gt);_.gf=function ht(a){return ft(this, -a)};var WG=tjc(666);fW(307,14,{307:1,3:1,21:1,14:1,32:1},kt);_.Jd=function lt(){return false};_.Kd=function mt(){throw HV(new uxc);};_.Ld=function nt(){ee(false,eCc)};var it;var XG=ujc(307,_S,ot);fW(811,332,kCc);var _G=tjc(811);fW(238,811,kCc,st);_.pe=function tt(){qt(this)};_.Le=function ut(){return new Qwc(this.b)};_.Be=function vt(a){return new Ft(this,a,this.b)};_.ve=function wt(){return rt(this)};_.b=2;var aH=tjc(238);fW(239,80,{167:1,80:1,239:1,975:1,3:1,48:1},zt);_.qf=function At(){return this.f}; -_.rf=function Bt(a){this.c=a};_.sf=function Ct(a){this.f=a};_.d=0;var YG=tjc(239);fW(812,939,{975:1,15:1,17:1,31:1},Ft);_.add=function Gt(a){var b,c,d,e,f;f=XV(QV(CCc,fkc(XV(QV(a==null?0:Ab(a),DCc)),15)));b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Ld(c.i,a))return false;d=new zt(this.c,a,f,e);yt(this.d,d);d.f=this;this.d=d;xt(this.g.a.b,d);xt(d,this.g.a);this.b[b]=d;++this.f;++this.e;Dt(this);return true};_.clear=function Ht(){var a,b;Zpc(this.b);this.f=0;for(a=this.a;a!=this;a=a.qf()){b= -a;xt(b.b,b.e)}this.a=this;this.d=this;++this.e};_.contains=function It(a){var b,c;c=XV(QV(CCc,fkc(XV(QV(a==null?0:Ab(a),DCc)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Ld(b.i,a))return true;return false};_.qf=function Jt(){return this.a};_.Pd=function Kt(){return new Qt(this)};_.remove=function Lt(a){return Et(this,a)};_.rf=function Mt(a){this.d=a};_.sf=function Nt(a){this.a=a};_.size=function Ot(){return this.f};_.e=0;_.f=0;var $G=tjc(812);fW(813,1,MBc,Qt);_.Jd=function Rt(){return Pt(this), -this.b!=this.c};_.Kd=function St(){var a,b;Pt(this);if(this.b==this.c)throw HV(new uxc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Ld=function Tt(){Pt(this);ee(!!this.d,eCc);Et(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var ZG=tjc(813);fW(746,952,kCc,Yt);_.oe=function Zt(){var a;return a=this.f,!a?this.f=new hx(this):a};_.Cd=function du(a){return fx(this,a)};_.te=function eu(a){return new tu(this,a)};_.ye=function iu(a){return Wt(this,a)};_.pe=function _t(){this.a=null;this.e=null;omc(this.b); -this.d=0;++this.c};_.qe=function au(a){return Vt(this,a)};_.re=function bu(){return new hx(this)};_.se=function cu(){return new wu(this)};_.Ee=function fu(a){return new tu(this,a)};_.ue=function gu(){return!this.a};_.we=function hu(a,b){return Ut(this,a,b,null),true};_.Fe=function ju(a){return Wt(this,a)};_.ze=function ku(){return this.d};_.c=0;_.d=0;var hH=tjc(746);fW(937,929,VBc);_.addAtIndex=function nu(a,b){var c;c=this.Sd(a);c.ie(b)};_.addAllAtIndex=function ou(a,b){var c,d,e,f;aBc(b);f=false; -e=this.Sd(a);for(d=b.Pd();d.Jd();){c=d.Kd();e.ie(c);f=true}return f};_.getAtIndex=function pu(a){return lu(this,a)};_.Pd=function qu(){return this.Sd(0)};_.removeAtIndex=function ru(a){return mu(this,a)};_.setAtIndex=function su(b,c){var d,e;d=this.Sd(b);try{e=d.Kd();d.le(c);return e}catch(a){a=GV(a);if(qE(a,75))throw HV(new Hic("Can't set element "+b));else throw HV(a);}};var UT=tjc(937);fW(331,937,VBc,tu);_.Sd=function uu(a){return new Ou(this.a,this.b,a)};_.size=function vu(){var a;a=hmc(this.a.b, -this.b);return!a?0:a.a};var cH=tjc(331);fW(439,939,hCc,wu);_.contains=function xu(a){return Vt(this.a,a)};_.Pd=function yu(){return new Cu(this.a)};_.remove=function zu(a){return!Wt(this.a,a).a.isEmpty()};_.size=function Au(){return pmc(this.a.b)};var bH=tjc(439);fW(748,1,MBc,Cu);_.Jd=function Du(){Bu(this);return!!this.c};_.Kd=function Eu(){Bu(this);$t(this.c);this.a=this.c;gvc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!gvc(this.d,this.c.a));return this.a.a};_.Ld=function Fu(){Bu(this); -ee(!!this.a,eCc);Ps(new Nu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var dH=tjc(748);fW(330,1,{330:1},Gu);_.a=0;var eH=tjc(330);fW(747,167,qCc,Hu);_.de=function Iu(){return this.a};_.ee=function Ju(){return this.f};_.fe=function Ku(a){var b;b=this.f;this.f=a;return b};var fH=tjc(747);fW(280,1,mCc,Nu,Ou);_.ie=function Pu(a){this.e=Ut(this.f,this.b,a,this.c);++this.d;this.a=null};_.Jd=function Qu(){return!!this.c};_.je=function Ru(){return!!this.e};_.Kd=function Su(){return Lu(this)};_.ke= -function Tu(){return Mu(this)};_.Ld=function Uu(){ee(!!this.a,eCc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;Xt(this.f,this.a);this.a=null};_.le=function Vu(a){de(!!this.a);this.a.f=a};_.d=0;var gH=tjc(280);fW(636,929,VBc);_.addAtIndex=function bv(a,b){this.a.addAtIndex(a,b)};_.addAllAtIndex=function cv(a,b){return this.a.addAllAtIndex(a,b)};_.contains=function dv(a){return this.a.contains(a)};_.getAtIndex=function ev(a){return this.a.getAtIndex(a)};_.removeAtIndex=function fv(a){return this.a.removeAtIndex(a)}; -_.setAtIndex=function gv(a,b){return this.a.setAtIndex(a,b)};_.size=function hv(){return this.a.size()};var jH=tjc(636);fW(637,636,lCc);var kH=tjc(637);fW(640,637,lCc,iv);_.Sd=function jv(a){return this.a.Sd(a)};var iH=tjc(640);fW(166,929,{166:1,15:1,17:1,45:1},nv);_.addAtIndex=function ov(a,b){this.a.addAtIndex(mv(this,a),b)};_.clear=function pv(){this.a.clear()};_.getAtIndex=function qv(a){return this.a.getAtIndex(lv(this,a))};_.Pd=function rv(){return kv(this,0)};_.Sd=function sv(a){return kv(this, -a)};_.removeAtIndex=function tv(a){return this.a.removeAtIndex(lv(this,a))};_.Td=function uv(a,b){(ce(a,b,this.a.size()),_u(this.a.subList(mv(this,b),mv(this,a)))).clear()};_.setAtIndex=function vv(a,b){return this.a.setAtIndex(lv(this,a),b)};_.size=function wv(){return this.a.size()};_.subList=function xv(a,b){return ce(a,b,this.a.size()),_u(this.a.subList(mv(this,b),mv(this,a)))};var nH=tjc(166);fW(406,166,{166:1,15:1,17:1,45:1,65:1},yv);var lH=tjc(406);fW(639,1,mCc,zv);_.ie=function Av(a){this.b.ie(a); -this.b.ke();this.a=false};_.Jd=function Bv(){return this.b.je()};_.je=function Cv(){return this.b.Jd()};_.Kd=function Dv(){if(!this.b.je())throw HV(new uxc);this.a=true;return this.b.ke()};_.ke=function Ev(){if(!this.b.Jd())throw HV(new uxc);this.a=true;return this.b.Kd()};_.Ld=function Fv(){ee(this.a,eCc);this.b.Ld();this.a=false};_.le=function Gv(a){de(this.a);this.b.le(a)};_.a=false;var mH=tjc(639);fW(303,116,sCc,Hv);_.getAtIndex=function Iv(a){return Yd(a,this.a.length),ijc(Mkc(this.a,a))};_.subList= -function Nv(a,b){return ce(a,b,this.a.length),new Hv(Zd(flc(this.a,a,b)))};_.indexOf=function Jv(a){return qE(a,153)?Ukc(this.a,mlc(a.a)):-1};_.lastIndexOf=function Kv(a){return qE(a,153)?Xkc(this.a,mlc(a.a)):-1};_.size=function Lv(){return this.a.length};_.$e=function Mv(a,b){return ce(a,b,this.a.length),new Hv(Zd(flc(this.a,a,b)))};var oH=tjc(303);fW(635,929,ECc,Ov);_.clear=function Pv(){this.a.clear()};_.getAtIndex=function Qv(a){return this.b.Od(this.a.getAtIndex(a))};_.isEmpty=function Rv(){return this.a.isEmpty()}; -_.Pd=function Sv(){return new aw(this,this.a.Sd(0))};_.Sd=function Tv(a){return new aw(this,this.a.Sd(a))};_.removeAtIndex=function Uv(a){return this.b.Od(this.a.removeAtIndex(a))};_.size=function Vv(){return this.a.size()};var qH=tjc(635);fW(407,189,mCc);_.Ld=function $v(){this.b.Ld()};_.ie=function Xv(a){throw HV(new Llc);};_.je=function Yv(){return this.b.je()};_.ke=function Zv(){return this.gf(this.b.ke())};_.le=function _v(a){throw HV(new Llc);};var BI=tjc(407);fW(408,407,mCc,aw);_.gf=function bw(a){return this.a.b.Od(a)}; -var pH=tjc(408);fW(634,937,FCc,cw);_.clear=function dw(){this.a.clear()};_.Sd=function ew(a){return new gw(this,this.a.Sd(a))};_.size=function fw(){return this.a.size()};var sH=tjc(634);fW(638,407,mCc,gw);_.gf=function hw(a){return this.a.b.Od(a)};var rH=tjc(638);fW(648,189,MBc,rw);_.gf=function sw(a){return new Wq(a,this.a.Od(a))};var tH=tjc(648);fW(649,167,qCc,tw);_.de=function uw(){return this.a.de()};_.ee=function vw(){return this.a.ee()};var uH=tjc(649);fW(191,14,GCc);var ww,xw;var xH=ujc(191, -_S,Aw);fW(645,191,GCc,Bw);_.Od=function Cw(a){return a.de()};var vH=ujc(645,xH,null);fW(646,191,GCc,Dw);_.Od=function Ew(a){return a.ee()};var wH=ujc(646,xH,null);fW(961,928,bCc);_.clear=function Fw(){Ps(fz(this))};_.Xd=function Gw(){return new Hw(this)};var AH=tjc(961);fW(647,940,hCc,Hw);_.Pd=function Iw(){return fz(this.a)};_.Je=function Jw(){return this.a};var zH=tjc(647);fW(644,909,TBc,Kw);_.clear=function Lw(){this.a.clear()};_.contains=function Mw(a){return this.a.containsValue(a)};_.isEmpty= -function Nw(){return this.a.isEmpty()};_.Pd=function Ow(){return Zs(this.a.Xd().Pd(),(yw(),xw))};_.remove=function Pw(b){var c,d;try{return Tc(this,b,true)}catch(a){a=GV(a);if(qE(a,20)){for(d=this.a.Xd().Pd();d.Jd();){c=d.Kd();if(Ld(b,c.ee())){this.a.remove(c.de());return true}}return false}else throw HV(a);}};_.removeAll=function Qw(b){var c,d,e;try{return Wc(this,Zd(b))}catch(a){a=GV(a);if(qE(a,20)){e=new jvc;for(d=this.a.Xd().Pd();d.Jd();){c=d.Kd();b.contains(c.ee())&&gvc(e,c.de())}return this.a.keySet().removeAll(e)}else throw HV(a); -}};_.retainAll=function Rw(b){var c,d,e;try{return Xc(this,Zd(b))}catch(a){a=GV(a);if(qE(a,20)){e=new jvc;for(d=this.a.Xd().Pd();d.Jd();){c=d.Kd();b.contains(c.ee())&&gvc(e,c.de())}return this.a.keySet().retainAll(e)}else throw HV(a);}};_.size=function Sw(){return this.a.size()};var CH=tjc(644);fW(963,1,{});var NH=tjc(963);fW(966,1,{});var LH=tjc(966);fW(547,966,{},Vw);_.tf=function Ww(){return new cvc(jw(this.a))};_.a=0;var EH=tjc(547);fW(887,966,{},Xw);_.tf=function Yw(){return new mwc(jw(this.a))}; -_.a=0;var FH=tjc(887);fW(883,1,xCc,Zw);_.Gd=function $w(){return new rpc(this.a)};_.a=0;var GH=tjc(883);fW(884,1,xCc,_w);_.Gd=function ax(){return new kvc(jw(this.a))};_.a=0;var HH=tjc(884);fW(964,963,{});var IH=tjc(964);fW(885,964,{},cx);_.b=0;var JH=tjc(885);fW(965,963,{});var MH=tjc(965);fW(886,965,{},ex);_.b=0;var KH=tjc(886);fW(442,953,bCc,hx);_.Yd=function lx(a){return this.a.qe(a)?this.a.te(a):null};_.remove=function ox(a){return this.a.qe(a)?this.a.ye(a):null};_.clear=function ix(){this.a.pe()}; -_.containsKey=function jx(a){return this.a.qe(a)};_.Ie=function kx(){return new qx(this)};_.He=function(){return this.Ie()};_.isEmpty=function mx(){return this.a.ue()};_.keySet=function nx(){return this.a.ve()};_.size=function px(){return this.a.ve().size()};var QH=tjc(442);fW(751,940,hCc,qx);_.Pd=function rx(){return iw(this.a.a.ve(),new ux(this))};_.Je=function sx(){return this.a};_.remove=function tx(a){var b;if(!xj(this,a))return false;b=a;gx(this.a,b.de());return true};var PH=tjc(751);fW(752, -1,HCc,ux);_.Od=function vx(a){return this.a.a.a.te(a)};_.Cd=function wx(a){return this===a};var OH=tjc(752);fW(749,441,kCc,xx);_.uf=function yx(){return this.a.Gd()};_.De=function(){return this.uf()};var RH=tjc(749);fW(750,332,kCc,zx);_.vf=function Ax(){return this.a.Gd()};_.Le=function(){return this.vf()};var SH=tjc(750);fW(758,189,MBc,Fx);_.gf=function Gx(a){return a.b.de()};var UH=tjc(758);fW(757,1,MBc,Hx);_.Jd=function Ix(){return this.d>0||this.c.Jd()};_.Kd=function Jx(){if(!(this.d>0||this.c.Jd()))throw HV(new uxc); -if(this.d==0){this.b=this.c.Kd();this.f=this.d=Jl(this.b)}--this.d;this.a=true;return this.b.b.de()};_.Ld=function Kx(){ee(this.a,eCc);this.f==1?this.c.Ld():vl(this.e,this.b.b.de(),1)>0;--this.f;this.a=false};_.a=false;_.d=0;_.f=0;var XH=tjc(757);fW(797,226,{226:1,3:1,131:1},Nx);_.Re=function Ox(a,b){return Zd(a),Zd(b),Tic(a,b)};_.Se=function Px(){var a;a=this.a;!a&&(a=this.a=new Rx(this));return a};_.Fd=function Qx(){return"Ordering.natural()"};var Lx;var YH=tjc(797);fW(288,226,{288:1,226:1,3:1, -131:1},Rx);_.Re=function Sx(a,b){if(wE(a)===wE(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.Re(a,b)};_.Cd=function Tx(a){var b;if(a===this)return true;if(qE(a,288)){b=a;return this.a.Cd(b.a)}return false};_.Ed=function Ux(){return Ab(this.a)^957692532};_.Se=function Vx(){return this};_.Fd=function Wx(){return this.a+".nullsFirst()"};var ZH=tjc(288);fW(136,931,sCc,Zx);_._e=function $x(){return this.a};var bI=tjc(136);fW(268,225,uCc,_x,ay);var cI=tjc(268);fW(314,313,vCc,dy);var by; -var dI=tjc(314);fW(237,337,{68:1,105:1,337:1,237:1,3:1,15:1,17:1,31:1,129:1},ey);_.Xe=function fy(){return new es(this,(Zn(),vo(new tqc(Xx(this,AD(nT,UBc,1,this.b.b.size(),5,1))))))};var eI=tjc(237);fW(936,908,hCc);_.Pd=function ry(){return this.Ye()};_.add=function oy(a){throw HV(new Llc);};_.addAll=function py(a){throw HV(new Llc);};_.clear=function qy(){throw HV(new Llc);};_.remove=function sy(a){throw HV(new Llc);};_.removeAll=function ty(a){throw HV(new Llc);};_.retainAll=function uy(a){throw HV(new Llc); -};var kI=tjc(936);fW(629,936,hCc,xy);_.Pd=function By(){return wy(this)};_.contains=function yy(a){return this.a.contains(a)||this.b.contains(a)};_.isEmpty=function zy(){return this.a.isEmpty()&&this.b.isEmpty()};_.Ye=function Ay(){return new Dy(this.a,this.b)};_.size=function Cy(){var a,b,c;c=this.a.size();for(b=this.b.Pd();b.Jd();){a=b.Kd();this.a.contains(a)||++c}return c};var gI=tjc(629);fW(400,399,iCc,Dy);_.ne=function Ey(){var a;if(this.a.Jd())return this.a.Kd();while(this.b.Jd()){a=this.b.Kd(); -if(!this.c.contains(a))return a}return this.f=2,null};var fI=tjc(400);fW(630,936,hCc,Fy);_.Pd=function Jy(){return new Ly(this.a,this.b)};_.contains=function Gy(a){return this.a.contains(a)&&!this.b.contains(a)};_.isEmpty=function Hy(){return this.b.containsAll(this.a)};_.Ye=function Iy(){return new Ly(this.a,this.b)};_.size=function Ky(){var a,b,c;c=0;for(b=this.a.Pd();b.Jd();){a=b.Kd();this.b.contains(a)||++c}return c};var iI=tjc(630);fW(401,399,iCc,Ly);_.ne=function My(){var a;while(this.a.Jd()){a= -this.a.Kd();if(!this.c.contains(a))return a}return this.f=2,null};var hI=tjc(401);fW(300,935,{300:1,3:1,15:1,17:1,206:1,31:1,129:1},Ny);var lI=tjc(300);fW(427,426,uCc,Oy,Py);_.values=function Sy(){return Cn(),new Xy(this.c)};_.be=function Ty(){return Cn(),new Xy(this.c)};_.kf=function Qy(){var a;return a=this.a,!a?this.a=new Py(this.c,this.b,this):a};_.lf=function Ry(){return Cn(),new Xy(this.c)};var mI=tjc(427);fW(78,931,sCc,Uy);_._e=function Vy(){return this.a};var nI=tjc(78);fW(73,105,vCc,Xy); -_.Pd=function $y(){return new ct(this.a)};_.contains=function Yy(a){return Wy(this,a)};_.Ye=function Zy(){return new ct(this.a)};_.size=function _y(){return 1};var oI=tjc(73);fW(876,1,MBc,bz);_.Kd=function dz(){return az(this)};_.Jd=function cz(){return Iwc(this.c)||this.a.Jd()};_.Ld=function ez(){this.a.Ld();this.b.e.isEmpty()&&Kwc(this.c)};var pI=tjc(876);fW(542,961,bCc,hz);_.clear=function iz(){var a;a=!this.a||this.a.isEmpty()&&gwc(this.c.a,this.b)?this.a=hwc(this.c.a,this.b):this.a;!!a&&a.clear(); -gz(this)};_.containsKey=function jz(a){var b;b=!this.a||this.a.isEmpty()&&gwc(this.c.a,this.b)?this.a=hwc(this.c.a,this.b):this.a;return a!=null&&!!b&&nw(b,a)};_.Yd=function kz(a){var b;b=!this.a||this.a.isEmpty()&&gwc(this.c.a,this.b)?this.a=hwc(this.c.a,this.b):this.a;return a!=null&&!!b?ow(b,a):null};_.put=function lz(a,b){Zd(a);Zd(b);if(!!this.a&&!this.a.isEmpty())return this.a.put(a,b);return dq(this.c,this.b,a,b)};_.remove=function mz(a){var b,c;b=!this.a||this.a.isEmpty()&&gwc(this.c.a,this.b)? -this.a=hwc(this.c.a,this.b):this.a;if(!b)return null;c=pw(b,a);gz(this);return c};_.size=function nz(){var a;a=!this.a||this.a.isEmpty()&&gwc(this.c.a,this.b)?this.a=hwc(this.c.a,this.b):this.a;return!a?0:a.size()};var vI=tjc(542);fW(879,1,MBc,oz);_.Kd=function qz(){return new sz(this.b.Kd())};_.Jd=function pz(){return this.b.Jd()};_.Ld=function rz(){this.b.Ld();gz(this.a)};var qI=tjc(879);fW(880,957,fCc,sz);_.ce=function tz(){return this.a};_.Cd=function uz(a){return wg(this,a)};_.fe=function vz(a){return vg(this, -Zd(a))};var rI=tjc(880);fW(365,953,bCc,wz);_.Yd=function zz(a){return this.a.ff(a)?new hz(this.a,a):null};_.remove=function Az(a){return a==null?null:kwc(this.a.a,a)};_.containsKey=function xz(a){return this.a.ff(a)};_.Ie=function yz(){return new Ez(this)};_.He=function(){return this.Ie()};var uI=tjc(365);fW(877,939,hCc);_.clear=function Cz(){fwc(this.b.a)};_.isEmpty=function Dz(){return pmc(this.b.a.c)==0};var wI=tjc(877);fW(878,877,hCc,Ez);_.contains=function Fz(a){var b;if(qE(a,48)){b=a;return b.de()!= -null&&qE(b.ee(),44)&&Gm(new Cwc(this.a.a.a),b)}return false};_.Pd=function Gz(){return iw(new gnc(this.a.a.a),new Jz(this))};_.remove=function Hz(a){var b;if(qE(a,48)){b=a;return b.de()!=null&&qE(b.ee(),44)&&Bwc(new Cwc(this.a.a.a),b)}return false};_.size=function Iz(){return pmc(this.a.a.a.c)};var tI=tjc(878);fW(881,1,HCc,Jz);_.Od=function Kz(a){return new hz(this.a.a.a,a)};_.Cd=function Lz(a){return this===a};var sI=tjc(881);fW(967,1,{976:1});_.Cd=function Nz(a){var b;if(a===this)return true;if(qE(a, -251)){b=a;return Ld(this.b,b.b)&&Ld(this.a,b.a)&&Ld(this.c,b.c)}return false};_.Ed=function Oz(){return dqc(DD(yD(nT,1),UBc,1,5,[this.b,this.a,this.c]))};_.Fd=function Pz(){return"("+this.b+","+this.a+")="+this.c};var yI=tjc(967);fW(251,967,{976:1,251:1,3:1},Qz);var zI=tjc(251);fW(734,950,bCc,Rz);_.Wd=function Sz(){return this.a};_.Xd=function Tz(){var a;a=this.b;if(a)return a;return this.b=new Uz(this)};var HI=tjc(734);fW(735,940,hCc,Uz);_.Pd=function Vz(){var a;return new Xz(this,(a=(new gnc(this.a.a)).a.Xd().Pd(), -new mnc(a)))};_.Je=function Wz(){return this.a};var GI=tjc(735);fW(736,189,MBc,Xz);_.gf=function Yz(a){return new Zz(this,a)};var FI=tjc(736);fW(737,167,qCc,Zz);_.de=function $z(){return this.b};_.ee=function _z(){return Bf(this.a.a.a,this.b)};_.fe=function aA(a){return Cf(this.a.a.a,this.b,a)};var EI=tjc(737);fW(958,1,{});var bA;var NI=tjc(958);fW(235,1,{235:1},kA);_.Cd=function lA(a){return hA(this,a)};_.Ed=function mA(){return cqc(this.c)};_.Fd=function nA(){return this.f};_.a=0;_.b=0;_.d=0;var II= -tjc(235);fW(149,958,{149:1},rA);_.Cd=function sA(a){var b;if(qE(a,149)){b=a;return hA(this.b,b.b)&&Ld(this.c,b.c)}return false};_.Ed=function tA(){return cqc(this.b.c)^dqc(DD(yD(nT,1),UBc,1,5,[this.c]))};_.Fd=function uA(){var a;a=new Ilc("BaseEncoding.");Blc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()",a):Blc(Alc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var MI=tjc(149);fW(455,149,{149:1},wA);var JI=tjc(455);fW(336,149,{149:1},zA);var KI=tjc(336);fW(38,1,{3:1,38:1});_.wf= -function IA(a){return new Error(a)};_.xf=function KA(){return this.e};_.yf=function LA(){var a,b,c;c=this.e==null?null:this.e.replace(new RegExp(OCc,"g")," ");b=(a=ojc(this.Nj),c==null?a:a+": "+c);CA(this,JA(this.wf(b)));kD(this)};_.Fd=function NA(){return EA(this,this.xf())};_.backingJsObject=LCc;_.g=true;var tT=tjc(38);fW(40,38,{3:1,40:1,38:1});var bT=tjc(40);fW(102,40,{102:1,3:1,40:1,38:1});var SS=tjc(102);fW(198,102,{198:1,102:1,3:1,40:1,38:1},PA);var LI=tjc(198);var WA;var ZA;fW(118,1,{},cB); -_.a=0;_.b=0;var OI=tjc(118);fW(423,1,{},kB);_.b=0;_.c=null;var WI=tjc(423);fW(702,1,{},mB);var QI=tjc(702);fW(703,1,{},sB);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var RI=tjc(703);fW(424,1,{903:1},tB);_.zf=function uB(){return this.e};_.Af=function vB(){return-1};_.Bf=function wB(){return-1};_.Cf=function xB(){return-1};_.Df=function yB(){return-1};_.e=0;var UI=tjc(424);fW(425,424,{903:1},zB);_.Af=function AB(){return-1};_.Bf=function BB(){return this.b};_.Cf=function CB(){return this.c};_.Df=function DB(){return this.d}; -_.b=0;_.c=0;_.d=0;var VI=tjc(425);fW(705,425,{903:1},EB);_.Af=function FB(){return this.a};_.a=0;var SI=tjc(705);fW(704,1,{},JB);_.b=0;_.c=0;var TI=tjc(704);fW(698,1,{},RB);_.c=null;_.d=-1;var aJ=tjc(698);fW(699,1,{},WB);var XI=tjc(699);fW(701,1,{},ZB);_.Ef=function $B(a,b,c,d,e){var f;this.d!=b&&(this.c=0);if(b!=d||c!=e)if(b=0);new cB(c,b)}};_.sg=function K_(){return this.i.a.length>0?wic(this.i,this.i.a.length-1):0};_.zg=function L_(a){var b, -c,d,e;de(!!this.p);de(!!a);if(this.j&&(b=Y0b(a,51),(!b?null:b.Hg())!=null)&&g2b(a.i)>0){d=this.k;c=this.n;de(d>=0);e=new W_;e.b=a;e.c=new cB(d,c);null.Qj();null.Qj()}};_.j=false;_.k=0;_.n=0;_.o=0;var LJ=tjc(436);fW(732,436,{},P_);_.gg=function Q_(a){M_(this,a)};_.ng=function R_(){var a;if(!this.c)return;if(this.n>(this.o/2|0)){M_(this,";");O_(this)}else if(this.e>0){yic(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;a=this.e-this.f+1;G_(this,this.k,a,false);--this.k;this.e=0;this.f=0; -M_(this,";");O_(this)}};_.ug=function S_(){N_(this)};_.wg=function T_(){var a,b;if(this.a)if(this.q){O_(this);this.q=false}b=this.i.a.length;if(this.d==b-1){a=wic(this.i,b-1);a==59&&(this.d=b)}N_(this)};_.xg=function U_(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var JJ=tjc(732);fW(435,1,{435:1},W_);_.Fd=function X_(){return"Mapping: start "+this.c+", end "+this.a+", node "+this.b};var KJ=tjc(435);fW(731,436,{},$_);_.fg=function __(b,c){var d,e;if(b==0&&1/b<0){x$(this,b); -return}e=l0(c);if(e==null){x$(this,b);return}b<0&&(e="-"+e);try{d=Ljc(e)}catch(a){a=GV(a);if(qE(a,92)){x$(this,b);return}else throw HV(a);}if(b!=d){x$(this,b);return}w$(this,e)};_.gg=function a0(a){Y_(this,a)};_.hg=function b0(){C$(this);Z_(this);--this.a;Y_(this,"}")};_.ig=function c0(){(this.i.a.length>0?wic(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?wic(this.i,this.i.a.length-1):0)!=10&&w$(this," ");Y_(this,"{");++this.a};_.jg=function d0(a,b){(this.i.a.length>0?wic(this.i,this.i.a.length- -1):0)!=32&&b&&a.charCodeAt(0)!=44&&Y_(this," ");Y_(this,a);b&&Y_(this," ")};_.kg=function e0(){Y_(this,":");++this.a;Z_(this)};_.lg=function f0(a,b){var c,d;ee(a.j==(m6b(),K3b),a);c=a.e;d=c.j;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 78:return!Bib(!c.e?null:c.e.e);case 66:return a==(c.b?c.b.f:null)}return true};_.mg=function g0(){--this.a};_.ng=function h0(){C$(this)};_.og=function i0(a){this.q=true;a&&Z_(this);a&&Z_(this)};_.pg=function j0(){Z_(this)};_.rg=function k0(a){Y_(this, -";");Z_(this);this.r=false};_.tg=function m0(){w$(this,RBc);this.n>this.o&&Z_(this)};_.ug=function n0(){this.n>this.o&&Z_(this)};_.vg=function o0(){(this.i.a.length>0?wic(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?wic(this.i,this.i.a.length-1):0)!=10&&w$(this," ")};_.wg=function p0(){this.n>this.o&&Z_(this)};_.yg=function q0(){return true};_.a=0;var MJ=tjc(731);fW(403,1,{},r0);var NJ=tjc(403);fW(270,14,{270:1,3:1,21:1,14:1},v0);var s0,t0;var OJ=ujc(270,_S,w0);fW(670,1,KBc,y0);_.$f=function z0(a){return x0(a)}; -_._f=function A0(a){return null};_.ag=function B0(a){return false};_.bg=function C0(a){return false};_.cg=function D0(a){return Rkc(a.substr(0,6),"$super")};_.dg=function E0(a){return o1b(a.b,BDc)};var PJ=tjc(670);fW(380,563,{});_.Jf=function $1(a,b){Czc(this.w,a,b)};_.Kf=function b2(){return this.K};_.Lf=function c2(){return this.L};_.Mf=function d2(a){var b,c,d;if(!this.M||!this.p)if(!this.M){c=c1(this,this.L.Tb);d=p3(this.L)?0:1;this.M=(b=iIb(c,this.L.nc,d),b);this.p=c==(LDb(),FDb)?R0(this,GDb, -d):this.M}switch(a){case 1:return this.p;default:return this.M}};_.Nf=function e2(){return j1(this)};_.Of=function f2(){return this.u};_.Pf=function g2(a){var b;b=new Llb(this);Jlb(b,null,a)};_.Wf=function h2(a,b){M1(this,b)};_.Qf=function i2(a){M1(this,a)};_.Rf=function j2(a){N1(this,a)};_.Bg=function k2(a){var b;de(a.j==(m6b(),w4b));b=v1b(a,a.g,94);b!=a.g&&(a.g=b);a.g=new B2b(94,1,a.g);Fpb(this.b,a);Epb(this.i,a)};_.Sf=function(a){this.Bg(a)};_.a=1;_.d=null;_.e=null;_.n=null;_.p=null;_.u=true;_.F= -null;_.L=null;_.M=null;_.N=null;_.O=null;_.P=0;_.T=null;_.U=null;_.V=0;_.Y=0;var F0,G0,H0,I0,J0,K0;var lK=tjc(380);fW(57,1,FEc);_.Dg=function m2(){return OJb(),FJb};_.Fd=function n2(){return this.b};_.a=false;var vM=tjc(57);fW(562,57,FEc,p2);_.Cg=function q2(a){return o2(a)};var TJ=tjc(562);fW(376,1,{},s2);_.Eg=function t2(){return r2(this)};var RJ=tjc(376);fW(579,1,{},v2);_.Eg=function w2(){return u2(this)};_.c=0;var SJ=tjc(579);fW(570,1,{},x2);_.Eg=function y2(){return E1(this.a),null};var UJ=tjc(570); -fW(571,1,{},z2);_.Eg=function A2(){return v3(this.a.L)&&F1(this.a),null};var VJ=tjc(571);fW(569,1,{},B2);_.Eg=function C2(){return G1(this.a),null};var WJ=tjc(569);fW(568,1,{},D2);_.Eg=function E2(){return z1(this.a),null};var XJ=tjc(568);fW(120,1,{212:1},F2);_.Gd=function G2(){return""+this.a.Y++};var YJ=tjc(120);fW(582,1,{},K2);_.Fd=function L2(){return this.c.a};_.a=0;_.b=0;var ZJ=tjc(582);fW(143,1,{143:1,900:1,3:1},X2,Y2,Z2);_.Fg=function _2(a){return Q2(this,a)};_.Gg=function a3(){return this.f}; -_.Hg=function b3(){return this.f.a};_.Ig=function c3(){return R2(this).c};_.Jg=function d3(){return R2(this).d};_.Kg=function e3(){return this.a.Kg()};_.Fd=function f3(){return this.f.a};var _J=tjc(143);fW(651,1,{},j3);var $J=tjc(651);fW(159,1,KBc,w3);_.Fd=function y3(){var a;a=Hd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Gd(new Id((mjc(kK), -kK.n))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",cEc),"ambiguateProperties",""+this.f),"angularPass",""+this.g),"anonymousFunctionNaming",this.i),"appNameStr",this.j),"assumeClosuresOnlyCaptureReferences",""+this.k),"assumeStrictThis",""+this.n),"brokenClosureRequiresLevel",this.o),"chainCalls",""+this.p),"checkDeterminism",""+this.q),"checkGlobalNamesLevel",this.r),"checkGlobalThisLevel", -this.s),"checkMissingGetCssNameBlacklist",this.t),"checkMissingGetCssNameLevel",this.u),"checksOnly",""+this.B),"checkSuspiciousCode",""+this.v),"checkSymbols",""+this.w),HEc,""+this.A),"closurePass",""+this.C),"coalesceVariableNames",""+this.D),"codingConvention",this.F),"collapseAnonymousFunctions",""+this.G),IEc,""+this.H),"collapseProperties",""+this.I),"collapseVariableDeclarations",""+this.J),"colorizeErrorOutput",""+this.K),"computeFunctionSideEffects",""+this.L),"conformanceConfigs",this.M), -"continueAfterErrors",cEc),"convertToDottedProperties",""+this.N),"crossModuleCodeMotion",""+this.O),"crossModuleCodeMotionNoStubMethods",""+this.P),"crossModuleMethodMotion",""+this.Q),"cssRenamingMap",this.R),"cssRenamingWhitelist",this.S),"customPasses",this.T),"dartPass",""+this.U),"deadAssignmentElimination",""+this.V),"debugFunctionSideEffectsPath",this.W),"declaredGlobalExternsOnWindow",""+this.X),"defineReplacements",x3(this.Y)),"dependencyOptions",this.Z),"devirtualizePrototypeMethods",""+ +a.a+='-core.html#method-setAttribute\\n */\\nElement.prototype.setAttribute = function(name, value) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode\\n */\\nElement.prototype.setAttributeNode = function(newAttr) {};\\n\\n// Event handlers\\n// The DOM level 3 spec has a good index of these\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-types\\n\\n/** @type {?function (Event)} */ Element.prototype.onabort;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeinput;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Element.prototype.onblur;\\n/** @type {?function (Event)} */ Element.prototype.onchange;\\n/** @type {?function (Event)} */ Element.prototype.onclick;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionstart;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionupdate;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionend;\\n/** @type {?function (Event)} */ Element.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Element.prototype.oncopy;\\n/** @type {?function (Event)} */ Element.prototype.oncut;\\n/** @type {?function (Event)} */ Element.prototype.ondblclick;\\n/** @type {?function (Event)} */ Element.prototype.onerror;\\n/** @type {?function (Event)} */ Element.prototype.onfocus;\\n/** @type {?function (Event)} */ Element.prototype.onfocusin;\\n/** @type {?function (Event)} */ Element.prototype.onfocusout;\\n/** @type {?function (Event)} */ Element.prototype.oninput;\\n/** @type {?function (Event)} */ Element.prototype.onkeydown;\\n/** @type {?function (Event)} */ Element.prototype.onkeypress;\\n/** @type {?function (Event)} */ Element.prototype.onkeyup;\\n/** @type {?function (Event)} */ Element.prototype.onload;\\n/** @type {?function (Event)} */ Element.prototype.onunload;\\n/** @type {?function (Event)} */ Element.prototype.onmousedown;\\n/** @type {?function (Event)} */ Element.prototype.onmousemove;\\n/** @type {?function (Event)} */ Element.prototype.onmouseout;\\n/** @type {?function (Event)} */ Element.prototype.onmouseover;\\n/** @type {?function (Event)} */ Element.prototype.onmouseup;\\n/** @type {?function (Event)} */ Element.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Element.prototype.onpaste;\\n/** @type {?function (Event)} */ Element.prototype.onreset;\\n/** @type {?function (Event)} */ Element.prototype.onresize;\\n/** @type {?function (Event)} */ Element.prototype.onscroll;\\n/** @type {?function (Event)} */ Element.prototype.onselect;\\n/** @type {?function (Event=)} */ Element.prototype.onsubmit;\\n/** @type {?function (Event)} */ Element.prototype.ontextinput;\\n/** @type {?function (Event)} */ Element.prototype.onwheel;\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @param {string=} contents Optional textual content.\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\\n */\\nfunction Text(contents) {}\\n\\n/**\\n * @param {number} offset\\n * @return {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D\\n */\\nText.prototype.splitText = function(offset) {};\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322\\n */\\nfunction Comment() {}\\n\\n/**\\n * @constructor\\n * @extends {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212\\n */\\nfunction CDATASection() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927\\n */\\nfunction DocumentType() {}\\n\\n/**\\n * @type {NamedNodeMap}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630\\n */\\nDocumentType.prototype.entities;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134\\n */\\nDocumentType.prototype.name;\\n\\n/**\\n * @type {NamedNodeMap}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF\\n */\\nDocumentType.prototype.notations;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9\\n */\\nfunction Notation() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0\\n */\\nNotation.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0\\n */\\nNotation.prototype.systemId;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2\\n */\\nfunction Entity() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025\\n */\\nEntity.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E\\n */\\nEntity.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38\\n */\\nEntity.prototype.notationName;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490\\n */\\nfunction EntityReference() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813\\n */\\nfunction ProcessingInstruction() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393\\n */\\nProcessingInstruction.prototype.data;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192\\n */\\nProcessingInstruction.prototype.target;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Window() {}\\nWindow.prototype.Window;\\n\\n/** @override */\\nWindow.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {?function (Event)} */ Window.prototype.onabort;\\n/** @type {?function (Event)} */ Window.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Window.prototype.onblur;\\n/** @type {?function (Event)} */ Window.prototype.onchange;\\n/** @type {?function (Event)} */ Window.prototype.onclick;\\n/** @type {?function (Event)} */ Window.prototype.onclose;\\n/** @type {?function (Event)} */ Window.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Window.prototype.ondblclick;\\n/** @type {?function (Event)} */ Window.prototype.ondragdrop;\\n// onerror has a special signature.\\n// See https://developer.mozilla.org/en/DOM/window.onerror\\n// and http://msdn.microsoft.com/en-us/library/cc197053(VS.85).aspx\\n/** @type {?function (string, string, number)} */\\nWindow.prototype.onerror;\\n/** @type {?function (Event)} */ Window.prototype.onfocus;\\n/** @type {?function (Event)} */ Window.prototype.onhashchange;\\n/** @type {?function (Event)} */ Window.prototype.onkeydown;\\n/** @type {?function (Event)} */ Window.prototype.onkeypress;\\n/** @type {?function (Event)} */ Window.prototype.onkeyup;\\n/** @type {?function (Event)} */ Window.prototype.onload;\\n/** @type {?function (Event)} */ Window.prototype.onmousedown;\\n/** @type {?function (Event)} */ Window.prototype.onmousemove;\\n/** @type {?function (Event)} */ Window.prototype.onmouseout;\\n/** @type {?function (Event)} */ Window.prototype.onmouseover;\\n/** @type {?function (Event)} */ Window.prototype.onmouseup;\\n/** @type {?function (Event)} */ Window.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Window.prototype.onpaint;\\n/** @type {?function (Event)} */ Window.prototype.onpopstate;\\n/** @type {?function (Event)} */ Window.prototype.onreset;\\n/** @type {?function (Event)} */ Window.prototype.onresize;\\n/** @type {?function (Event)} */ Window.prototype.onscroll;\\n/** @type {?function (Event)} */ Window.prototype.onselect;\\n/** @type {?function (Event=)} */ Window.prototype.onsubmit;\\n/** @type {?function (Event)} */ Window.prototype.onunload;\\n/** @type {?function (Event)} */ Window.prototype.onwheel;\\n","externs/w3c_dom2.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 2 specification.\\n * This file depends on w3c_dom1.js.\\n * The whole file has been fully type annotated.\\n * Created from\\n * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n */\\n\\n/**\\n * @param {string} s id.\\n * @return {Element}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId\\n */\\nDocument.prototype.getElementById = function(s) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createElementNS =\\n function(namespaceURI, qualifiedName, opt_typeExtension) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {!Attr}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createAttributeNS =\\n function(namespaceURI, qualifiedName) {};\\n\\n/**\\n * @param {string} namespace\\n * @param {string} name\\n * @return {!NodeList}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\\n */\\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @param {boolean} deep\\n * @return {Node}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\\n */\\nDocument.prototype.importNode = function(externalNode, deep) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),T>}\\n * @implements {IArrayLike}\\n * @implements {Iterable}\\n * @template T\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506\\n */\\nfunction HTMLCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551\\n */\\nHTMLCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),HTMLOptionElement>}\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection\\n */\\nfunction HTMLOptionsCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-length\\n */\\nHTMLOptionsCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268\\n */\\nfunction HTMLDocument() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827\\n */\\nHTMLDocument.prototype.title;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140\\n */\\nHTMLDocument.prototype.referrer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147\\n */\\nHTMLDocument.prototype.domain;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437\\n */\\nHTMLDocument.prototype.URL;\\n\\n/**\\n * @type {!HTMLBodyElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201\\n */\\nHTMLDocument.prototype.body;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\\n */\\nHTMLDocument.prototype.images;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\\n */\\nHTMLDocument.prototype.applets;\\n\\n/**\\n * @type {!HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\\n */\\nHTMLDocument.prototype.links;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\\n */\\nHTMLDocument.prototype.forms;\\n\\n/**\\n * @type {!HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\\n */\\nHTMLDocument.prototype.anchors;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\\n */\\nHTMLDocument.prototype.cookie;\\n\\n/**\\n * @param {string=} opt_mimeType\\n * @param {string=} opt_replace\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * Even though official spec says \\"no parameters\\" some old browsers might take\\n * optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx\\n * @override\\n */\\nHTMLDocument.prototype.open = function(opt_mimeType, opt_replace) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567\\n * @override\\n */\\nHTMLDocument.prototype.close = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634\\n * @override\\n */\\nHTMLDocument.prototype.write = function(text) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390\\n * @override\\n */\\nHTMLDocument.prototype.writeln = function(text) {};\\n\\n/**\\n * @param {string} elementName\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!NodeIterator}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createNodeIterator = function(\\n root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!TreeWalker}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createTreeWalker = function(\\n root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n\\n/** @typedef {{\\n createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\\n createTreeWalker: function(N'; +a.a+="ode, number=, NodeFilter=, boolean=) : TreeWalker\\n}} */\\nvar TraversalDocument;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter\\n*/\\nfunction NodeFilter() {}\\n\\n/* Constants for whatToShow */\\n/** @const {number} */ NodeFilter.SHOW_ALL;\\n/** @const {number} */ NodeFilter.SHOW_ATTRIBUTE;\\n/** @const {number} */ NodeFilter.SHOW_CDATA_SECTION;\\n/** @const {number} */ NodeFilter.SHOW_COMMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_FRAGMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_TYPE;\\n/** @const {number} */ NodeFilter.SHOW_ELEMENT;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY_REFERENCE;\\n/** @const {number} */ NodeFilter.SHOW_NOTATION;\\n/** @const {number} */ NodeFilter.SHOW_PROCESSING_INSTRUCTION;\\n/** @const {number} */ NodeFilter.SHOW_TEXT;\\n\\n/* Consants for acceptNode */\\n/** @const {number} */ NodeFilter.FILTER_ACCEPT;\\n/** @const {number} */ NodeFilter.FILTER_REJECT;\\n/** @const {number} */ NodeFilter.FILTER_SKIP;\\n\\n/**\\n * @param {Node} n\\n * @return {number} Any of NodeFilter.FILTER_* constants.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode\\n*/\\nNodeFilter.prototype.acceptNode = function(n) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator\\n*/\\nfunction NodeIterator() {}\\n\\n/**\\n * Detach and invalidate the NodeIterator.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach\\n * @return {undefined}\\n */\\nNodeIterator.prototype.detach = function() {};\\n\\n/**\\n * @return {Node} Next node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode\\n */\\nNodeIterator.prototype.nextNode = function() {};\\n\\n/**\\n * @return {Node} Previous node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode\\n */\\nNodeIterator.prototype.previousNode = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker\\n*/\\nfunction TreeWalker() {}\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild\\n */\\nTreeWalker.prototype.firstChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null..\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild\\n */\\nTreeWalker.prototype.lastChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode\\n */\\nTreeWalker.prototype.nextNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling\\n */\\nTreeWalker.prototype.nextSibling = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode\\n */\\nTreeWalker.prototype.parentNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode\\n */\\nTreeWalker.prototype.previousNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling\\n */\\nTreeWalker.prototype.previousSibling = function() {};\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.root;\\n\\n/**\\n * @type {number}\\n */\\nTreeWalker.prototype.whatToShow;\\n\\n/**\\n * @type {NodeFilter}\\n */\\nTreeWalker.prototype.filter;\\n\\n/**\\n * @type {boolean}\\n */\\nTreeWalker.prototype.expandEntityReference;\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.currentNode;\\n\\n/**\\n * @constructor\\n * @extends {Element}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037\\n */\\nfunction HTMLElement() {}\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901\\n */\\nHTMLElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800\\n */\\nHTMLElement.prototype.title;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nHTMLElement.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807\\n */\\nHTMLElement.prototype.lang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740\\n */\\nHTMLElement.prototype.dir;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176\\n */\\nHTMLElement.prototype.className;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705\\n */\\nHTMLElement.prototype.tabIndex;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296\\n */\\nfunction HTMLHtmlElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775\\n */\\nHTMLHtmlElement.prototype.version;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77253168\\n */\\nfunction HTMLHeadElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909\\n */\\nHTMLHeadElement.prototype.profile;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001\\n */\\nfunction HTMLLinkElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129\\n */\\nHTMLLinkElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491\\n */\\nHTMLLinkElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588\\n */\\nHTMLLinkElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682\\n */\\nHTMLLinkElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125\\n */\\nHTMLLinkElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587\\n */\\nHTMLLinkElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461\\n */\\nHTMLLinkElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095\\n */\\nHTMLLinkElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296\\n */\\nHTMLLinkElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLLinkElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169\\n */\\nfunction HTMLTitleElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413\\n */\\nHTMLTitleElement.prototype.text;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454\\n */\\nfunction HTMLMetaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826\\n */\\nHTMLMetaElement.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449\\n */\\nHTMLMetaElement.prototype.httpEquiv;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081\\n */\\nHTMLMetaElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789\\n */\\nHTMLMetaElement.prototype.scheme;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039\\n */\\nfunction HTMLBaseElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887\\n */\\nHTMLBaseElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298\\n */\\nHTMLBaseElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003\\n */\\nfunction HTMLIsIndexElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980\\n */\\nHTMLIsIndexElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862\\n */\\nHTMLIsIndexElement.prototype.prompt;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977\\n */\\nfunction HTMLStyleElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010\\n */\\nHTMLStyleElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738\\n */\\nHTMLStyleElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002\\n */\\nHTMLStyleElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLStyleElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039\\n */\\nfunction HTMLBodyElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581\\n */\\nHTMLBodyElement.prototype.aLink;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810\\n */\\nHTMLBodyElement.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084\\n */\\nHTMLBodyElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206\\n */\\nHTMLBodyElement.prototype.link;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763\\n */\\nHTMLBodyElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305\\n */\\nHTMLBodyElement.prototype.vLink;\\n\\n/**\\n * @constructor\\n * @extends {HTMLCollection}\\n * @implements {IObject)>}\\n * @implements {IArrayLike}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\\n */\\nfunction HTMLFormControlsCollection() {}\\n\\n/**\\n * @param {string} name\\n * @return {T|RadioNodeList|null}\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\\n * @nosideeffects\\n * @override\\n * @suppress {newCheckTypes}\\n */\\nHTMLFormControlsCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357\\n */\\nfunction HTMLFormElement() {}\\n\\n/**\\n * @type {HTMLFormControlsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\\n */\\nHTMLFormElement.prototype.elements;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\\n */\\nHTMLFormElement.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\\n */\\nHTMLFormElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\\n */\\nHTMLFormElement.prototype.acceptCharset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\\n */\\nHTMLFormElement.prototype.action;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\\n */\\nHTMLFormElement.prototype.enctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\\n */\\nHTMLFormElement.prototype.method;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\\n */\\nHTMLFormElement.prototype.target;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\\n */\\nHTMLFormElement.prototype.submit = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\\n */\\nHTMLFormElement.prototype.reset = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\\n */\\nfunction HTMLSelectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\\n */\\nHTMLSelectElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\\n */\\nHTMLSelectElement.prototype.selectedIndex;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\\n */\\nHTMLSelectElement.prototype.value;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\\n */\\nHTMLSelectElement.prototype.length;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\\n */\\nHTMLSelectElement.prototype.form;\\n\\n/**\\n * @type {!HTMLOptionsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\\n */\\nHTMLSelectElement.prototype.options;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\\n */\\nHTMLSelectElement.prototype.disabled;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\\n */\\nHTMLSelectElement.prototype.multiple;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\\n */\\nHTMLSelectElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\\n */\\nHTMLSelectElement.prototype.size;\\n\\n/**\\n * @param {HTMLElement} element\\n * @param {HTMLElement=} opt_before\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\\n */\\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\\n * @override\\n */\\nHTMLSelectElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\\n * @override\\n */\\nHTMLSelectElement.prototype.focus = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\\n * @override\\n */\\nHTMLSelectElement.prototype.remove = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\\n */\\nfunction HTMLOptGroup"; +a.a+="Element() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\\n */\\nHTMLOptGroupElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\\n */\\nHTMLOptGroupElement.prototype.label;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\\n */\\nfunction HTMLOptionElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\\n */\\nHTMLOptionElement.prototype.defaultSelected;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\\n */\\nHTMLOptionElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\\n */\\nHTMLOptionElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\\n */\\nHTMLOptionElement.prototype.index;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\\n */\\nHTMLOptionElement.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\\n */\\nHTMLOptionElement.prototype.selected;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\\n */\\nHTMLOptionElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\\n */\\nHTMLOptionElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025\\n */\\nfunction HTMLInputElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520\\n */\\nHTMLInputElement.prototype.accept;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154\\n */\\nHTMLInputElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182\\n */\\nHTMLInputElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314\\n */\\nHTMLInputElement.prototype.alt;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917\\n */\\nHTMLInputElement.prototype.checked;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171\\n */\\nHTMLInputElement.prototype.defaultChecked;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157\\n */\\nHTMLInputElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781\\n */\\nHTMLInputElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895\\n */\\nHTMLInputElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353\\n */\\nHTMLInputElement.prototype.maxLength;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498\\n */\\nHTMLInputElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592\\n */\\nHTMLInputElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438\\n */\\nHTMLInputElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704\\n */\\nHTMLInputElement.prototype.src;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355\\n */\\nHTMLInputElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744\\n */\\nHTMLInputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706\\n */\\nHTMLInputElement.prototype.useMap;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485\\n */\\nHTMLInputElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235\\n * @override\\n */\\nHTMLInputElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361\\n * @override\\n */\\nHTMLInputElement.prototype.click = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295\\n * @override\\n */\\nHTMLInputElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168\\n */\\nHTMLInputElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179\\n */\\nfunction HTMLTextAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991\\n */\\nHTMLTextAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225\\n */\\nHTMLTextAreaElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213\\n */\\nHTMLTextAreaElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443\\n */\\nHTMLTextAreaElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464\\n */\\nHTMLTextAreaElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578\\n */\\nHTMLTextAreaElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423\\n */\\nHTMLTextAreaElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887\\n */\\nHTMLTextAreaElement.prototype.rows;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\\n */\\nHTMLTextAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\\n */\\nHTMLTextAreaElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\\n */\\nHTMLTextAreaElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\\n * @override\\n */\\nHTMLTextAreaElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\\n * @override\\n */\\nHTMLTextAreaElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\\n */\\nHTMLTextAreaElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\\n */\\nfunction HTMLButtonElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\\n */\\nHTMLButtonElement.prototype.accessKey;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\\n */\\nHTMLButtonElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\\n */\\nHTMLButtonElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\\n */\\nHTMLButtonElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\\n */\\nHTMLButtonElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\\n */\\nHTMLButtonElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\\n */\\nHTMLButtonElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\\n */\\nfunction HTMLLabelElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\\n */\\nHTMLLabelElement.prototype.accessKey;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\\n */\\nHTMLLabelElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\\n */\\nHTMLLabelElement.prototype.htmlFor;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\\n */\\nfunction HTMLFieldSetElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\\n */\\nHTMLFieldSetElement.prototype.form;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\\n */\\nHTMLFieldSetElement.prototype.disabled;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\\n */\\nfunction HTMLLegendElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\\n */\\nHTMLLegendElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\\n */\\nHTMLLegendElement.prototype.align;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\\n */\\nHTMLLegendElement.prototype.form;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457\\n */\\nfunction HTMLUListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\\n */\\nHTMLUListElement.prototype.compact;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\\n */\\nHTMLUListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\\n */\\nfunction HTMLOListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\\n */\\nHTMLOListElement.prototype.compact;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\\n */\\nHTMLOListElement.prototype.start;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\\n */\\nHTMLOListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\\n */\\nfunction HTMLDListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\\n */\\nHTMLDListElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\\n */\\nfunction HTMLDirectoryElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\\n */\\nHTMLDirectoryElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\\n */\\nfunction HTMLMenuElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\\n */\\nHTMLMenuElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\\n */\\nfunction HTMLLIElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\\n */\\nHTMLLIElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\\n */\\nHTMLLIElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\\n */\\nfunction HTMLDivElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\\n */\\nHTMLDivElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\\n */\\nfunction HTMLParagraphElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\\n */\\nHTMLParagraphElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\\n */\\nfunction HTMLHeadingElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\\n */\\nHTMLHeadingElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\\n */\\nfunction HTMLQuoteElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\\n */\\nHTMLQuoteElement.prototype.cite;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\\n */\\nfunction HTMLPreElement() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\\n */\\nHTMLPreElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\\n */\\nfunction HTMLBRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\\n */\\nHTMLBRElement.prototype.clear;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\\n */\\nfunction HTMLBaseFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\\n */\\nHTMLBaseFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\\n */\\nHTMLBaseFontElement.prototype.face;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\\n */\\nHTMLBaseFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\\n */\\nfunction HTMLFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\\n */\\nHTMLFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\\n */\\nHTMLFontElement.prototype.face;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\\n */\\nHTMLFontElement.prototype.size;\\n\\n/**"; +a.a+="\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\\n */\\nfunction HTMLHRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\\n */\\nHTMLHRElement.prototype.align;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\\n */\\nHTMLHRElement.prototype.noShade;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\\n */\\nHTMLHRElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\\n */\\nHTMLHRElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\\n */\\nfunction HTMLModElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\\n */\\nHTMLModElement.prototype.cite;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\\n */\\nHTMLModElement.prototype.dateTime;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\\n */\\nfunction HTMLAnchorElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\\n */\\nHTMLAnchorElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\\n */\\nHTMLAnchorElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\\n */\\nHTMLAnchorElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319\\n */\\nHTMLAnchorElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513\\n */\\nHTMLAnchorElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304\\n */\\nHTMLAnchorElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891\\n */\\nHTMLAnchorElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771\\n */\\nHTMLAnchorElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808\\n */\\nHTMLAnchorElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466\\n */\\nHTMLAnchorElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197\\n */\\nHTMLAnchorElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221\\n */\\nHTMLAnchorElement.prototype.type;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939\\n * @override\\n */\\nHTMLAnchorElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313\\n * @override\\n */\\nHTMLAnchorElement.prototype.focus = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901\\n */\\nfunction HTMLImageElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094\\n */\\nHTMLImageElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861\\n */\\nHTMLImageElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671\\n */\\nHTMLImageElement.prototype.border;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496\\n */\\nHTMLImageElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471\\n */\\nHTMLImageElement.prototype.hspace;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880\\n */\\nHTMLImageElement.prototype.isMap;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969\\n */\\nHTMLImageElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910\\n */\\nHTMLImageElement.prototype.lowSrc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097\\n */\\nHTMLImageElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984\\n */\\nHTMLImageElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181\\n */\\nHTMLImageElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897\\n */\\nHTMLImageElement.prototype.vspace;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076\\n */\\nHTMLImageElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177\\n */\\nfunction HTMLObjectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097\\n */\\nHTMLObjectElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837\\n */\\nHTMLObjectElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419\\n */\\nHTMLObjectElement.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146\\n */\\nHTMLObjectElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136\\n */\\nHTMLObjectElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008\\n */\\nHTMLObjectElement.prototype.codeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621\\n */\\nHTMLObjectElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986\\n */\\nHTMLObjectElement.prototype.data;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770\\n */\\nHTMLObjectElement.prototype.declare;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773\\n */\\nHTMLObjectElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838\\n */\\nHTMLObjectElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376\\n */\\nHTMLObjectElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362\\n */\\nHTMLObjectElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673\\n */\\nHTMLObjectElement.prototype.standby;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787\\n */\\nHTMLObjectElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621\\n */\\nHTMLObjectElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772\\n */\\nHTMLObjectElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483\\n */\\nHTMLObjectElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620\\n */\\nHTMLObjectElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273\\n */\\nfunction HTMLParamElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447\\n */\\nHTMLParamElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888\\n */\\nHTMLParamElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357\\n */\\nHTMLParamElement.prototype.value;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872\\n */\\nHTMLParamElement.prototype.valueType;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348\\n */\\nfunction HTMLAppletElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912\\n */\\nHTMLAppletElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064\\n */\\nHTMLAppletElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360\\n */\\nHTMLAppletElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645\\n */\\nHTMLAppletElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160\\n */\\nHTMLAppletElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867\\n */\\nHTMLAppletElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197\\n */\\nHTMLAppletElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695\\n */\\nHTMLAppletElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523\\n */\\nHTMLAppletElement.prototype.object;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173\\n */\\nHTMLAppletElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327\\n */\\nHTMLAppletElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203\\n */\\nfunction HTMLMapElement() {}\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\\n */\\nHTMLMapElement.prototype.areas;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\\n */\\nHTMLMapElement.prototype.name;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\\n */\\nfunction HTMLAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\\n */\\nHTMLAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\\n */\\nHTMLAreaElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\\n */\\nHTMLAreaElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936\\n */\\nHTMLAreaElement.prototype.href;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871\\n */\\nHTMLAreaElement.prototype.noHref;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271\\n */\\nHTMLAreaElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121\\n */\\nHTMLAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682\\n */\\nHTMLAreaElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695\\n */\\nfunction HTMLScriptElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677\\n */\\nHTMLScriptElement.prototype.charset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534\\n */\\nHTMLScriptElement.prototype.defer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403\\n */\\nHTMLScriptElement.prototype.event;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266\\n */\\nHTMLScriptElement.prototype.htmlFor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231\\n */\\nHTMLScriptElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999\\n */\\nHTMLScriptElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818\\n */\\nHTMLScriptElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425\\n */\\nfunction HTMLTableElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977\\n */\\nHTMLTableElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985\\n */\\nHTMLTableElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400\\n */\\nHTMLTableElement.prototype.border;\\n\\n/**\\n * @type {HTMLTableCaptionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520\\n */\\nHTMLTableElement.prototype.caption;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158\\n */\\nHTMLTableElement.prototype.cellPadding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883\\n */\\nHTMLTableElement.prototype.cellSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476\\n */\\nHTMLTableElement.prototype.frame;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\\n */\\nHTMLTableElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\\n */\\nHTMLTableElement.prototype.rules;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\\n */\\nHTMLTableElement.prototype.summary;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\\n */\\nHTMLTableElement.prototype.tBodies;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\\n */\\nHTMLTableElement.prototype.tFoot;\\n\\n/**\\n * @type {HTMLTab"; +a.a+='leSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944\\n */\\nHTMLTableElement.prototype.tHead;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\\n */\\nHTMLTableElement.prototype.width;\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\\n */\\nHTMLTableElement.prototype.createCaption = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\\n */\\nHTMLTableElement.prototype.createTFoot = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\\n */\\nHTMLTableElement.prototype.createTHead = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\\n */\\nHTMLTableElement.prototype.deleteCaption = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\\n */\\nHTMLTableElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\\n */\\nHTMLTableElement.prototype.deleteTFoot = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\\n */\\nHTMLTableElement.prototype.deleteTHead = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\\n */\\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\\n */\\nfunction HTMLTableCaptionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\\n */\\nHTMLTableCaptionElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\\n */\\nfunction HTMLTableColElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\\n */\\nHTMLTableColElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\\n */\\nHTMLTableColElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\\n */\\nHTMLTableColElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\\n */\\nHTMLTableColElement.prototype.span;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\\n */\\nHTMLTableColElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\\n */\\nHTMLTableColElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\\n */\\nfunction HTMLTableSectionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\\n */\\nHTMLTableSectionElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\\n */\\nHTMLTableSectionElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\\n */\\nHTMLTableSectionElement.prototype.chOff;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\\n */\\nHTMLTableSectionElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\\n */\\nHTMLTableSectionElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\\n */\\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\\n */\\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\\n */\\nfunction HTMLTableRowElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\\n */\\nHTMLTableRowElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\\n */\\nHTMLTableRowElement.prototype.bgColor;\\n\\n/**\\n * @type {HTMLCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\\n */\\nHTMLTableRowElement.prototype.cells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\\n */\\nHTMLTableRowElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\\n */\\nHTMLTableRowElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\\n */\\nHTMLTableRowElement.prototype.rowIndex;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901\\n */\\nHTMLTableRowElement.prototype.sectionRowIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\\n */\\nHTMLTableRowElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\\n */\\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\\n */\\nHTMLTableRowElement.prototype.insertCell = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\\n */\\nfunction HTMLTableCellElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\\n */\\nHTMLTableCellElement.prototype.abbr;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879\\n */\\nHTMLTableCellElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418\\n */\\nHTMLTableCellElement.prototype.axis;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431\\n */\\nHTMLTableCellElement.prototype.bgColor;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363\\n */\\nHTMLTableCellElement.prototype.cellIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780\\n */\\nHTMLTableCellElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310\\n */\\nHTMLTableCellElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244\\n */\\nHTMLTableCellElement.prototype.colSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817\\n */\\nHTMLTableCellElement.prototype.headers;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212\\n */\\nHTMLTableCellElement.prototype.height;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045\\n */\\nHTMLTableCellElement.prototype.noWrap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625\\n */\\nHTMLTableCellElement.prototype.rowSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952\\n */\\nHTMLTableCellElement.prototype.scope;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221\\n */\\nHTMLTableCellElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795\\n */\\nHTMLTableCellElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095\\n */\\nfunction HTMLFrameSetElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594\\n */\\nHTMLFrameSetElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247\\n */\\nHTMLFrameSetElement.prototype.rows;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553\\n */\\nfunction HTMLFrameElement() {}\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536\\n */\\nHTMLFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633\\n */\\nHTMLFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998\\n */\\nHTMLFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778\\n */\\nHTMLFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969\\n */\\nHTMLFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709\\n */\\nHTMLFrameElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578\\n */\\nHTMLFrameElement.prototype.noResize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424\\n */\\nHTMLFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535\\n */\\nHTMLFrameElement.prototype.src;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718\\n */\\nfunction HTMLIFrameElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947\\n */\\nHTMLIFrameElement.prototype.align;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006\\n */\\nHTMLIFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410\\n */\\nHTMLIFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118\\n */\\nHTMLIFrameElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105\\n */\\nHTMLIFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294\\n */\\nHTMLIFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595\\n */\\nHTMLIFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659\\n */\\nHTMLIFrameElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822\\n */\\nHTMLIFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957\\n */\\nHTMLIFrameElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005\\n */\\nHTMLIFrameElement.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_STATE_ERR = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.SYNTAX_ERR = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_MODIFICATION_ERR = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.NAMESPACE_ERR = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_ACCESS_ERR = 15;\\n","externs/w3c_dom3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 3 specification.\\n * This file depends on w3c_dom2.js.\\n * The whole file has been fully type annotated.\\n * Created from\\n * http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.VALIDATION_ERR = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.TYPE_MISMATCH_ERR = 17;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\\n */\\nfunction DOMStringList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\\n */\\nDOMStringList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\\n * @nosideeffects\\n */\\nDOMStringList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\\n * @nosideeffects\\n */\\nDOMStringList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList\\n */\\nfunction NameList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-length\\n */\\nNameList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains\\n * @nosideeffects\\n */\\nNameList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS\\n * @nosideeffects\\n */\\nNameList.prototype.containsNS = function(namespaceURI, name) {};\\n\\n/**\\n * @param {number} index\\n * @r'; +a.a+="eturn {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getName\\n * @nosideeffects\\n */\\nNameList.prototype.getName = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI\\n * @nosideeffects\\n */\\nNameList.prototype.getNamespaceURI = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\\n */\\nfunction DOMImplementationList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\\n */\\nDOMImplementationList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\\n * @nosideeffects\\n */\\nDOMImplementationList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\\n */\\nfunction DOMImplementationSource() {}\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} publicId\\n * @param {DocumentType} doctype\\n * @return {Document}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocument = function(namespaceURI, publicId, doctype) {};\\n\\n/**\\n * @param {string} qualifiedName\\n * @param {string} publicId\\n * @param {string} systemId\\n * @return {DocumentType}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementation = function(features) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementationList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementationList = function(features) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode\\n */\\nDocument.prototype.adoptNode = function(externalNode) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI\\n */\\nDocument.prototype.documentURI;\\n\\n/**\\n * @type {DOMConfiguration}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfig\\n */\\nDocument.prototype.domConfig;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding\\n */\\nDocument.prototype.inputEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorChecking\\n */\\nDocument.prototype.strictErrorChecking;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding\\n */\\nDocument.prototype.xmlEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone\\n */\\nDocument.prototype.xmlStandalone;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version\\n */\\nDocument.prototype.xmlVersion;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument\\n */\\nDocument.prototype.normalizeDocument = function() {};\\n\\n/**\\n * @param {Node} n\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\\n */\\nDocument.prototype.renameNode = function(n, namespaceURI, qualifiedName) {};\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI\\n */\\nNode.prototype.baseURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN\\n */\\nNode.prototype.localName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname\\n */\\nNode.prototype.namespaceURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix\\n */\\nNode.prototype.prefix;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent\\n */\\nNode.prototype.textContent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED\\n */\\nNode.DOCUMENT_POSITION_DISCONNECTED = 0x01;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING\\n */\\nNode.DOCUMENT_POSITION_PRECEDING = 0x02;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING\\n */\\nNode.DOCUMENT_POSITION_FOLLOWING = 0x04;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS\\n */\\nNode.DOCUMENT_POSITION_CONTAINS = 0x08;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY\\n */\\nNode.DOCUMENT_POSITION_CONTAINED_BY = 0x10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\\n */\\nNode.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;\\n\\n/**\\n * @param {Node} other\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\\n * @nosideeffects\\n */\\nNode.prototype.compareDocumentPosition = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature\\n * @nosideeffects\\n */\\nNode.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData\\n * @nosideeffects\\n */\\nNode.prototype.getUserData = function(key) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs\\n * @nosideeffects\\n */\\nNode.prototype.hasAttributes = function() {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace\\n * @nosideeffects\\n */\\nNode.prototype.isDefaultNamespace = function(namespaceURI) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode\\n * @nosideeffects\\n */\\nNode.prototype.isEqualNode = function(arg) {};\\n\\n/**\\n * @param {Node} other\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode\\n * @nosideeffects\\n */\\nNode.prototype.isSameNode = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports\\n * @nosideeffects\\n */\\nNode.prototype.isSupported = function(feature, version) {};\\n\\n/**\\n * @param {string} prefix\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI\\n * @nosideeffects\\n */\\nNode.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\\n * @nosideeffects\\n */\\nNode.prototype.lookupPrefix = function(namespaceURI) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize\\n */\\nNode.prototype.normalize = function() {};\\n\\n/**\\n * @param {Object} key\\n * @param {Object} data\\n * @param {UserDataHandler} handler\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData'\\n */\\nNode.prototype.setUserData = function(key, data, handler) {};\\n\\n/**\\n * @param {string} query\\n * @return {?Element}\\n * @see http://www.w3.org/TR/selectors-api/#queryselector\\n * @nosideeffects\\n */\\nNode.prototype.querySelector = function(query) {};\\n\\n/**\\n * @param {string} query\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\\n * @nosideeffects\\n */\\nNode.prototype.querySelectorAll = function(query) {};\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\\n */\\nAttr.prototype.ownerElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\\n */\\nAttr.prototype.isId;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfo\\n */\\nAttr.prototype.schemaTypeInfo;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfo\\n */\\nElement.prototype.schemaTypeInfo;\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {!NodeList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\\n * @nosideeffects\\n */\\nElement.prototype.hasAttribute = function(name) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\\n */\\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\\n */\\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string|number|boolean} value Values are converted to strings with\\n * ToString, so we accept number and boolean since both convert easily to\\n * strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\\n */\\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\\n\\n/**\\n * @param {string} name\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttr\\n */\\nElement.prototype.setIdAttribute = function(name, isId) {};\\n\\n/**\\n * @param {Attr} idAttr\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNode\\n */\\nElement.prototype.setIdAttributeNode = function(idAttr, isId) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNS\\n */\\nElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText\\n */\\nText.prototype.wholeText;\\n\\n/**\\n * @param {string} newText\\n * @return {Text}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeText\\n */\\nText.prototype.replaceWholeText = function(newText) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo\\n */\\nfunction TypeInfo() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSION\\n */\\nTypeInfo.prototype.DERIVATION_EXTENSION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LIST\\n */\\nTypeInfo.prototype.DERIVATION_LIST;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTION\\n */\\nTypeInfo.prototype.DERIVATION_RESTRICTION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNION\\n */\\nTypeInfo.prototype.DERIVATION_UNION;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeName\\n */\\nTypeInfo.prototype.typeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespace\\n */\\nTypeInfo.prototype.typeNamespace;\\n\\n/**\\n * @param {string} typeNamespaceArg\\n * @param {string} typeNameArg\\n * @param {number} derivationMethod\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom\\n * @nosideeffects\\n */\\nTypeInfo.prototype.isDerivedFrom = function(typeNamespaceArg, typeNameArg, derivationMethod) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler\\n */\\nfunction UserDataHandler() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONED\\n */\\nUserDataHandler.prototype.NODE_CLONED = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTED\\n */\\nUserDataHandler.prototype.NODE_IMPORTED = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETED\\n */\\nUserDataHandler.prototype.NODE_DELETED = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMED\\n */\\nUserDataHandler.prototype.NODE_RENAMED = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED\\n */\\nUserDataHandler.prototype.NODE_ADOPTED = 5;\\n\\n/**\\n * @param {number} operation\\n * @param {string} key\\n * @param {*=} opt_data\\n * @param {?Node=} opt_src\\n * @param {?Node=} opt_dst\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEvent\\n */\\nUserDataHandler.prototype.handle = function(operation, key, opt_data,\\n opt_src, opt_dst) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError\\n */\\nfunction DOMError() {}\\n\\n/**\\n * @type {DOMLocator}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location\\n */\\nDOMError.prototype.location;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message\\n */\\nDOMError.prototype.message;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData\\n */\\nDOMError.prototype.relatedData;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException\\n */\\nDOMError.prototype.relatedException;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning\\n */\\nDOMError.SEVERITY_WARNING = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error\\n */\\nDOMError.SEVERITY_ERROR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core"; +a.a+='.html#ERROR-DOMError-severity-fatal-error\\n */\\nDOMError.SEVERITY_FATAL_ERROR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity\\n */\\nDOMError.prototype.severity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type\\n */\\nDOMError.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/dom/#domerror\\n */\\nDOMError.prototype.name;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler\\n */\\nfunction DOMErrorHandler() {}\\n\\n/**\\n * @param {DOMError} error\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError\\n */\\nDOMErrorHandler.prototype.handleError = function(error) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator\\n */\\nfunction DOMLocator() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset\\n */\\nDOMLocator.prototype.byteOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number\\n */\\nDOMLocator.prototype.columnNumber;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number\\n */\\nDOMLocator.prototype.lineNumber;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node\\n */\\nDOMLocator.prototype.relatedNode;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri\\n */\\nDOMLocator.prototype.uri;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset\\n */\\nDOMLocator.prototype.utf16Offset;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration\\n */\\nfunction DOMConfiguration() {}\\n\\n/**\\n * @type {DOMStringList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNames\\n */\\nDOMConfiguration.prototype.parameterNames;\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.canSetParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.getParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-property\\n */\\nDOMConfiguration.prototype.setParameter = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubset\\n */\\nDocumentType.prototype.internalSubset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId\\n */\\nDocumentType.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId\\n */\\nDocumentType.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncoding\\n */\\nEntity.prototype.inputEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encoding\\n */\\nEntity.prototype.xmlEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-version\\n */\\nEntity.prototype.xmlVersion;\\n","externs/w3c_dom4.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM4 specification. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated. Created from\\n * https://www.w3.org/TR/domcore/.\\n *\\n * @externs\\n * @author zhoumotongxue008@gmail.com (Michael Zhou)\\n */\\n\\n/**\\n * @typedef {?(DocumentType|Element|CharacterData)}\\n * @see https://www.w3.org/TR/domcore/#interface-childnode\\n */\\nvar ChildNode;\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nDocumentType.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nElement.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nCharacterData.prototype.remove = function() {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nDocumentType.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nElement.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nCharacterData.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @return {!Array}\\n * @see https://dom.spec.whatwg.org/#dom-element-getattributenames\\n */\\nElement.prototype.getAttributeNames = function() {};\\n","externs/gecko_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n * W3C\'s DOM specification by Gecko. This file depends on\\n * w3c_dom2.js.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n// Gecko DOM;\\n\\n/**\\n * Mozilla only???\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSpanElement() {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/Components_object\\n */\\nWindow.prototype.Components;\\n\\n/**\\n * @type {Window}\\n * @see https://developer.mozilla.org/en/DOM/window.content\\n */\\nWindow.prototype.content;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.closed\\n */\\nWindow.prototype.closed;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.controllers */\\nWindow.prototype.controllers;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n/**\\n * Gets/sets the status bar text for the given window.\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.defaultStatus\\n */\\nWindow.prototype.defaultStatus;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */\\nWindow.prototype.dialogArguments;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.directories */\\nWindow.prototype.directories;\\n\\n/**\\n * @type {HTMLObjectElement|HTMLIFrameElement|null}\\n * @see https://developer.mozilla.org/en/DOM/window.frameElement\\n */\\nWindow.prototype.frameElement;\\n\\n/**\\n * Allows lookup of frames by index or by name.\\n * @type {?Object}\\n * @see https://developer.mozilla.org/en/DOM/window.frames\\n */\\nWindow.prototype.frames;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.fullScreen\\n */\\nWindow.prototype.fullScreen;\\n\\n/**\\n * @return {!Promise}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage\\n */\\nWindow.prototype.globalStorage;\\n\\n/**\\n * @type {!History}\\n * @suppress {duplicate}\\n * @see https://developer.mozilla.org/en/DOM/window.history\\n */\\nvar history;\\n\\n/**\\n * Returns the number of frames (either frame or iframe elements) in the\\n * window.\\n *\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.length\\n */\\nWindow.prototype.length;\\n\\n/**\\n * Location has an exception in the DeclaredGlobalExternsOnWindow pass\\n * so we have to manually include it:\\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116\\n *\\n * @type {!Location}\\n * @implicitCast\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n */\\nWindow.prototype.location;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.locationbar\\n */\\nWindow.prototype.locationbar;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.menubar\\n */\\nWindow.prototype.menubar;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.name\\n */\\nWindow.prototype.name;\\n\\n/**\\n * @type {Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n */\\nWindow.prototype.navigator;\\n\\n/**\\n * @type {?Window}\\n * @see https://developer.mozilla.org/en/DOM/window.opener\\n */\\nWindow.prototype.opener;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.parent\\n */\\nWindow.prototype.parent;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.personalbar */\\nWindow.prototype.personalbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */\\nWindow.prototype.pkcs11;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window */\\nWindow.prototype.returnValue;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.scrollbars */\\nWindow.prototype.scrollbars;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX\\n */\\nWindow.prototype.scrollMaxX;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY\\n */\\nWindow.prototype.scrollMaxY;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.self;\\n\\n/** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */\\nWindow.prototype.sessionStorage;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.sidebar */\\nWindow.prototype.sidebar;\\n\\n/**\\n * @type {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.status\\n */\\nWindow.prototype.status;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.statusbar */\\nWindow.prototype.statusbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.toolbar */\\nWindow.prototype.toolbar;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.top;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.window;\\n\\n/**\\n * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nWindow.prototype.alert = function(message) {};\\n\\n/**\\n * Decodes a string of data which has been encoded using base-64 encoding.\\n *\\n * @param {string} encodedData\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.atob\\n * @nosideeffects\\n */\\nfunction atob(encodedData) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.back\\n * @return {undefined}\\n */\\nWindow.prototype.back = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.blur\\n * @return {undefined}\\n */\\nWindow.prototype.blur = function() {};\\n\\n/**\\n * @param {string} stringToEncode\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.btoa\\n * @nosideeffects\\n */\\nfunction btoa(stringToEncode) {}\\n\\n/** @deprecated */\\nWindow.prototype.captureEvents;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.close\\n * @return {undefined}\\n */\\nWindow.prototype.close = function() {};\\n\\n/**@see https://developer.mozilla.org/en/DOM/window.find */\\nWindow.prototype.find;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.focus\\n * @return {undefined}\\n */\\nWindow.prototype.focus = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.forward\\n * @return {undefined}\\n */\\nWindow.prototype.forward = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.getAttention\\n * @return {undefined}\\n */\\nWindow.prototype.getAttention = function() {};\\n\\n/**\\n * @return {Selection}\\n * @see https://developer.mozilla.org/en/DOM/window.getSelection\\n * @nosideeffects\\n */\\nWindow.prototype.getSelection = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.home\\n * @return {undefined}\\n */\\nWindow.prototype.home = function() {};\\n\\nWindow.prototype.openDialog;\\nWindow.prototype.releaseEvents;\\nWindow.prototype.scrollByLines;\\nWindow.prototype.scrollByPages;\\n\\n/**\\n * @param {string} uri\\n * @param {?=} opt_arguments\\n * @param {string=} opt_options\\n * @see https://developer.mozilla.org/en/DOM/window.showModalDialog\\n */\\nWindow.prototype.showModalDialog;\\n\\nWindow.prototype.sizeToContent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.stop = function() {};\\n\\nWindow.prototype.updateCommands;\\n\\n// properties of Document\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.alinkColor\\n * @type {string}\\n */\\nDocument.prototype.alinkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.anchors\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.anchors;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.applets\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.applets;\\n/** @type {boolean} */ Document.prototype.async;\\n/** @type {string?} */ Document.prototype.baseURI;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.bgColor\\n * @type {string}\\n */\\nDocument.prototype.bgColor;\\n\\n/** @type {HTMLBodyElement} */ Document.prototype.body;\\nDocument.prototype.characterSet;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.compatMode\\n * @type {string}\\n */\\nDocument.prototype.compatMode;\\n\\nDocument.prototype.contentType;\\n/** @type {string} */ Document.prototype.cookie;\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView\\n * @type {?Window}\\n */\\nDocument.prototype.defaultView;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.designMode\\n * @type {string}\\n */\\nDocument.prototype.designMode;\\n\\nDocument.prototype.documentURIObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.domain\\n * @type {string}\\n */\\nDocument.prototype.domain;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.embeds\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.embeds;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\\n * @type {string}\\n */\\nDocument.prototype.fgColor;\\n\\n/** @type {Element} */ Document.prototype.firstChild;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.forms\\n * @type {HTMLCollection}\\n */\\nDocument.prototype.forms;\\n\\n/** @type {number} */\\nDocument.prototype.height;\\n\\n/** @type {HTMLCollection} */\\nDocument.prototype.images;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\\n */\\nDocument.prototype.lastModified;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\\n */\\nDocument.prototype.linkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/D'; +a.a+='OM/document.links\\n * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>}\\n */\\nDocument.prototype.links;\\n\\n/**\\n * @type {!Location}\\n * @implicitCast\\n */\\nDocument.prototype.location;\\n\\nDocument.prototype.namespaceURI;\\nDocument.prototype.nodePrincipal;\\nDocument.prototype.plugins;\\nDocument.prototype.popupNode;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.referrer\\n */\\nDocument.prototype.referrer;\\n\\n/**\\n * @type {StyleSheetList}\\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\\n */\\nDocument.prototype.styleSheets;\\n\\n/** @type {?string} */ Document.prototype.title;\\nDocument.prototype.tooltipNode;\\n/** @type {string} */ Document.prototype.URL;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\\n */\\nDocument.prototype.vlinkColor;\\n\\n/** @type {number} */ Document.prototype.width;\\n\\n// Methods of Document\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.clear\\n * @return {undefined}\\n */\\nDocument.prototype.clear = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.close\\n */\\nDocument.prototype.close;\\n\\n/**\\n * @param {string} type\\n * @return {Event}\\n */\\nDocument.prototype.createEvent = function(type) {};\\nDocument.prototype.createNSResolver;\\n/** @return {Range} */ Document.prototype.createRange = function() {};\\nDocument.prototype.createTreeWalker;\\n\\nDocument.prototype.evaluate;\\n\\n/**\\n * @param {string} commandName\\n * @param {?boolean=} opt_showUi\\n * @param {*=} opt_value\\n * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands\\n */\\nDocument.prototype.execCommand;\\n\\n/**\\n * @param {string} name\\n * @return {!NodeList}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName\\n */\\nDocument.prototype.getElementsByClassName = function(name) {};\\n\\n/**\\n * @param {string} uri\\n * @return {undefined}\\n */\\nDocument.prototype.load = function(uri) {};\\nDocument.prototype.loadOverlay;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.open\\n */\\nDocument.prototype.open;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nDocument.prototype.queryCommandEnabled;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nDocument.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nDocument.prototype.queryCommandState;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n * @param {string} command\\n * @return {?} Implementation-specific.\\n */\\nDocument.prototype.queryCommandSupported;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nDocument.prototype.queryCommandValue;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.write\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.write = function(text) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.writeln\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.writeln = function(text) {};\\n\\nDocument.prototype.ononline;\\nDocument.prototype.onoffline;\\n\\n// XUL\\n/**\\n * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor\\n * @return {BoxObject}\\n * @nosideeffects\\n */\\nDocument.prototype.getBoxObjectFor = function(element) {};\\n\\n// From:\\n// http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl\\n\\n/**\\n * @param {string} tag\\n * @return {DocumentFragment}\\n */\\nRange.prototype.createContextualFragment;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.isPointInRange;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.comparePoint;\\n\\n/**\\n * @param {Node} n\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.intersectsNode;\\n\\n/**\\n * @param {Node} n\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.compareNode;\\n\\n\\n/** @constructor */\\nfunction Selection() {}\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode\\n */\\nSelection.prototype.anchorNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset\\n */\\nSelection.prototype.anchorOffset;\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusNode\\n */\\nSelection.prototype.focusNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset\\n */\\nSelection.prototype.focusOffset;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed\\n */\\nSelection.prototype.isCollapsed;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount\\n */\\nSelection.prototype.rangeCount;\\n\\n/**\\n * @param {Range} range\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/addRange\\n */\\nSelection.prototype.addRange = function(range) {};\\n\\n/**\\n * @param {number} index\\n * @return {Range}\\n * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt\\n * @nosideeffects\\n */\\nSelection.prototype.getRangeAt = function(index) {};\\n\\n/**\\n * @param {Node} node\\n * @param {number} index\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapse\\n */\\nSelection.prototype.collapse = function(node, index) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd\\n */\\nSelection.prototype.collapseToEnd = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart\\n */\\nSelection.prototype.collapseToStart = function() {};\\n\\n/**\\n * @param {Node} node\\n * @param {boolean} partlyContained\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/containsNode\\n * @nosideeffects\\n */\\nSelection.prototype.containsNode = function(node, partlyContained) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument\\n * @return {undefined}\\n */\\nSelection.prototype.deleteFromDocument = function() {};\\n\\n/**\\n * @param {Node} parentNode\\n * @param {number} offset\\n * @see https://developer.mozilla.org/en/DOM/Selection/extend\\n * @return {undefined}\\n */\\nSelection.prototype.extend = function(parentNode, offset) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges\\n * @return {undefined}\\n */\\nSelection.prototype.removeAllRanges = function() {};\\n\\n/**\\n * @param {Range} range\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeRange\\n * @return {undefined}\\n */\\nSelection.prototype.removeRange = function(range) {};\\n\\n/**\\n * @param {Node} parentNode\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren\\n */\\nSelection.prototype.selectAllChildren;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange\\n */\\nSelection.prototype.selectionLanguageChange;\\n\\n/**\\n * @type {!NodeList}\\n * @see https://developer.mozilla.org/en/DOM/element.children\\n */\\nElement.prototype.children;\\n\\n/**\\n * Firebug sets this property on elements it is inserting into the DOM.\\n * @type {boolean}\\n */\\nElement.prototype.firebugIgnore;\\n\\n/**\\n * Note: According to the spec, id is actually defined on HTMLElement and\\n * SVGElement, rather than Element. Deliberately ignore this so that saying\\n * Element.id is allowed.\\n * @type {string}\\n * @implicitCast\\n */\\nElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML\\n * @implicitCast\\n */\\nElement.prototype.innerHTML;\\n\\n/**\\n * Note: According to the spec, name is defined on specific types of\\n * HTMLElements, rather than on Node, Element, or HTMLElement directly.\\n * Ignore this.\\n * @type {string}\\n */\\nElement.prototype.name;\\n\\nElement.prototype.nodePrincipal;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * This belongs on HTMLElement rather than Element, but that\\n * breaks a lot.\\n * TODO(rdcronin): Remove this declaration once the breakage is fixed.\\n */\\nElement.prototype.style;\\n\\n/**\\n * @override\\n * @return {!Element}\\n */\\nElement.prototype.cloneNode = function(deep) {};\\n\\n/** @return {undefined} */\\nElement.prototype.blur = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.click = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.focus = function() {};\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setSelectionRange =\\n function(selectionStart, selectionEnd) {};\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setSelectionRange =\\n function(selectionStart, selectionEnd) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.buildID\\n */\\nNavigator.prototype.buildID;\\n\\n/**\\n * @type {!Array|undefined}\\n * @see https://developer.mozilla.org/en/Navigator.languages\\n */\\nNavigator.prototype.languages;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.oscpu\\n */\\nNavigator.prototype.oscpu;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.productSub\\n */\\nNavigator.prototype.productSub;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\\n */\\nNavigator.prototype.securityPolicy;\\n\\n/**\\n * @param {string} url\\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\\n */\\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendor\\n */\\nNavigator.prototype.vendor;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\\n */\\nNavigator.prototype.vendorSub;\\n\\n\\n/** @constructor */\\nfunction BoxObject() {}\\n\\n/** @type {Element} */\\nBoxObject.prototype.element;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenX;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenY;\\n\\n/** @type {number} */\\nBoxObject.prototype.x;\\n\\n/** @type {number} */\\nBoxObject.prototype.y;\\n\\n/** @type {number} */\\nBoxObject.prototype.width;\\n\\n\\n/**\\n * @param {Element} element\\n * @param {?string=} pseudoElt\\n * @return {?CSSStyleDeclaration}\\n * @nosideeffects\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\n */\\nfunction getComputedStyle(element, pseudoElt) {}\\n","externs/ie_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n * W3C\'s DOM specification by IE in JScript. This file depends on\\n * w3c_dom2.js. The whole file has NOT been fully type annotated.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead\\n// of kludging them as an inheritance hierarchy.\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx\\n */\\nfunction XMLDOMDocument() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.async;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ondataavailable;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.onreadystatechange;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ontransformnode;\\n\\n/**\\n * @type {Object}\\n * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.parseError;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.preserveWhiteSpace;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.readyState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx\\n * @type {boolean}\\n */\\nXMLDOMDocument.prototype.resolveExternals;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx\\n * @param {string} name\\n * @param {*} value\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.setProperty = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.url;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.validateOnParse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.abort = function() {};\\n\\n/**\\n * @param {*} type\\n * @param {string} name\\n * @param {string} namespaceURI\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx\\n * @nosideeffects\\n */\\nXMLDOMDocument.prototype.createNode = function(type, name, namespaceURI) {};\\n\\n/**\\n * @param {string} xmlSource\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.load = function(xmlSource) {};\\n\\n/**\\n * @param {string} xmlString\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.loadXML = function(xmlString) {};\\n\\n/**\\n * @param {string} id\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.nodeFromID = function(id) {};\\n\\n//==============================================================================\\n// XMLNode methods and properties\\n// In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.\\n// Since we can\'t express that in our type system, we put XMLNode properties\\n// on Node.\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx\\n */\\nNode.prototype.baseName;\\n\\n/**\\n * @type {?string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx\\n */\\nNode.prototype.dataType;\\n\\n/**\\n * @type {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx\\n */\\nNode.prototype.definition;\\n\\n/**\\n * IE5 used document instead of ownerDocument.\\n * Old versions of WebKit used document instead of contentDocument.\\n * @type {Document}'; +a.a+="\\n */\\nNode.prototype.document;\\n\\n\\n/**\\n * Inserts the given HTML text into the element at the location.\\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\\n * 'afterBegin', 'beforeEnd', 'afterEnd'.\\n * @param {string} sText HTML text to insert.\\n * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx\\n * @return {undefined}\\n */\\nNode.prototype.insertAdjacentHTML = function(sWhere, sText) {};\\n\\n\\n/**\\n * @type {*}\\n * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx\\n */\\nNode.prototype.nodeTypedValue;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx\\n */\\nNode.prototype.nodeTypeString;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx\\n */\\nNode.prototype.parsed;\\n\\n/**\\n * @type {Element}\\n * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx\\n */\\nNode.prototype.parentElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx\\n */\\nNode.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx\\n */\\nNode.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx\\n */\\nNode.prototype.xml;\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {!NodeList}\\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectNodes = function(expression) {};\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectSingleNode = function(expression) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.transformNode = function(stylesheet) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @param {Object} outputObject\\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\\n * @return {Object}\\n */\\nNode.prototype.transformNodeToObject =\\n function(stylesheet, outputObject) {};\\n\\n//==============================================================================\\n// Node methods\\n\\n/**\\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\\n * Defaults to false.\\n * @return {Node} The object that was removed.\\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\\n */\\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\\n\\n/**\\n * @constructor\\n */\\nfunction ClipboardData() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\\n * 'URL' or 'File' or 'HTML' or 'Image'.\\n * @return {undefined}\\n */\\nClipboardData.prototype.clearData = function(opt_type) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\\n * @param {string} data Data to set\\n * @return {boolean} Whether the data were set correctly.\\n */\\nClipboardData.prototype.setData = function(type, data) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\\n * @return {string} The current data\\n */\\nClipboardData.prototype.getData = function(type) { };\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window\\n */\\nvar window;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @type {ClipboardData}\\n */\\nWindow.prototype.clipboardData;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx\\n */\\nWindow.prototype.dialogHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx\\n */\\nWindow.prototype.dialogLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx\\n */\\nWindow.prototype.dialogTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx\\n */\\nWindow.prototype.dialogWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx\\n */\\nWindow.prototype.event;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPer1_0Server;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPerServer;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx\\n */\\nWindow.prototype.offscreenBuffering;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\n */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\n */\\nWindow.prototype.screenTop;\\n\\n// Functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nWindow.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx\\n */\\nWindow.prototype.createPopup;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nWindow.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx\\n */\\nWindow.prototype.execScript;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nWindow.prototype.focus;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveBy = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx\\n */\\nWindow.prototype.navigate;\\n\\n/**\\n * @param {*=} opt_url\\n * @param {string=} opt_windowName\\n * @param {string=} opt_windowFeatures\\n * @param {boolean=} opt_replace\\n * @return {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx\\n */\\nWindow.prototype.open = function(opt_url, opt_windowName, opt_windowFeatures,\\n opt_replace) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.print = function() {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeBy = function(width, height) {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeTo = function(width, height) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nWindow.prototype.setActive;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx\\n */\\nWindow.prototype.showHelp;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx\\n */\\nWindow.prototype.showModelessDialog;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx\\n * @const {!Object}\\n */\\nWindow.prototype.external;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number|string} delta The number of entries to go back, or\\n * the URL to which to go back. (URL form is supported only in IE)\\n * @return {undefined}\\n */\\nHistory.prototype.go = function(delta) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number=} opt_distance The number of entries to go back\\n * (Mozilla doesn't support distance -- use #go instead)\\n * @return {undefined}\\n */\\nHistory.prototype.back = function(opt_distance) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @type {number}\\n */\\nHistory.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @return {undefined}\\n */\\nHistory.prototype.forward = function() {};\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLFrameElement.prototype.contentWindow;\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLIFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.contentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx\\n */\\nHTMLBodyElement.prototype.createControlRange;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLScriptElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLImageElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLObjectElement.prototype.readyState;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction ControlRange() {}\\n\\nControlRange.prototype.add;\\nControlRange.prototype.addElement;\\nControlRange.prototype.execCommand;\\nControlRange.prototype.item;\\nControlRange.prototype.queryCommandEnabled;\\nControlRange.prototype.queryCommandIndeterm;\\nControlRange.prototype.queryCommandState;\\nControlRange.prototype.queryCommandSupported;\\nControlRange.prototype.queryCommandValue;\\nControlRange.prototype.remove;\\nControlRange.prototype.scrollIntoView;\\nControlRange.prototype.select;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx\\n */\\nfunction TextRange() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx\\n */\\nTextRange.prototype.boundingHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx\\n */\\nTextRange.prototype.boundingLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspx\\n */\\nTextRange.prototype.boundingTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx\\n */\\nTextRange.prototype.boundingWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx\\n */\\nTextRange.prototype.htmlText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx\\n */\\nTextRange.prototype.offsetLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx\\n */\\nTextRange.prototype.offsetTop;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\\n */\\nTextRange.prototype.text;\\n\\n/**\\n * @param {boolean=} opt_toStart\\n * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx\\n */\\nTextRange.prototype.collapse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx\\n */\\nTextRange.prototype.compareEndPoints;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx\\n */\\nTextRange.prototype.duplicate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx\\n */\\nTextRange.prototype.execCommand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx\\n */\\nTextRange.prototype.expand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx\\n */\\nTextRange.prototype.findText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx\\n */\\nTextRange.prototype.getBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx\\n */\\nTextRange.prototype.getBoundingClientRect;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx\\n */\\nTextRange.prototype.getClientRects;\\n\\n/**\\n * @param {TextRange|ControlRange} range\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx\\n */\\nTextRange.prototype.inRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx\\n */\\nTextRange.prototype.isEqual;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx\\n */\\nTextRange.prototype.move;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx\\n */\\nTextRange.prototype.moveEnd;\\n\\n/**\\n * @param {string} unit\\n * @param {number=} opt_count\\n * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx\\n */\\nTextRange.prototype.moveStart;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx\\n */\\nTextRange.prototype.moveToBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx\\n */\\nTextRange.prototype.moveToElementText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx\\n */\\nTextRange.prototype.moveToPoint;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx\\n * @return {?Element}\\n */\\nTextRange.prototype.parentElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx\\n */\\nTextRange.prototype.pasteHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandEnabled;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandSupported;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandValue;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx\\n */\\nTextRange.prototype.scrollIntoView;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\\n */\\nTextRange.prototype.select = function() {};\\n\\n/**\\n * @param {string} how\\n * @param {TextRange|ControlRange} sourceRange\\n * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx\\n */\\nTextRange.prototype.setEndPoint;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx\\n */\\nSelection.prototype.clear = function() {};\\n\\n/**\\n * @return {TextRange|ControlRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx\\n */\\nSelection.prototype.createRange = function() {};\\n\\n/**\\n * @return {Array}\\n * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx\\n */\\nSelection.prototype.createRangeCollection = function() {};\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx\\n */\\nfunction controlRange() {}\\n\\n\\nDocument.prototype.loadXML;\\n\\n\\n// http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx\\n */\\nDocument.prototype.activeElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx\\n */\\nDocument.prototype.charset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx\\n */\\nDocument.prototype.cookie;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspx\\n */\\nDocument.prototype.defaultCharset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx\\n */\\nDocument.prototype.dir;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx\\n */\\nDocument.prototype.documentMode;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx\\n */\\nDocument.prot"; +a.a+='otype.expando;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspx\\n */\\nDocument.prototype.fileCreatedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx\\n */\\nDocument.prototype.fileModifiedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx\\n */\\nDocument.prototype.fileSize;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx\\n * @type {?Window}\\n */\\nDocument.prototype.parentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n */\\nDocument.prototype.protocol;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLDocument.prototype.readyState;\\n\\n/**\\n * @type {Selection}\\n * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx\\n */\\nDocument.prototype.selection;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx\\n */\\nDocument.prototype.uniqueID;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx\\n */\\nDocument.prototype.URLUnencoded;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx\\n */\\nDocument.prototype.XMLDocument;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx\\n */\\nDocument.prototype.XSLDocument;\\n\\n// functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nDocument.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx\\n */\\nDocument.prototype.createEventObject;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx\\n */\\nDocument.prototype.createStyleSheet;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nDocument.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nDocument.prototype.focus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx\\n * @return {boolean}\\n */\\nDocument.prototype.hasFocus = function() {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx\\n */\\nDocument.prototype.mergeAttributes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx\\n */\\nDocument.prototype.recalc;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n */\\nDocument.prototype.releaseCapture;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nDocument.prototype.setActive;\\n\\n\\n// collections\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx\\n */\\nDocument.prototype.all;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx\\n */\\nDocument.prototype.childNodes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx\\n */\\nDocument.prototype.frames;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx\\n */\\nDocument.prototype.namespaces;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx\\n * @type {!HTMLCollection}\\n */\\nDocument.prototype.scripts;\\n\\n/**\\n * @param {string} sUrl\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx\\n */\\nElement.prototype.addBehavior = function(sUrl) {};\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx\\n */\\nElement.prototype.attachEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx\\n */\\nElement.prototype.canHaveChildren;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx\\n */\\nElement.prototype.classid;\\n\\n/**\\n * @param {number} iCoordX Integer that specifies the client window coordinate\\n * of x.\\n * @param {number} iCoordY Integer that specifies the client window coordinate\\n * of y.\\n * @return {string} The component of an element located at the specified\\n * coordinates.\\n * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.componentFromPoint = function(iCoordX, iCoordY) {};\\n\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx\\n */\\nElement.prototype.contentEditable;\\n\\n/**\\n * @return {TextRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx\\n */\\nElement.prototype.createTextRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx\\n * @type {?CSSStyleDeclaration}\\n */\\nElement.prototype.currentStyle;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx\\n */\\nElement.prototype.detachEvent;\\n\\n/**\\n * @param {string=} opt_action\\n * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx\\n * @return {undefined}\\n */\\nElement.prototype.doScroll = function(opt_action) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx\\n */\\nElement.prototype.fireEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx\\n */\\nElement.prototype.hideFocus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx\\n */\\nElement.prototype.innerText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx\\n */\\nElement.prototype.isContentEditable;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with subclasses.\\n */\\nElement.prototype.load;\\n\\n/**\\n * @param {number} pointerId Id of the pointer that is assign to the element.\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.msSetPointerCapture = function(pointerId) {};\\n\\n/**\\n * @param {number} pointerId\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx\\n * @return {undefined}\\n */\\nElement.prototype.msReleasePointerCapture = function(pointerId) {};\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx\\n */\\nElement.prototype.onbeforedeactivate;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx\\n */\\nElement.prototype.onmouseenter;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx\\n */\\nElement.prototype.onmouseleave;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspx\\n */\\nElement.prototype.onselectstart;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspx\\n */\\nElement.prototype.outerHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.releaseCapture = function() {};\\n\\n/**\\n * @param {number} iID\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx\\n */\\nElement.prototype.removeBehavior = function(iID) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx\\n */\\nElement.prototype.runtimeStyle;\\n\\n/**\\n * @param {string} sStoreName The arbitrary name assigned to a persistent object\\n * in a UserData store.\\n * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.save = function(sStoreName) {};\\n\\n/**\\n * @param {boolean=} opt_bContainerCapture Events originating in a container are\\n * captured by the container. Defaults to true.\\n * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.setCapture = function(opt_bContainerCapture) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx\\n */\\nElement.prototype.sourceIndex;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx\\n */\\nElement.prototype.unselectable;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx\\n */\\nfunction HTMLFiltersCollection() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx\\n * @type {number}\\n */\\nHTMLFiltersCollection.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx\\n * @type {HTMLFiltersCollection}\\n */\\nElement.prototype.filters;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx\\n */\\nfunction HTMLFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx\\n * @return {undefined}\\n */\\nHTMLFilter.prototype.apply = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx\\n */\\nfunction AlphaFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx\\n * @type {number}\\n */\\nAlphaFilter.prototype.Opacity;\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx\\n */\\nfunction AlphaImageLoaderFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx\\n * @type {string}\\n */\\nAlphaImageLoaderFilter.prototype.sizingMethod;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspx\\n */\\nfunction Location() {}\\n\\n/**\\n * @see http://trac.webkit.org/changeset/113945\\n * @type {DOMStringList}\\n */\\nLocation.prototype.ancestorOrigins;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hash;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.host;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hostname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.href;\\n\\n/**\\n * @see https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en\\n * @type {string}\\n */\\nLocation.prototype.origin;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.pathname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspx\\n */\\nLocation.prototype.port;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.protocol;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.search;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx\\n * @param {string} url\\n * @return {undefined}\\n */\\nLocation.prototype.assign = function(url) {};\\n\\n/**\\n * @param {boolean=} opt_forceReload If true, reloads the page from\\n * the server. Defaults to false.\\n * @see http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.reload = function(opt_forceReload) {};\\n\\n/**\\n * @param {string} url\\n * @see http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.replace = function(url) {};\\n\\n\\n// For IE, returns an object representing key-value pairs for all the global\\n// variables prefixed with str, e.g. test*\\n\\n/** @param {*=} opt_str\\n */\\nfunction RuntimeObject(opt_str) {}\\n\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx\\n */\\nHTMLStyleElement.prototype.styleSheet;\\n\\n\\n/**\\n * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests)\\n * via the XDomainRequest object.\\n *\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx\\n * @see http://www.w3.org/TR/cors/\\n */\\nfunction XDomainRequest() {}\\n\\n/**\\n * Aborts the request.\\n * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.abort = function() {};\\n\\n/**\\n * Sets the method and URL for the request.\\n * @param {string} bstrMethod Either \\"GET\\" or \\"POST\\"\\n * @param {string} bstrUrl The target URL\\n * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.open = function(bstrMethod, bstrUrl) {};\\n\\n/**\\n * Sends the request.\\n * @param {string=} varBody The POST body to send to the server. If omitted,\\n * the behavior is identical to sending an empty string.\\n * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.send = function(varBody) {};\\n\\n/**\\n * Called if the request could not be completed. Note that error information is\\n * not available.\\n * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onerror;\\n\\n/**\\n * Called when the response has finished.\\n * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onload;\\n\\n/**\\n * Called every time part of the response has been received.\\n * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onprogress;\\n\\n/**\\n * Called if the timeout period has elapsed.\\n * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.ontimeout;\\n\\n/**\\n * The current response body.\\n * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx\\n * @type {string}\\n */\\nXDomainRequest.prototype.responseText;\\n\\n/**\\n * The timeout (in milliseconds) for the request.\\n * @type {number}\\n */\\nXDomainRequest.prototype.timeout;\\n\\n/**\\n * The Content-Type of the response, or an empty string.\\n * @type {string}\\n */\\nXDomainRequest.prototype.contentType;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx\\n */\\nNavigator.prototype.browserLanguage;\\n\\n/**\\n * @type {number}\\n * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx\\n */\\nNavigator.prototype.msMaxTouchPoints;\\n\\n/**\\n * @type {boolean}\\n * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx\\n */\\nNavigator.prototype.msPointerEnabled;\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveOrOpenBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx\\n */\\nScreen.prototype.deviceXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalYDPI;\\n","externs/webkit_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Defini'; +a.a+='tions for all the extensions over W3C\'s DOM\\n * specification by WebKit. This file depends on w3c_dom2.js.\\n * All the provided definitions has been type annotated\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @param {boolean=} opt_center\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoViewIfNeeded = function(opt_center) {};\\n\\n/**\\n * @constructor\\n * @see 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 * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl\\n */\\nfunction ScriptProfileNode() {};\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.functionName;\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.url;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.lineNumber;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.totalTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.selfTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.numberOfCalls;\\n\\n/** @type {Array} */\\nScriptProfileNode.prototype.children;\\n\\n/** @type {boolean} */\\nScriptProfileNode.prototype.visible;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.callUID;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\\n */\\nfunction ScriptProfile() {};\\n\\n/** @type {string} */\\nScriptProfile.prototype.title;\\n\\n/** @type {number} */\\nScriptProfile.prototype.uid;\\n\\n/** @type {ScriptProfileNode} */\\nScriptProfile.prototype.head;\\n\\n/**\\n * @constructor\\n * @see https://console.spec.whatwg.org/\\n */\\nfunction Console() {};\\n\\n/**\\n * @param {*} condition\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.assert = function(condition, var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.error = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.info = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.log = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.warn = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.debug = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.dir = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.dirxml = function(var_args) {};\\n\\n/**\\n * @param {!Object} data\\n * @param {*=} opt_columns\\n * @return {undefined}\\n */\\nConsole.prototype.table = function(data, opt_columns) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.trace = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.count = function(value) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.markTimeline = function(value) {};\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profile = function(opt_title) {};\\n\\n/** @type {Array} */\\nConsole.prototype.profiles;\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profileEnd = function(opt_title) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.time = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.timeEnd = function(name) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.timeStamp = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.group = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.groupCollapsed = function(var_args) {};\\n\\nConsole.prototype.groupEnd = function() {};\\n\\nConsole.prototype.clear = function() {};\\n\\n/** @type {MemoryInfo} */\\nConsole.prototype.memory;\\n\\n/** @type {!Console} */\\nWindow.prototype.console;\\n\\n/**\\n * @type {!Console}\\n * @suppress {duplicate}\\n */\\nvar console;\\n\\n/**\\n * @type {number}\\n * @see http://developer.android.com/reference/android/webkit/WebView.html\\n */\\nWindow.prototype.devicePixelRatio;\\n\\n/** @type {Node} */\\nSelection.prototype.baseNode;\\n\\n/** @type {number} */\\nSelection.prototype.baseOffset;\\n\\n/** @type {Node} */\\nSelection.prototype.extentNode;\\n\\n/** @type {number} */\\nSelection.prototype.extentOffset;\\n\\n/** @type {string} */\\nSelection.prototype.type;\\n\\n/**\\n * @return {undefined}\\n */\\nSelection.prototype.empty = function() {};\\n\\n/**\\n * @param {Node} baseNode\\n * @param {number} baseOffset\\n * @param {Node} extentNode\\n * @param {number} extentOffset\\n * @return {undefined}\\n */\\nSelection.prototype.setBaseAndExtent =\\n function(baseNode, baseOffset, extentNode, extentOffset) {};\\n\\n/**\\n * @param {string} alter\\n * @param {string} direction\\n * @param {string} granularity\\n * @return {undefined}\\n */\\nSelection.prototype.modify = function(alter, direction, granularity) {};\\n\\n/**\\n * @param {Element} element\\n * @param {string} pseudoElement\\n * @param {boolean=} opt_authorOnly\\n * @return {CSSRuleList}\\n * @nosideeffects\\n */\\nViewCSS.prototype.getMatchedCSSRules =\\n function(element, pseudoElement, opt_authorOnly) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {string} name\\n * @param {number} width\\n * @param {number} height\\n * @nosideeffects\\n * @return {undefined}\\n */\\nDocument.prototype.getCSSCanvasContext =\\n function(contextId, name, width, height) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Range}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\\n */\\nDocument.prototype.caretRangeFromPoint = function(x, y) {};\\n","externs/w3c_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s CSS specification\\n * The whole file has been fully type annotated.\\n * http://www.w3.org/TR/DOM-Level-2-Style/css.html\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n *\\n * TODO(nicksantos): When there are no more occurrences of w3c_range.js and\\n * gecko_dom.js being included directly in BUILD files, bug dbeam to split the\\n * bottom part of this file into a separate externs.\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet\\n */\\nfunction StyleSheet() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type\\n */\\nStyleSheet.prototype.type;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled\\n */\\nStyleSheet.prototype.disabled;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner\\n */\\nStyleSheet.prototype.ownerNode;\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\\n */\\nStyleSheet.prototype.parentStyleSheet;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\\n */\\nStyleSheet.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\\n */\\nStyleSheet.prototype.title;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\\n */\\nStyleSheet.prototype.media;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\\n */\\nfunction StyleSheetList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\\n */\\nStyleSheetList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\\n */\\nStyleSheetList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\\n */\\nfunction MediaList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\\n */\\nMediaList.prototype.mediaText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\\n */\\nMediaList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\\n */\\nMediaList.prototype.item = function(index) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\\n */\\nfunction LinkStyle() {}\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\\n */\\nLinkStyle.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\\n */\\nfunction DocumentStyle() {}\\n\\n/**\\n * @type {StyleSheetList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\\n */\\nDocumentStyle.prototype.styleSheets;\\n\\n/**\\n * @constructor\\n * @extends {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\\n */\\nfunction CSSStyleSheet() {}\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule\\n */\\nCSSStyleSheet.prototype.ownerRule;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\\n */\\nCSSStyleSheet.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\\n */\\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\\n * @return {undefined}\\n */\\nCSSStyleSheet.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\\n */\\nfunction CSSRuleList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\\n */\\nCSSRuleList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\\n */\\nCSSRuleList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\\n */\\nfunction CSSRule() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\\n */\\nCSSRule.prototype.cssText;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\\n */\\nCSSRule.prototype.parentStyleSheet;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\\n */\\nCSSRule.prototype.parentRule;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nCSSRule.prototype.style;\\n\\n/**\\n * Indicates that the rule is a {@see CSSUnknownRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.UNKNOWN_RULE = 0;\\n\\n/**\\n * Indicates that the rule is a {@see CSSStyleRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.STYLE_RULE = 1;\\n\\n/**\\n * Indicates that the rule is a {@see CSSCharsetRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.CHARSET_RULE = 2;\\n\\n/**\\n * Indicates that the rule is a {@see CSSImportRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.IMPORT_RULE = 3;\\n\\n/**\\n * Indicates that the rule is a {@see CSSMediaRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.MEDIA_RULE = 4;\\n\\n/**\\n * Indicates that the rule is a {@see CSSFontFaceRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.FONT_FACE_RULE = 5;\\n\\n/**\\n * Indicates that the rule is a {@see CSSPageRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.PAGE_RULE = 6;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nfunction CSSStyleRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText\\n */\\nCSSStyleRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style\\n */\\nCSSStyleRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\\n */\\nfunction CSSMediaRule() {}\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes\\n */\\nCSSMediaRule.prototype.media;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules\\n */\\nCSSMediaRule.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule\\n */\\nCSSMediaRule.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule\\n * @return {undefined}\\n */\\nCSSMediaRule.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule\\n */\\nfunction CSSFontFaceRule() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style\\n */\\nCSSFontFaceRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule\\n */\\nfunction CSSPageRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name\\n */\\nCSSPageRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style\\n */\\nCSSPageRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule\\n */\\nfunction CSSImp'; +a.a+="ortRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href\\n */\\nCSSImportRule.prototype.href;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media\\n */\\nCSSImportRule.prototype.media;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet\\n */\\nCSSImportRule.prototype.styleSheet;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule\\n */\\nfunction CSSCharsetRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding\\n */\\nCSSCharsetRule.prototype.encoding;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule\\n */\\nfunction CSSUnknownRule() {}\\n\\n/**\\n * @constructor\\n * @extends {CSSProperties}\\n * @implements {IObject<(string|number), string>}\\n * @implements {IArrayLike}\\n * @implements {Iterable}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\\n */\\nfunction CSSStyleDeclaration() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText\\n */\\nCSSStyleDeclaration.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length\\n */\\nCSSStyleDeclaration.prototype.length;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule\\n */\\nCSSStyleDeclaration.prototype.parentRule;\\n\\n/**\\n * @param {string} propertyName\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyCSSValue = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority\\n */\\nCSSStyleDeclaration.prototype.getPropertyPriority = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyValue = function(propertyName) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\\n */\\nCSSStyleDeclaration.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\\n */\\nCSSStyleDeclaration.prototype.removeProperty = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @param {string} value\\n * @param {string=} opt_priority\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\\n */\\nCSSStyleDeclaration.prototype.setProperty = function(propertyName, value, opt_priority) {};\\n\\n// IE-specific\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeAttribute =\\n function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @param {number=} opt_flags\\n * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx\\n * @return {undefined}\\n */\\nCSSStyleDeclaration.prototype.setAttribute = function(name, value, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} expr\\n * @param {string=} opt_language\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.setExpression =\\n function(name, expr, opt_language) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue\\n */\\nfunction CSSValue() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText\\n */\\nCSSValue.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType\\n */\\nCSSValue.prototype.cssValueType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_INHERIT = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_PRIMITIVE_VALUE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_VALUE_LIST = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_CUSTOM = 3;\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nfunction CSSPrimitiveValue() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.prototype.primitiveType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_UNKNOWN = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_NUMBER = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PERCENTAGE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EMS = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EXS = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PX = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_CM = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MM = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IN = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PT = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PC = 10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DEG = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RAD = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_GRAD = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MS = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_S = 15;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_HZ = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_KHZ = 17;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DIMENSION = 18;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_STRING = 19;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_URI = 20;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IDENT = 21;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_ATTR = 22;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_COUNTER = 23;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RECT = 24;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RGBCOLOR = 25;\\n\\n/**\\n * @return {Counter}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getCounterValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getFloatValue = function(unitType) {};\\n\\n/**\\n * @return {RGBColor}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRGBColorValue = function() {};\\n\\n/**\\n * @return {Rect}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRectValue = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getStringValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @param {number} floatValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n * {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setFloatValue = function(unitType, floatValue) {};\\n\\n/**\\n * @param {number} stringType\\n * @param {string} stringValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n * {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setStringValue = function(stringType, stringValue) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\\n */\\nfunction CSSValueList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\\n */\\nCSSValueList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\\n */\\nCSSValueList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\\n */\\nfunction RGBColor() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\\n */\\nRGBColor.prototype.red;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\\n */\\nRGBColor.prototype.green;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\\n */\\nRGBColor.prototype.blue;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\\n */\\nfunction Rect() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\\n */\\nRect.prototype.top;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\\n */\\nRect.prototype.right;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\\n */\\nRect.prototype.bottom;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\\n */\\nRect.prototype.left;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\\n */\\nfunction Counter() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\\n */\\nCounter.prototype.identifier;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\\n */\\nCounter.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\\n */\\nCounter.prototype.separator;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS\\n */\\nfunction ViewCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {?string=} opt_pseudoElt This argument is required according to the\\n * CSS2 specification, but optional in all major browsers. See the note at\\n * https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle\\n * @return {?CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\n */\\nViewCSS.prototype.getComputedStyle = function(elt, opt_pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS\\n */\\nfunction DocumentCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {string} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle\\n */\\nDocumentCSS.prototype.getOverrideStyle = function(elt, pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS\\n */\\nfunction DOMImplementationCSS() {}\\n\\n/**\\n * @param {string} title\\n * @param {string} media\\n * @return {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet\\n * @throws DOMException {@see DomException.SYNTAX_ERR}\\n */\\nDOMImplementationCSS.prototype.createCSSStyleSheet = function(title, media) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nfunction ElementCSSInlineStyle() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style\\n */\\nElementCSSInlineStyle.prototype.style;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties\\n */\\nfunction CSSProperties() {}\\n\\n// CSS 2 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth\\n */\\nCSSProperties.prototype.azimuth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background\\n */\\nCSSProperties.prototype"; +a.a+=".background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment\\n */\\nCSSProperties.prototype.backgroundAttachment;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor\\n */\\nCSSProperties.prototype.backgroundColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage\\n */\\nCSSProperties.prototype.backgroundImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition\\n */\\nCSSProperties.prototype.backgroundPosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat\\n */\\nCSSProperties.prototype.backgroundRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-background-size\\n */\\nCSSProperties.prototype.backgroundSize;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border\\n */\\nCSSProperties.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse\\n */\\nCSSProperties.prototype.borderCollapse;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor\\n */\\nCSSProperties.prototype.borderColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing\\n */\\nCSSProperties.prototype.borderSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle\\n */\\nCSSProperties.prototype.borderStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop\\n */\\nCSSProperties.prototype.borderTop;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight\\n */\\nCSSProperties.prototype.borderRight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom\\n */\\nCSSProperties.prototype.borderBottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft\\n */\\nCSSProperties.prototype.borderLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor\\n */\\nCSSProperties.prototype.borderTopColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor\\n */\\nCSSProperties.prototype.borderRightColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor\\n */\\nCSSProperties.prototype.borderBottomColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor\\n */\\nCSSProperties.prototype.borderLeftColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle\\n */\\nCSSProperties.prototype.borderTopStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle\\n */\\nCSSProperties.prototype.borderRightStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle\\n */\\nCSSProperties.prototype.borderBottomStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle\\n */\\nCSSProperties.prototype.borderLeftStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth\\n */\\nCSSProperties.prototype.borderTopWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth\\n */\\nCSSProperties.prototype.borderRightWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth\\n */\\nCSSProperties.prototype.borderBottomWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth\\n */\\nCSSProperties.prototype.borderLeftWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth\\n */\\nCSSProperties.prototype.borderWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomRightRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopRightRadius;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-source\\n */\\nCSSProperties.prototype.borderImageSource;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-slice\\n */\\nCSSProperties.prototype.borderImageSlice;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-width\\n */\\nCSSProperties.prototype.borderImageWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-outset\\n */\\nCSSProperties.prototype.borderImageOutset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat\\n */\\nCSSProperties.prototype.borderImageRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image\\n */\\nCSSProperties.prototype.borderImage;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom\\n */\\nCSSProperties.prototype.bottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide\\n */\\nCSSProperties.prototype.captionSide;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear\\n */\\nCSSProperties.prototype.clear;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip\\n */\\nCSSProperties.prototype.clip;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color\\n */\\nCSSProperties.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content\\n */\\nCSSProperties.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement\\n */\\nCSSProperties.prototype.counterIncrement;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset\\n */\\nCSSProperties.prototype.counterReset;\\n\\n/**\\n * This is not an official part of the W3C spec. In practice, this is a settable\\n * property that works cross-browser. It is used in goog.dom.setProperties() and\\n * needs to be extern'd so the --disambiguate_properties JS compiler pass works.\\n * @type {string}\\n */\\nCSSProperties.prototype.cssText;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue\\n */\\nCSSProperties.prototype.cue;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter\\n */\\nCSSProperties.prototype.cueAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore\\n */\\nCSSProperties.prototype.cueBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\\n */\\nCSSProperties.prototype.cursor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\\n */\\nCSSProperties.prototype.direction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\\n */\\nCSSProperties.prototype.display;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\\n */\\nCSSProperties.prototype.elevation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\\n */\\nCSSProperties.prototype.emptyCells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\\n */\\nCSSProperties.prototype.cssFloat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\\n */\\nCSSProperties.prototype.font;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\\n */\\nCSSProperties.prototype.fontFamily;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\\n */\\nCSSProperties.prototype.fontSize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\\n */\\nCSSProperties.prototype.fontSizeAdjust;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\\n */\\nCSSProperties.prototype.fontStretch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\\n */\\nCSSProperties.prototype.fontStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\\n */\\nCSSProperties.prototype.fontVariant;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\\n */\\nCSSProperties.prototype.fontWeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\\n */\\nCSSProperties.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\\n */\\nCSSProperties.prototype.left;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\\n */\\nCSSProperties.prototype.letterSpacing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\\n */\\nCSSProperties.prototype.lineHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\\n */\\nCSSProperties.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\\n */\\nCSSProperties.prototype.listStyleImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\\n */\\nCSSProperties.prototype.listStylePosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\\n */\\nCSSProperties.prototype.listStyleType;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\\n */\\nCSSProperties.prototype.margin;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\\n */\\nCSSProperties.prototype.marginTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\\n */\\nCSSProperties.prototype.marginRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\\n */\\nCSSProperties.prototype.marginBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\\n */\\nCSSProperties.prototype.marginLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\\n */\\nCSSProperties.prototype.markerOffset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\\n */\\nCSSProperties.prototype.marks;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\\n */\\nCSSProperties.prototype.maxHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\\n */\\nCSSProperties.prototype.maxWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\\n */\\nCSSProperties.prototype.minHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\\n */\\nCSSProperties.prototype.minWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\\n */\\nCSSProperties.prototype.orphans;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\\n */\\nCSSProperties.prototype.outline;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\\n */\\nCSSProperties.prototype.outlineColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\\n */\\nCSSProperties.prototype.outlineStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\\n */\\nCSSProperties.prototype.outlineWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\\n */\\nCSSProperties.prototype.overflow;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\\n */\\nCSSProperties.prototype.padding;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\\n */\\nCSSProperties.prototype.paddingTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\\n */\\nCSSProperties.prototype.paddingRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\\n */\\nCSSProperties.prototype.paddingBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\\n */\\nCSSProperties.prototype.paddingLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\\n */\\nCSSProperties.prototype.page;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\\n */\\nCSSProperties.prototype.pageBreakAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\\n */\\nCSSProperties.prototype.pageBreakBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\\n */\\nCSSProperties.prototype.pageBreakInside;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\\n */\\nCSSProperties.prototype.pause;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\\n */\\nCSSProperties.prototype.pauseAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\\n */\\nCSSProperties.prototype.pauseBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\\n */\\nCSSProperties.prototype.pitch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\\n */\\nCSS"; +a.a+="Properties.prototype.pitchRange;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\\n */\\nCSSProperties.prototype.playDuring;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\\n */\\nCSSProperties.prototype.position;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\\n */\\nCSSProperties.prototype.quotes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#resize\\n */\\nCSSProperties.prototype.resize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\\n */\\nCSSProperties.prototype.richness;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\\n */\\nCSSProperties.prototype.right;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\\n */\\nCSSProperties.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\\n */\\nCSSProperties.prototype.speak;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\\n */\\nCSSProperties.prototype.speakHeader;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\\n */\\nCSSProperties.prototype.speakNumeral;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\\n */\\nCSSProperties.prototype.speakPunctuation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\\n */\\nCSSProperties.prototype.speechRate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\\n */\\nCSSProperties.prototype.stress;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\\n */\\nCSSProperties.prototype.tableLayout;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\\n */\\nCSSProperties.prototype.textAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\\n */\\nCSSProperties.prototype.textDecoration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\\n */\\nCSSProperties.prototype.textIndent;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\\n */\\nCSSProperties.prototype.textShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\\n */\\nCSSProperties.prototype.textTransform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\\n */\\nCSSProperties.prototype.top;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\\n */\\nCSSProperties.prototype.unicodeBidi;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\\n */\\nCSSProperties.prototype.verticalAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\\n */\\nCSSProperties.prototype.visibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\\n */\\nCSSProperties.prototype.voiceFamily;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\\n */\\nCSSProperties.prototype.volume;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\\n */\\nCSSProperties.prototype.whiteSpace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\\n */\\nCSSProperties.prototype.widows;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\\n */\\nCSSProperties.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\\n */\\nCSSProperties.prototype.wordSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\\n */\\nCSSProperties.prototype.wordWrap;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\\n */\\nCSSProperties.prototype.zIndex;\\n\\n// CSS 3 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#box-shadow\\n */\\nCSSProperties.prototype.boxShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\\n */\\nCSSProperties.prototype.boxSizing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-color/#transparency\\n */\\nCSSProperties.prototype.opacity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\\n */\\nCSSProperties.prototype.textOverflow;\\n\\n// CSS 3 transforms\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property\\n */\\nCSSProperties.prototype.backfaceVisibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective\\n */\\nCSSProperties.prototype.perspective;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin\\n */\\nCSSProperties.prototype.perspectiveOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#effects\\n */\\nCSSProperties.prototype.transform;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin\\n */\\nCSSProperties.prototype.transformOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style\\n */\\nCSSProperties.prototype.transformStyle;\\n\\n// CSS 3 transitions\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition\\n */\\nCSSProperties.prototype.transition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-delay\\n */\\nCSSProperties.prototype.transitionDelay;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-duration\\n */\\nCSSProperties.prototype.transitionDuration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-property-property\\n */\\nCSSProperties.prototype.transitionProperty;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function\\n */\\nCSSProperties.prototype.transitionTimingFunction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty\\n */\\nCSSProperties.prototype.pointerEvents;\\n\\n\\n// CSS Flexbox 1\\n\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property\\n */\\nCSSProperties.prototype.alignContent;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignItems;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignSelf;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-property\\n */\\nCSSProperties.prototype.flex;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property\\n */\\nCSSProperties.prototype.flexBasis;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property\\n */\\nCSSProperties.prototype.flexDirection;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property\\n */\\nCSSProperties.prototype.flexFlow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property\\n */\\nCSSProperties.prototype.flexGrow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property\\n */\\nCSSProperties.prototype.flexShrink;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property\\n */\\nCSSProperties.prototype.flexWrap;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property\\n */\\nCSSProperties.prototype.justifyContent;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#order-property\\n */\\nCSSProperties.prototype.order;\\n\\n// Externs for CSS Will Change Module Level 1\\n// http://www.w3.org/TR/css-will-change/\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css-will-change-1/#will-change\\n */\\nCSSProperties.prototype.willChange;\\n\\n\\n/**\\n * TODO(dbeam): Put this in separate file named w3c_cssom.js.\\n * Externs for the CSSOM View Module.\\n * @see http://www.w3.org/TR/cssom-view/\\n */\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface\\n\\n/**\\n * @param {string} media_query_list\\n * @return {MediaQueryList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia\\n */\\nWindow.prototype.matchMedia = function(media_query_list) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth\\n */\\nWindow.prototype.innerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight\\n */\\nWindow.prototype.innerHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx\\n */\\nWindow.prototype.scrollX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset\\n */\\nWindow.prototype.pageXOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly\\n */\\nWindow.prototype.scrollY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset\\n */\\nWindow.prototype.pageYOffset;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll\\n * @return {undefined}\\n */\\nWindow.prototype.scroll = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto\\n * @return {undefined}\\n */\\nWindow.prototype.scrollTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby\\n * @return {undefined}\\n */\\nWindow.prototype.scrollBy = function(x, y) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx\\n */\\nWindow.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny\\n */\\nWindow.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth\\n */\\nWindow.prototype.outerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight\\n */\\nWindow.prototype.outerHeight;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylist\\n */\\nfunction MediaQueryList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media\\n */\\nMediaQueryList.prototype.media;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches\\n */\\nMediaQueryList.prototype.matches;\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.addListener = function(listener) {};\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.removeListener = function(listener) {};\\n\\n/**\\n * @typedef {(function(!MediaQueryList) : void)}\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener\\n */\\nvar MediaQueryListListener;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#screen\\n */\\nfunction Screen() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth\\n */\\nScreen.prototype.availWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight\\n */\\nScreen.prototype.availHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-width\\n */\\nScreen.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-height\\n */\\nScreen.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth\\n */\\nScreen.prototype.colorDepth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth\\n */\\nScreen.prototype.pixelDepth;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint\\n */\\nDocument.prototype.elementFromPoint = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {CaretPosition}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint\\n */\\nDocument.prototype.caretPositionFromPoint = function(x, y) {};\\n\\n/**\\n * @type {Element}\\n * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement\\n */\\nDocument.prototype.scrollingElement;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#caretposition\\n */\\nfunction CaretPosition() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode\\n */\\nCaretPosition.prototype.offsetNode;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset\\n */\\nCaretPosition.prototype.offset;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects\\n */\\nElement.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect\\n */\\nElement.prototype.getBoundingClientRect = function() {};\\n\\n/**\\n * @param {(boolean|{behavior: string, block: string})=} opt_top\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoView = function(opt_top) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop\\n */\\nElement.prototype.scrollTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft\\n */\\nElement.prototype.scrollLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth\\n */\\nElement.prototype.scrollWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight\\n */\\nElement.prototype.scrollHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop\\n */\\nElement.prototype.clientTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft\\n */\\nElement.prototype.clientLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth\\n */\\nElement.prototype.clientWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight\\n */\\nElement.prototype.clientHeight;\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent\\n */\\nHTMLElement.prototype.offsetParent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop\\n */\\nHTMLElement.prototype.offsetTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft\\n */\\nHTMLElement.prototype.offsetLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth\\n */\\nHTMLElement.prototype.offsetWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight\\n */\\nHTMLElement.prototype.offsetHeight;\\n\\n\\n// http://www.w3.org/TR/cssom-view/"; +a.a+="#extensions-to-the-range-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects\\n */\\nRange.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\\n */\\nRange.prototype.getBoundingClientRect = function() {};\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface\\n\\n// MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,\\n// so it seems like a specification issue. I've emailed www-style@w3.org in\\n// hopes of resolving the conflict, but in the mean time they can live here\\n// (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx\\n */\\n//MouseEvent.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny\\n */\\n//MouseEvent.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex\\n */\\nMouseEvent.prototype.pageX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey\\n */\\nMouseEvent.prototype.pageY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx\\n */\\n//MouseEvent.prototype.clientX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty\\n */\\n//MouseEvent.prototype.clientY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x\\n */\\nMouseEvent.prototype.x;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y\\n */\\nMouseEvent.prototype.y;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx\\n */\\nMouseEvent.prototype.offsetX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety\\n */\\nMouseEvent.prototype.offsetY;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#rectangles\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface\\n * @implements {IArrayLike}\\n */\\nfunction ClientRectList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length\\n */\\nClientRectList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item\\n */\\nClientRectList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrect-interface\\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 * http://www.w3.org/TR/css3-conditional/#CSS-interface\\n */\\nfunction CSSInterface() {}\\n\\n/**\\n * @param {string} ident\\n * @return {string}\\n * @see http://www.w3.org/TR/cssom/#the-css.escape()-method\\n * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR}\\n */\\nCSSInterface.prototype.escape = function(ident) {};\\n\\n/**\\n * @param {string} property\\n * @param {string=} opt_value\\n * @return {boolean}\\n */\\nCSSInterface.prototype.supports = function(property, opt_value) {};\\n\\n/**\\n * TODO(nicksantos): This suppress tag probably isn't needed, and\\n * should be removed.\\n * @suppress {duplicate}\\n * @type {CSSInterface}\\n */\\nvar CSS;\\n\\n/** @type {CSSInterface} */\\nWindow.prototype.CSS;\\n\\n// http://dev.w3.org/csswg/css-font-loading/\\n\\n/**\\n * Set of possible string values: 'error', 'loaded', 'loading', 'unloaded'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus;\\n\\n/**\\n * @typedef {{\\n * style: (string|undefined),\\n * weight: (string|undefined),\\n * stretch: (string|undefined),\\n * unicodeRange: (string|undefined),\\n * variant: (string|undefined),\\n * featureSettings: (string|undefined)\\n * }}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\\n */\\nvar FontFaceDescriptors;\\n\\n/**\\n * @constructor\\n * @param {string} fontFamily\\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\\n * @param {!FontFaceDescriptors=} opt_descriptors\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\\n */\\nfunction FontFace(fontFamily, source, opt_descriptors) {}\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\\n */\\nFontFace.prototype.family;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\\n */\\nFontFace.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\\n */\\nFontFace.prototype.weight;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\\n */\\nFontFace.prototype.stretch;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\\n */\\nFontFace.prototype.unicodeRange;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\\n */\\nFontFace.prototype.variant;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\\n */\\nFontFace.prototype.featureSettings;\\n\\n/**\\n * @type {FontFaceLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\\n */\\nFontFace.prototype.status;\\n\\n/**\\n * @return {!Promise}\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\\n */\\nFontFace.prototype.load = function() {};\\n\\n/**\\n * Set of possible string values: 'loaded', 'loading'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface\\n */\\nfunction FontFaceSet() {}\\n\\n// Event handlers\\n// http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events\\n\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloading;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingdone;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingerror;\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.add = function(value) {};\\n\\n/**\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.clear = function() {};\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {!FontFace} font\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has\\n */\\nFontFaceSet.prototype.has = function(font) {};\\n\\n/**\\n * @param {function(!FontFace, number, !FontFaceSet)} cb\\n * @param {Object|undefined=} opt_selfObj\\n * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.forEach = function(cb, opt_selfObj) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {!Promise>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\\n */\\nFontFaceSet.prototype.load = function(font, opt_text) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\\n */\\nFontFaceSet.prototype.check = function(font, opt_text) {};\\n\\n/**\\n * @type {!Promise}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\\n */\\nFontFaceSet.prototype.ready;\\n\\n/**\\n * @type {FontFaceSetLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\\n */\\nFontFaceSet.prototype.status;\\n\",\"externs/gecko_css.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for Gecko's custom CSS properties. Copied from:\\n * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n\\n/** @type {string} */ CSSProperties.prototype.MozAppearance;\\n/** @type {string} */ CSSProperties.prototype.MozBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundInlinePolicy;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozBinding;\\n/** @type {string} */ CSSProperties.prototype.MozBorderBottomColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderImage;\\n/** @type {string} */ CSSProperties.prototype.MozBorderLeftColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRightColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStart;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderTopColors;\\n/** @type {string} */ CSSProperties.prototype.MozBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.MozBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.MozBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.MozBoxPack;\\n/** @type {string} */ CSSProperties.prototype.MozBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.MozBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.MozColumnCount;\\n/** @type {string} */ CSSProperties.prototype.MozColumnGap;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRule;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.MozColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.MozFloatEdge;\\n/** @type {string} */ CSSProperties.prototype.MozFontFeatureSettings;\\n/** @type {string} */ CSSProperties.prototype.MozFontLanguageOverride;\\n/** @type {string} */ CSSProperties.prototype.MozForceBrokenImageIcon;\\n/** @type {string} */ CSSProperties.prototype.MozImageRegion;\\n/** @type {string} */ CSSProperties.prototype.MozMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.MozMarginStart;\\n/** @type {number|string} */ CSSProperties.prototype.MozOpacity;\\n/** @type {string} */ CSSProperties.prototype.MozOutline;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineColor;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineOffset;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadius;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineStyle;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineWidth;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.MozPerspective;\\n/** @type {string} */ CSSProperties.prototype.MozStackSizing;\\n/** @type {string} */ CSSProperties.prototype.MozTabSize;\\n/** @type {string} */ CSSProperties.prototype.MozTransform;\\n/** @type {string} */ CSSProperties.prototype.MozTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozTransition;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.MozUserFocus;\\n/** @type {string} */ CSSProperties.prototype.MozUserInput;\\n/** @type {string} */ CSSProperties.prototype.MozUserModify;\\n/** @type {string} */ CSSProperties.prototype.MozUserSelect;\\n/** @type {string} */ CSSProperties.prototype.MozWindowShadow;\\n\\n\\n// These are non-standard Gecko CSSOM properties on Window.prototype.screen.\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availTop\\n */\\nScreen.prototype.availTop;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft\\n */\\nScreen.prototype.availLeft;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.left\\n */\\nScreen.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.top\\n */\\nScreen.prototype.top;\\n\",\"externs/ie_css.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE's custom CSS properties, as defined here:\\n * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx\\n *\\n * This page is also useful for the IDL definitions:\\n * http://source.winehq.org/source/include/mshtml.idl\\n *\\n * @externs\\n * @author nicksantos@google.com\\n */\\n\\n/** @type {Element} */\\nStyleSheet.prototype.owningElement;\\n\\n/** @type {boolean} */\\nStyleSheet.prototype.readOnly;\\n\\n/** @type {StyleSheetList} */\\nStyleSheet.prototype.imports;\\n\\n/** @type {string} */\\nStyleSheet.prototype.id;\\n\\n/**\\n * @param {string} bstrURL\\n * @param {number} lIndex\\n * @return {number}\\n */\\nStyleSheet.prototype.addImport;\\n\\n/**\\n * @param {string"; +a.a+='} bstrSelector\\n * @param {string} bstrStyle\\n * @param {number=} opt_iIndex\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx\\n */\\nStyleSheet.prototype.addRule;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeImport;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeRule;\\n\\n/** @type {string} */\\nStyleSheet.prototype.cssText;\\n\\n/** @type {CSSRuleList} */\\nStyleSheet.prototype.rules;\\n\\n// StyleSheet methods\\n\\n/**\\n * @param {string} propName\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nStyleSheet.prototype.getExpression;\\n\\n/**\\n * @param {string} name\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nStyleSheet.prototype.setExpression;\\n\\n/**\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nStyleSheet.prototype.removeExpression;\\n\\n// IE-only CSS style names.\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionX;\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionY;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with caller.\\n */\\nCSSProperties.prototype.behavior;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx\\n */\\nCSSProperties.prototype.imeMode;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx\\n */\\nCSSProperties.prototype.msInterpolationMode;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowX;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowY;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelWidth;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelHeight;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelLeft;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelTop;\\n\\n/** @type {string} */ CSSProperties.prototype.styleFloat;\\n\\n/**\\n * @type {string|number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx\\n */\\nCSSProperties.prototype.zoom;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx\\n */\\nCSSProperties.prototype.writingMode;\\n\\n/**\\n * IE-specific extensions.\\n * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx\\n */\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsAccelerator;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBehavior;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBlockProgression;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsFilter;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsImeMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGrid;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridChar;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridLine;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridType;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsInterpolationMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbar3dlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarArrowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarBaseColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarDarkshadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarFaceColor;\\n\\nCSSProperties.prototype.MsScrollbarHighlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarShadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarTrackColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAlignLast;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAutospace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextJustify;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextKashidaSpace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextOverflow;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextUnderlinePosition;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordWrap;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWritingMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsZoom;\\n\\n// See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx\\n\\n/** @type {string} */\\nCSSProperties.prototype.msContentZooming;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTouchAction;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransform;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransition;\\n","externs/webkit_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebKit\'s custom CSS properties. Copied from:\\n * {@link\\n * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}\\n *\\n * If you make changes to this file, notice that every property appears\\n * twice: once as an uppercase name and once as a lowercase name.\\n * WebKit allows both. The uppercase version is preferred.\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n * @author mastepien@google.com (Marek Stepien)\\n */\\n\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.WebkitBinding;\\n/** @type {string} */ CSSProperties.prototype.WebkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\\n/** @type {string} *'; +a.a+="/ CSSProperties.prototype.WebkitOrder;\\n/** @type {string} */ CSSProperties.prototype.WebkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\\n\\n// WebKit also adds bindings for the lowercase versions of these properties.\\n// The uppercase version is preferred.\\n\\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.webkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitMask;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.w"; +a.a+='ebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\\n\\n/**\\n * @constructor\\n * @param {number} x\\n * @param {number} y\\n */\\nfunction WebKitPoint(x, y) {}\\n\\n/** @type {number} */\\nWebKitPoint.prototype.x;\\n\\n/** @type {number} */\\nWebKitPoint.prototype.y;\\n","externs/google.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 Declaration of the type level google namespace.\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/**\\n * Suppresses the compiler warning when multiple externs files declare the\\n * google namespace.\\n * @suppress {duplicate}\\n * @noalias\\n */\\n// TODO(nicksantos): Consolidate to one google namespace declaration.\\nvar google = {};\\n","externs/deprecated.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins that are not part of any specifications\\n * but are still needed in some project\'s build.\\n * @externs\\n */\\n\\nvar opera = {};\\n\\nopera.postError;\\n\\n/** @nosideeffects */\\nopera.version = function() {};\\n\\n/** @constructor */\\nfunction XSLTProcessor() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLOptionElement}\\n * @param {*=} opt_text\\n * @param {*=} opt_value\\n * @param {*=} opt_defaultSelected\\n * @param {*=} opt_selected\\n */\\nfunction Option(opt_text, opt_value, opt_defaultSelected, opt_selected) {}\\n\\n\\n// The \\"methods\\" object is a place to hang arbitrary external\\n// properties. It is a throwback to pre-typed days, and should\\n// not be used for any new definitions; it exists only to bridge\\n// the gap between the old way and the new way.\\nvar methods = {};\\n","externs/fileapi.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for objects in the File API, File Writer API, and\\n * File System API. Details of the API are at:\\n * http://www.w3.org/TR/FileAPI/\\n * http://www.w3.org/TR/file-writer-api/\\n * http://www.w3.org/TR/file-system-api/\\n *\\n * @externs\\n * @author dbk@google.com (David Barrett-Kahn)\\n * @author mpd@google.com (Michael Davidson)\\n */\\n\\n\\n/**\\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\\n * @param {Array=} opt_blobParts\\n * @param {Object=} opt_options\\n * @constructor\\n * @nosideeffects\\n */\\nfunction Blob(opt_blobParts, opt_options) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-size\\n * @type {number}\\n */\\nBlob.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-type\\n * @type {string}\\n */\\nBlob.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-slice\\n * @param {number=} start\\n * @param {number=} length\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.slice = function(start, length, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Chrome since WebKit revision 84005.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number=} start\\n * @param {number=} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.webkitSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Firefox.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number=} start\\n * @param {number=} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.mozSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface\\n * @constructor\\n */\\nfunction BlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n/**\\n * This has replaced BlobBuilder in Chrome since WebKit revision 84008.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @constructor\\n */\\nfunction WebKitBlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nWebKitBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nWebKitBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n\\n/**\\n * @record\\n * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary\\n */\\nfunction FileSystemFlags() {};\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.create;\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.exclusive;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction DirectoryEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader\\n * @return {!DirectoryReader}\\n */\\nDirectoryEntry.prototype.createReader = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!FileEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getFile = function(path, options, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!DirectoryEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getDirectory = function(path, options, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.removeRecursively = function(successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface\\n * @constructor\\n */\\nfunction DirectoryReader() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries\\n * @param {function(!Array)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryReader.prototype.readEntries = function(successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-entry-interface\\n * @constructor\\n */\\nfunction Entry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile\\n * @type {boolean}\\n */\\nEntry.prototype.isFile;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory\\n * @type {boolean}\\n */\\nEntry.prototype.isDirectory;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name\\n * @type {string}\\n */\\nEntry.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath\\n * @type {string}\\n */\\nEntry.prototype.fullPath;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem\\n * @type {!FileSystem}\\n */\\nEntry.prototype.filesystem;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.moveTo = function(parent, newName, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.copyTo = function(parent, newName, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL\\n * @param {string=} mimeType\\n * @return {string}\\n */\\nEntry.prototype.toURL = function(mimeType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.remove = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata\\n * @param {function(!Metadata)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getMetadata = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getParent = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-file\\n * @param {!Array=} opt_contents\\n * @param {string=} opt_name\\n * @param {{type: (string|undefined), lastModified: (number|undefined)}=}\\n * opt_properties\\n * @constructor\\n * @extends {Blob}\\n */\\nfunction File(opt_contents, opt_name, opt_properties) {}\\n\\n/**\\n * Chrome uses this instead of name.\\n * @deprecated Use name instead.\\n * @type {string}\\n */\\nFile.prototype.fileName;\\n\\n/**\\n * Chrome uses this instead of size.\\n * @deprecated Use size instead.\\n * @type {string}\\n */\\nFile.prototype.fileSize;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-name\\n * @type {string}\\n */\\nFile.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate\\n * @type {Date}\\n */\\nFile.prototype.lastModifiedDate;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified\\n * @type {number}\\n */\\nFile.prototype.lastModified;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction FileEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter\\n * @param {function(!FileWriter)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file\\n * @param {function(!File)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.file = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface\\n * @constructor\\n * @extends {DOMError}\\n */\\nfunction FileError() {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_FOUND_ERR = 1;\\n\\n/** @type {number} */\\nFileError.NOT_FOUND_ERR = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\\n * @type {number}\\n */\\nFileError.prototype.SECURITY_ERR = 2;\\n\\n/** @type {number} */\\nFileError.SECURITY_ERR = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR\\n * @type {number}\\n */\\nFileError.prototype.ABORT_ERR = 3;\\n\\n/** @type {number} */\\nFileError.ABORT_ERR = 3;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_READABLE_ERR = 4;\\n\\n/** @type {number} */\\nFileError.NOT_READABLE_ERR = 4;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR\\n * @type {number}\\n */\\nFileError.prototype.ENCODING_ERR = 5;\\n\\n/** @type {number} */\\nFileError.ENCODING_ERR = 5;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR\\n * @type {number}\\n */\\nFileError.prototype.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/** @type {number} */\\nFileError.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_STATE_ERR = 7;\\n\\n/** @type {number} */\\nFileError.INVALID_STATE_ERR = 7;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\\n * @type {number}\\n */\\nFileError.prototype.SYNTAX_ERR = 8;\\n\\n/** @type {number} */\\nFileError.SYNTAX_ERR = 8;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_MODIFICATION_ERR = '; +a.a+='9;\\n\\n/** @type {number} */\\nFileError.INVALID_MODIFICATION_ERR = 9;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR\\n * @type {number}\\n */\\nFileError.prototype.QUOTA_EXCEEDED_ERR = 10;\\n\\n/** @type {number} */\\nFileError.QUOTA_EXCEEDED_ERR = 10;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\\n * @type {number}\\n */\\nFileError.prototype.TYPE_MISMATCH_ERR = 11;\\n\\n/** @type {number} */\\nFileError.TYPE_MISMATCH_ERR = 11;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\\n * @type {number}\\n */\\nFileError.prototype.PATH_EXISTS_ERR = 12;\\n\\n/** @type {number} */\\nFileError.PATH_EXISTS_ERR = 12;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\\n * @type {number}\\n * @deprecated Use the \'name\' or \'message\' attributes of DOMError rather than\\n * \'code\'\\n */\\nFileError.prototype.code;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-filereader\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction FileReader() {}\\n\\n/** @override */\\nFileReader.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nFileReader.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nFileReader.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsArrayBuffer = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsBinaryString = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText\\n * @param {!Blob} blob\\n * @param {string=} encoding\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsText = function(blob, encoding) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsDataURL = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-abort\\n * @return {undefined}\\n */\\nFileReader.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-empty\\n * @type {number}\\n */\\nFileReader.prototype.EMPTY = 0;\\n\\n/** @type {number} */\\nFileReader.EMPTY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-loading\\n * @type {number}\\n */\\nFileReader.prototype.LOADING = 1;\\n\\n/** @type {number} */\\nFileReader.LOADING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-done\\n * @type {number}\\n */\\nFileReader.prototype.DONE = 2;\\n\\n/** @type {number} */\\nFileReader.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readystate\\n * @type {number}\\n */\\nFileReader.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-result\\n * @type {string|Blob|ArrayBuffer}\\n */\\nFileReader.prototype.result;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-error\\n * @type {FileError}\\n */\\nFileReader.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadstart;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onload\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onload;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver\\n * @constructor\\n */\\nfunction FileSaver() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort\\n * @return {undefined}\\n */\\nFileSaver.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT\\n * @type {number}\\n */\\nFileSaver.prototype.INIT = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING\\n * @type {number}\\n */\\nFileSaver.prototype.WRITING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE\\n * @type {number}\\n */\\nFileSaver.prototype.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState\\n * @type {number}\\n */\\nFileSaver.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error\\n * @type {FileError}\\n */\\nFileSaver.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwritestart;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwrite;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwriteend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface\\n * @constructor\\n */\\nfunction FileSystem() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name\\n * @type {string}\\n */\\nFileSystem.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root\\n * @type {!DirectoryEntry}\\n */\\nFileSystem.prototype.root;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter\\n * @constructor\\n * @extends {FileSaver}\\n */\\nfunction FileWriter() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position\\n * @type {number}\\n */\\nFileWriter.prototype.position;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length\\n * @type {number}\\n */\\nFileWriter.prototype.length;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileWriter.prototype.write = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek\\n * @param {number} offset\\n * @return {undefined}\\n */\\nFileWriter.prototype.seek = function(offset) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate\\n * @param {number} size\\n * @return {undefined}\\n */\\nFileWriter.prototype.truncate = function(size) {};\\n\\n/**\\n * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem\\n * @constructor\\n */\\nfunction LocalFileSystem() {}\\n\\n/**\\n * Metadata interface.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata\\n * @constructor\\n */\\nfunction Metadata() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime\\n * @type {!Date}\\n */\\nMetadata.prototype.modificationTime;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size\\n * @type {number}\\n */\\nMetadata.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY\\n * @type {number}\\n*/\\nWindow.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT\\n * @type {number}\\n*/\\nWindow.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction requestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.requestFileSystem = function(type, size, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.resolveLocalFileSystemURI = function(uri, successCallback,\\n errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitRequestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitRequestFileSystem = function(type, size, successCallback,\\n errorCallback) {};\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitResolveLocalFileSystemURI = function(uri, successCallback,\\n errorCallback) {}\\n\\n// WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.\\n// There are three APIs for this: the old specced API, the new specced API, and\\n// the webkit-prefixed API.\\n// @see http://www.w3.org/TR/FileAPI/#creating-revoking\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nfunction createObjectURL(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nWindow.prototype.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nfunction revokeObjectURL(url) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nWindow.prototype.revokeObjectURL = function(url) {};\\n\\n/**\\n * This has been replaced by URL in Chrome since WebKit revision 75739.\\n * @constructor\\n * @param {string} urlString\\n * @param {string=} opt_base\\n */\\nfunction webkitURL(urlString, opt_base) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nwebkitURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nwebkitURL.revokeObjectURL = function(url) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @constructor\\n */\\nfunction StorageInfo() {}\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n * */\\nStorageInfo.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n */\\nStorageInfo.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota\\n * @param {number} type\\n * @param {number} size\\n * @param {function(number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.requestQuota = function(type, size, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota\\n * @param {number} type\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.queryUsageAndQuota = function(type, successCallback,\\n errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {!StorageInfo}\\n */\\nWindow.prototype.webkitStorageInfo;\\n\\n/**\\n * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.\\n * @constructor\\n */\\nfunction StorageQuota() {}\\n\\n/**\\n * @param {number} size\\n * @param {function(number)=} opt_successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.requestQuota = function(size, opt_successCallback,\\n opt_errorCallback) {};\\n\\n/**\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.queryUsageAndQuota = function(successCallback,\\n opt_errorCallback) {};\\n\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitPersistentStorage;\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitTemporaryStorage;\\n","externs/flash.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\\n * file depends on w3c_dom2.js.\\n * Created from\\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\\n *\\n * @externs\\n * @author ajp@google.com (Andy Perelson)\\n */\\n\\n\\n// Standard Methods.\\n\\n/**\\n * Call a Flash function exported by ExternalInterface.\\n * @param {string} xmlString The XML string passed to Flash. The outer element\\n * should be {@code }. A sample invocation string:\\n * {@code \\n * test}\\n * @return {string} The serialized return value from Flash that you can eval.\\n */\\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\\n\\n/**\\n * Returns the value of the Flash variable specified by varName or null if the\\n * variable does not exist.\\n * @param {string} varName The variab'; +a.a+='le name.\\n * @return {string?} The variable value.\\n */\\nHTMLObjectElement.prototype.GetVariable = function(varName) {};\\n\\n/**\\n * Activates the frame number specified by {@code frameNumber} in the current\\n * movie.\\n * @param {number} frameNumber A non-negative integer frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.GotoFrame = function(frameNumber) {};\\n\\n/**\\n * @return {boolean} Whether the movie is currently playing.\\n */\\nHTMLObjectElement.prototype.IsPlaying = function() {};\\n\\n/**\\n * Loads the movie identified by {@code url} to the layer specified by {@code\\n * layerNumber}.\\n * @param {number} layerNumber The layer number.\\n * @param {string} url The movie URL.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.LoadMovie = function(layerNumber, url) {};\\n\\n/**\\n * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to\\n * specify whether the values for x and y are pixels or a percent of the window.\\n * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates\\n * are percent of the window.\\n * @param {number} x The x-coordinate.\\n * @param {number} y The y-coordinate.\\n * @param {number} mode The mode.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Pan = function(x, y, mode) {};\\n\\n/**\\n * @return {number} The percent of the Flash Player movie that has streamed\\n * into the browser so far; Possible values are from 0 to 100.\\n */\\nHTMLObjectElement.prototype.PercentLoaded = function() {};\\n\\n/**\\n * Starts playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Play = function() {};\\n\\n/**\\n * Goes to the first frame.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Rewind = function() {};\\n\\n/**\\n * Sets the value of the flash variable.\\n * @param {string} variableName The variable name.\\n * @param {string} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetVariable = function(variableName, value) {};\\n\\n/**\\n * Zooms in on a rectangular area of the movie. The units of the coordinates\\n * are in twips (1440 units per inch).\\n * @param {number} left The left coordinate.\\n * @param {number} top The top coordinate.\\n * @param {number} right The right coordinate.\\n * @param {number} bottom The bottom coordinate.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetZoomRect = function(left, top, right, bottom) {};\\n\\n/**\\n * Stops playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.StopPlay = function() {};\\n\\n/**\\n * @return {number} The total number of frames in the movie.\\n */\\nHTMLObjectElement.prototype.TotalFrames = function() {};\\n\\n/**\\n * Zooms the view by a relative scale factor.\\n * @param {number} percent The percentage scale factor, should be an integer.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Zoom = function(percent) {};\\n\\n\\n// TellTarget Methods.\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallFrame = function(target, frameNumber) {};\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {string} label The frame label.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallLabel = function(target, label) {};\\n\\n/**\\n * Returns the number of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {number} The number of the current frame.\\n */\\nHTMLObjectElement.prototype.TCurentFrame = function(target) {};\\n\\n/**\\n * Returns the label of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {string} The label of the current frame, empty string if no\\n * current frame.\\n */\\nHTMLObjectElement.prototype.TCurrentLabel = function(target) {};\\n\\n/**\\n * Returns a string indicating the value of the property in the\\n * specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {string} The value of the property.\\n */\\nHTMLObjectElement.prototype.TGetProperty = function(target, property) {};\\n\\n/**\\n * Returns a number indicating the value of the property in the specified\\n * timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {number} A number indicating the value of the property.\\n */\\nHTMLObjectElement.prototype.TGetPropertyAsNumber = function(target, property) {};\\n\\n/**\\n * Goes to the specified frame number in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoFrame = function(target, frameNumber) {};\\n\\n/**\\n * Goes to the specified frame label in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {string} label The framelabel.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoLabel = function(target, label) {};\\n\\n/**\\n * Plays the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TPlay = function(target) {};\\n\\n/**\\n * Sets the value of the property in the specified timeline.\\n * @param {number} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @param {string|number} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TSetProperty = function(target, property, value) {};\\n\\n/**\\n * Stops the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TStopPlay = function(target) {};\\n","externs/gecko_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over some of the\\n * W3C\'s XML specifications by Gecko. This file depends on\\n * w3c_xml.js. The whole file has been fully type annotated.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/**\\n * XMLSerializer can be used to convert DOM subtree or DOM document into text.\\n * XMLSerializer is available to unprivileged scripts.\\n *\\n * XMLSerializer is mainly useful for applications and extensions based on\\n * Mozilla platform. While it\'s available to web pages, it\'s not part of any\\n * standard and level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction XMLSerializer() {}\\n\\n/**\\n * Returns the serialized subtree in the form of a string\\n * @param {Node} subtree\\n * @return {string}\\n */\\nXMLSerializer.prototype.serializeToString = function(subtree) {};\\n\\n/**\\n * The subtree rooted by the specified element is serialized to a byte stream\\n * using the character set specified.\\n *\\n * @param {Node} subtree\\n * @return {Object}\\n */\\nXMLSerializer.prototype.serializeToStream = function(subtree) {};\\n\\n/**\\n * DOMParser is mainly useful for applications and extensions based on Mozilla\\n * platform. While it\'s available to web pages, it\'s not part of any standard and\\n * level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction DOMParser() {}\\n\\n/**\\n * The string passed in is parsed into a DOM document.\\n *\\n * Example:\\n * var parser = new DOMParser();\\n * var doc = parser.parseFromString(aStr, \\"text/xml\\");\\n *\\n * @param {string} src The UTF16 string to be parsed.\\n * @param {string} type The content type of the string.\\n * @return {Document}\\n */\\nDOMParser.prototype.parseFromString = function(src, type) {};\\n","externs/html5.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n * W3C\'s DOM3 specification in HTML5. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated.\\n *\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html\\n * @see http://dev.w3.org/html5/spec/Overview.html\\n *\\n * This also includes Typed Array definitions from\\n * http://www.khronos.org/registry/typedarray/specs/latest/\\n *\\n * This relies on w3c_event.js being included first.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {?HTMLSlotElement} */\\nNode.prototype.assignedSlot;\\n\\n/**\\n * Note: In IE, the contains() method only exists on Elements, not Nodes.\\n * Therefore, it is recommended that you use the Conformance framework to\\n * prevent calling this on Nodes which are not Elements.\\n * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\\n *\\n * @param {Node} n The node to check\\n * @return {boolean} If \'n\' is this Node, or is contained within this Node.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains\\n * @nosideeffects\\n */\\nNode.prototype.contains = function(n) {};\\n\\n/** @type {boolean} */\\nNode.prototype.isConnected;\\n\\n/**\\n * @constructor\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLCanvasElement() {}\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob\\n * @param {function(!Blob)} callback\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toBlob = function(callback, opt_type, var_args) {};\\n\\n/**\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @return {string}\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toDataURL = function(opt_type, var_args) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {Object=} opt_args\\n * @return {Object}\\n */\\nHTMLCanvasElement.prototype.getContext = function(contextId, opt_args) {};\\n\\n/**\\n * @see https://www.w3.org/TR/mediacapture-fromelement/\\n * @param {number=} opt_framerate\\n * @return {!MediaStream}\\n * @throws {Error}\\n * */\\nHTMLCanvasElement.prototype.captureStream = function(opt_framerate) {};\\n\\n/**\\n * @typedef {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement}\\n */\\nvar CanvasImageSource;\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods\\n */\\nfunction CanvasPathMethods() {}\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.bezierCurveTo = function(\\n cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arc = function(\\n x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @constructor\\n * @implements {CanvasPathMethods}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#path2d-objects\\n */\\nfunction Path2D() {}\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.bezierCurveTo = function(\\n cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} optAnticlockwise\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arc = function(\\n x, y, radius, startAngle, endAngle, optAnticlockwise) {};\\n\\n/**\\n * @param {Path2D} path\\n * @return {undefined}\\n */\\nPath2D.prototype.addPath = function(path) {};\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvasdrawingstyles\\n */\\nfunction CanvasDrawingStyles() {}\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.miterLimit;\\n\\n/**\\n * @param {Array} segments\\n * @return {undefined}\\n */\\nCanvasDrawingStyles.prototype.setLineDash;\\n\\n/**\\n * @return {!Array}\\n */\\nCanvasDrawingStyles.prototype.getLineDash;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.font;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textBaseline;\\n\\n/**\\n * @constructor\\n * @implements {CanvasDrawingStyles}\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @const {!HTMLCanvasElement} */\\nCanvasRenderingContext2D.prototype.canvas;\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.save = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D'; +a.a+=".prototype.restore = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.scale = function(x, y) {};\\n\\n/**\\n * @param {number} angle\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.rotate = function(angle) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.translate = function(x, y) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.transform = function(\\n m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setTransform = function(\\n m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} x1\\n * @param {number} y1\\n * @return {!CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createLinearGradient = function(\\n x0, y0, x1, y1) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} r0\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} r1\\n * @return {!CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createRadialGradient = function(\\n x0, y0, r0, x1, y1, r1) {};\\n\\n/**\\n * @param {CanvasImageSource} image\\n * @param {string} repetition\\n * @return {?CanvasPattern}\\n * @throws {Error}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-createpattern\\n */\\nCanvasRenderingContext2D.prototype.createPattern = function(\\n image, repetition) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clearRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeRect = function(x, y, w, h) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.beginPath = function() {};\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.quadraticCurveTo = function(\\n cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.bezierCurveTo = function(\\n cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arc = function(\\n x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radiusX\\n * @param {number} radiusY\\n * @param {number} rotation\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse\\n */\\nCanvasRenderingContext2D.prototype.ellipse = function(\\n x, y, radiusX, radiusY, rotation, startAngle, endAngle, opt_anticlockwise) {\\n};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {Path2D=} optStroke\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function(optStroke) {};\\n\\n/**\\n * @param {Element} element\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawFocusIfNeeded = function(element) {};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke\\n */\\nCanvasRenderingContext2D.prototype.isPointInStroke = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {string=} opt_fillRule\\n * @return {boolean}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.isPointInPath = function(\\n x, y, opt_fillRule) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillText = function(\\n text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeText = function(\\n text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @return {!TextMetrics}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.measureText = function(text) {};\\n\\n/**\\n * @param {CanvasImageSource} image\\n * @param {number} dx Destination x coordinate.\\n * @param {number} dy Destination y coordinate.\\n * @param {number=} opt_dw Destination box width. Defaults to the image width.\\n * @param {number=} opt_dh Destination box height.\\n * Defaults to the image height.\\n * @param {number=} opt_sx Source box x coordinate. Used to select a portion of\\n * the source image to draw. Defaults to 0.\\n * @param {number=} opt_sy Source box y coordinate. Used to select a portion of\\n * the source image to draw. Defaults to 0.\\n * @param {number=} opt_sw Source box width. Used to select a portion of\\n * the source image to draw. Defaults to the full image width.\\n * @param {number=} opt_sh Source box height. Used to select a portion of\\n * the source image to draw. Defaults to the full image height.\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawImage = function(\\n image, dx, dy, opt_dw, opt_dh, opt_sx, opt_sy, opt_sw, opt_sh) {};\\n\\n/**\\n * @param {number} sw\\n * @param {number} sh\\n * @return {!ImageData}\\n * @throws {Error}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.createImageData = function(sw, sh) {};\\n\\n/**\\n * @param {number} sx\\n * @param {number} sy\\n * @param {number} sw\\n * @param {number} sh\\n * @return {!ImageData}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.getImageData = function(sx, sy, sw, sh) {};\\n\\n/**\\n * @param {ImageData} imagedata\\n * @param {number} dx\\n * @param {number} dy\\n * @param {number=} opt_dirtyX\\n * @param {number=} opt_dirtyY\\n * @param {number=} opt_dirtyWidth\\n * @param {number=} opt_dirtyHeight\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.putImageData = function(imagedata, dx, dy,\\n opt_dirtyX, opt_dirtyY, opt_dirtyWidth, opt_dirtyHeight) {};\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setFillColor;\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setStrokeColor;\\n\\n/**\\n * @return {!Array}\\n */\\nCanvasRenderingContext2D.prototype.getLineDash;\\n\\n/**\\n * @param {Array} segments\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setLineDash;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.fillColor;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.fillStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.font;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.globalAlpha;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.globalCompositeOperation;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.miterLimit;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowBlur;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.shadowColor;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetX;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetY;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.strokeStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.strokeColor;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textBaseline;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineDashOffset;\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasGradient() {}\\n\\n/**\\n * @param {number} offset\\n * @param {string} color\\n * @return {undefined}\\n */\\nCanvasGradient.prototype.addColorStop = function(offset, color) {};\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasPattern() {}\\n\\n/**\\n * @constructor\\n */\\nfunction TextMetrics() {}\\n\\n/** @const {number} */\\nTextMetrics.prototype.width;\\n\\n/**\\n * @param {Uint8ClampedArray|number} dataOrWidth In the first form, this is the\\n * array of pixel data. In the second form, this is the image width.\\n * @param {number} widthOrHeight In the first form, this is the image width. In\\n * the second form, this is the image height.\\n * @param {number=} opt_height In the first form, this is the optional image\\n * height. The second form omits this argument.\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata\\n * @constructor\\n */\\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\\n\\n/** @const {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @const {number} */\\nImageData.prototype.width;\\n\\n/** @const {number} */\\nImageData.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html51/webappapis.html#webappapis-images\\n * @interface\\n */\\nfunction ImageBitmap() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.width;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.height;\\n\\n/**\\n * @constructor\\n */\\nfunction ClientInformation() {}\\n\\n/** @type {boolean} */\\nClientInformation.prototype.onLine;\\n\\n/**\\n * @param {string} protocol\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerProtocolHandler = function(\\n protocol, uri, title) {};\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerContentHandler = function(\\n mimeType, uri, title) {};\\n\\n// HTML5 Database objects\\n/**\\n * @constructor\\n */\\nfunction Database() {}\\n\\n/**\\n * @type {string}\\n */\\nDatabase.prototype.version;\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.transaction = function(\\n callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.readTransaction = function(\\n callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {string} oldVersion\\n * @param {string} newVersion\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {function(!SQLError) : void} errorCallback\\n * @param {Function} successCallback\\n * @return {undefined}\\n */\\nDatabase.prototype.changeVersion = function(\\n oldVersion, newVersion, callback, errorCallback, successCallback) {};\\n\\n/**\\n * @interface\\n */\\nfunction DatabaseCallback() {}\\n\\n/**\\n * @param {!Database} db\\n * @return {undefined}\\n */\\nDatabaseCallback.prototype.handleEvent = function(db) {};\\n\\n/**\\n * @constructor\\n */\\nfunction SQLError() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLError.prototype.code;\\n\\n/**\\n * @type {string}\\n */\\nSQLError.prototype.message;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLTransaction() {}\\n\\n/**\\n * @param {string} sqlStatement\\n * @param {Array<*>=} opt_queryArgs\\n * @param {SQLStatementCallback=} opt_callback\\n * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=}\\n * opt_errorCallback\\n * @return {undefined}\\n */\\nSQLTransaction.prototype.executeSql = function(\\n sqlStatement, opt_queryArgs, opt_callback, opt_errorCallback) {};\\n\\n/**\\n * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)}\\n */\\nvar SQLStatementCallback;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLResultSet() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.insertId;\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.rowsAffected;\\n\\n/**\\n * @type {!SQLResultSetRowList}\\n */\\nSQLResultSet.prototype.rows;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike}\\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\\n */\\nfunction SQLResultSetRowList() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSetRowList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Object}\\n * @nosideeffects\\n */\\nSQLResultSetRowList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {!Database}\\n */\\nfunction openDatabase(name, version, description, size, opt_callback) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {!Database}\\n */\\nWindow.prototype.openDatabase =\\n function(name, version, description, size, opt_callback) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/"; +a.a+="TR/html5/embedded-content-0.html#dom-img-complete\\n */\\nHTMLImageElement.prototype.complete;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\\n */\\nHTMLImageElement.prototype.naturalWidth;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\\n */\\nHTMLImageElement.prototype.naturalHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\\n */\\nHTMLImageElement.prototype.crossOrigin;\\n\\n/**\\n * This is a superposition of the Window and Worker postMessage methods.\\n * @param {*} message\\n * @param {(string|!Array)=} opt_targetOriginOrTransfer\\n * @param {(string|!Array|!Array)=}\\n * opt_targetOriginOrPortsOrTransfer\\n * @return {void}\\n */\\nfunction postMessage(message, opt_targetOriginOrTransfer,\\n opt_targetOriginOrPortsOrTransfer) {}\\n\\n/**\\n * The postMessage method (as implemented in Opera).\\n * @param {string} message\\n */\\nDocument.prototype.postMessage = function(message) {};\\n\\n/**\\n * Document head accessor.\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0\\n * @type {HTMLHeadElement}\\n */\\nDocument.prototype.head;\\n\\n/**\\n * @see https://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction DOMApplicationCache() {}\\n\\n/** @override */\\nDOMApplicationCache.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * The object isn't associated with an application cache. This can occur if the\\n * update process fails and there is no previous cache to revert to, or if there\\n * is no manifest file.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UNCACHED = 0;\\n\\n/**\\n * The cache is idle.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.IDLE = 1;\\n\\n/**\\n * The update has started but the resources are not downloaded yet - for\\n * example, this can happen when the manifest file is fetched.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.CHECKING = 2;\\n\\n/**\\n * The resources are being downloaded into the cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.DOWNLOADING = 3;\\n\\n/**\\n * Resources have finished downloading and the new cache is ready to be used.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UPDATEREADY = 4;\\n\\n/**\\n * The cache is obsolete.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.OBSOLETE = 5;\\n\\n/**\\n * The current status of the application cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.status;\\n\\n/**\\n * Sent when the update process finishes for the first time; that is, the first\\n * time an application cache is saved.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.oncached;\\n\\n/**\\n * Sent when the cache update process begins.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onchecking;\\n\\n/**\\n * Sent when the update process begins downloading resources in the manifest\\n * file.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.ondownloading;\\n\\n/**\\n * Sent when an error occurs.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onerror;\\n\\n/**\\n * Sent when the update process finishes but the manifest file does not change.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onnoupdate;\\n\\n/**\\n * Sent when each resource in the manifest file begins to download.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onprogress;\\n\\n/**\\n * Sent when there is an existing application cache, the update process\\n * finishes, and there is a new application cache ready for use.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onupdateready;\\n\\n/**\\n * Replaces the active cache with the latest version.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.swapCache = function() {};\\n\\n/**\\n * Manually triggers the update process.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.update = function() {};\\n\\n/** @type {DOMApplicationCache} */\\nvar applicationCache;\\n\\n/** @type {DOMApplicationCache} */\\nWindow.prototype.applicationCache;\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nWindow.prototype.importScripts = function(var_args) {};\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nfunction importScripts(var_args) {}\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction WebWorker() {}\\n\\n/** @override */\\nWebWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWebWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {string} message\\n * @return {undefined}\\n */\\nWebWorker.prototype.postMessage = function(message) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWebWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWebWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Worker(opt_arg0) {}\\n\\n/** @override */\\nWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @param {string} scriptURL The URL of the script to run in the SharedWorker.\\n * @param {string=} opt_name A name that can later be used to obtain a\\n * reference to the same SharedWorker.\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SharedWorker(scriptURL, opt_name) {}\\n\\n/** @override */\\nSharedWorker.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MessagePort}\\n */\\nSharedWorker.prototype.port;\\n\\n/**\\n * Called on network errors for loading the initial script.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nSharedWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly\\n * @interface\\n */\\nfunction WorkerLocation() {}\\n\\n/** @type {string} */\\nWorkerLocation.prototype.href;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.origin;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.protocol;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.host;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hostname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.port;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.pathname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.search;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hash;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction WorkerGlobalScope() {}\\n\\n/** @type {!WorkerGlobalScope} */\\nWorkerGlobalScope.prototype.self;\\n\\n/** @type {!WorkerLocation} */\\nWorkerGlobalScope.prototype.location;\\n\\n/**\\n * Closes the worker represented by this WorkerGlobalScope.\\n * @return {undefined}\\n */\\nWorkerGlobalScope.prototype.close = function() {};\\n\\n/**\\n * Sent when the worker encounters an error.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onerror;\\n\\n/**\\n * Sent when the worker goes offline.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onoffline;\\n\\n/**\\n * Sent when the worker goes online.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.ononline;\\n\\n/** @type {!WorkerPerformance} */\\nWorkerGlobalScope.prototype.performance;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction DedicatedWorkerGlobalScope() {}\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.postMessage =\\n function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\\n function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the creator posts a message to this worker.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nDedicatedWorkerGlobalScope.prototype.onmessage;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction SharedWorkerGlobalScope() {}\\n\\n/** @type {string} */\\nSharedWorkerGlobalScope.prototype.name;\\n\\n/**\\n * Sent when a connection to this worker is opened.\\n * @type {?function(!Event)}\\n */\\nSharedWorkerGlobalScope.prototype.onconnect;\\n\\n/** @type {!Array|undefined} */\\nHTMLElement.observedAttributes;\\n\\n/**\\n * @param {!Document} oldDocument\\n * @param {!Document} newDocument\\n */\\nHTMLElement.prototype.adoptedCallback = function(oldDocument, newDocument) {};\\n\\n/**\\n * @param {!{mode: string}} options\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.attachShadow = function(options) {};\\n\\n/**\\n * @param {string} attributeName\\n * @param {?string} oldValue\\n * @param {?string} newValue\\n * @param {?string} namespace\\n */\\nHTMLElement.prototype.attributeChangedCallback = function(attributeName, oldValue, newValue, namespace) {};\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.connectedCallback;\\n\\n/** @type {Element} */\\nHTMLElement.prototype.contextMenu;\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.disconnectedCallback;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.draggable;\\n\\n/**\\n * This is actually a DOMSettableTokenList property. However since that\\n * interface isn't currently defined and no known browsers implement this\\n * feature, just define the property for now.\\n *\\n * @const\\n * @type {Object}\\n */\\nHTMLElement.prototype.dropzone;\\n\\n/**\\n * @see http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname\\n * @param {string} classNames\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nHTMLElement.prototype.getElementsByClassName = function(classNames) {};\\n// NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.hidden;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.spellcheck;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\\n * @typedef {{\\n * composed: boolean\\n * }}\\n */\\nvar GetRootNodeOptions;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\\n * @param {GetRootNodeOptions=} opt_options\\n * @return {!Node}\\n */\\nNode.prototype.getRootNode = function(opt_options) {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.createShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.webkitCreateShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @type {ShadowRoot}\\n */\\nHTMLElement.prototype.shadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList}\\n */\\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @type {function()}\\n */\\nHTMLElement.prototype.createdCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.attachedCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.detachedCallback;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.download;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hash;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.host;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hostname;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.pathname;\\n\\n/**\\n * The 'ping' attribute is known to be supported in recent versions (as of\\n * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any\\n * current version of Internet Explorer.\\n *\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAnchorElement.prototype.ping;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.port;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.protocol;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.search;\\n\\n/** @type {string} */\\nHTMLAreaElement.prototype.download;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAreaElement.prototype.ping;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc\\n */\\nHTMLIFrameElement.prototype.srcdoc;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox\\n */\\nHTMLIFrameElement.prototype.sandbox;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.autocomplete;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.dirname;\\n\\n/** @type {FileList} */\\nHTMLInputElement.prototype.files;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate\\n */\\nHTMLInputElement.prototype.indeterminate;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.list;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.max;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.min;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.pattern;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.multiple;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.placeholder;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.required;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.step;\\n\\n/** @type {Date} */\\nHTMLInputElement.prototype.valueAsDate;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.valueAsNumber;\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multipli"; +a.a+="ed by opt_n.\\n * @param {number=} opt_n step multiplier. Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepDown = function(opt_n) {};\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier. Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepUp = function(opt_n) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement\\n */\\nfunction HTMLMediaElement() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_NOTHING; // = 0\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_METADATA; // = 1\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_CURRENT_DATA; // = 2\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_FUTURE_DATA; // = 3\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_ENOUGH_DATA; // = 4\\n\\n/** @type {MediaError} */\\nHTMLMediaElement.prototype.error;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.currentSrc;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.networkState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autobuffer;\\n\\n/** @type {!TimeRanges} */\\nHTMLMediaElement.prototype.buffered;\\n\\n/** @type {!MediaStream} */\\nHTMLMediaElement.prototype.srcObject;\\n\\n/**\\n * Loads the media element.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.load = function() {};\\n\\n/**\\n * @param {string} type Type of the element in question in question.\\n * @return {string} Whether it can play the type.\\n * @nosideeffects\\n */\\nHTMLMediaElement.prototype.canPlayType = function(type) {};\\n\\n/** Event handlers */\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onabort;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplaythrough;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ondurationchange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onemptied;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onended;\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onerror;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadeddata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadedmetadata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadstart;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onpause;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplaying;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onprogress;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onratechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeked;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeking;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onstalled;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onsuspend;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ontimeupdate;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onvolumechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onwaiting;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onload;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onerror;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.readyState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.seeking;\\n\\n/**\\n * The current time, in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.currentTime;\\n\\n/**\\n * The absolute timeline offset.\\n * @return {!Date}\\n */\\nHTMLMediaElement.prototype.getStartDate = function() {};\\n\\n/**\\n * The length of the media in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.duration;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.paused;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.defaultPlaybackRate;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.playbackRate;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.played;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.seekable;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.ended;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autoplay;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.loop;\\n\\n/**\\n * Starts playing the media.\\n * @return {?Promise} This is a *nullable* Promise on purpose unlike\\n * the HTML5 spec because supported older browsers (incl. Smart TVs) don't\\n * return a Promise.\\n */\\nHTMLMediaElement.prototype.play = function() {};\\n\\n/**\\n * Pauses the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.pause = function() {};\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.controls;\\n\\n/**\\n * The audio volume, from 0.0 (silent) to 1.0 (loudest).\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.volume;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.muted;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack\\n * @param {string} kind Kind of the text track.\\n * @param {string=} opt_label Label of the text track.\\n * @param {string=} opt_language Language of the text track.\\n * @return {!TextTrack} TextTrack object added to the media element.\\n */\\nHTMLMediaElement.prototype.addTextTrack =\\n function(kind, opt_label, opt_language) {};\\n\\n/** @type {!TextTrackList} */\\nHTMLMediaElement.prototype.textTracks;\\n\\n/**\\n * The ID of the audio device through which output is being delivered, or an\\n * empty string if using the default device.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @type {string}\\n */\\nHTMLMediaElement.prototype.sinkId;\\n\\n/**\\n * Sets the audio device through which output should be delivered.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @param {string} sinkId The ID of the audio output device, or empty string\\n * for default device.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @return {!Promise}\\n */\\nHTMLMediaElement.prototype.setSinkId = function(sinkId) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://html.spec.whatwg.org/multipage/dom.html#htmlunknownelement\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#customized-built-in-element-restrictions\\n * @see https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api\\n */\\nfunction HTMLUnknownElement() {}\\n\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList}\\n */\\nText.prototype.getDestinationInsertionPoints = function() {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\\n * @constructor\\n * @implements {IArrayLike}\\n */\\nfunction TextTrackList() {}\\n\\n/** @type {number} */\\nTextTrackList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrack}\\n */\\nTextTrackList.prototype.getTrackById = function(id) {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction TextTrack() {}\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.addCue = function(cue) {};\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeCue = function(cue) {};\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.activeCues;\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.cues;\\n\\n/**\\n * @type {string}\\n */\\nTextTrack.prototype.mode;\\n\\n/** @override */\\nTextTrack.prototype.addEventListener = function(\\n type, listener, opt_useCapture) {};\\n\\n/** @override */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nTextTrack.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\\n * @constructor\\n * @implements {IArrayLike}\\n */\\nfunction TextTrackCueList() {}\\n\\n/** @const {number} */\\nTextTrackCueList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrackCue}\\n */\\nTextTrackCueList.prototype.getCueById = function(id) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\\n * @constructor\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction TextTrackCue(startTime, endTime, text) {}\\n\\n/** @type {string} */\\nTextTrackCue.prototype.id;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.startTime;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.endTime;\\n\\n/** @type {string} */\\nTextTrackCue.prototype.text;\\n\\n\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#vttregion\\n * @constructor\\n */\\nfunction VTTRegion() {}\\n\\n/** @type {string} */\\nVTTRegion.prototype.id;\\n\\n/** @type {number} */\\nVTTRegion.prototype.width;\\n\\n/** @type {number} */\\nVTTRegion.prototype.lines;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorY;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorY;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-scrollsetting\\n * @type {string}\\n */\\nVTTRegion.prototype.scroll;\\n\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\n\\n/** @type {?VTTRegion} */\\nVTTCue.prototype.region;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-directionsetting\\n * @type {string}\\n */\\nVTTCue.prototype.vertical;\\n\\n/** @type {boolean} */\\nVTTCue.prototype.snapToLines;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.line;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-linealignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.lineAlign;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.position;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-positionalignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.positionAlign;\\n\\n/** @type {number} */\\nVTTCue.prototype.size;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-alignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.align;\\n\\n/** @type {string} */\\nVTTCue.prototype.text;\\n\\n/** @return {!DocumentFragment} */\\nVTTCue.prototype.getCueAsHTML = function() {};\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n */\\nfunction HTMLAudioElement() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n * The webkit-prefixed attributes are defined in\\n * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl\\n */\\nfunction HTMLVideoElement() {}\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullscreen = function() {};\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullScreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullscreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullScreen = function() {};\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.height;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoWidth;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoHeight;\\n\\n/** @type {string} */\\nHTMLVideoElement.prototype.poster;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitSupportsFullscreen;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitDisplayingFullscreen;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDecodedFrameCount;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDroppedFrameCount;\\n\\n/**\\n * @typedef {{\\n * creationTime: number,\\n * totalVideoFrames: number,\\n * droppedVideoFrames: number,\\n * corruptedVideoFrames: number,\\n * totalFrameDelay: number\\n * }}\\n */\\nvar VideoPlaybackQuality;\\n\\n/**\\n * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions\\n * @return {!VideoPlaybackQuality} Stats about the current playback.\\n */\\nHTMLVideoElement.prototype.getVideoPlaybackQuality = function() {};\\n\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/media.html#error-codes\\n */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\n\\n/** @type {string} */\\nMediaError.prototype.message;\\n\\n/**\\n * The fetching process for the media resource was aborted by the user agent at\\n * the user's request.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_ABORTED;\\n\\n/**\\n * A network error of some description caused the user agent to stop fetching\\n * the media resource, after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_NETWORK;\\n\\n/**\\n * An error of some description occurred while decoding the media resource,\\n * after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_DECODE;\\n\\n/**\\n * The media resource indicated by the src attribute was not suitable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_SRC_NOT_SUPPORTED;\\n\\n// HTML5 MessageChannel\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messagechannel\\n * @constructor\\n */\\nfunction MessageChannel() {}\\n\\n/**\\n * Returns the first port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port1;\\n\\n/**\\n * Returns the second port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port2;\\n\\n// HTML5 MessagePort\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageport\\n * @constructor\\n * @implements {EventTarget}\\n * @implements {Transferable}\\n */\\nfunction MessagePort() {}\\n\\n/** @override */\\nMessagePort.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nMessagePort.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nMessagePort.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Posts a message through the channel, optionally with the given\\n * Array of Transferables.\\n * @param {*} message\\n * @param {Array=} opt_transfer\\n * @return {undefined}\\n */\\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\\n};\\n\\n/**\\n * Begins dispatching messages received on the port.\\n * @return {undefined}\\n */\\nMessagePort.prototype.start = function() {};\\n\\n/**\\n * Disconnects the port, so that it is no longer active.\\n * @return {undefined}\\n */\\nMessagePort.prototype.close = function() {};\\n\\n/**\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent)}\\n */\\nMessagePort.prototype.onmessage;\\n\\n// HTML5 MessageEvent class\\n/**\\n * @typedef {Window|MessagePort|ServiceWorker}\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventsource\\n */\\nvar MessageEventSource;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventinit\\n */\\nfunction MessageEventInit() {}\\n\\n/** @type {T|undefined} */\\nMessageEventInit.prototype.data;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.origin;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.lastEventId;\\n\\n/** @type {(?MessageEventSource|undefined)} */\\nMessageEventInit.prototype.source;\\n\\n/** @type {(!Array|undefined)} */\\nMessageEventInit.prototype.ports;\\n\\n\\n/**\\n * @see https://html.spec.w"; +a.a+="hatwg.org/multipage/comms.html#messageevent\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {MessageEventInit=} opt_eventInitDict\\n * @template T\\n */\\nfunction MessageEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * The data payload of the message.\\n * @type {T}\\n */\\nMessageEvent.prototype.data;\\n\\n/**\\n * The origin of the message, for server-sent events and cross-document\\n * messaging.\\n * @type {string}\\n */\\nMessageEvent.prototype.origin;\\n\\n/**\\n * The last event ID, for server-sent events.\\n * @type {string}\\n */\\nMessageEvent.prototype.lastEventId;\\n\\n/**\\n * The window that dispatched the event.\\n * @type {Window}\\n */\\nMessageEvent.prototype.source;\\n\\n/**\\n * The Array of MessagePorts sent with the message, for cross-document\\n * messaging and channel messaging.\\n * @type {Array}\\n */\\nMessageEvent.prototype.ports;\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} typeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @param {T=} dataArg\\n * @param {string=} originArg\\n * @param {string=} lastEventIdArg\\n * @param {?MessageEventSource=} sourceArg\\n * @param {!Array=} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\\n cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} namespaceURI\\n * @param {string=} typeArg\\n * @param {boolean=} canBubbleArg\\n * @param {boolean=} cancelableArg\\n * @param {T=} dataArg\\n * @param {string=} originArg\\n * @param {string=} lastEventIdArg\\n * @param {?MessageEventSource=} sourceArg\\n * @param {!Array=} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\\n canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\\n portsArg) {};\\n\\n\\n/**\\n * HTML5 BroadcastChannel class.\\n * @param {string} channelName\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\\n * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction BroadcastChannel(channelName) {}\\n\\n/**\\n * Sends the message, of any type of object, to each BroadcastChannel object\\n * listening to the same channel.\\n * @param {*} message\\n */\\nBroadcastChannel.prototype.postMessage;\\n\\n/**\\n * Closes the channel object, indicating it won't get any new messages, and\\n * allowing it to be, eventually, garbage collected.\\n * @return {void}\\n */\\nBroadcastChannel.prototype.close;\\n\\n/** @override */\\nBroadcastChannel.prototype.addEventListener = function(\\n type, listener, opt_options) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n type, listener, opt_options) {};\\n\\n/**\\n * An EventHandler property that specifies the function to execute when a\\n * message event is fired on this object.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nBroadcastChannel.prototype.onmessage;\\n\\n/**\\n * The name of the channel.\\n * @type {string}\\n */\\nBroadcastChannel.prototype.name;\\n\\n/**\\n * HTML5 DataTransfer class.\\n *\\n * We say that this extends ClipboardData, because Event.prototype.clipboardData\\n * is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so\\n * similar that it's easier to merge them.\\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 * @extends {ClipboardData}\\n */\\nfunction DataTransfer() {}\\n\\n/** @type {string} */\\nDataTransfer.prototype.dropEffect;\\n\\n/** @type {string} */\\nDataTransfer.prototype.effectAllowed;\\n\\n/** @type {!Array} */\\nDataTransfer.prototype.types;\\n\\n/** @type {!FileList} */\\nDataTransfer.prototype.files;\\n\\n/**\\n * @param {string=} opt_format Format for which to remove data.\\n * @override\\n * @return {undefined}\\n */\\nDataTransfer.prototype.clearData = function(opt_format) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @param {string} data Data to add.\\n * @override\\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 * @override\\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/** @type {number} */\\nWheelEvent.DOM_DELTA_PIXEL;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_LINE;\\n\\n/** @type {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 * @return {?Entry} The Entry corresponding to this item, or null. Note that\\n * despite its name,this method only works in Chrome, and will eventually\\n * be renamed to {@code getAsEntry}.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.webkitGetAsEntry = function() { 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 http://dev.w3.org/html5/websockets/\\n * @constructor\\n * @param {string} url\\n * @param {string=} opt_protocol\\n * @implements {EventTarget}\\n */\\nfunction WebSocket(url, opt_protocol) {}\\n\\n/**\\n * The connection has not yet been established.\\n * @type {number}\\n */\\nWebSocket.CONNECTING = 0;\\n\\n/**\\n * The WebSocket connection is established and communication is possible.\\n * @type {number}\\n */\\nWebSocket.OPEN = 1;\\n\\n/**\\n * The connection is going through the closing handshake, or the close() method has been invoked.\\n * @type {number}\\n */\\nWebSocket.CLOSING = 2;\\n\\n/**\\n * The connection has been closed or could not be opened.\\n * @type {number}\\n */\\nWebSocket.CLOSED = 3;\\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 open event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onopen;\\n\\n/**\\n * An event handler called on message event.\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent)}\\n */\\nWebSocket.prototype.onmessage;\\n\\n/**\\n * An event handler called on close event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onclose;\\n\\n/**\\n * Transmits data using the connection.\\n * @param {string|ArrayBuffer|ArrayBufferView} data\\n * @return {boolean}\\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 */\\nfunction History() {}\\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 * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{state: *}=} opt_eventInitDict\\n */\\nfunction PopStateEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {*}\\n */\\nPopStateEvent.prototype.state;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} stateArg\\n * @return {undefined}\\n */\\nPopStateEvent.prototype.initPopStateEvent = function(typeArg, canBubbleArg,\\n cancelableArg, stateArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{oldURL: string, newURL: string}=} opt_eventInitDict\\n */\\nfunction HashChangeEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.oldURL;\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.newURL;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} oldURLArg\\n * @param {string} newURLArg\\n * @return {undefined}\\n */\\nHashChangeEvent.prototype.initHashChangeEvent = function(typeArg, canBubbleArg,\\n cancelableArg, oldURLArg, newURLArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent\\n * @constructor\\n *"; +a.a+=" @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 * @type {!Object}\\n * @const\\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 * @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 * A better interface to CSS classes than className.\\n * @type {!DOMTokenList}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\\n * @const\\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\\n * @type {?NodeList}\\n */\\nHTMLButtonElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLButtonElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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 * @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 * @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\\n * @type {?NodeList}\\n */\\nHTMLInputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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\\n * @type {?NodeList}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection} */\\nHTMLSelectElement.prototype.selectedOptions;\\n\\n/** @type {string} */\\nHTMLSelectElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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\\n * @type {?NodeList}\\n */\\nHTMLTextAreaElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLTextAreaElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {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 * @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 * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen\\n * @return {undefined}\\n */\\nElement.prototype.requestFullscreen = function() {};\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled\\n */\\nDocument.prototype.fullscreenEnabled;\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement\\n */\\nDocument.prototype.fullscreenElement;\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen\\n * @return {undefined}\\n */\\nDocument.prototype.exitFullscreen = function() {};\\n\\n// Externs definitions of browser current implementations.\\n// Firefox 10 implementation.\\nElement.prototype.mozRequestFullScreen = function() {};\\n\\nElement.prototype.mozRequestFullScreenWithKeys = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreen;\\n\\nDocument.prototype.mozCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.prototype.mozFullScreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreenEnabled;\\n\\n// Chrome 21 implementation.\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n * Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullScreen = function(opt_allowKeyboardInput) {};\\n\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n * Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullscreen = function(opt_allowKeyboardInput) {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitIsFullScreen;\\n\\nDocument.prototype.webkitCancelFullScreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitCurrentFullScreenElement;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitFullscreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullScreenKeyboardInputAllowed;\\n\\n// IE 11 implementation.\\n// http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx\\n/** @return {void} */\\nElement.prototype.msRequestFullscreen = function() {};\\n\\n/** @return {void} */\\nElement.prototype.msExitFullscreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.msFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.msFullscreenElement;\\n\\n/** @type {number} */\\nElement.ALLOW_KEYBOARD_INPUT = 1;\\n\\n/** @type {number} */\\nElement.prototype.ALLOW_KEYBOARD_INPUT = 1;\\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."; +a.a+="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)}=} options\\n * @return {!Function} a constructor for the new tag. A generic function is the best we\\n * can do here as it allows the return value to be annotated properly\\n * at the call site.\\n */\\nDocument.prototype.registerElement = function(type, options) {};\\n\\n/**\\n * This method is deprecated and should be removed by the end of 2014.\\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 */\\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 * @param {string} className\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByClassName = function(className) {};\\n\\n\\n/**\\n * @param {string} tagName\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagName = function(tagName) {};\\n\\n\\n/**\\n * @param {string} namespace\\n * @param {string} localName\\n * @return {!NodeList}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagNameNS = function(namespace, localName) {};\\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 * @type {boolean}\\n */\\nShadowRoot.prototype.applyAuthorStyles;\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.resetStyleInheritance;\\n\\n\\n/**\\n * @type {Element}\\n */\\nShadowRoot.prototype.activeElement;\\n\\n\\n/**\\n * @type {?ShadowRoot}\\n */\\nShadowRoot.prototype.olderShadowRoot;\\n\\n\\n/**\\n * @type {string}\\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} */\\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/**\\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\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDataListElement() {}\\n\\n\\n/** @type {HTMLCollection} */\\nHTMLDataListElement.prototype.options;\\n\\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} */\\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/f"; +a.a+='orms.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 * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#navigator\\n */\\nfunction Navigator() {}\\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/**\\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/scripting.html#custom-elements\\n * @constructor\\n */\\nfunction CustomElementRegistry() {}\\n\\n/**\\n * @param {string} tagName\\n * @param {!function(new:HTMLElement)} klass\\n * @param {{extends: string}=} options\\n */\\nCustomElementRegistry.prototype.define = function (tagName, klass, options) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {?function(new:HTMLElement)}\\n */\\nCustomElementRegistry.prototype.get = function(tagName) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {Promise}\\n */\\nCustomElementRegistry.prototype.whenDefined = function(tagName) {};\\n\\n/** @type {!CustomElementRegistry} */\\nvar customElements;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSlotElement() {}\\n\\n/**\\n * @param {!{flatten: boolean}=} options\\n * @return {!Array}\\n */\\nHTMLSlotElement.prototype.assignedNodes = 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","externs/ie_vml.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s vector markup language, or VML.\\n *\\n * @externs\\n * @author robbyw@google.com (Robby Walker)\\n */\\n\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx\\n */\\nElement.prototype.coordorigin;\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx\\n */\\nElement.prototype.coordsize;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx\\n */\\nElement.prototype.fillcolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx\\n */\\nElement.prototype.filled;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx\\n */\\nElement.prototype.path;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx\\n */\\nElement.prototype.rotation;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx\\n */\\nElement.prototype.strokecolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx\\n */\\nElement.prototype.stroked;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx\\n */\\nElement.prototype.strokeweight;\\n","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://wicg.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://wicg.github.io/IntersectionObserver/#intersection-observer-entry\\n * @record\\n */\\nfunction IntersectionObserverEntry() {}\\n\\n/**\\n * The time the change was observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-time\\n * @type {number}\\n * @const\\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://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-rootbounds\\n * @type {{top: number, right: number, bottom: number, left: number,\\n * height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.rootBounds;\\n\\n/**\\n * The rectangle describing the element being observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-boundingclientrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n * height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.boundingClientRect;\\n\\n/**\\n * The rectangle describing the intersection between the observed element and\\n * the viewport.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n * height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRect;\\n\\n/**\\n * Ratio of intersectionRect area to boundingClientRect area.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionratio\\n * @type {!number}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRatio;\\n\\n/**\\n * The Element whose intersection with the intersection root changed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-target\\n * @type {!Element}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.target;\\n\\n/**\\n * Whether or not the target is intersecting with the root.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting\\n * @type {boolean}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.isIntersecting;\\n\\n/**\\n * Callback for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-callback\\n * @typedef {function(!Array,!IntersectionObserver)}\\n */\\nvar IntersectionObserverCallback;\\n\\n/**\\n * Options for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-init\\n * @typedef {{\\n * threshold: (!Array|number|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://wicg.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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-root\\n * @type {?Element}\\n * @const\\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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-rootmargin\\n * @type {!string}\\n * @const\\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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-thresholds\\n * @type {!Array.}\\n * @const\\n */\\nIntersectionObserver.prototype.thresholds;\\n\\n/**\\n * This is used to set which element to observe.\\n * @see https://wicg.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://wicg.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://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-disconnect\\n */\\nIntersectionObserver.prototype.disconnect = function() {};\\n\\n/**\\n * Take records.\\n * @see https://wicg.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.scal'; +a.a+='e;\\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/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","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 * @constructor\\n * @implements {Iterable>}\\n * @param {(string|!URLSearchParams)=} 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 * @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 * @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\\n * @type {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\\n * @type {!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, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or imp'; +a.a+='lied.\\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 * @type {number}\\n * @const\\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_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 * @param {function(number): undefined} 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\\n/**\\n * @param {function(number)} 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 {?function(number)} 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 {function(number)} 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 {function(number)} 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 * @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 * @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 */\\nfunction AudioNode() {}\\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} */\\nAudio'; +a.a+="Param.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)} */\\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 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://webaudi"; +a.a+='o.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\\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 * http://www.w3.org/TR/2014/CR-battery-status-20141209/\\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)}\\n */\\nBatteryManager.prototype.onchargingchange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.ondischargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onlevelchange;\\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.prototyp'; +a.a+='e.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_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 * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} 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 {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} 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 * @constructor\\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 * @constructor\\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 * @constructor\\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/** @type {number} */\\nGeolocationPositionError.prototype.UNKNOWN_ERROR;\\n/** @type {number} */\\nGeolocationPositionError.prototype.PERMISSION_DENIED;\\n/** @type {number} */\\nGeolocationPositionError.prototype.POSITION_UNAVAILABLE;\\n/** @type {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 * In Chrome all the IndexedDB classes are prefixed with \'webkit\'.\\n * In order to access constants and static methods of these classes they must\\n * be duplicated with the prefix here.\\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} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.msIndexedDB;\\n\\n\\n\\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 * @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/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @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 {*} */\\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 * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBDatabase.prototype.version;\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\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} ke'; +a.a+='y 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 * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.multiEntry;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @type {(!IDBObjectStore|!IDBIndex)}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {!IDBCursorDirection}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\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 * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\n */\\nIDBTransaction.prototype.objectStoreNames;\\n\\n/**\\n * @type {!IDBTransactionMode}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {!IDBDatabase}\\n * @const\\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 * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\\n */\\nfunction webkitIDBKeyRange() {}\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lower;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upper;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 * @type {number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.oldVersion;\\n\\n/**\\n * @type {?number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.newVersion;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\\n * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent(type, opt_eventInit) {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nwebkitIDBVersionChangeEvent.prototype.version;\\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/we'; +a.a+="bperf/specs/ResourceTiming\\n * @see http://www.w3.org/TR/performance-timeline\\n * @see http://www.w3.org/TR/user-timing/\\n *\\n * @externs\\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\\n */\\n\\n/** @constructor */\\nfunction PerformanceTiming() {}\\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\\n\\n/** @constructor */\\nfunction PerformanceEntry() {}\\n/** @type {string} */ PerformanceEntry.prototype.name;\\n/** @type {string} */ PerformanceEntry.prototype.entryType;\\n/** @type {number} */ PerformanceEntry.prototype.startTime;\\n/** @type {number} */ PerformanceEntry.prototype.duration;\\n\\n/**\\n * https://www.w3.org/TR/resource-timing-2/#performanceresourcetiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceResourceTiming() {}\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectEnd;\\n/** @type {number} */\\nPerformanceResourceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.transferSize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.encodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.decodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.workerStart;\\n/** @type {string} */ PerformanceResourceTiming.prototype.nextHopProtocol;\\n\\n/**\\n * Possible values are 'navigate', 'reload', 'back_forward', and 'prerender'.\\n * See https://w3c.github.io/navigation-timing/#sec-performance-navigation-types\\n * @typedef {string}\\n */\\nvar NavigationType;\\n\\n/**\\n * https://w3c.github.io/navigation-timing/#sec-PerformanceNavigationTiming\\n * @constructor\\n * @extends {PerformanceResourceTiming}\\n */\\nfunction PerformanceNavigationTiming() {}\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n .domContentLoadedEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n .domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventEnd;\\n/** @type {NavigationType} */ PerformanceNavigationTiming.prototype.type;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.redirectCount;\\n\\n/** @constructor */\\nfunction PerformanceNavigation() {}\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_NAVIGATE = 0;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RELOAD = 1;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_BACK_FORWARD = 2;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RESERVED = 255;\\n/** @type {number} */ PerformanceNavigation.prototype.type;\\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\\n\\n/** @constructor */\\nfunction Performance() {}\\n/** @type {PerformanceTiming} */ Performance.prototype.timing;\\n/** @type {PerformanceNavigation} */ Performance.prototype.navigation;\\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 * Clear out the buffer of performance timing events for webkit browsers.\\n * @return {undefined}\\n */\\nPerformance.prototype.webkitClearResourceTimings = 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 {@code 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 {@code PerformanceEntry}s with this name.\\n * @param {string=} opt_entryType Only return {@code 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// 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 * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.now = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.webkitNow = 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 * @record\\n */\\nfunction PerformanceObserverInit() {}\\n\\n/** @type {undefined|!Array} */\\nPerformanceObserverInit.prototype.entryTypes;\\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/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 * @record\\n * @extends {MouseEventInit}\\n * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit\\n */\\nfunction PointerEventInit() {}\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pointerId;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.width;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.height;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pressure;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltX;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltY;\\n\\n/** @type {undefined|string} */\\nPointerEventInit.prototype.pointerType;\\n\\n/** @type {undefined|boolean} */\\nPointerEventInit.prototype.isPrimary;\\n\\n/**\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {PointerEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\\n */\\nfunction PointerEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nPointer"; +a.a+='Event.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/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_PEN;\\n\\n/** @type {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 = 0;\\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 = 1;\\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 = 2;\\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 = 3;\\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 = 0;\\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 = 1;\\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 = 2;\\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 = 3;\\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\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException\\n */\\nfunction RangeException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.BAD_BOUNDARYPOINTS_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.INVALID_NODE_TYPE_ERR = 2;\\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 * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.max;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.min;\\n\\n/**\\n * @type {number}\\n * @const\\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 * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array)} callback\\n * @return {undefined}\\n * @deprecated Use MediaDevices.enumerateDevices().\\n */\\nMediaStreamTrack.getSources = function(callback) {};\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.kind;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.id;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.label;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStreamTrack.prototype.enabled;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 * @type {boolean}\\n * @const\\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 '; +a.a+="* @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 * @type {!MediaStreamTrack}\\n * @const\\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 * @type {string}\\n * @const\\n */\\nMediaStream.prototype.label;\\n\\n/**\\n * @type {string}\\n * @const\\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 * @type {function(new: MediaStream,\\n * (!MediaStream|!Array)=)}\\n */\\nvar webkitMediaStream;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface\\n */\\nfunction RTCRtpSender() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpSender.prototype.track;\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n */\\nRTCRtpSender.prototype.replaceTrack = function(track) {};\\n\\n\\n/**\\n * @return {!Object}\\n */\\nRTCRtpSender.prototype.getParameters = function() {};\\n\\n\\n/**\\n * @param {!Object} params\\n * @return {!Promise}\\n */\\nRTCRtpSender.prototype.setParameters = function(params) {};\\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}\\n */\\nRTCRtpContributingSource.prototype.timestamp;\\n\\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/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface\\n */\\nfunction RTCRtpTransceiver() {}\\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 */\\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 * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * @const\\n */\\nNavigatorUserMediaError.prototype.PERMISSION_DENIED; /** 1 */\\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 {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 =\\n function(constraints, successCallback, errorCallback) {};\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction MediaStreamEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?MediaStream}\\n * @const\\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 * @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 * @type {string}\\n * @const\\n */\\nPhotoCapabilities.prototype.redEyeReduction;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageHeight;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageWidth;\\n\\n/**\\n * @type {!Array}\\n * @const\\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 * @type {!MediaStreamTrack}\\n * @const\\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 * @type {?RTCRtpReceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.receiver;\\n\\n/**\\n * @type {?MediaStreamTrack}\\n * @const\\n */\\nRTCTrackEvent.prototype.track;\\n\\n/**\\n * @type {?Array}\\n * @const\\n */\\nRTCTrackEvent.prototype.streams;\\n\\n/**\\n * @type {?RTCRtpTransceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.transceiver;\\n\\n/**\\n * @typedef {string}\\n * @see https://www.w3.org/"; +a.a+="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 * @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/** @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/**\\n * @param {!Object=} candidateInitDict The RTCIceCandidateInit dictionary.\\n * This optional argument may have type\\n * {candidate: string, sdpMid: string, sdpMLineIndex:number}, but none of\\n * these keys are required to be present, and other keys are ignored, so the\\n * closest Closure type is Object.\\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 {{iceServers: !Array}}\\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 * @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 * @type {RTCIceCandidate}\\n * @const\\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 * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @type {Date}\\n * @const\\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 * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.local;\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.remote;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.type;\\n\\n/**\\n * @type {string}\\n * @const\\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, Object)} callback\\n * @param {SCOPE=} opt_thisObj The value of \\\"this\\\" inside callback function.\\n * @template SCOPE\\n * @readonly\\n */\\nRTCStatsReport.prototype.forEach = function(callback, opt_thisObj) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @readonly\\n */\\nRTCStatsReport.prototype.get = function(key) {};\\n\\n/**\\n * @return {!Iterator}\\n * @readonly\\n */\\nRTCStatsReport.prototype.keys = function() {};\\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 * @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 * @type {string}\\n * @const\\n */\\nRTCDataChannel.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @const\\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 {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_}\\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 */\\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=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\\n failureCallback, constraints) {};\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n * successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer =\\n function(successCallbackOrConstraints, failureCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.setLocalDescription = function(description,\\n successCallback, failureCallback) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\\n successCallback, failureCallback) {};\\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)=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, failureCallback) {};\\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/**\\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.onsignalingstatechange;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype."; +a.a+='onaddstream;\\n\\n/**\\n * @type {?function(!RTCTrackEvent)}\\n */\\nRTCPeerConnection.prototype.ontrack;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onremovestream;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.oniceconnectionstatechange;\\n\\n/**\\n * @type {?function(!RTCDataChannelEvent)}\\n */\\nRTCPeerConnection.prototype.ondatachannel;\\n\\n/**\\n * @const\\n */\\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(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/**\\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/** @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 {PushSubscriptionOptions=} 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 * @typedef {{userVisibleOnly: (boolean|undefined)}}\\n * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions\\n */\\nvar PushSubscriptionOptions;\\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)} */\\nServiceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: (string|undefined), useCache: (boolean|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/** @type {!IDBFactory|undefined} */\\nServiceWorkerGlobalScope.prototype.indexedDB;\\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 * @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() {};\\'; +a.a+='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 = 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.targetClientId;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.reservedClientId;\\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","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(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/**\\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 ra'; +a.a+='w 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 * @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 * @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 the\\n * 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 a boolean indicating if the signature operating\\n * has been 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} algorithm Supported\\n * 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 generated key as a CryptoKey or a\\n * CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,\\n extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n * algorithm to use. Supported values are: ECDH, DH, PBKDF2, and HKDF-CTR.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n * derivation algorithm.\\n * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key\\n * derivation algorithm to use.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n * CryptoKey object at a later stage.\\n * @param {!Array} keyUsages Indicates what can be done with the\\n * derivated key.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n * CryptoKeyPair.\\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 key as a CryptoKey or a\\n * CryptoKeyPair.\\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} algorithm Supported values\\n * are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,\\n * 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 as a CryptoKey.\\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 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 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 as a CryptoKey.\\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 */\\nWindow.prototype.crypto;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto\\n * @type {!webCrypto.Crypto|undefined}\\n */\\nWorkerGlobalScope.prototype.crypto;\\n\\n\\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 http://www.w3.org/TR/XMLHttpRequest/\\n * @see http://www.w3.org/TR/XMLHttpRequest2/\\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 * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR\\n */\\nXPathException.INVALID_EXPRESSION_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR\\n */\\nXPathException.TYPE_ERR = 52;\\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 * @noalias\\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.TY'; +a.a+='PE_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 * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE\\n */\\nXPathResult.ANY_TYPE = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE\\n */\\nXPathResult.NUMBER_TYPE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE\\n */\\nXPathResult.STRING_TYPE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE\\n */\\nXPathResult.BOOLEAN_TYPE = 3;\\n\\n/**\\n * @type {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 = 4;\\n\\n/**\\n * @type {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 = 5;\\n\\n/**\\n * @type {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 = 6;\\n\\n/**\\n * @type {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 = 7;\\n\\n/**\\n * @type {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 = 8;\\n\\n/**\\n * @type {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 = 9;\\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 * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE\\n */\\nXPathNamespace.XPATH_NAMESPACE_NODE = 13;\\n\\n/**\\n * From http://www.w3.org/TR/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 http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object\\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 http://www.w3.org/TR/XMLHttpRequest/#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 http://www.w3.org/TR/XMLHttpRequest/#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 http://www.w3.org/TR/XMLHttpRequest/#the-send()-method\\n */\\nXMLHttpRequest.prototype.send = function(opt_data) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method\\n */\\nXMLHttpRequest.prototype.abort = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method\\n */\\nXMLHttpRequest.prototype.getAllResponseHeaders = function() {};\\n\\n/**\\n * @param {string} header\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method\\n */\\nXMLHttpRequest.prototype.getResponseHeader = function(header) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#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://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\\n */\\nXMLHttpRequest.prototype.responseURL;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute\\n */\\nXMLHttpRequest.prototype.responseXML;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute\\n */\\nXMLHttpRequest.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute\\n */\\nXMLHttpRequest.prototype.status;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute\\n */\\nXMLHttpRequest.prototype.statusText;\\n\\n/**\\n * @type {?function(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.prototype.onreadystatechange;\\n\\n/**\\n * @type {?function(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror\\n */\\nXMLHttpRequest.prototype.onerror;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.UNSENT;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.OPENED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.HEADERS_RECEIVED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.DONE;\\n\\n/**\\n * The FormData object represents an ordered collection of entries. Each entry\\n * has a name and value.\\n *\\n * @param {?Element=} opt_form An optional form to use for constructing the form\\n * data set.\\n * @constructor\\n * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface\\n */\\nfunction FormData(opt_form) {}\\n\\n/**\\n * @param {string} name\\n * @param {Blob|string} value\\n * @param {string=} opt_filename\\n * @return {undefined}\\n */\\nFormData.prototype.append = function(name, value, opt_filename) {};\\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 * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.top\\n * @const\\n */\\nvar top;\\n\\n/**\\n * @type {!Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n * @const\\n */\\nvar navigator;\\n\\n/**\\n * @type {!HTMLDocument}\\n * @see https://developer.mozilla.org/en/DOM/window.document\\n * @const\\n */\\nvar document;\\n\\n/**\\n * @type {!Location}\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n * @const\\n * @suppress {duplicate}\\n * @implicitCast\\n */\\nvar location;\\n\\n/**\\n * @type {!Screen}\\n * @see https://developer.mozilla.org/En/DOM/window.screen\\n * @const\\n */\\nvar screen;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/En/DOM/Window.self\\n * @const\\n */\\nvar self;\\n\\n// Magic functions for Firefox\'s LiveConnect.\\n// We\'ll probably never use these in practice. But redefining them\\n// will fire up the JVM, so we want to reserve the symbol names.\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray\\n */\\nvar JavaArray;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass\\n */\\nvar JavaClass;\\n\\n// We just ripped this from the FF source; it doesn\'t appear to be\\n// publicly documented.\\nvar JavaMember;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject\\n */\\nvar JavaObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage\\n */\\nvar JavaPackage;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages\\n */\\nvar Packages;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java\\n */\\nvar java;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape\\n */\\nvar netscape;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun\\n */\\nvar sun;\\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|undefined|null} 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 * @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) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\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) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @param {...*} var_args\\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, var_args) {}\\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/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 {{dir: (string|undefined), lang: (string|undefined),\\n * body: (string|undefined), tag: (string|undefined),\\n * icon: (string|undefined),\\n * requireInteraction: (boolean|undefined),\\n * actions: (!Array|undefined)}}\\n * @see http://notifications.spec.whatwg.org/#notificationoptions\\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, li'; +a.a+='stener, 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 * 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","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 * @type {!WebKitNamespace}\\n * @const\\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 * @constructor\\n * @noalias\\n */\\nfunction WebGLRenderingContext() {}\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LEQUAL;\\n\\n/** @type {number} '; +a.a+="*/\\nWebGLRenderingContext.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebG"; +a.a+="LRenderingContext.prototype.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {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"; +a.a+=" {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 * @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 {"; +a.a+="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 {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n * 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 {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n * 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 * @noalias\\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 * @noalias\\n * @extends {Event}\\n */\\nfunction WebGLContextEvent(eventType) {}\\n\\n/**\\n * @type {string}\\n */\\nWebGLContextEvent.prototype.statusMessage;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\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 * @noalias\\n */\\nfunction WebGLObject() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLBuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLFramebuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLProgram() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLRenderbuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLShader() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTexture() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\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 * @noalias\\n */\\nfunction WebGLUniformLocation() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_float() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\\n * @constructor\\n * @noalias\\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 * @noalias\\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 * @noalias\\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 * @noalias\\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 * @noalias\\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 * @noalias\\n */\\nfunction WEBGL_debug_renderer_info() {}\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_VENDOR_WEBGL;\\n\\n/** @type {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 * @noalias\\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 * @noalias\\n */\\nfunction WEBGL_compressed_texture_s3tc() {}\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGB_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT3_EXT;\\n\\n/** @type {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 * @noalias\\n */\\nfunction OES_depth_texture() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\\n * @constructor\\n * @noalias\\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 * @noalias\\n */\\nfunction EXT_texture_filter_anisotropic() {}\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n/** @type {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 * @noalias\\n */\\nfunction WEBGL_draw_buffers() {}\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT15_WEBGL;\\n\\n/"; +a.a+="** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_COLOR_ATTACHMENTS_WEBGL;\\n\\n/** @type {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 * @noalias\\n */\\nfunction ANGLE_instanced_arrays() {}\\n\\n\\n/** @type {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/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>|!IObject}\\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 {!Iterator} */\\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 {!Blob|!BufferSource|!FormData|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/** @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|null)} */\\nRequestInit.prototype.window;\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n * Possible values: '', 'audio', 'font', 'image', 'script', 'style',\\n * 'track', 'video'\\n */\\nvar FetchRequestType;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest',\\n * 'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker',\\n * 'style', 'worker', 'xslt'\\n */\\nvar RequestDestination;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'\\n */\\nvar RequestMode ;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n * Possible values: 'omit', 'same-origin', 'include'\\n */\\nvar RequestCredentials;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n * Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache',\\n * 'only-if-cached'\\n */\\nvar RequestCache;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n * Possible values: 'follow', 'error', 'manual'\\n */\\nvar RequestRedirect;\\n\\n\\n/**\\n * @param {?ResponseBodyInit=} opt_body\\n * @param {!ResponseInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#response\\n */\\nfunction Response(opt_body, opt_init) {}\\n\\n/** @return {!Response} */\\nResponse.error = function() {};\\n\\n/**\\n * @param {string} url\\n * @param {number=} opt_status\\n * @return {!Response}\\n */\\nResponse.redirect = function(url, opt_status) {};\\n\\n/** @override */\\nResponse.prototype.bodyUsed;\\n\\n/** @override */\\nResponse.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nResponse.prototype.blob = function() {};\\n\\n/** @override */\\nResponse.prototype.formData = function() {};\\n\\n/** @override */\\nResponse.prototype.json = function() {};\\n\\n/** @override */\\nResponse.prototype.text = function() {};\\n\\n/** @type {!ResponseType} */\\nResponse.prototype.type;\\n\\n/** @type {string} */\\nResponse.prototype.url;\\n\\n/** @type {boolean} */\\nResponse.prototype.redirected;\\n\\n/** @type {number} */\\nResponse.prototype.status;\\n\\n/** @type {boolean} */\\nResponse.prototype.ok;\\n\\n/** @type {string} */\\nResponse.prototype.statusText;\\n\\n/** @type {!Headers} */\\nResponse.prototype.headers;\\n\\n/** @type {?ReadableStream} */\\nResponse.prototype.body;\\n\\n/** @type {!Promise} */\\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\",\"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\\n * }}\\n */\\nvar QueuingStrategy;\\n\\n\\n/**\\n * @record\\n */\\nfunction TransformStream() {};\\n\\n/** @type {!WritableStream} */\\nTransformStream.prototype.writable;\\n\\n/** @type {!ReadableStream} */\\nTransformStream.prototype.readable;\\n\\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/**\\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 {{ 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 {!TransformStream} 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/**\\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.what"; +a.a+="wg.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 * @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\",\"js/build_polyfill_table.js\":\"#!/usr/bin/env node\\n\\n/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'use strict';\\n\\nconst fs = require('fs');\\n\\n/**\\n * Provides an ordering to ensure lower-versioned polyfills don't\\n * depend on higher versions.\\n */\\nconst ORDER = ['es3', 'es5', 'es6'];\\n\\n/**\\n * Prints to stderr and exits.\\n * @param {string} message\\n */\\nfunction fail(message) {\\n console.error(message);\\n process.exit(1);\\n}\\n\\n/**\\n * Builds up a table of polyfills.\\n */\\nclass PolyfillTable {\\n constructor() {\\n /** @const {!Map>} */\\n this.symbolToFile = new Map();\\n /** @const {!Map>} */\\n this.deps = new Map();\\n /** @const {!Map} */\\n this.versions = new Map();\\n /** @const {!Array>} */\\n this.rows = [];\\n }\\n\\n /**\\n * Returns a shim for $jscomp.polyfill.\\n * @param {string} lib Library currently being scanned.\\n * @return {function(string, ?Function, string, string)}\\n */\\n polyfill(lib) {\\n return (polyfill, impl, fromLang, toLang) => {\\n this.symbolToFile.set(polyfill, this.symbolToFile.get(polyfill) || []);\\n this.symbolToFile.get(polyfill).push(lib);\\n const row = [polyfill, fromLang, toLang];\\n if (impl) {\\n row.push(lib);\\n this.versions.set(lib, maxVersion(this.versions.get(lib), toLang));\\n }\\n this.rows.push(row);\\n };\\n }\\n\\n /**\\n * Reads a JS file and adds it to the table.\\n * @param {string} lib Name of the library.\\n * @param {string} data Contents of the file.\\n */\\n readFile(lib, data) {\\n // Look for 'require' directives and add it to the dependency map.\\n const deps = new Set();\\n this.deps.set(lib, deps);\\n const re = /'require ([^']+)'/g;\\n let match;\\n while (match = re.exec(data)) {\\n match[1].split(' ').forEach(dep => deps.add(dep));\\n }\\n // Now run the file.\\n try {\\n new Function('$jscomp', data)({\\n global: global,\\n polyfill: this.polyfill(lib, table),\\n });\\n } catch (err) {\\n throw new Error('Failed to parse file: ' + lib + ': ' + err);\\n }\\n }\\n\\n /**\\n * Concatenates the table into a string. Throws an error if\\n * there are any symbols provided by multiple files.\\n * @return {string}\\n */\\n build() {\\n const errors = new Set();\\n try {\\n // First check for duplicate provided symbols.\\n for (const entry of this.symbolToFile.entries()) {\\n if (entry[1].length != 1) {\\n errors.add(\\n `ERROR - ${entry[0]} provided by multiple files:${\\n entry[1].map(f => '\\\\n ' + f).join('')}`);\\n }\\n }\\n // Next ensure all deps have nonincreasing versions.\\n checkDeps(errors, this.deps, this.versions);\\n // If there are any errors, we should fail; otherwise concatenate.\\n } catch (err) {\\n errors.add('ERROR - uncaught exception: ' + err.stack);\\n }\\n if (errors.size) {\\n fail(Array.from(errors).join('\\\\n\\\\n'));\\n }\\n return this.rows.sort().map(row => row.join(' ')).join('\\\\n');\\n }\\n}\\n\\n/**\\n * Checks dependencies for the following issues:\\n * (1) cyclic dependencies\\n * (2) missing dependencies\\n * (3) version mismatches\\n * @param {!Set} errors\\n * @param {!Map>} deps\\n * @param {!Map} versions\\n */\\nfunction checkDeps(errors, deps, versions) {\\n for (const file of deps.keys()) {\\n const seen = new Set([file]);\\n const queue = [file];\\n const version = versions.get(file);\\n while (queue.length) {\\n const next = queue.shift();\\n for (const dep of deps.get(next) || []) {\\n if (dep == file) errors.add('ERROR - Cyclic dependency:\\\\n ' + dep);\\n if (seen.has(dep)) continue;\\n seen.add(dep);\\n queue.push(dep);\\n if (!deps.has(dep)) {\\n errors.add(\\n 'ERROR - missing dependency:\\\\n ' + dep +\\n ' required from\\\\n ' + file);\\n }\\n const depVersion = versions.get(dep);\\n if (version && maxVersion(depVersion, version) != version) {\\n errors.add(\\n 'ERROR - lower version depends on higher version:\\\\n ' +\\n version + ': ' + file + '\\\\n ' + depVersion + ': ' + dep);\\n }\\n }\\n }\\n }\\n}\\n\\n/**\\n * Returns the higher order of the given versions.\\n * @param {string} version1\\n * @param {string} version2\\n * @return {string} The max version.\\n */\\nfunction maxVersion(version1, version2) {\\n return ORDER[Math.max(ORDER.indexOf(version1), ORDER.indexOf(version2))];\\n}\\n\\nconst table = new PolyfillTable();\\n\\nconst reads = process.argv.slice(2).map(filename =>\\n new Promise((fulfill, reject) =>\\n fs.readFile(filename, 'utf8', (err, data) => {\\n try {\\n if (err) {\\n reject(err);\\n } else {\\n const lib = filename.replace(/^.*?\\\\/js\\\\/|\\\\.js$/g, '');\\n table.readFile(lib, data);\\n fulfill('');\\n }\\n } catch (err) {\\n reject(err);\\n }\\n })));\\n\\nPromise.all(reads).then(\\n success => console.log(table.build()),\\n failure => fail(failure.stack));\\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.includes es7 es3 es6/array/includes\\nArray.prototype.keys es6 es3 es6/array/keys\\nArray.prototype.values es6 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/exp1m\\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\\nObject.assign es6 es3 es6/object/assign\\nObject.entries es8 es3 es6/object/entries\\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\\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.de"; +a.a+="leteProperty 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.raw es6 es6\\nWeakMap es6 es3 es6/weakmap\\nWeakSet es6 es3 es6/weakset\\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 */\\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/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 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 = Number(target);\\n start = Number(start);\\n opt_end = Number(opt_end != null ? opt_end : len);\\n if (target < start) {\\n opt_end = Math.min(opt_end, len);\\n while (start < opt_end) {\\n if (start in this) {\\n this[target++] = this[start++];\\n } else {\\n delete this[target++];\\n start++;\\n }\\n }\\n } else {\\n opt_end = Math.min(opt_end, len + start - target);\\n target += opt_end - start;\\n while (opt_end > start) {\\n if (--opt_end in this) {\\n this[--target] = this[opt_end];\\n } else {\\n delete this[target];\\n }\\n }\\n }\\n return this;\\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}\\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 writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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/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 es6/symbol';\\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): 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 $jscomp.initSymbolIterator();\\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 = /** @type {?} */ (arrayLike)[Symbol.iterator];\\n if (typeof iteratorFunction == 'function') {\\n arrayLike = iteratorFunction.call(arrayLike);\\n var next;\\n while (!(next = arrayLike.next()).done) {\\n result.push(\\n opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value));\\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]));\\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 for (var i = opt_fromIndex || 0; i < len; i++) {\\n if (array[i] == searchElement || Object.is(array[i], 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 ex"; +a.a+="press 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$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 // NOTE: 'es6' here is incorrect, since this method is not actually supported\\n // in current versions of Chrome and FF (due to web compatibility).\\n}, 'es6', 'es3');\\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\\n/**\\n * Handle 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$arguments = arguments;\\n * let $jscomp$async$this = this;\\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 * }\\n * return $jscomp.executeAsyncGenerator($jscomp$async$generator());\\n * }\\n * ```\\n * @param {!Generator} generator\\n * @return {!Promise}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.executeAsyncGenerator = 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\",\"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/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 // Perform a conformance check to ensure correct native implementation.\\n var isConformant = !$jscomp.ASSUME_NO_NATIVE_MAP && (function() {\\n if (!NativeMap ||\\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 if (isConformant) return NativeMap;\\n\\n // We depend on Symbol.iterator, so ensure it's loaded.\\n $jscomp.initSymbol();\\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 var r = maybeGetEntry(this, key);\\n if (!r.list) {\\n r.list = (this.data_[r.id] = []);\\n }\\n if (!r.entry) {\\n r.entry = {\\n next: this.head_,\\n previous: this.head_.previous,\\n head: this.head_,\\n key: key,\\n value: value,\\n };\\n r.list.push(r.entry);\\n this.head_.previous.next = r.entry;\\n this.head_.previous = r.entry;\\n this.size++;\\n } else {\\n r.entry.value = value;\\n }\\n return this;\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.delete = function(key) {\\n var r = maybeGetEntry(this, key);\\n if (r.entry && r.list) {\\n r.list.splice(r.index, 1);\\n if (!r.list.length) delete this.data_[r.id];\\n r.entry.previous.next = r.entry.next;\\n r.entry.next.previous = r.entry.previous;\\n r.entry.head = null;\\n this.size--;\\n return true;\\n }\\n return false;\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.clear = function() {\\n this.data_ = {};\\n this.head_ = this.head_.previous = createHead();\\n this.size = 0;\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.has = function(key) {\\n return !!(maybeGetEntry(this, key).entry);\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.get = function(key) {\\n var entry = maybeGetEntry(this, key).entry;\\n // NOTE: this cast is a lie, but so is the extern.\\n return /** @type {VALUE} */ (entry &&\\n /** @type {VALUE} */ (entry.value));\\n };\\n\\n\\n /** @override */\\n PolyfillMap.prototype.entries = function() {\\n return makeIterator(this, /** @return {!Array<(KEY|VALUE)>} */ function(\\n /** !$jscomp.MapEntry */ 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 */\\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/exp1m';\\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"; +a.a+=" on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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/exp1m.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.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/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} x Any number, or value that can be coerced to a number.\\n * @param {number} y Any number, or value that can be coerced to a number.\\n * @param {...*} var_args More numbers.\\n * @return {number} The square root of the sum of the squares.\\n */\\n var polyfill = function(x, y, var_args) {\\n // Make the type checker happy.\\n x = Number(x);\\n y = Number(y);\\n var i, z, sum;\\n // Note: we need to normalize the numbers in case of over/underflow.\\n var max = Math.max(Math.abs(x), Math.abs(y));\\n for (i = 2; i < arguments.length; i++) {\\n max = Math.max(max, Math.abs(arguments[i]));\\n }\\n if (max > 1e100 || max < 1e-100) {\\n x = x / max;\\n y = y / max;\\n sum = x * x + y * y;\\n for (i = 2; 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 = x * x + y * y;\\n for (i = 2; 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 * neg"; +a.a+="ative, 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/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\",\"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)) 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/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 */\\n'require es6/object/assign';\\n'require es6/object/entries';\\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'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.assign', function(orig) {\\n if (orig) return orig;\\n\\n /**\\n * Polyfill for Object.assign() method:\\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 * @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 * @suppress {reportUnknownTypes}\\n */\\n var polyfill = 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\\n return polyfill;\\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 {!IObject} 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/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 t"; +a.a+="he License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {!IObject} 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 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 {@code 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 * @return {!AsyncExecutor} this object\\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 this.asyncExecuteBatch_();\\n }\\n this.batch_.push(f);\\n return this;\\n };\\n\\n /**\\n * Schedule execution of the jobs in {@code this.batch_}.\\n * @private\\n */\\n AsyncExecutor.prototype.asyncExecuteBatch_ = function() {\\n var self = this;\\n this.asyncExecuteFunction(function() { self.executeBatch_(); });\\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 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 = executingBatch[i];\\n delete executingBatch[i]; // 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 executed when this promise 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(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 */\\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 // Allow nulls in callbacks so we can free memory\\n var /** !Array */ callbacks = this.onSettledCallbacks_;\\n\\n for (var i = 0; i < callbacks.length; ++i) {\\n (/** @type {function()} */ (callbacks[i])).call();\\n callbacks[i] = null; // free memory\\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 "; +a.a+=" // 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 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(function() {\\n asyncExecutor.asyncExecute(callback);\\n });\\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 =\\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 = $jscomp.makeIterator(thenablesOrValues);\\n var /** !IIterableResult<*> */ iterRec = iterator.next();\\n\\n if (iterRec.done) {\\n return resolvingPromise([]);\\n } else {\\n return new PolyfillPromise(function(resolveAll, rejectAll) {\\n var resultsArray = [];\\n var unresolvedCount = 0;\\n\\n function onFulfilled(i) {\\n return function(ithResult) {\\n resultsArray[i] = ithResult;\\n unresolvedCount--;\\n if (unresolvedCount == 0) {\\n resolveAll(resultsArray);\\n }\\n };\\n }\\n\\n do {\\n resultsArray.push(undefined);\\n unresolvedCount++;\\n // Using resolvingPromise() allows us to treat all elements the same\\n // way.\\n // NOTE: resolvingPromise(promise) always returns the argument\\n // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n // creating an unnecessary extra promise.\\n resolvingPromise(iterRec.value)\\n .callWhenSettled_(\\n onFulfilled(resultsArray.length - 1), rejectAll);\\n iterRec = iterator.next();\\n } while (!iterRec.done);\\n });\\n }\\n };\\n\\n return PolyfillPromise;\\n}, 'es6', 'es3');\\n\",\"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 * "; +a.a+="You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 * 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/symbol';\\n'require es6/map';\\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 // Perform a conformance check to ensure correct native implementation.\\n var isConformant = !$jscomp.ASSUME_NO_NATIVE_SET && (function() {\\n if (!NativeSet ||\\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 if (isConformant) return NativeSet;\\n\\n // We depend on Symbol.iterator, so ensure it's loaded.\\n $jscomp.initSymbol();\\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 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 */\\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\",\"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"; +a.a+=";\\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 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/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'require util/defineproperty';\\n'require util/global';\\n\\n/** @const {string} */\\n$jscomp.SYMBOL_PREFIX = 'jscomp_symbol_';\\n\\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 * 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 * @param {string=} opt_description\\n * @return {symbol}\\n * @suppress {reportUnknownTypes}\\n */\\n function Symbol(opt_description) {\\n return /** @type {symbol} */ (\\n $jscomp.SYMBOL_PREFIX + (opt_description || '') + (counter++));\\n }\\n return Symbol;\\n})();\\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']('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.arrayIterator(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 * Returns an iterator from the given array.\\n * @param {!Array} array\\n * @return {!IteratorIterable}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n var index = 0;\\n return $jscomp.iteratorPrototype(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/**\\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() { return this; };\\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"; +a.a+=" 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 = iterator.next()).done) {\\n arr.push(i.value);\\n }\\n return arr;\\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 */\\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/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/symbol';\\n\\n\\n/**\\n * Creates an iterator for the given iterable.\\n *\\n * @param {string|!Iterable|!Iterator|!Arguments} iterable\\n * @return {!Iterator}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.makeIterator = function(iterable) {\\n $jscomp.initSymbolIterator();\\n\\n // NOTE: Disabling typechecking because [] not allowed on @struct.\\n var iteratorFunction = /** @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 = (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/symbol';\\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 (isConformant()) return NativeWeakMap;\\n\\n var prop = '$jscomp_hidden_' + Math.random().toString().substring(2);\\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 = {};\\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 insert(target);\\n return prev(target);\\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 $jscomp.initSymbol();\\n $jscomp.initSymbolIterator();\\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 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_] "; +a.a+="= value;\\n return this;\\n };\\n\\n /** @override */\\n PolyfillWeakMap.prototype.get = function(key) {\\n return $jscomp.owns(key, prop) ? key[prop][this.id_] : undefined;\\n };\\n\\n /** @override */\\n PolyfillWeakMap.prototype.has = function(key) {\\n return $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_);\\n };\\n\\n /** @override */\\n PolyfillWeakMap.prototype.delete = function(key) {\\n if (!$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/symbol';\\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 (isConformant()) return NativeWeakSet;\\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 $jscomp.initSymbol();\\n $jscomp.initSymbolIterator();\\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'require es6/array';\\n'require es6/execute_async_generator';\\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/license.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\",\"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'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.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 */\\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 */\\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\\n if (win.tracked) {\\n return;\\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 *"; +a.a+=' @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","js/util/finddescriptor.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n * http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require es6/reflect/getownpropertydescriptor\';\\n\'require es6/reflect/getprototypeof\';\\n\\n\\n/**\\n * Helper function to find a descriptor.\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {!ObjectPropertyDescriptor|undefined}\\n */\\n$jscomp.findDescriptor = function(target, propertyKey) {\\n var /** ?Object */ obj = target;\\n while (obj) {\\n var property = Reflect.getOwnPropertyDescriptor(obj, propertyKey);\\n if (property) {\\n return property;\\n }\\n obj = Reflect.getPrototypeOf(obj);\\n }\\n return undefined;\\n};\\n","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\'declare global\';\\n\'declare window\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars|reportUnknownTypes}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n maybeGlobal :\\n (typeof global != \'undefined\' && global != null) ? global : maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\", but there\'s not\\n// currently any way to do this in the existing 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} tar'; +a.a+='get\\n * @param {?function(*): *} polyfill\\n * @param {string} fromLang\\n * @param {string} toLang\\n * @suppress {reportUnknownTypes}\\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. See goog.reflect.object.\\n *\\n * @param {!Function} type Type to cast to.\\n * @param {Object} object Object literal to cast.\\n * @return {Object} The object literal.\\n */\\n$jscomp.reflectObject = function(type, object) {\\n return object;\\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","parsing/ParserConfig.properties":"# Copyright 2009 The Closure Compiler Authors.\\n#\\n# Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n# you may not use this file except in compliance with the License.\\n# You may obtain a copy of the License at\\n#\\n# http://www.apache.org/licenses/LICENSE-2.0\\n#\\n# Unless required by applicable law or agreed to in writing, software\\n# distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n# See the License for the specific language governing permissions and\\n# limitations under the License.\\n\\n# Configuration options for the Parser.\\n#\\n# Allows us to update the allowed JSDoc annotations independently of the\\n# Compiler binary, so we can add new JSDoc annotations to old binaries.\\n\\n# The version of the compiler that we\'re currently building.\\n# Should be formatted as:\\n# Version# (Revision XXX)\\ncompiler.version = ${compiler.version}\\n\\n# The datestamp of the compiler that we\'re currently building.\\ncompiler.date = ${compiler.date}\\n\\n# A comma-delimited list.\\n# Some of these are not used by JSCompiler, but appear in third-party JS code.\\n# http://usejsdoc.org/\\n# It\'s not strictly necessary for the natively-supported annotations to be\\n# listed here, but it\'s nice to have them all in one place.\\njsdoc.annotations =\\\\\\n addon,\\\\\\n alias,\\\\\\n animations,\\\\\\n augments,\\\\\\n author,\\\\\\n base,\\\\\\n borrows,\\\\\\n bug,\\\\\\n channel, \\\\\\n class,\\\\\\n classdesc,\\\\\\n codepen,\\\\\\n config,\\\\\\n consistentIdGenerator,\\\\\\n constructor,\\\\\\n constructs,\\\\\\n copyright,\\\\\\n default,\\\\\\n delegate,\\\\\\n demo,\\\\\\n deprecated,\\\\\\n desc,\\\\\\n description,\\\\\\n dict,\\\\\\n element,\\\\\\n enhance,\\\\\\n enhanceable,\\\\\\n enum,\\\\\\n event,\\\\\\n eventOf,\\\\\\n eventType,\\\\\\n example,\\\\\\n exception,\\\\\\n exec,\\\\\\n export,\\\\\\n expose,\\\\\\n externs,\\\\\\n field,\\\\\\n file,\\\\\\n fires,\\\\\\n function,\\\\\\n global,\\\\\\n hassoydelcall,\\\\\\n hassoydeltemplate,\\\\\\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 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 public,\\\\\\n readonly,\\\\\\n requirecss,\\\\\\n requires,\\\\\\n restrict,\\\\\\n returns,\\\\\\n scope,\\\\\\n see,\\\\\\n since,\\\\\\n stableIdGenerator,\\\\\\n static,\\\\\\n struct,\\\\\\n summary,\\\\\\n supported,\\\\\\n this,\\\\\\n throws,\\\\\\n todo,\\\\\\n tutorial,\\\\\\n type,\\\\\\n typedef,\\\\\\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 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 newCheckTypes,\\\\\\n newCheckTypesAllChecks,\\\\\\n nonStandardJsDocs,\\\\\\n reportUnknownTypes,\\\\\\n strictModuleDepCheck,\\\\\\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 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# 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\\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.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.consistidgen =\\\\\\n extra @consistentIdGenerator 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.preserve.nobuilder =\\\\\\n @preserve or @license annotation without file to associate it with\\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.noalias =\\\\\\n extra @noalias tag\\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.nocompile =\\\\\\n extra @nocompile tag\\n\\nmsg.jsdoc.nocollapse =\\\\\\n extra @nocollapse 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.duplicate =\\\\\\n duplicate @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.stableidgen =\\\\\\n extra @stableIdGenerator tag\\n\\nmsg.jsdoc.templatemissing =\\\\\\n @template tag missing type name.\\n\\nmsg.jsdoc.template.name.declared.twice =\\\\\\n Type name(s) for @template annotation declared twice.\\n\\nmsg.jsdoc.template.invalid.type.name =\\\\\\n Invalid type name(s) for @template annotation.\\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.jaggerInject.extra =\\\\\\n extra @jaggerInject tag\\n\\nmsg.jsdoc.jaggerModule.extra =\\\\\\n extra @jaggerModule tag\\n\\nmsg.jsdoc.jaggerProvidePromise.extra =\\\\\\n extra @jaggerProvidePromise tag\\n\\nmsg.jsdoc.jaggerProvide.extra =\\\\\\n extra @jaggerProvide tag\\n\\nmsg.jsdoc.nginject.extra =\\\\\\n extra @ngInject tag\\n\\nmsg.no.type.name =\\\\\\n expecting a type name.\\n\\nmsg.jsdoc.typetransformation.missing.delimiter =\\\\\\n Expected end delimiter for'; +a.a+=' a type transformation.\\n\\nmsg.jsdoc.typetransformation.with.multiple.names =\\\\\\n Type transformation must be associated to a single type name.\\n\\nmsg.jsdoc.typetransformation.expression.missing =\\\\\\n Missing type transformation expression.\\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"}\n'; +return a.a}var vBc="object",wBc="boolean",xBc="number",yBc="function",zBc="string",ABc=2147483647,BBc='For input string: "',CBc="null",DBc=-2147483648,EBc="\\\\",FBc={3:1,4:1,24:1},GBc={82:1,3:1},HBc=65536,IBc=55296,JBc=1023,KBc=65535,LBc=56320,MBc={3:1},NBc="use Optional.orNull() instead of Optional.or(null)",OBc={32:1},PBc="0123456789ABCDEF",QBc={122:1,59:1,60:1},RBc="[A-Z\\d]",SBc="[A-Z]",TBc=", ",UBc="(this Collection)",VBc={15:1,16:1},WBc={3:1,4:1},XBc={15:1,16:1,45:1},YBc="%s (%s) must not be negative", +ZBc="index",$Bc="negative size: ",_Bc={3:1,11:1,4:1},aCc={59:1,138:1,3:1,21:1,14:1,60:1},bCc={15:1},cCc="Suppliers.memoize(",dCc={44:1},eCc="value already present: %s",fCc={3:1,44:1},gCc="no calls to next() since the last call to remove()",hCc={48:1},iCc="entry no longer in map",jCc={15:1,16:1,31:1},kCc={113:1,32:1},lCc={113:1,32:1,129:1},mCc={101:1,3:1},nCc={15:1,16:1,45:1,65:1},oCc={32:1,129:1},pCc={15:1,16:1,31:1,130:1},qCc={15:1,16:1,206:1,31:1,130:1},rCc="occurrences cannot be negative: %s", +sCc={167:1,48:1},tCc={68:1,3:1,15:1,16:1},uCc={68:1,116:1,3:1,15:1,16:1,45:1,65:1},vCc={3:1,4:1,141:1},wCc={137:1,3:1,44:1},xCc={68:1,105:1,3:1,15:1,16:1,31:1},yCc={552:1,3:1},zCc={212:1,3:1},ACc=1073741824,BCc="expectedKeys",CCc="position (",DCc="expectedValuesPerKey",ECc=461845907,FCc=-862048943,GCc={3:1,15:1,16:1,45:1,65:1},HCc={3:1,15:1,16:1,45:1},ICc={131:1,191:1,3:1,21:1,14:1,128:1},JCc={131:1,128:1},KCc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",LCc={289:1,3:1},MCc= +"Unrecognized character: 0x",NCc="__noinit__",OCc="__java$exception",PCc=": ",QCc="stack",RCc="\n",SCc={l:0,m:0,h:524288},TCc={140:1,3:1},UCc=1114111,VCc={3:1,40:1,22:1,38:1},WCc="String",XCc="anonymous",YCc="fnStack",ZCc="Unknown",$Cc=4194303,_Cc=1048575,aDc=524288,bDc=4194304,cDc=17592186044416,dDc=4095,eDc=-17592186044416,fDc="CSS1Compat",gDc="ERROR",hDc="WARNING",iDc="OFF",jDc="Expected 0 children, but was ",kDc="Expected ",lDc=" children, but was ",mDc="Expected 2 children, but was ",nDc="Expected 1 children, but was ", +oDc="Expected child count in [1, 2], but was ",pDc=" node",qDc="Expected child count in [0, 1], but was ",rDc="Expected non-null string.",sDc="Expected non-empty string.",tDc="Invalid child for ",uDc="Expected unnamed function expression.",vDc="Expected child count in [2, 3], but was ",wDc={53:1},xDc={560:1,3:1,4:1},yDc={132:1},zDc={26:1},ADc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",BDc="missing require: ''{0}''",CDc="Missing return statement. Function expected to return {0}.", +DDc="JSC_AT_EXPORT_IN_GOOG_MODULE",EDc="Array.isArray",FDc="goog",GDc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",HDc={35:1,3:1,4:1},IDc="prototype",JDc="goog.addSingletonGetter",KDc="goog$addSingletonGetter",LDc="JSC_LATE_PROVIDE_ERROR",MDc="use strict",NDc="loadModule",ODc="module",PDc="provide",QDc="require",RDc="finally",SDc="return",TDc="Unexpected Node subclass.",UDc="async",VDc="...",WDc="export",XDc="default",YDc="from",ZDc="import",$Dc="class",_Dc="extends",aEc="implements", +bEc="while",cEc="this",dEc="super",eEc="new.target",fEc="false",gEc="true",hEc="continue",iEc="Unexpected token type. Should be LABEL_NAME.",jEc="debugger",kEc="void",lEc="interface",mEc="enum",nEc="namespace",oEc="type",pEc="declare",qEc="async function",rEc="/** @externs */\n",sEc="Expected qualified name, found: %s",tEc="$jscomp.inherits",uEc="$jscomp$inherits",vEc="JSC_MISSING_ENTRY_ERROR",wEc="JSC_OPTIMIZE_LOOP_ERROR",xEc="No inputs. Did you call init() or initModules()?",yEc="generateReport", +zEc=".js",AEc=" [synthetic:",BEc="{SyntheticVarsDeclar}",CEc=32768,DEc=131072,EEc="toSource",FEc="parseInputs",GEc="recordFunctionInformation",HEc="runTranspileOnlyPasses",IEc="runWhitespaceOnlyPasses",JEc={57:1},KEc="./",LEc="checkTypes",MEc="collapseObjectLiterals",NEc="inlineFunctions",OEc="inlineVariables",PEc="locale",QEc="removeUnusedClassProperties",REc="removeUnusedPrototypeProperties",SEc="removeUnusedVars",TEc="BROWSER",UEc="FALSE",VEc="TRUE",WEc="ECMASCRIPT3",XEc="ECMASCRIPT5",YEc={182:1, +3:1},ZEc={3:1,132:1},$Ec="{0}",_Ec="reportUnknownTypes",aFc="analyzerChecks",bFc="analyzerChecksInternal",cFc="oldReportUnknownTypes",dFc="newCheckTypes",eFc="newCheckTypesCompatibility",fFc="newCheckTypesExtraChecks",gFc="missingSourcesWarnings",hFc="deprecated",iFc="fileoverviewTags",jFc="checkEventfulObjectDisposal",kFc="uselessCode",lFc="const",mFc="duplicate",nFc="missingProvide",oFc="missingRequire",pFc="BAD_REST_PARAMETER_ANNOTATION",qFc='Missing "..." in type annotation for rest parameter.', +rFc="Symbol",sFc="apply",tFc="Symbol.iterator",uFc="es6/symbol",vFc=-536870912,wFc=536870912,xFc="$jscomp$restParams",yFc="Array",zFc="$jscomp$restIndex",AFc="arguments",BFc={53:1,26:1},CFc="es6/util/",DFc="makeIterator",EFc="ES5 getters/setters (consider using --language_out=ES5)",FFc="async functions should have already been converted",GFc={135:1,3:1,21:1,14:1},HFc="JSC_INVALID_SUPER_CALL",IFc=134217728,JFc="var_args",KFc="Only calls to super or to a method of super are supported.",LFc="constructor", +MFc="call",NFc={59:1,60:1},OFc="Error",PFc="RangeError",QFc="ReferenceError",RFc="SyntaxError",SFc="Boolean",TFc="Function",UFc="Number",VFc="RegExp",WFc="Object",XFc="$jscomp$tmp$error",YFc="message",ZFc="$jscomp$super$this",$Fc="undefined",_Fc="%20",aGc="%5B",bGc="%5D",cGc="%3C",dGc="%3E",eGc="$jscomp$arguments",fGc="$jscomp$this",gGc=".prototype",hGc=2097152,iGc=8388608,jGc="util/global",kGc="$jscomp.global.Object.defineProperties",lGc=1024,mGc="$jscomp$destructuring$var",nGc="next",oGc="value", +pGc="$jscomp$generator$state",qGc="done",rGc="$jscomp$generator$forin$array",sGc="$jscomp$generator$forin$var",tGc="$jscomp$generator$forin$iter",uGc="$jscomp$generator$arguments",vGc="$jscomp$generator$this",wGc="$jscomp$generator$first$do",xGc="$jscomp$generator$global$errortemp",yGc="$jscomp$generator$global$error",zGc="$jscomp",AGc="$jscomp$generator$yield$all",BGc="$jscomp$generator$yield$entry",CGc="$jscomp$generator$next$arg",DGc="$jscomp$generator$action$arg",EGc="$jscomp$generator$throw$arg", +FGc="$jscompDefaultExport",GGc="goog.require",HGc="goog.provide",IGc="goog.module",JGc="JSC_CANNOT_CONVERT",KGc="$jscomp$",LGc="Unexpected.",MGc="@implements used without @constructor or @interface for {0}",NGc="parameter {0} does not appear in {1}''s parameter list",OGc=1610612736,PGc=".prototype.",QGc=67108864,RGc="CLASS",SGc="FUNCTION",TGc="property {0} on interface {1} is not implemented by type {2}",UGc="interface member functions must have an empty body",VGc="java.lang.Integer",WGc="java/lang/Integer.impl.java.js", +XGc="java.lang.Float",YGc="java/lang/Float.impl.java.js",ZGc="goog.math.Long",$Gc="closure/goog/math/long.js",_Gc="function(",aHc=268435456,bHc="throws",cHc="@template ",dHc="$jscomp$key$",eHc={26:1,901:1},fHc='Constructor {0} should be called with the "new" keyword',gHc="Illegal key, the object literal is a {0}",hHc="Cannot use the IN operator with structs",iHc="Property {0} never defined on {1}",jHc="Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.", +kHc="Cannot do {0} access on a {1}",lHc="unknown type: {0}",mHc="Abstract super method {0} cannot be called",nHc="Constructor expected as first argument",oHc="Unexpected node type: ",pHc="Infinity",qHc="typeof",rHc="instanceof",sHc="Normalize constraints violated:\n",tHc="Duplicate VAR declaration",uHc=1048576,vHc="Unexpected const change.\n name: ",wHc="Normalize ES6 shorthand property syntax",xHc="peepholeOptimizations",yHc="removeUnreachableCode",zHc="JSC_BASE_CLASS_ERROR",AHc="$jscomp$async$this", +BHc="$jscomp$async$arguments",CHc="$jscomp$async$generator",DHc="$jscomp$browser$blacklisted",EHc="/package.json",FHc="$jscomp.polyfill",GHc="Parse error. {0}",HHc="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.",IHc="Can only have JSDoc or inline type annotations, not both",JHc="Trailing comma is not legal in an ECMA-262 object initializer",KHc="msg.bad.jsdoc.tag", +LHc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?",MHc="Sanity Check failed",NHc={183:1,3:1,21:1,14:1},OHc={185:1,970:1,3:1},PHc={59:1,188:1,3:1,21:1,14:1,60:1},QHc={187:1,3:1,21:1,14:1},RHc="DEFAULT",SHc="-beginning-",THc="JSC_INEXISTENT_PROPERTY",UHc="{1} cannot extend this type; {0}s can only extend {0}s",VHc="{0} cannot implement this type; an interface can only extend, but not implement interfaces",WHc="Expected a constructor; got %s",XHc=" * ",YHc="../",ZHc={131:1, +265:1,3:1,21:1,14:1,128:1},$Hc="node_modules/",_Hc="LOOSE_TOP_FUNCTION",aIc="TOP_FUNCTION",bIc="FALSE_TYPE",cIc="NULL",dIc="NUMBER",eIc="STRING",fIc="TOP_SCALAR",gIc="TRUE_TYPE",hIc="TRUTHY",iIc="UNKNOWN",jIc="UNDEFINED_OR_BOOLEAN",kIc="UNDEFINED_OR_NUMBER",lIc="UNDEFINED_OR_STRING",mIc="NULL_OR_BOOLEAN",nIc="NULL_OR_NUMBER",oIc="NULL_OR_STRING",pIc="NULL_OR_UNDEFINED",qIc="NUMBER_OR_STRING",rIc={125:1,150:1,86:1,56:1,3:1},sIc="QMARK_FUNCTION",tIc="BOTTOM_FUNCTION",uIc="CONSTRUCTOR",vIc="ENUM",wIc= +"EXTENDS",xIc="EXPORT",yIc="IMPLEMENTS",zIc="INTERFACE",AIc="PACKAGE",BIc="PRIVATE",CIc="PROTECTED",DIc="PUBLIC",EIc="RETURN",FIc="THIS",GIc="TYPE",HIc="package",IIc="private",JIc="protected",KIc="public",LIc="static",MIc="Octal integer literals are not supported in strict mode.",NIc="Invalid octal digit in octal literal.",OIc="unexpected: ",PIc="this language feature is only supported for ",QIc=" mode or better: ",RIc="__missing_expression__",SIc="unique",TIc="consistent",UIc="Bad type annotation. ", +VIc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.",WIc="msg.jsdoc.incompat.type",XIc="msg.jsdoc.interface.constructor",YIc="msg.jsdoc.missing.rc",ZIc="msg.jsdoc.template.name.declared.twice",$Ic="msg.jsdoc.extra.visibility",_Ic="msg.jsdoc.type.syntax",aJc="msg.jsdoc.missing.rp",bJc="msg.jsdoc.idgen.bad",cJc="msg.jsdoc.idgen.duplicate",dJc="msg.jsdoc.modifies",eJc="msg.jsdoc.suppress",fJc="ANNOTATION",gJc="com.google.javascript.jscomp.parsing.ParserConfig", +hJc="Expected a call node, found %s",iJc="msg.jsdoc.typetransformation.invalid",jJc="msg.jsdoc.typetransformation.invalid.expression",kJc="type transformation",lJc="msg.jsdoc.typetransformation.invalid.inside",mJc="conditional",nJc="map function",oJc="Expected a function node, found %s",pJc="msg.jsdoc.typetransformation.missing.param",qJc="msg.jsdoc.typetransformation.extra.param",rJc="map function body",sJc="template type operation",tJc="INSTANCEOF",uJc="unknown",vJc="SUPER",wJc="NEW_TARGET",xJc= +"AMBIENT_DECLARATION",yJc="CALL_SIGNATURE",zJc="INDEX_SIGNATURE",AJc="NAMESPACE_DECLARATION",BJc="OPTIONAL_PARAMETER",CJc="TYPE_ALIAS",DJc="CATCH",EJc="CONTINUE",FJc="DEBUGGER",GJc="delete",HJc="FINALLY",IJc="SWITCH",JJc="TYPEOF",KJc="IMPORT",LJc="DECLARE",MJc="NAMESPACE",NJc="'%s' expected",OJc="const variables must have an initializer",PJc="destructuring must have an initializer",QJc="No newline allowed before '=>'",RJc="invalid assignment target",SJc="async functions cannot be generators",TJc= +"invalid parenthesized expression",UJc="cannot use keyword '%s' here.",VJc="unreachable",WJc="invalid arrow function parameters",XJc="Unterminated template literal",YJc="Invalid escape sequence",ZJc="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.",$Jc="ARRAY_PATTERN",_Jc="OBJECT_PATTERN",aKc="ARRAY_TYPE",bKc="RECORD_TYPE",cKc="UNION_TYPE",dKc="FUNCTION_TYPE",eKc="GENERIC_TYPE_LIST",fKc=4294967295, +gKc="Bit index should be non-negative integer",hKc="String has leading or trailing whitespace",iKc="The new child node has next siblings.",jKc="The new child node has previous siblings.",kKc="The new child node already has a parent.",lKc="Number node not created with Node.newNumber",mKc="String node not created with Node.newString",nKc=" is not a string node",oKc="com.google.javascript.rhino.Messages",pKc="STRING_TYPE",qKc="BOOLEAN_TYPE",rKc="NUMBER_TYPE",sKc={56:1,23:1,3:1},tKc={49:1,3:1,4:1},uKc= +{86:1,56:1,23:1,47:1,3:1},vKc={86:1,56:1,23:1,47:1,85:1,3:1},wKc={150:1,86:1,56:1,69:1,23:1,47:1,85:1,3:1},xKc={86:1,56:1,23:1,47:1,127:1,3:1},yKc={155:1,3:1,21:1,14:1},zKc={3:1,89:1,38:1},AKc={21:1,181:1},BKc=16777619,CKc={3:1,15:1,16:1,31:1},DKc={3:1,21:1,14:1,147:1},EKc={3:1,4:1,972:1},FKc="Invalid UTF8 sequence",GKc=", length: ",HKc="fromIndex: ",IKc=", toIndex: ",JKc="user.agent";var _,dW,$V,FV=-1;eW();fW(1,null,{},ub);_.Dd=function vb(a){return this===a};_.Ed=function xb(){return this.Oj};_.Fd= +function zb(){return mBc(this)};_.Gd=function Bb(){var a;return qjc(yb(this))+"@"+(a=Ab(this)>>>0,a.toString(16))};_.equals=function(a){return this.Dd(a)};_.hashCode=function(){return this.Fd()};_.toString=function(){return this.Gd()};var kE,lE,mE;kE={3:1,596:1,21:1};var Pic,Qic;fW(374,1,{},sjc);_.wj=function tjc(a){var b;b=new sjc;b.i=4;a>1?b.c=Ajc(this,a-1):b.c=this;return b};_.xj=function zjc(){ojc(this);return this.b};_.Ig=function Bjc(){return qjc(this)};_.yj=function Djc(){return rjc(this)}; +_.zj=function Fjc(){return(this.i&4)!=0};_.Aj=function Gjc(){return(this.i&1)!=0};_.Gd=function Jjc(){return((this.i&2)!=0?"interface ":(this.i&1)!=0?"":"class ")+(ojc(this),this.p)};_.i=0;_.k=0;var njc=1;fW(214,1,{3:1,214:1});var Ljc;lE={3:1,21:1,597:1,214:1};mE={3:1,375:1,21:1,2:1};fW(1007,1,{});var nT=vjc(1);var XS=vjc(596);var ZS=vjc(374);var mT=vjc(214);var $S=vjc(597);var sT=vjc(2);fW(913,1,MBc);var UE=vjc(913);fW(623,913,MBc,Fb);_.Dd=function Gb(a){return a===this};_.Hd=function Hb(){throw HV(new Wjc("Optional.get() cannot be called on an absent value")); +};_.Fd=function Ib(){return 2040732332};_.Id=function Jb(){return false};_.Jd=function Kb(a){return Eb(a)};_.Gd=function Lb(){return"Optional.absent()"};var Cb;var DE=vjc(623);fW(593,1,OBc);_.Kd=function Pb(){return Mb(this)};_.Ld=function Qb(){return Nb(this)};_.Md=function Rb(){throw HV(new Nlc);};_.i=1;var EE=vjc(593);var WE=xjc();fW(122,1,QBc);_.Nd=function Zb(a){return this.Od(a.Sj)};_.Dd=function $b(a){return this===a};_.Gd=function ac(){var a;return qjc(this.Oj)+"@"+(a=Ab(this)>>>0,a.toString(16))}; +var PE=vjc(122);fW(592,122,QBc,bc);_.Od=function cc(a){return Tpc(this.a,a)>=0};_.Gd=function dc(){var a,b,c,d,e;e=new Klc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c>>Hc)==a};var Gc,Hc=0;var OE=vjc(589);fW(72,1,{},Qc);var RE=vjc(72);var gT= +xjc();fW(909,1,VBc);_.add=function Zc(a){throw HV(new Olc("Add not supported on this collection"));};_.addAll=function $c(a){return Sc(this,a)};_.clear=function _c(){Uc(this)};_.contains=function ad(a){return Tc(this,a,false)};_.containsAll=function bd(a){return Vc(this,a)};_.isEmpty=function cd(){return this.size()==0};_.remove=function dd(a){return Tc(this,a,true)};_.removeAll=function ed(a){return Wc(this,a)};_.retainAll=function fd(a){return Xc(this,a)};_.toArray=function gd(){return this.Rd(AD(nT, +WBc,1,this.size(),5,1))};_.Rd=function hd(a){var b,c,d,e;e=this.size();a.lengthe&&(a[e]=null);return a};_.Gd=function jd(){return Yc(this)};var yT=vjc(909);fW(929,909,XBc);_.addAtIndex=function md(a,b){throw HV(new Olc("Add not supported on this list"));};_.add=function nd(a){this.addAtIndex(this.size(),a);return true};_.addAllAtIndex=function od(a,b){var c,d,e;cBc(b);c=false;for(e=b.Qd();e.Kd();){d=e.Ld();this.addAtIndex(a++, +d);c=true}return c};_.clear=function pd(){this.Ud(0,this.size())};_.Dd=function qd(a){return kd(this,a)};_.Fd=function rd(){return Xqc(this)};_.indexOf=function sd(a){return ld(this,a)};_.Qd=function td(){return new Smc(this)};_.lastIndexOf=function ud(a){var b;for(b=this.size()-1;b>-1;--b)if(xxc(a,this.getAtIndex(b)))return b;return-1};_.Sd=function vd(){return this.Td(0)};_.Td=function wd(a){return new Xmc(this,a)};_.removeAtIndex=function xd(a){throw HV(new Olc("Remove not supported on this list")); +};_.Ud=function yd(a,b){var c,d;d=this.Td(a);for(c=a;c0};_.Ld=function Gh(){return Dh(this)};_.le=function Hh(){if(this.b<=0)throw HV(new wxc);return this.ne(--this.b)};_.b=0;_.c=0;var pF=vjc(604);fW(399,113,kCc);_.Kd=function Lh(){return Ih(this)};_.Ld=function Mh(){return Jh(this)};_.f=1;var qF=vjc(399);fW(952,1,{101:1});_.pe=function Qh(){var a;return a=this.f,!a?this.f=this.se():a};_.te=function Rh(){return new Oj(this.pe())}; +_.Dd=function Sh(a){return fx(this,a)};_.Fd=function Th(){return Ab(this.pe())};_.ve=function Uh(){return this.Ae()==0};_.we=function Vh(){return Oh(this)};_.xe=function Wh(a,b){return this.ue(a).add(b)};_.ye=function Xh(a,b){var c;return c=this.pe().Zd(a),!!c&&c.remove(b)};_.Gd=function Yh(){return kW(this.pe())};var LF=vjc(952);fW(440,952,mCc);_.qe=function gi(){Zh(this)};_.re=function hi(a){return $h(this,a)};_.se=function ii(){return new gj(this,this.c)};_.Ce=function ji(a){return this.Be()}; +_.te=function ki(){return new Vj(this,this.c)};_.De=function li(){return ri(this.Be())};_.ue=function mi(a){return _h(this,a)};_.xe=function oi(a,b){return ai(this,a,b)};_.ze=function pi(a){return bi(this,a)};_.Ae=function qi(){return this.d};_.d=0;var FF=vjc(440);fW(441,440,mCc);_.Be=function ui(){return this.Ee()};_.De=function vi(){return Zn(),Zn(),Yn};_.ue=function xi(a){return _h(this,a)};_.ze=function Ai(a){return bi(this,a)};_.pe=function ti(){var a;return a=this.f,!a?this.f=new gj(this,this.c): +a};_.Dd=function wi(a){return fx(this,a)};_.Fe=function yi(a){return _h(this,a)};_.xe=function zi(a,b){return ai(this,a,b)};_.Ge=function Bi(a){return bi(this,a)};var rF=vjc(441);fW(928,1,dCc);_.getOrDefault=function Pi(a,b){var c;return c=this.Zd(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function Vi(a,b){var c;return c=this.Zd(a),c!=null?c:this.put(a,b)};_.replace=function Xi(a,b){return this.containsKey(a)?this.put(a,b):null};_.clear=function Ii(){this.Yd().clear()};_.He=function Ji(a){return Ci(this, +a)};_.containsKey=function Ki(a){return!!Ei(this,a,false)};_.containsValue=function Li(a){var b,c,d;for(c=this.Yd().Qd();c.Kd();){b=c.Ld();d=b.fe();if(wE(a)===wE(d)||a!=null&&wb(a,d))return true}return false};_.Dd=function Mi(a){return Di(this,a)};_.Zd=function Ni(a){return Oi(Ei(this,a,false))};_.Fd=function Qi(){return Wqc(this.Yd())};_.isEmpty=function Ri(){return this.size()==0};_.keySet=function Si(){return new inc(this)};_.put=function Ti(a,b){throw HV(new Olc("Put not supported on this map")); +};_.putAll=function Ui(a){Fi(this,a)};_.remove=function Wi(a){return Oi(Ei(this,a,true))};_.size=function Yi(){return this.Yd().size()};_.Gd=function Zi(){return Gi(this)};_.values=function $i(){return new snc(this)};var NT=vjc(928);fW(953,928,dCc);_.Yd=function aj(){return _i(this)};_.keySet=function bj(){var a;a=this.d;return!a?this.d=new Oj(this):a};_.values=function cj(){var a;a=this.e;return!a?this.e=new Kw(this):a};var DH=vjc(953);fW(196,953,dCc,gj);_.Zd=function lj(a){return dj(this,a)};_.remove= +function oj(a){return ej(this,a)};_.clear=function hj(){this.a==this.b.c?this.b.qe():Ps(new Kj(this))};_.containsKey=function ij(a){return nw(this.a,a)};_.Je=function jj(){return new Fj(this)};_.Ie=function(){return this.Je()};_.Dd=function kj(a){return this===a||Di(this.a,a)};_.Fd=function mj(){return Wqc(this.a.Yd())};_.keySet=function nj(){return this.b.we()};_.size=function pj(){return this.a.size()};_.Gd=function qj(){return Gi(this.a)};var uF=vjc(196);fW(908,909,jCc);_.Dd=function sj(a){return rj(this, +a)};_.Fd=function tj(){return Wqc(this)};_.removeAll=function uj(a){var b,c,d,e;cBc(a);e=this.size();if(e0};var wF=vjc(447);fW(449,1,OBc,ak);_.Kd=function bk(){return this.c.Kd()};_.Ld=function ck(){this.a=this.c.Ld();return this.a.ee()};_.Md=function dk(){var a; +ee(!!this.a,gCc);a=this.a.fe();this.c.Md();this.b.a.d-=a.size();a.clear()};var vF=vjc(449);fW(232,909,VBc,ik);_.add=function jk(a){var b,c;fk(this);c=this.d.isEmpty();b=this.d.add(a);if(b){++this.f.d;c&&ek(this)}return b};_.addAll=function kk(a){var b,c,d;if(a.isEmpty())return false;d=(fk(this),this.d.size());b=this.d.addAll(a);if(b){c=this.d.size();this.f.d+=c-d;d==0&&ek(this)}return b};_.clear=function lk(){var a;a=(fk(this),this.d.size());if(a==0)return;this.d.clear();this.f.d-=a;gk(this)};_.contains= +function mk(a){fk(this);return this.d.contains(a)};_.containsAll=function nk(a){fk(this);return this.d.containsAll(a)};_.Dd=function ok(a){if(a===this)return true;fk(this);return wb(this.d,a)};_.Fd=function pk(){fk(this);return Ab(this.d)};_.Qd=function qk(){fk(this);return new Lk(this)};_.remove=function rk(a){var b;fk(this);b=this.d.remove(a);if(b){--this.f.d;gk(this)}return b};_.removeAll=function sk(a){var b,c,d;if(a.isEmpty())return false;d=(fk(this),this.d.size());b=this.d.removeAll(a);if(b){c= +this.d.size();this.f.d+=c-d;gk(this)}return b};_.retainAll=function tk(a){var b,c,d;Zd(a);d=(fk(this),this.d.size());b=this.d.retainAll(a);if(b){c=this.d.size();this.f.d+=c-d;gk(this)}return b};_.size=function uk(){return hk(this)};_.Gd=function vk(){fk(this);return kW(this.d)};var zF=vjc(232);fW(445,232,XBc,wk);_.addAtIndex=function xk(a,b){var c;fk(this);c=this.d.isEmpty();this.d.addAtIndex(a,b);++this.a.d;c&&ek(this)};_.addAllAtIndex=function yk(a,b){var c,d,e;if(b.isEmpty())return false;e=(fk(this), +this.d.size());c=this.d.addAllAtIndex(a,b);if(c){d=this.d.size();this.a.d+=d-e;e==0&&ek(this)}return c};_.getAtIndex=function zk(a){fk(this);return this.d.getAtIndex(a)};_.indexOf=function Ak(a){fk(this);return this.d.indexOf(a)};_.lastIndexOf=function Bk(a){fk(this);return this.d.lastIndexOf(a)};_.Sd=function Ck(){fk(this);return new Qk(this)};_.Td=function Dk(a){fk(this);return new Rk(this,a)};_.removeAtIndex=function Ek(a){var b;fk(this);b=this.d.removeAtIndex(a);--this.a.d;gk(this);return b}; +_.setAtIndex=function Fk(a,b){fk(this);return this.d.setAtIndex(a,b)};_.subList=function Gk(a,b){fk(this);return ei(this.a,this.e,this.d.subList(a,b),!this.b?this:this.b)};var BF=vjc(445);fW(753,445,nCc,Hk);var xF=vjc(753);fW(333,1,OBc,Lk);_.Kd=function Nk(){Kk(this);return this.b.Kd()};_.Ld=function Ok(){Kk(this);return this.b.Ld()};_.Md=function Pk(){Jk(this)};var yF=vjc(333);fW(446,333,oCc,Qk,Rk);_.Md=function Vk(){Jk(this)};_.je=function Sk(a){var b;b=hk(this.a)==0;(Kk(this),this.b).je(a);++this.a.a.d; +b&&ek(this.a)};_.ke=function Tk(){return(Kk(this),this.b).ke()};_.le=function Uk(){return(Kk(this),this.b).le()};_.me=function Wk(a){(Kk(this),this.b).me(a)};var AF=vjc(446);fW(334,232,pCc,Xk);var EF=vjc(334);fW(444,334,qCc,Yk);var CF=vjc(444);fW(443,232,jCc,Zk);_.removeAll=function $k(a){var b,c,d;if(a.isEmpty())return false;d=(fk(this),this.d.size());b=jy(this.d,a);if(b){c=this.d.size();this.a.d+=c-d;gk(this)}return b};var DF=vjc(443);fW(959,909,{373:1,15:1,16:1});_.add=function dl(a){return rl(this, +a,1),true};_.addAll=function el(a){return Bx(this,a)};_.clear=function fl(){var a;Ps((a=this.a.Yd().Qd(),new Cl(this,a)))};_.contains=function gl(a){return _k(this,a)};_.Le=function hl(){return al(this)};_.Dd=function il(a){return Cx(this,a)};_.Fd=function jl(){return Ab(bl(this))};_.isEmpty=function kl(){return bl(this).isEmpty()};_.Qd=function ll(){return new Hx(this,bl(this).Qd())};_.remove=function ml(a){return vl(this,a,1)>0};_.removeAll=function nl(a){return cl(this,a)};_.retainAll=function ol(a){var b; +return Zd(a),b=qE(a,373)?a.Le():a,this.Le().retainAll(b)};_.size=function pl(){return Ex(this)};_.Gd=function ql(){return kW(bl(this))};var OF=vjc(959);fW(870,959,{373:1,3:1,15:1,16:1});_.clear=function yl(){sl(this)};_.Qd=function Al(){return new Ll(this)};_.size=function Bl(){return UA(this.b)};_.b=0;var JF=vjc(870);fW(540,1,OBc,Cl);_.Ld=function El(){var a;return a=this.c.Ld(),this.b=a,new Kl(this,a)};_.Kd=function Dl(){return this.c.Kd()};_.Md=function Fl(){ee(!!this.b,gCc);this.a.b=UV(this.a.b, +Xm(this.b.fe(),0));this.c.Md();this.b=null};var HF=vjc(540);fW(956,1,{974:1});_.Dd=function Gl(a){var b;if(qE(a,249)){b=a;return Jl(this)==Jl(b)&&Ld(this.b.ee(),b.b.ee())}return false};_.Fd=function Hl(){var a;a=this.b.ee();return(a==null?0:Ab(a))^Jl(this)};_.Gd=function Il(){var a,b;b=slc(this.b.ee());a=Jl(this);return a==1?b:b+" x "+a};var TH=vjc(956);fW(249,956,{249:1,974:1},Kl);var GF=vjc(249);fW(871,1,OBc,Ll);_.Kd=function Ml(){return this.d>0||this.c.Kd()};_.Ld=function Nl(){if(this.d==0){this.b= +this.c.Ld();this.d=this.b.fe().a}--this.d;this.a=true;return this.b.ee()};_.Md=function Ol(){var a;ee(this.a,gCc);a=this.b.fe().a;if(a<=0)throw HV(new $tc);(this.b.fe().a+=-1)==0&&this.c.Md();this.e.b=UV(this.e.b,1);this.a=false};_.a=false;_.d=0;var IF=vjc(871);fW(167,1,sCc);_.Dd=function Pl(a){var b;if(qE(a,48)){b=a;return Ld(this.ee(),b.ee())&&Ld(this.fe(),b.fe())}return false};_.Fd=function Ql(){var a,b;a=this.ee();b=this.fe();return(a==null?0:Ab(a))^(b==null?0:Ab(b))};_.ge=function Rl(a){throw HV(new Nlc); +};_.Gd=function Sl(){return this.ee()+"="+this.fe()};var KF=vjc(167);fW(954,939,jCc);_.clear=function Tl(){sl(this.a)};_.contains=function Ul(a){return _k(this.a,a)};_.containsAll=function Vl(a){return Vc(this.a,a)};_.isEmpty=function Wl(){return bl(this.a).isEmpty()};_.Qd=function Xl(){return new Fx(bl(this.a).Qd())};_.remove=function Yl(a){return vl(this.a,a,ABc)>0};_.size=function Zl(){return bl(this.a).size()};var VH=vjc(954);fW(755,954,jCc,$l);var MF=vjc(755);fW(955,939,jCc);_.clear=function _l(){sl(this.a)}; +_.contains=function am(a){var b,c;if(qE(a,249)){c=a;if(Jl(c)<=0)return false;b=tl(this.a,c.b.ee());return b==Jl(c)}return false};_.remove=function bm(a){var b,c,d,e;if(qE(a,249)){c=a;b=c.b.ee();d=Jl(c);if(d!=0){e=this.a;return Dx(e,b,d,0)}}return false};var WH=vjc(955);fW(756,955,jCc,cm);_.Qd=function dm(){return ul(this.a)};_.size=function em(){return this.a.a.size()};var NF=vjc(756);fW(332,440,mCc);_.Be=function hm(){return this.Me()};_.De=function im(){return Cn(),cy(),by};_.ue=function km(a){return _h(this, +a)};_.ze=function nm(a){return bi(this,a)};_.pe=function gm(){var a;return a=this.f,!a?this.f=new gj(this,this.c):a};_.Dd=function jm(a){return fx(this,a)};_.Ne=function lm(a){return _h(this,a)};_.xe=function mm(a,b){return ai(this,a,b)};_.Oe=function om(a){return bi(this,a)};var PF=vjc(332);fW(960,1,{552:1});_.Qe=function pm(){var a;return a=this.d,!a?this.d=new um(this):a};_.qe=function qm(){Ps(this.Qe().a.Pe())};_.Dd=function rm(a){return Mz(this,a)};_.Fd=function sm(){return Wqc(this.Qe())};_.Gd= +function tm(){return Gi(this.Re())};var RF=vjc(960);fW(543,908,jCc,um);_.clear=function vm(){this.a.qe()};_.contains=function wm(a){var b,c;if(qE(a,251)){b=a;c=ow(this.a.Re(),b.b);return!!c&&Gm(c.Yd(),new Wq(b.a,b.c))}return false};_.Qd=function xm(){return this.a.Pe()};_.remove=function ym(a){var b,c;if(qE(a,251)){b=a;c=ow(this.a.Re(),b.b);return!!c&&Hm(c.Yd(),new Wq(b.a,b.c))}return false};_.size=function zm(){return this.a.Ae()};var QF=vjc(543);fW(822,441,mCc);var SF=vjc(822);fW(531,822,mCc,Bm); +_.Ee=function Cm(){return new tpc(this.a)};_.a=0;var TF=vjc(531);fW(631,909,VBc,Km);_.clear=function Lm(){this.a.clear()};_.isEmpty=function Mm(){return this.a.isEmpty()};_.Qd=function Nm(){return Jm(this)};_.size=function Om(){return this.a.size()};var UF=vjc(631);fW(226,1,{226:1,132:1});_.Dd=function Pm(a){return this===a};_.Ue=function Rm(){return new Ttc(this)};_.Te=function Qm(){return new Rx(this)};var _H=vjc(226);fW(318,226,{318:1,226:1,3:1,132:1},Sm);_.Se=function Tm(a,b){return this.a.Se(a, +b)};_.Dd=function Um(a){var b;if(a===this)return true;if(qE(a,318)){b=a;return this.a.Dd(b.a)}return false};_.Fd=function Vm(){return Ab(this.a)};_.Gd=function Wm(){return kW(this.a)};var VF=vjc(318);fW(287,1,{287:1,3:1},Ym);_.Dd=function Zm(a){return qE(a,287)&&a.a==this.a};_.Fd=function $m(){return this.a};_.Gd=function _m(){return""+this.a};_.a=0;var WF=vjc(287);fW(893,952,mCc);_.pe=function an(){return this.a};_.ue=function en(a){return this.Ve(a)};_.we=function fn(){return this.a.ef()};_.ze= +function kn(a){return this.We(a)};_.qe=function bn(){throw HV(new Nlc);};_.re=function cn(a){return qp(this.a,a)};_.se=function dn(){throw HV(new Oic("should never be called"));};_.xe=function gn(a,b){throw HV(new Nlc);};_.ye=function hn(a,b){throw HV(new Nlc);};_.We=function jn(a){throw HV(new Nlc);};_.Ae=function ln(){return this.b};_.b=0;var KG=vjc(893);fW(549,893,mCc,on);_.pe=function pn(){return this.a};_.Dd=function rn(a){return fx(this,a)};_.Ve=function sn(a){return mn(this,a)};_.ue=function tn(a){var b; +return b=rp(this.a,a),!b?(Zn(),Zn(),Yn):b};_.Fe=function un(a){var b;return b=rp(this.a,a),!b?(Zn(),Zn(),Yn):b};_.We=function vn(a){return nn()};_.ze=function wn(a){return nn()};_.Ge=function xn(a){return nn()};var AG=vjc(549);fW(897,549,mCc,An);var yn;var XF=vjc(897);fW(684,1,bCc);_.Gd=function Bn(){return Ys(this.c.Jd(this).Qd())};var YF=vjc(684);fW(68,909,tCc);_.Qd=function Kn(){return this.Ze()};_.add=function En(a){throw HV(new Nlc);};_.addAll=function Fn(a){throw HV(new Nlc);};_.Xe=function Gn(){return Dn(this)}; +_.clear=function Hn(){throw HV(new Nlc);};_.contains=function In(a){return a!=null&&Tc(this,a,false)};_.Ye=function Jn(){switch(this.size()){case 0:return Zn(),Zn(),Yn;case 1:return Zn(),new Uy(Zd(this.Ze().Ld()));default:return new _r(this,this.toArray())}};_.remove=function Ln(a){throw HV(new Nlc);};_.removeAll=function Mn(a){throw HV(new Nlc);};_.retainAll=function Nn(a){throw HV(new Nlc);};var uG=vjc(68);fW(398,68,tCc,On);_.Qd=function Tn(){return $s(this.a.Qd())};_.contains=function Pn(a){return a!= +null&&this.a.contains(a)};_.containsAll=function Qn(a){return this.a.containsAll(a)};_.isEmpty=function Rn(){return this.a.isEmpty()};_.Ze=function Sn(){return $s(this.a.Qd())};_.size=function Un(){return this.a.size()};_.toArray=function Vn(){return this.a.toArray()};_.Rd=function Wn(a){return this.a.Rd(a)};_.Gd=function Xn(){return kW(this.a)};var $F=vjc(398);fW(116,68,uCc);_.Qd=function lo(){return this.Ze()};_.Sd=function no(){return this.$e(0)};_.Td=function po(a){return this.$e(a)};_.subList= +function uo(a,b){return this._e(a,b)};_.addAtIndex=function ao(a,b){throw HV(new Nlc);};_.addAllAtIndex=function bo(a,b){throw HV(new Nlc);};_.Xe=function co(){return this};_.Dd=function ho(a){return Wu(this,a)};_.Fd=function io(){return Xu(this)};_.indexOf=function jo(a){return a==null?-1:Yu(this,a)};_.Ze=function ko(){return this.$e(0)};_.lastIndexOf=function mo(a){return a==null?-1:Zu(this,a)};_.$e=function oo(a){return $n(this,a)};_.removeAtIndex=function ro(a){throw HV(new Nlc);};_.setAtIndex= +function so(a,b){throw HV(new Nlc);};_._e=function to(a,b){var c;return vo((c=new iv(this),new bnc(c,a,b)))};var Yn;var BG=vjc(116);fW(931,116,uCc);_.Qd=function Go(){return $s(this.af().Qd())};_.subList=function Ko(a,b){return vo(this.af().subList(a,b))};_.contains=function yo(a){return wo(this,a)};_.containsAll=function zo(a){return this.af().containsAll(a)};_.Dd=function Ao(a){return wb(this.af(),a)};_.getAtIndex=function Bo(a){return xo(this,a)};_.Fd=function Co(){return Ab(this.af())};_.indexOf= +function Do(a){return this.af().indexOf(a)};_.isEmpty=function Eo(){return this.af().isEmpty()};_.Ze=function Fo(){return $s(this.af().Qd())};_.lastIndexOf=function Ho(a){return this.af().lastIndexOf(a)};_.size=function Io(){return this.af().size()};_._e=function Jo(a,b){return vo(this.af().subList(a,b))};_.toArray=function Lo(){return this.af().Rd(AD(nT,WBc,1,this.af().size(),5,1))};_.Rd=function Mo(a){return this.af().Rd(a)};_.Gd=function No(){return kW(this.af())};var _F=vjc(931);fW(137,1,wCc); +_.Yd=function _o(){return Qo(this)};_.getOrDefault=function cp(a,b){var c;return c=this.Zd(a),c==null&&!this.containsKey(a)?b:c};_.keySet=function gp(){return this.ef()};_.putIfAbsent=function kp(a,b){var c;return c=this.Zd(a),c!=null?c:this.put(a,b)};_.replace=function mp(a,b){return this.containsKey(a)?this.put(a,b):null};_.values=function pp(){return this.ff()};_.clear=function Uo(){throw HV(new Nlc);};_.containsKey=function Vo(a){return this.Zd(a)!=null};_.containsValue=function Wo(a){return this.ff().contains(a)}; +_.cf=function Yo(){return new xr(this)};_.df=function Zo(){return new Cr(this)};_.Dd=function ap(a){return lw(this,a)};_.Fd=function dp(){return Qo(this).Fd()};_.isEmpty=function ep(){return this.size()==0};_.ef=function fp(){return Ro(this)};_.put=function ip(a,b){return So()};_.putAll=function jp(a){To()};_.remove=function lp(a){throw HV(new Nlc);};_.Gd=function np(){return qw(this)};_.ff=function op(){if(this.g)return this.g;return this.g=this.df()};_.e=null;_.f=null;_.g=null;var Oo;var IG=vjc(137); +fW(225,137,wCc);_.containsKey=function up(a){return qp(this,a)};_.containsValue=function vp(a){return Fsc(this.d,a)};_.bf=function wp(){return Rp(new Fp(this))};_.cf=function xp(){return Rp(Isc(this.d))};_.df=function yp(){return Cn(),new On(Ksc(this.d))};_.Dd=function zp(a){return Hsc(this.d,a)};_.Zd=function Ap(a){return rp(this,a)};_.Fd=function Bp(){return Ab(this.d.d)};_.isEmpty=function Cp(){return this.d.d.isEmpty()};_.size=function Dp(){return this.d.d.size()};_.Gd=function Ep(){return kW(this.d.d)}; +var bG=vjc(225);fW(632,934,jCc,Fp);_.contains=function Gp(a){if(qE(a,48)&&a.ee()==null)return false;return ftc(Gsc(this.a.d),a)};_.ie=function Hp(){return Gsc(this.a.d)};_.Rd=function Ip(a){var b;b=gtc(Gsc(this.a.d),a);Gsc(this.a.d).b.size()=0};var PG=vjc(824);fW(322,225,{137:1,322:1,3:1,44:1},js);_.cf=function ks(){return zs(this.a,Isc(this.c))};_.ef=function ls(){var a;return a=this.b,!a?this.b=zs(this.a,Isc(this.c)):a};_.keySet=function ms(){var a;return a=this.b,!a?this.b=zs(this.a,Isc(this.c)):a};var RG=vjc(322);fW(713,94,{},rs);_.pf=function ss(){return ps(this)};_.qf=function ts(a,b){return gpc(this.b, +(Po(),Dm(a,b),new Wq(a,b))),this};var QG=vjc(713);fW(337,313,{68:1,105:1,337:1,3:1,15:1,16:1,31:1,130:1});_.Qd=function Cs(){return $s(new hsc(this.b.b.Qd()))};_.contains=function xs(a){return a!=null&&Qrc(this.a,a)};_.containsAll=function ys(a){var b,c;for(c=a.Qd();c.Kd();){b=c.Ld();if(b==null)return false}return Rrc(this.a,a)};_.Ze=function Bs(){return $s(new hsc(this.b.b.Qd()))};_.toArray=function Ds(){return Xx(this,AD(nT,WBc,1,this.b.b.size(),5,1))};_.Rd=function Es(a){return Yx(this,a)};var us, +vs;var SG=vjc(337);fW(685,684,bCc,Ks);_.Qd=function Ls(){return Js(this)};var TG=vjc(685);fW(665,113,kCc,_s);_.Kd=function at(){return this.a.Kd()};_.Ld=function bt(){return this.a.Ld()};var VG=vjc(665);fW(413,113,kCc,ct);_.Kd=function dt(){return!this.a};_.Ld=function et(){if(this.a)throw HV(new wxc);this.a=true;return this.b};_.a=false;var UG=vjc(413);fW(666,189,OBc,gt);_.hf=function ht(a){return ft(this,a)};var WG=vjc(666);fW(307,14,{307:1,3:1,21:1,14:1,32:1},kt);_.Kd=function lt(){return false}; +_.Ld=function mt(){throw HV(new wxc);};_.Md=function nt(){ee(false,gCc)};var it;var XG=wjc(307,_S,ot);fW(811,332,mCc);var _G=vjc(811);fW(238,811,mCc,st);_.qe=function tt(){qt(this)};_.Me=function ut(){return new Swc(this.b)};_.Ce=function vt(a){return new Ft(this,a,this.b)};_.we=function wt(){return rt(this)};_.b=2;var aH=vjc(238);fW(239,80,{167:1,80:1,239:1,975:1,3:1,48:1},zt);_.rf=function At(){return this.f};_.sf=function Bt(a){this.c=a};_.tf=function Ct(a){this.f=a};_.d=0;var YG=vjc(239);fW(812, +939,{975:1,15:1,16:1,31:1},Ft);_.add=function Gt(a){var b,c,d,e,f;f=XV(QV(ECc,hkc(XV(QV(a==null?0:Ab(a),FCc)),15)));b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Ld(c.i,a))return false;d=new zt(this.c,a,f,e);yt(this.d,d);d.f=this;this.d=d;xt(this.g.a.b,d);xt(d,this.g.a);this.b[b]=d;++this.f;++this.e;Dt(this);return true};_.clear=function Ht(){var a,b;_pc(this.b);this.f=0;for(a=this.a;a!=this;a=a.rf()){b=a;xt(b.b,b.e)}this.a=this;this.d=this;++this.e};_.contains=function It(a){var b,c; +c=XV(QV(ECc,hkc(XV(QV(a==null?0:Ab(a),FCc)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Ld(b.i,a))return true;return false};_.rf=function Jt(){return this.a};_.Qd=function Kt(){return new Qt(this)};_.remove=function Lt(a){return Et(this,a)};_.sf=function Mt(a){this.d=a};_.tf=function Nt(a){this.a=a};_.size=function Ot(){return this.f};_.e=0;_.f=0;var $G=vjc(812);fW(813,1,OBc,Qt);_.Kd=function Rt(){return Pt(this),this.b!=this.c};_.Ld=function St(){var a,b;Pt(this);if(this.b==this.c)throw HV(new wxc); +a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Md=function Tt(){Pt(this);ee(!!this.d,gCc);Et(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var ZG=vjc(813);fW(746,952,mCc,Yt);_.pe=function Zt(){var a;return a=this.f,!a?this.f=new hx(this):a};_.Dd=function du(a){return fx(this,a)};_.ue=function eu(a){return new tu(this,a)};_.ze=function iu(a){return Wt(this,a)};_.qe=function _t(){this.a=null;this.e=null;qmc(this.b);this.d=0;++this.c};_.re=function au(a){return Vt(this,a)};_.se=function bu(){return new hx(this)}; +_.te=function cu(){return new wu(this)};_.Fe=function fu(a){return new tu(this,a)};_.ve=function gu(){return!this.a};_.xe=function hu(a,b){return Ut(this,a,b,null),true};_.Ge=function ju(a){return Wt(this,a)};_.Ae=function ku(){return this.d};_.c=0;_.d=0;var hH=vjc(746);fW(937,929,XBc);_.addAtIndex=function nu(a,b){var c;c=this.Td(a);c.je(b)};_.addAllAtIndex=function ou(a,b){var c,d,e,f;cBc(b);f=false;e=this.Td(a);for(d=b.Qd();d.Kd();){c=d.Ld();e.je(c);f=true}return f};_.getAtIndex=function pu(a){return lu(this, +a)};_.Qd=function qu(){return this.Td(0)};_.removeAtIndex=function ru(a){return mu(this,a)};_.setAtIndex=function su(b,c){var d,e;d=this.Td(b);try{e=d.Ld();d.me(c);return e}catch(a){a=GV(a);if(qE(a,75))throw HV(new Jic("Can't set element "+b));else throw HV(a);}};var UT=vjc(937);fW(331,937,XBc,tu);_.Td=function uu(a){return new Ou(this.a,this.b,a)};_.size=function vu(){var a;a=jmc(this.a.b,this.b);return!a?0:a.a};var cH=vjc(331);fW(439,939,jCc,wu);_.contains=function xu(a){return Vt(this.a,a)};_.Qd= +function yu(){return new Cu(this.a)};_.remove=function zu(a){return!Wt(this.a,a).a.isEmpty()};_.size=function Au(){return rmc(this.a.b)};var bH=vjc(439);fW(748,1,OBc,Cu);_.Kd=function Du(){Bu(this);return!!this.c};_.Ld=function Eu(){Bu(this);$t(this.c);this.a=this.c;ivc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!ivc(this.d,this.c.a));return this.a.a};_.Md=function Fu(){Bu(this);ee(!!this.a,gCc);Ps(new Nu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var dH=vjc(748);fW(330,1,{330:1}, +Gu);_.a=0;var eH=vjc(330);fW(747,167,sCc,Hu);_.ee=function Iu(){return this.a};_.fe=function Ju(){return this.f};_.ge=function Ku(a){var b;b=this.f;this.f=a;return b};var fH=vjc(747);fW(280,1,oCc,Nu,Ou);_.je=function Pu(a){this.e=Ut(this.f,this.b,a,this.c);++this.d;this.a=null};_.Kd=function Qu(){return!!this.c};_.ke=function Ru(){return!!this.e};_.Ld=function Su(){return Lu(this)};_.le=function Tu(){return Mu(this)};_.Md=function Uu(){ee(!!this.a,gCc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c= +this.a.c;Xt(this.f,this.a);this.a=null};_.me=function Vu(a){de(!!this.a);this.a.f=a};_.d=0;var gH=vjc(280);fW(636,929,XBc);_.addAtIndex=function bv(a,b){this.a.addAtIndex(a,b)};_.addAllAtIndex=function cv(a,b){return this.a.addAllAtIndex(a,b)};_.contains=function dv(a){return this.a.contains(a)};_.getAtIndex=function ev(a){return this.a.getAtIndex(a)};_.removeAtIndex=function fv(a){return this.a.removeAtIndex(a)};_.setAtIndex=function gv(a,b){return this.a.setAtIndex(a,b)};_.size=function hv(){return this.a.size()}; +var jH=vjc(636);fW(637,636,nCc);var kH=vjc(637);fW(640,637,nCc,iv);_.Td=function jv(a){return this.a.Td(a)};var iH=vjc(640);fW(166,929,{166:1,15:1,16:1,45:1},nv);_.addAtIndex=function ov(a,b){this.a.addAtIndex(mv(this,a),b)};_.clear=function pv(){this.a.clear()};_.getAtIndex=function qv(a){return this.a.getAtIndex(lv(this,a))};_.Qd=function rv(){return kv(this,0)};_.Td=function sv(a){return kv(this,a)};_.removeAtIndex=function tv(a){return this.a.removeAtIndex(lv(this,a))};_.Ud=function uv(a,b){(ce(a, +b,this.a.size()),_u(this.a.subList(mv(this,b),mv(this,a)))).clear()};_.setAtIndex=function vv(a,b){return this.a.setAtIndex(lv(this,a),b)};_.size=function wv(){return this.a.size()};_.subList=function xv(a,b){return ce(a,b,this.a.size()),_u(this.a.subList(mv(this,b),mv(this,a)))};var nH=vjc(166);fW(406,166,{166:1,15:1,16:1,45:1,65:1},yv);var lH=vjc(406);fW(639,1,oCc,zv);_.je=function Av(a){this.b.je(a);this.b.le();this.a=false};_.Kd=function Bv(){return this.b.ke()};_.ke=function Cv(){return this.b.Kd()}; +_.Ld=function Dv(){if(!this.b.ke())throw HV(new wxc);this.a=true;return this.b.le()};_.le=function Ev(){if(!this.b.Kd())throw HV(new wxc);this.a=true;return this.b.Ld()};_.Md=function Fv(){ee(this.a,gCc);this.b.Md();this.a=false};_.me=function Gv(a){de(this.a);this.b.me(a)};_.a=false;var mH=vjc(639);fW(303,116,uCc,Hv);_.getAtIndex=function Iv(a){return Yd(a,this.a.length),kjc(Okc(this.a,a))};_.subList=function Nv(a,b){return ce(a,b,this.a.length),new Hv(Zd(hlc(this.a,a,b)))};_.indexOf=function Jv(a){return qE(a, +153)?Wkc(this.a,olc(a.a)):-1};_.lastIndexOf=function Kv(a){return qE(a,153)?Zkc(this.a,olc(a.a)):-1};_.size=function Lv(){return this.a.length};_._e=function Mv(a,b){return ce(a,b,this.a.length),new Hv(Zd(hlc(this.a,a,b)))};var oH=vjc(303);fW(635,929,GCc,Ov);_.clear=function Pv(){this.a.clear()};_.getAtIndex=function Qv(a){return this.b.Pd(this.a.getAtIndex(a))};_.isEmpty=function Rv(){return this.a.isEmpty()};_.Qd=function Sv(){return new aw(this,this.a.Td(0))};_.Td=function Tv(a){return new aw(this, +this.a.Td(a))};_.removeAtIndex=function Uv(a){return this.b.Pd(this.a.removeAtIndex(a))};_.size=function Vv(){return this.a.size()};var qH=vjc(635);fW(407,189,oCc);_.Md=function $v(){this.b.Md()};_.je=function Xv(a){throw HV(new Nlc);};_.ke=function Yv(){return this.b.ke()};_.le=function Zv(){return this.hf(this.b.le())};_.me=function _v(a){throw HV(new Nlc);};var BI=vjc(407);fW(408,407,oCc,aw);_.hf=function bw(a){return this.a.b.Pd(a)};var pH=vjc(408);fW(634,937,HCc,cw);_.clear=function dw(){this.a.clear()}; +_.Td=function ew(a){return new gw(this,this.a.Td(a))};_.size=function fw(){return this.a.size()};var sH=vjc(634);fW(638,407,oCc,gw);_.hf=function hw(a){return this.a.b.Pd(a)};var rH=vjc(638);fW(648,189,OBc,rw);_.hf=function sw(a){return new Wq(a,this.a.Pd(a))};var tH=vjc(648);fW(649,167,sCc,tw);_.ee=function uw(){return this.a.ee()};_.fe=function vw(){return this.a.fe()};var uH=vjc(649);fW(191,14,ICc);var ww,xw;var xH=wjc(191,_S,Aw);fW(645,191,ICc,Bw);_.Pd=function Cw(a){return a.ee()};var vH=wjc(645, +xH,null);fW(646,191,ICc,Dw);_.Pd=function Ew(a){return a.fe()};var wH=wjc(646,xH,null);fW(961,928,dCc);_.clear=function Fw(){Ps(fz(this))};_.Yd=function Gw(){return new Hw(this)};var AH=vjc(961);fW(647,940,jCc,Hw);_.Qd=function Iw(){return fz(this.a)};_.Ke=function Jw(){return this.a};var zH=vjc(647);fW(644,909,VBc,Kw);_.clear=function Lw(){this.a.clear()};_.contains=function Mw(a){return this.a.containsValue(a)};_.isEmpty=function Nw(){return this.a.isEmpty()};_.Qd=function Ow(){return Zs(this.a.Yd().Qd(), +(yw(),xw))};_.remove=function Pw(b){var c,d;try{return Tc(this,b,true)}catch(a){a=GV(a);if(qE(a,20)){for(d=this.a.Yd().Qd();d.Kd();){c=d.Ld();if(Ld(b,c.fe())){this.a.remove(c.ee());return true}}return false}else throw HV(a);}};_.removeAll=function Qw(b){var c,d,e;try{return Wc(this,Zd(b))}catch(a){a=GV(a);if(qE(a,20)){e=new lvc;for(d=this.a.Yd().Qd();d.Kd();){c=d.Ld();b.contains(c.fe())&&ivc(e,c.ee())}return this.a.keySet().removeAll(e)}else throw HV(a);}};_.retainAll=function Rw(b){var c,d,e;try{return Xc(this, +Zd(b))}catch(a){a=GV(a);if(qE(a,20)){e=new lvc;for(d=this.a.Yd().Qd();d.Kd();){c=d.Ld();b.contains(c.fe())&&ivc(e,c.ee())}return this.a.keySet().retainAll(e)}else throw HV(a);}};_.size=function Sw(){return this.a.size()};var CH=vjc(644);fW(963,1,{});var NH=vjc(963);fW(966,1,{});var LH=vjc(966);fW(547,966,{},Vw);_.uf=function Ww(){return new evc(jw(this.a))};_.a=0;var EH=vjc(547);fW(887,966,{},Xw);_.uf=function Yw(){return new owc(jw(this.a))};_.a=0;var FH=vjc(887);fW(883,1,zCc,Zw);_.Hd=function $w(){return new tpc(this.a)}; +_.a=0;var GH=vjc(883);fW(884,1,zCc,_w);_.Hd=function ax(){return new mvc(jw(this.a))};_.a=0;var HH=vjc(884);fW(964,963,{});var IH=vjc(964);fW(885,964,{},cx);_.b=0;var JH=vjc(885);fW(965,963,{});var MH=vjc(965);fW(886,965,{},ex);_.b=0;var KH=vjc(886);fW(442,953,dCc,hx);_.Zd=function lx(a){return this.a.re(a)?this.a.ue(a):null};_.remove=function ox(a){return this.a.re(a)?this.a.ze(a):null};_.clear=function ix(){this.a.qe()};_.containsKey=function jx(a){return this.a.re(a)};_.Je=function kx(){return new qx(this)}; +_.Ie=function(){return this.Je()};_.isEmpty=function mx(){return this.a.ve()};_.keySet=function nx(){return this.a.we()};_.size=function px(){return this.a.we().size()};var QH=vjc(442);fW(751,940,jCc,qx);_.Qd=function rx(){return iw(this.a.a.we(),new ux(this))};_.Ke=function sx(){return this.a};_.remove=function tx(a){var b;if(!xj(this,a))return false;b=a;gx(this.a,b.ee());return true};var PH=vjc(751);fW(752,1,JCc,ux);_.Pd=function vx(a){return this.a.a.a.ue(a)};_.Dd=function wx(a){return this=== +a};var OH=vjc(752);fW(749,441,mCc,xx);_.vf=function yx(){return this.a.Hd()};_.Ee=function(){return this.vf()};var RH=vjc(749);fW(750,332,mCc,zx);_.wf=function Ax(){return this.a.Hd()};_.Me=function(){return this.wf()};var SH=vjc(750);fW(758,189,OBc,Fx);_.hf=function Gx(a){return a.b.ee()};var UH=vjc(758);fW(757,1,OBc,Hx);_.Kd=function Ix(){return this.d>0||this.c.Kd()};_.Ld=function Jx(){if(!(this.d>0||this.c.Kd()))throw HV(new wxc);if(this.d==0){this.b=this.c.Ld();this.f=this.d=Jl(this.b)}--this.d; +this.a=true;return this.b.b.ee()};_.Md=function Kx(){ee(this.a,gCc);this.f==1?this.c.Md():vl(this.e,this.b.b.ee(),1)>0;--this.f;this.a=false};_.a=false;_.d=0;_.f=0;var XH=vjc(757);fW(797,226,{226:1,3:1,132:1},Nx);_.Se=function Ox(a,b){return Zd(a),Zd(b),Vic(a,b)};_.Te=function Px(){var a;a=this.a;!a&&(a=this.a=new Rx(this));return a};_.Gd=function Qx(){return"Ordering.natural()"};var Lx;var YH=vjc(797);fW(288,226,{288:1,226:1,3:1,132:1},Rx);_.Se=function Sx(a,b){if(wE(a)===wE(b))return 0;if(a==null)return-1; +if(b==null)return 1;return this.a.Se(a,b)};_.Dd=function Tx(a){var b;if(a===this)return true;if(qE(a,288)){b=a;return this.a.Dd(b.a)}return false};_.Fd=function Ux(){return Ab(this.a)^957692532};_.Te=function Vx(){return this};_.Gd=function Wx(){return this.a+".nullsFirst()"};var ZH=vjc(288);fW(136,931,uCc,Zx);_.af=function $x(){return this.a};var bI=vjc(136);fW(268,225,wCc,_x,ay);var cI=vjc(268);fW(314,313,xCc,dy);var by;var dI=vjc(314);fW(237,337,{68:1,105:1,337:1,237:1,3:1,15:1,16:1,31:1,130:1}, +ey);_.Ye=function fy(){return new es(this,(Zn(),vo(new vqc(Xx(this,AD(nT,WBc,1,this.b.b.size(),5,1))))))};var eI=vjc(237);fW(936,908,jCc);_.Qd=function ry(){return this.Ze()};_.add=function oy(a){throw HV(new Nlc);};_.addAll=function py(a){throw HV(new Nlc);};_.clear=function qy(){throw HV(new Nlc);};_.remove=function sy(a){throw HV(new Nlc);};_.removeAll=function ty(a){throw HV(new Nlc);};_.retainAll=function uy(a){throw HV(new Nlc);};var kI=vjc(936);fW(629,936,jCc,xy);_.Qd=function By(){return wy(this)}; +_.contains=function yy(a){return this.a.contains(a)||this.b.contains(a)};_.isEmpty=function zy(){return this.a.isEmpty()&&this.b.isEmpty()};_.Ze=function Ay(){return new Dy(this.a,this.b)};_.size=function Cy(){var a,b,c;c=this.a.size();for(b=this.b.Qd();b.Kd();){a=b.Ld();this.a.contains(a)||++c}return c};var gI=vjc(629);fW(400,399,kCc,Dy);_.oe=function Ey(){var a;if(this.a.Kd())return this.a.Ld();while(this.b.Kd()){a=this.b.Ld();if(!this.c.contains(a))return a}return this.f=2,null};var fI=vjc(400); +fW(630,936,jCc,Fy);_.Qd=function Jy(){return new Ly(this.a,this.b)};_.contains=function Gy(a){return this.a.contains(a)&&!this.b.contains(a)};_.isEmpty=function Hy(){return this.b.containsAll(this.a)};_.Ze=function Iy(){return new Ly(this.a,this.b)};_.size=function Ky(){var a,b,c;c=0;for(b=this.a.Qd();b.Kd();){a=b.Ld();this.b.contains(a)||++c}return c};var iI=vjc(630);fW(401,399,kCc,Ly);_.oe=function My(){var a;while(this.a.Kd()){a=this.a.Ld();if(!this.c.contains(a))return a}return this.f=2,null}; +var hI=vjc(401);fW(300,935,{300:1,3:1,15:1,16:1,206:1,31:1,130:1},Ny);var lI=vjc(300);fW(427,426,wCc,Oy,Py);_.values=function Sy(){return Cn(),new Xy(this.c)};_.ce=function Ty(){return Cn(),new Xy(this.c)};_.lf=function Qy(){var a;return a=this.a,!a?this.a=new Py(this.c,this.b,this):a};_.mf=function Ry(){return Cn(),new Xy(this.c)};var mI=vjc(427);fW(78,931,uCc,Uy);_.af=function Vy(){return this.a};var nI=vjc(78);fW(73,105,xCc,Xy);_.Qd=function $y(){return new ct(this.a)};_.contains=function Yy(a){return Wy(this, +a)};_.Ze=function Zy(){return new ct(this.a)};_.size=function _y(){return 1};var oI=vjc(73);fW(876,1,OBc,bz);_.Ld=function dz(){return az(this)};_.Kd=function cz(){return Kwc(this.c)||this.a.Kd()};_.Md=function ez(){this.a.Md();this.b.e.isEmpty()&&Mwc(this.c)};var pI=vjc(876);fW(542,961,dCc,hz);_.clear=function iz(){var a;a=!this.a||this.a.isEmpty()&&iwc(this.c.a,this.b)?this.a=jwc(this.c.a,this.b):this.a;!!a&&a.clear();gz(this)};_.containsKey=function jz(a){var b;b=!this.a||this.a.isEmpty()&&iwc(this.c.a, +this.b)?this.a=jwc(this.c.a,this.b):this.a;return a!=null&&!!b&&nw(b,a)};_.Zd=function kz(a){var b;b=!this.a||this.a.isEmpty()&&iwc(this.c.a,this.b)?this.a=jwc(this.c.a,this.b):this.a;return a!=null&&!!b?ow(b,a):null};_.put=function lz(a,b){Zd(a);Zd(b);if(!!this.a&&!this.a.isEmpty())return this.a.put(a,b);return dq(this.c,this.b,a,b)};_.remove=function mz(a){var b,c;b=!this.a||this.a.isEmpty()&&iwc(this.c.a,this.b)?this.a=jwc(this.c.a,this.b):this.a;if(!b)return null;c=pw(b,a);gz(this);return c}; +_.size=function nz(){var a;a=!this.a||this.a.isEmpty()&&iwc(this.c.a,this.b)?this.a=jwc(this.c.a,this.b):this.a;return!a?0:a.size()};var vI=vjc(542);fW(879,1,OBc,oz);_.Ld=function qz(){return new sz(this.b.Ld())};_.Kd=function pz(){return this.b.Kd()};_.Md=function rz(){this.b.Md();gz(this.a)};var qI=vjc(879);fW(880,957,hCc,sz);_.de=function tz(){return this.a};_.Dd=function uz(a){return wg(this,a)};_.ge=function vz(a){return vg(this,Zd(a))};var rI=vjc(880);fW(365,953,dCc,wz);_.Zd=function zz(a){return this.a.gf(a)? +new hz(this.a,a):null};_.remove=function Az(a){return a==null?null:mwc(this.a.a,a)};_.containsKey=function xz(a){return this.a.gf(a)};_.Je=function yz(){return new Ez(this)};_.Ie=function(){return this.Je()};var uI=vjc(365);fW(877,939,jCc);_.clear=function Cz(){hwc(this.b.a)};_.isEmpty=function Dz(){return rmc(this.b.a.c)==0};var wI=vjc(877);fW(878,877,jCc,Ez);_.contains=function Fz(a){var b;if(qE(a,48)){b=a;return b.ee()!=null&&qE(b.fe(),44)&&Gm(new Ewc(this.a.a.a),b)}return false};_.Qd=function Gz(){return iw(new inc(this.a.a.a), +new Jz(this))};_.remove=function Hz(a){var b;if(qE(a,48)){b=a;return b.ee()!=null&&qE(b.fe(),44)&&Dwc(new Ewc(this.a.a.a),b)}return false};_.size=function Iz(){return rmc(this.a.a.a.c)};var tI=vjc(878);fW(881,1,JCc,Jz);_.Pd=function Kz(a){return new hz(this.a.a.a,a)};_.Dd=function Lz(a){return this===a};var sI=vjc(881);fW(967,1,{976:1});_.Dd=function Nz(a){var b;if(a===this)return true;if(qE(a,251)){b=a;return Ld(this.b,b.b)&&Ld(this.a,b.a)&&Ld(this.c,b.c)}return false};_.Fd=function Oz(){return fqc(DD(yD(nT, +1),WBc,1,5,[this.b,this.a,this.c]))};_.Gd=function Pz(){return"("+this.b+","+this.a+")="+this.c};var yI=vjc(967);fW(251,967,{976:1,251:1,3:1},Qz);var zI=vjc(251);fW(734,950,dCc,Rz);_.Xd=function Sz(){return this.a};_.Yd=function Tz(){var a;a=this.b;if(a)return a;return this.b=new Uz(this)};var HI=vjc(734);fW(735,940,jCc,Uz);_.Qd=function Vz(){var a;return new Xz(this,(a=(new inc(this.a.a)).a.Yd().Qd(),new onc(a)))};_.Ke=function Wz(){return this.a};var GI=vjc(735);fW(736,189,OBc,Xz);_.hf=function Yz(a){return new Zz(this, +a)};var FI=vjc(736);fW(737,167,sCc,Zz);_.ee=function $z(){return this.b};_.fe=function _z(){return Bf(this.a.a.a,this.b)};_.ge=function aA(a){return Cf(this.a.a.a,this.b,a)};var EI=vjc(737);fW(958,1,{});var bA;var NI=vjc(958);fW(235,1,{235:1},kA);_.Dd=function lA(a){return hA(this,a)};_.Fd=function mA(){return eqc(this.c)};_.Gd=function nA(){return this.f};_.a=0;_.b=0;_.d=0;var II=vjc(235);fW(149,958,{149:1},rA);_.Dd=function sA(a){var b;if(qE(a,149)){b=a;return hA(this.b,b.b)&&Ld(this.c,b.c)}return false}; +_.Fd=function tA(){return eqc(this.b.c)^fqc(DD(yD(nT,1),WBc,1,5,[this.c]))};_.Gd=function uA(){var a;a=new Klc("BaseEncoding.");Dlc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()",a):Dlc(Clc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var MI=vjc(149);fW(455,149,{149:1},wA);var JI=vjc(455);fW(336,149,{149:1},zA);var KI=vjc(336);fW(38,1,{3:1,38:1});_.xf=function IA(a){return new Error(a)};_.yf=function KA(){return this.e};_.zf=function LA(){var a,b,c;c=this.e==null?null:this.e.replace(new RegExp(RCc, +"g")," ");b=(a=qjc(this.Oj),c==null?a:a+PCc+c);CA(this,JA(this.xf(b)));kD(this)};_.Gd=function NA(){return EA(this,this.yf())};_.backingJsObject=NCc;_.g=true;var tT=vjc(38);fW(40,38,{3:1,40:1,38:1});var bT=vjc(40);fW(102,40,{102:1,3:1,40:1,38:1});var SS=vjc(102);fW(198,102,{198:1,102:1,3:1,40:1,38:1},PA);var LI=vjc(198);var WA;var ZA;fW(118,1,{},cB);_.a=0;_.b=0;var OI=vjc(118);fW(423,1,{},kB);_.b=0;_.c=null;var WI=vjc(423);fW(702,1,{},mB);var QI=vjc(702);fW(703,1,{},sB);_.b=0;_.c=0;_.d=0;_.e=0;_.f= +0;_.g=0;var RI=vjc(703);fW(424,1,{903:1},tB);_.Af=function uB(){return this.e};_.Bf=function vB(){return-1};_.Cf=function wB(){return-1};_.Df=function xB(){return-1};_.Ef=function yB(){return-1};_.e=0;var UI=vjc(424);fW(425,424,{903:1},zB);_.Bf=function AB(){return-1};_.Cf=function BB(){return this.b};_.Df=function CB(){return this.c};_.Ef=function DB(){return this.d};_.b=0;_.c=0;_.d=0;var VI=vjc(425);fW(705,425,{903:1},EB);_.Bf=function FB(){return this.a};_.a=0;var SI=vjc(705);fW(704,1,{},JB);_.b= +0;_.c=0;var TI=vjc(704);fW(698,1,{},RB);_.c=null;_.d=-1;var aJ=vjc(698);fW(699,1,{},WB);var XI=vjc(699);fW(701,1,{},ZB);_.Ff=function $B(a,b,c,d,e){var f;this.d!=b&&(this.c=0);if(b!=d||c!=e)if(b=0);new cB(c,b)}};_.tg=function L_(){return this.i.a.length>0?yic(this.i,this.i.a.length-1):0};_.Ag=function M_(a){var b,c,d,e;de(!!this.p);de(!!a);if(this.j&&(b=$0b(a,51),(!b?null:b.Ig())!=null)&&i2b(a.i)>0){d=this.k;c=this.n;de(d>=0);e=new X_; +e.b=a;e.c=new cB(d,c);null.Rj();null.Rj()}};_.j=false;_.k=0;_.n=0;_.o=0;var LJ=vjc(436);fW(732,436,{},Q_);_.hg=function R_(a){N_(this,a)};_.og=function S_(){var a;if(!this.c)return;if(this.n>(this.o/2|0)){N_(this,";");P_(this)}else if(this.e>0){Aic(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;a=this.e-this.f+1;H_(this,this.k,a,false);--this.k;this.e=0;this.f=0;N_(this,";");P_(this)}};_.vg=function T_(){O_(this)};_.xg=function U_(){var a,b;if(this.a)if(this.q){P_(this);this.q=false}b= +this.i.a.length;if(this.d==b-1){a=yic(this.i,b-1);a==59&&(this.d=b)}O_(this)};_.yg=function V_(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var JJ=vjc(732);fW(435,1,{435:1},X_);_.Gd=function Y_(){return"Mapping: start "+this.c+", end "+this.a+", node "+this.b};var KJ=vjc(435);fW(731,436,{},__);_.gg=function a0(b,c){var d,e;if(b==0&&1/b<0){x$(this,b);return}e=m0(c);if(e==null){x$(this,b);return}b<0&&(e="-"+e);try{d=Njc(e)}catch(a){a=GV(a);if(qE(a,92)){x$(this,b);return}else throw HV(a); +}if(b!=d){x$(this,b);return}w$(this,e)};_.hg=function b0(a){Z_(this,a)};_.ig=function c0(){C$(this);$_(this);--this.a;Z_(this,"}")};_.jg=function d0(){(this.i.a.length>0?yic(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?yic(this.i,this.i.a.length-1):0)!=10&&w$(this," ");Z_(this,"{");++this.a};_.kg=function e0(a,b){(this.i.a.length>0?yic(this.i,this.i.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&Z_(this," ");Z_(this,a);b&&Z_(this," ")};_.lg=function f0(){Z_(this,":");++this.a;$_(this)};_.mg= +function g0(a,b){var c,d;ee(a.j==(o6b(),M3b),a);c=a.e;d=c.j;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 78:return!Cib(!c.e?null:c.e.e);case 66:return a==(c.b?c.b.f:null)}return true};_.ng=function h0(){--this.a};_.og=function i0(){C$(this)};_.pg=function j0(a){this.q=true;a&&$_(this);a&&$_(this)};_.qg=function k0(){$_(this)};_.sg=function l0(a){Z_(this,";");$_(this);this.r=false};_.ug=function n0(){w$(this,TBc);this.n>this.o&&$_(this)};_.vg=function o0(){this.n>this.o&&$_(this)}; +_.wg=function p0(){(this.i.a.length>0?yic(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?yic(this.i,this.i.a.length-1):0)!=10&&w$(this," ")};_.xg=function q0(){this.n>this.o&&$_(this)};_.zg=function r0(){return true};_.a=0;var MJ=vjc(731);fW(403,1,{},s0);var NJ=vjc(403);fW(270,14,{270:1,3:1,21:1,14:1},w0);var t0,u0;var OJ=wjc(270,_S,x0);fW(670,1,MBc,z0);_._f=function A0(a){return y0(a)};_.ag=function B0(a){return null};_.bg=function C0(a){return false};_.cg=function D0(a){return false};_.dg= +function E0(a){return Tkc(a.substr(0,6),"$super")};_.eg=function F0(a){return q1b(a.b,EDc)};var PJ=vjc(670);fW(380,563,{});_.Kf=function _1(a,b){Ezc(this.w,a,b)};_.Lf=function c2(){return this.K};_.Mf=function d2(){return this.L};_.Nf=function e2(a){var b,c,d;if(!this.M||!this.p)if(!this.M){c=d1(this,this.L.Tb);d=q3(this.L)?0:1;this.M=(b=kIb(c,this.L.nc,d),b);this.p=c==(NDb(),HDb)?S0(this,IDb,d):this.M}switch(a){case 1:return this.p;default:return this.M}};_.Of=function f2(){return k1(this)};_.Pf= +function g2(){return this.u};_.Qf=function h2(a){var b;b=new Mlb(this);Klb(b,null,a)};_.Xf=function i2(a,b){N1(this,b)};_.Rf=function j2(a){N1(this,a)};_.Sf=function k2(a){O1(this,a)};_.Cg=function l2(a){var b;de(a.j==(o6b(),y4b));b=x1b(a,a.g,94);b!=a.g&&(a.g=b);a.g=new D2b(94,1,a.g);Gpb(this.b,a);Fpb(this.i,a)};_.Tf=function(a){this.Cg(a)};_.a=1;_.d=null;_.e=null;_.n=null;_.p=null;_.u=true;_.F=null;_.L=null;_.M=null;_.N=null;_.O=null;_.P=0;_.T=null;_.U=null;_.V=0;_.Y=0;var G0,H0,I0,J0,K0,L0;var lK= +vjc(380);fW(57,1,JEc);_.Eg=function n2(){return QJb(),HJb};_.Gd=function o2(){return this.b};_.a=false;var vM=vjc(57);fW(562,57,JEc,q2);_.Dg=function r2(a){return p2(a)};var TJ=vjc(562);fW(376,1,{},t2);_.Fg=function u2(){return s2(this)};var RJ=vjc(376);fW(579,1,{},w2);_.Fg=function x2(){return v2(this)};_.c=0;var SJ=vjc(579);fW(570,1,{},y2);_.Fg=function z2(){return F1(this.a),null};var UJ=vjc(570);fW(571,1,{},A2);_.Fg=function B2(){return w3(this.a.L)&&G1(this.a),null};var VJ=vjc(571);fW(569,1, +{},C2);_.Fg=function D2(){return H1(this.a),null};var WJ=vjc(569);fW(568,1,{},E2);_.Fg=function F2(){return A1(this.a),null};var XJ=vjc(568);fW(120,1,{212:1},G2);_.Hd=function H2(){return""+this.a.Y++};var YJ=vjc(120);fW(582,1,{},L2);_.Gd=function M2(){return this.c.a};_.a=0;_.b=0;var ZJ=vjc(582);fW(143,1,{143:1,900:1,3:1},Y2,Z2,$2);_.Gg=function a3(a){return R2(this,a)};_.Hg=function b3(){return this.f};_.Ig=function c3(){return this.f.a};_.Jg=function d3(){return S2(this).c};_.Kg=function e3(){return S2(this).d}; +_.Lg=function f3(){return this.a.Lg()};_.Gd=function g3(){return this.f.a};var _J=vjc(143);fW(651,1,{},k3);var $J=vjc(651);fW(159,1,MBc,x3);_.Gd=function z3(){var a;a=Hd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Gd(new Id((ojc(kK), +kK.n))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",fEc),"ambiguateProperties",""+this.f),"angularPass",""+this.g),"anonymousFunctionNaming",this.i),"appNameStr",this.j),"assumeClosuresOnlyCaptureReferences",""+this.k),"assumeStrictThis",""+this.n),"brokenClosureRequiresLevel",this.o),"chainCalls",""+this.p),"checkDeterminism",""+this.q),"checkGlobalNamesLevel",this.r),"checkGlobalThisLevel", +this.s),"checkMissingGetCssNameBlacklist",this.t),"checkMissingGetCssNameLevel",this.u),"checksOnly",""+this.B),"checkSuspiciousCode",""+this.v),"checkSymbols",""+this.w),LEc,""+this.A),"closurePass",""+this.C),"coalesceVariableNames",""+this.D),"codingConvention",this.F),"collapseAnonymousFunctions",""+this.G),MEc,""+this.H),"collapseProperties",""+this.I),"collapseVariableDeclarations",""+this.J),"colorizeErrorOutput",""+this.K),"computeFunctionSideEffects",""+this.L),"conformanceConfigs",this.M), +"continueAfterErrors",fEc),"convertToDottedProperties",""+this.N),"crossModuleCodeMotion",""+this.O),"crossModuleCodeMotionNoStubMethods",""+this.P),"crossModuleMethodMotion",""+this.Q),"cssRenamingMap",this.R),"cssRenamingWhitelist",this.S),"customPasses",this.T),"dartPass",""+this.U),"deadAssignmentElimination",""+this.V),"debugFunctionSideEffectsPath",this.W),"declaredGlobalExternsOnWindow",""+this.X),"defineReplacements",y3(this.Y)),"dependencyOptions",this.Z),"devirtualizePrototypeMethods",""+ this._),"devMode",this.$),"disambiguatePrivateProperties",""+this.ab),"disambiguateProperties",""+this.bb),"enforceAccessControlCodingConventions",""+this.db),"environment",this.eb),"errorFormat",this.fb),"errorHandler",this.gb),"exportLocalPropertyDefinitions",""+this.hb),"exportTestFunctions",""+this.ib),"externExports",""+this.jb),"externExportsPath",this.kb),"extraAnnotationNames",this.lb),"extractPrototypeMemberDeclarations",this.nb),"extraSmartNameRemoval",""+this.mb),"flowSensitiveInlineVariables", -""+this.pb),"foldConstants",""+this.qb),"forceLibraryInjection",this.rb),"gatherCssNames",""+this.sb),"generateExportsAfterTypeChecking",""+this.ub),"generateExports",""+this.tb),"generatePseudoNames",""+this.vb),"generateTypedExterns",cEc),"idGenerators",this.wb),"idGeneratorsMapSerialized",this.xb),"inferConsts",""+this.yb),"inferTypes",""+this.zb),"inlineConstantVars",""+this.Ab),JEc,""+this.Bb),"inlineGetters",""+this.Cb),"inlineLocalFunctions",""+this.Db),"inlineLocalVariables",""+this.Eb),"inlineProperties", -""+this.Fb),KEc,""+this.Gb),"inputAnonymousFunctionNamingMap",this.Hb),"inputDelimiter",this.Ib),"inputPropertyMap",this.Jb),"inputSourceMaps",this.Kb),"inputVariableMap",this.Lb),"instrumentationTemplateFile",this.Pb),"instrumentationTemplate",this.Ob),"instrumentForCoverage",""+this.Nb),"instrumentForCoverageOnly",cEc),"instrumentBranchCoverage",""+this.Mb),"j2clPassMode",this.Rb),"labelRenaming",""+this.Sb),"languageIn",this.Tb),"languageOut",q3(this)),"legacyCodeCompile",cEc),"lineBreak",""+this.Vb), -"lineLengthThreshold",""+this.Wb),LEc,this.Xb),"markAsCompiled",""+this.Yb),"markNoSideEffectCalls",""+this.Zb),"maxFunctionSizeAfterInlining",""+this.$b),"messageBundle",null),"moduleRoots",this.ac),"moveFunctionDeclarations",""+this.bc),"nameGenerator",this.cc),"optimizeArgumentsArray",""+this.ec),"optimizeCalls",""+this.fc),"optimizeParameters",""+this.gc),"optimizeReturns",""+this.hc),"outputCharset",this.ic),"outputJs",this.jc),"outputJsStringUsage",""+this.kc),"parentModuleCanSeeSymbolsDeclaredInChildren", -""+this.mc),"parseJsDocDocumentation",this.nc),"polymerVersion",this.oc),"preferLineBreakAtEndOfFile",""+this.pc),"preferSingleQuotes",""+this.qc),"preferStableNames",""+this.rc),"preserveDetailedSourceInfo",cEc),"preserveGoogProvidesAndRequires",""+this.sc),"preserveTypeAnnotations",""+this.tc),"prettyPrint",""+this.uc),"preventLibraryInjection",cEc),"printConfig",cEc),"printInputDelimiter",""+this.vc),"printSourceAfterEachPass",""+this.wc),"processCommonJSModules",cEc),"processObjectPropertyString", -""+this.xc),"propertyInvalidationErrors",this.yc),"propertyRenaming",this.zc),"protectHiddenSideEffects",""+this.Ac),"quoteKeywordProperties",""+this.Bc),CEc,""+this.Cc),"removeAbstractMethods",""+this.Dc),"removeSuperMethods",""+this.Hc),"removeClosureAsserts",""+this.Ec),"removeJ2clAsserts",""+this.Gc),"removeDeadCode",""+this.Fc),MEc,""+this.Ic),"removeUnusedConstructorProperties",""+this.Jc),"removeUnusedLocalVars",""+this.Kc),"removeUnusedPrototypePropertiesInExterns",""+this.Mc),NEc,""+this.Lc), -OEc,""+this.Nc),"renamePrefixNamespaceAssumeCrossModuleNames",cEc),"renamePrefixNamespace",this.Pc),"renamePrefix",this.Oc),"replaceIdGenerators",""+this.Qc),"replaceMessagesWithChromeI18n",""+this.Rc),"replaceStringsFunctionDescriptions",this.Sc),"replaceStringsInputMap",this.Tc),"replaceStringsPlaceholderToken",this.Uc),"replaceStringsReservedStrings",this.Vc),"reportOTIErrorsUnderNTI",cEc),"reportPath",this.Wc),"reserveRawExports",""+this.Xc),"rewriteFunctionExpressions",""+this.Zc),"rewritePolyfills", -cEc),"runtimeTypeCheckLogFunction",this.ad),"runtimeTypeCheck",""+this._c),"shadowVariables",""+this.bd),"skipNonTranspilationPasses",""+this.cd),"smartNameRemoval",""+this.dd),"sourceMapDetailLevel",this.ed),"sourceMapFormat",this.fd),"sourceMapLocationMappings",this.gd),"sourceMapOutputPath",this.hd),"stripNamePrefixes",this.jd),"stripNameSuffixes",this.kd),"stripTypePrefixes",this.ld),"stripTypes",this.md),"summaryDetailLevel",""+this.nd),"syntheticBlockEndMarker",this.od),"syntheticBlockStartMarker", -this.pd),"tcProjectId",this.qd),"tracer",this.rd),"transformAMDToCJSModules",cEc),"trustedStrings",""+this.sd),"tweakProcessing",this.td),"tweakReplacements",x3(this.ud)),"useDebugLog",""+this.vd),"useNewTypeInference",""+this.wd),"emitUseStrict",this.cb),"useTypesForLocalOptimization",""+this.yd),"variableRenaming",this.zd),"warningsGuard",this.Ad),"wrapGoogModulesForWhitespaceOnly",""+this.Bd));return a};_.a=false;_.b=false;_.f=false;_.g=false;_.k=false;_.n=false;_.p=false;_.q=false;_.v=false;_.w= +""+this.pb),"foldConstants",""+this.qb),"forceLibraryInjection",this.rb),"gatherCssNames",""+this.sb),"generateExportsAfterTypeChecking",""+this.ub),"generateExports",""+this.tb),"generatePseudoNames",""+this.vb),"generateTypedExterns",fEc),"idGenerators",this.wb),"idGeneratorsMapSerialized",this.xb),"inferConsts",""+this.yb),"inferTypes",""+this.zb),"inlineConstantVars",""+this.Ab),NEc,""+this.Bb),"inlineGetters",""+this.Cb),"inlineLocalFunctions",""+this.Db),"inlineLocalVariables",""+this.Eb),"inlineProperties", +""+this.Fb),OEc,""+this.Gb),"inputAnonymousFunctionNamingMap",this.Hb),"inputDelimiter",this.Ib),"inputPropertyMap",this.Jb),"inputSourceMaps",this.Kb),"inputVariableMap",this.Lb),"instrumentationTemplateFile",this.Pb),"instrumentationTemplate",this.Ob),"instrumentForCoverage",""+this.Nb),"instrumentForCoverageOnly",fEc),"instrumentBranchCoverage",""+this.Mb),"j2clPassMode",this.Rb),"labelRenaming",""+this.Sb),"languageIn",this.Tb),"languageOut",r3(this)),"legacyCodeCompile",fEc),"lineBreak",""+this.Vb), +"lineLengthThreshold",""+this.Wb),PEc,this.Xb),"markAsCompiled",""+this.Yb),"markNoSideEffectCalls",""+this.Zb),"maxFunctionSizeAfterInlining",""+this.$b),"messageBundle",null),"moduleRoots",this.ac),"moveFunctionDeclarations",""+this.bc),"nameGenerator",this.cc),"optimizeArgumentsArray",""+this.ec),"optimizeCalls",""+this.fc),"optimizeParameters",""+this.gc),"optimizeReturns",""+this.hc),"outputCharset",this.ic),"outputJs",this.jc),"outputJsStringUsage",""+this.kc),"parentModuleCanSeeSymbolsDeclaredInChildren", +""+this.mc),"parseJsDocDocumentation",this.nc),"polymerVersion",this.oc),"preferLineBreakAtEndOfFile",""+this.pc),"preferSingleQuotes",""+this.qc),"preferStableNames",""+this.rc),"preserveDetailedSourceInfo",fEc),"preserveGoogProvidesAndRequires",""+this.sc),"preserveTypeAnnotations",""+this.tc),"prettyPrint",""+this.uc),"preventLibraryInjection",fEc),"printConfig",fEc),"printInputDelimiter",""+this.wc),"printSourceAfterEachPass",""+this.xc),"processCommonJSModules",fEc),"processObjectPropertyString", +""+this.yc),"propertyInvalidationErrors",this.zc),"propertyRenaming",this.Ac),"protectHiddenSideEffects",""+this.Bc),"quoteKeywordProperties",""+this.Cc),GEc,""+this.Dc),"removeAbstractMethods",""+this.Ec),"removeSuperMethods",""+this.Ic),"removeClosureAsserts",""+this.Fc),"removeJ2clAsserts",""+this.Hc),"removeDeadCode",""+this.Gc),QEc,""+this.Jc),"removeUnusedConstructorProperties",""+this.Kc),"removeUnusedLocalVars",""+this.Lc),"removeUnusedPrototypePropertiesInExterns",""+this.Nc),REc,""+this.Mc), +SEc,""+this.Oc),"renamePrefixNamespaceAssumeCrossModuleNames",fEc),"renamePrefixNamespace",this.Qc),"renamePrefix",this.Pc),"replaceIdGenerators",""+this.Rc),"replaceMessagesWithChromeI18n",""+this.Sc),"replaceStringsFunctionDescriptions",this.Tc),"replaceStringsInputMap",this.Uc),"replaceStringsPlaceholderToken",this.Vc),"replaceStringsReservedStrings",this.Wc),"reportOTIErrorsUnderNTI",fEc),"reportPath",this.Xc),"reserveRawExports",""+this.Yc),"rewriteFunctionExpressions",""+this.$c),"rewritePolyfills", +fEc),"runtimeTypeCheckLogFunction",this.bd),"runtimeTypeCheck",""+this.ad),"shadowVariables",""+this.cd),"skipNonTranspilationPasses",""+this.dd),"smartNameRemoval",""+this.ed),"sourceMapDetailLevel",this.fd),"sourceMapFormat",this.gd),"sourceMapLocationMappings",this.hd),"sourceMapOutputPath",this.jd),"stripNamePrefixes",this.kd),"stripNameSuffixes",this.ld),"stripTypePrefixes",this.md),"stripTypes",this.nd),"summaryDetailLevel",""+this.od),"syntheticBlockEndMarker",this.pd),"syntheticBlockStartMarker", +this.qd),"tcProjectId",this.rd),"tracer",this.sd),"transformAMDToCJSModules",fEc),"trustedStrings",""+this.td),"tweakProcessing",this.ud),"tweakReplacements",y3(this.vd)),"useDebugLog",""+this.wd),"useNewTypeInference",""+this.xd),"emitUseStrict",this.cb),"useTypesForLocalOptimization",""+this.zd),"variableRenaming",this.Ad),"warningsGuard",this.Bd),"wrapGoogModulesForWhitespaceOnly",""+this.Cd));return a};_.a=false;_.b=false;_.f=false;_.g=false;_.k=false;_.n=false;_.p=false;_.q=false;_.v=false;_.w= false;_.A=false;_.B=false;_.C=false;_.D=false;_.G=false;_.H=false;_.I=false;_.J=false;_.K=false;_.L=false;_.N=false;_.O=false;_.P=false;_.Q=false;_.U=false;_.V=false;_.X=false;_._=false;_.ab=false;_.bb=false;_.db=false;_.hb=false;_.ib=false;_.jb=false;_.mb=false;_.pb=false;_.qb=false;_.sb=false;_.tb=false;_.ub=false;_.vb=false;_.yb=true;_.zb=false;_.Ab=false;_.Bb=false;_.Cb=false;_.Db=false;_.Eb=false;_.Fb=false;_.Gb=false;_.Ib="// Input %num%";_.Mb=false;_.Nb=false;_.Sb=false;_.Vb=false;_.Wb=500; -_.Yb=false;_.Zb=false;_.$b=0;_.bc=false;_.dc=0;_.ec=false;_.fc=false;_.gc=false;_.hc=false;_.kc=false;_.mc=false;_.pc=false;_.qc=false;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.xc=false;_.Ac=false;_.Bc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=true;_.Hc=false;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Mc=false;_.Nc=false;_.Qc=true;_.Rc=false;_.Xc=false;_.Yc=true;_.Zc=false;_.$c=true;_._c=false;_.bd=false;_.cd=false;_.dd=false;_.nd=1;_.sd=false;_.vd=false; -_.wd=false;_.xd=true;_.yd=false;_.Bd=true;var k3;var kK=tjc(159);fW(184,14,{184:1,3:1,21:1,14:1},E3);var z3,A3,B3,C3;var aK=ujc(184,_S,F3);fW(259,14,{259:1,3:1,21:1,14:1},J3);var G3,H3;var bK=ujc(259,_S,K3);fW(215,14,{215:1,3:1,21:1,14:1},P3);var L3,M3,N3;var cK=ujc(215,_S,Q3);fW(163,14,{163:1,3:1,21:1,14:1},X3);var R3,S3,T3,U3,V3;var dK=ujc(163,_S,Y3);fW(123,14,{123:1,3:1,21:1,14:1},j4);var Z3,$3,_3,a4,b4,c4,d4,e4,f4;var eK=ujc(123,_S,k4);fW(602,1,{},l4);var fK=tjc(602);fW(216,14,{216:1,3:1,21:1, -14:1},q4);var m4,n4,o4;var gK=ujc(216,_S,r4);fW(162,14,{162:1,3:1,21:1,14:1},y4);var s4,t4,u4,v4,w4;var hK=ujc(162,_S,z4);fW(217,14,{217:1,3:1,21:1,14:1},E4);var A4,B4,C4;var iK=ujc(217,_S,F4);fW(194,22,SCc,H4);var jK=tjc(194);fW(182,1,UEc);_.Lg=function I4(a){return false};_.Mg=function J4(a){return false};_.Ng=function K4(a){return 2};_.Og=function L4(){return(rtb(),ktb).a};var RN=tjc(182);fW(209,182,{209:1,182:1,3:1},T4);_.Lg=function U4(a){return O4(this,a)};_.Mg=function V4(a){return P4(this, -a)};_.Ng=function W4(a){return Q4(this,a)};_.Pg=function X4(a){return R4(this,a)};_.Fd=function Y4(){var a;return Oc(new Qc(RBc),(a=(new goc(this.c.a)).a.Xd().b.Hj(),new moc(a)))};_.a=false;_.d=0;var nK=tjc(209);fW(624,1,VEc,$4);_.Re=function _4(a,b){return Z4(this,a,b)};_.Cd=function a5(a){return this===a};_.Te=function b5(){return new Rtc(this)};var mK=tjc(624);var c5;fW(618,1,KBc,k5);var e5,f5;var pK=tjc(618);fW(298,1,{298:1,3:1,21:1},n5);_.Ud=function o5(a){return m5(this,a)};_.a=0;_.b=0;_.c= -0;var oK=tjc(298);fW(603,1,KBc,q5);_.Fd=function r5(){return Hd(Fd(Fd(Fd(Fd(new Id((mjc(qK),qK.n)),"sortDependencies",""+this.b),"pruneDependencies",cEc),"dropMoochers",cEc),"entryPoints",this.a))};_.b=false;var qK=tjc(603);fW(50,1,{50:1,3:1},w5,x5,y5,z5);_.Fd=function B5(){var a;return this.a==null?(mjc(sK),sK.p+"@"+(a=kBc(this)>>>0,a.toString(16))):"DiagnosticGroup<"+this.a+">"};var s5;var sK=tjc(50);fW(110,182,UEc,C5);_.Lg=function D5(a){return this.b==(tZ(),rZ)&&u5(this.a,a)};_.Mg=function E5(a){var b, -c;if(this.b!=(tZ(),rZ))for(c=a.b.Pd();c.Jd();){b=c.Kd();if(v5(this.a,b))return true}return false};_.Ng=function F5(a){if(a.a!=null&&Rkc(a.a,this.a.a))return this.b!=(tZ(),rZ)?0:1;return 2};_.Pg=function G5(a){return v5(this.a,a.g)?this.b:null};_.Fd=function H5(){return this.a+"("+this.b+")"};var rK=tjc(110);var I5,J5,K5,L5,M5,N5,O5,P5,Q5,R5,S5,T5,U5,V5,W5,X5,Y5,Z5,$5,_5,a6,b6,c6,d6;fW(5,1,{5:1,3:1,21:1},j6);_.Ud=function k6(a){return Nkc(this.b,a.b)};_.Cd=function l6(a){return i6(this,a)};_.Ed=function m6(){return qBc(this.b)}; -var tK=tjc(5);var n6,o6;fW(846,1,xFc,w6);_.Tf=function x6(a,b){eqb(this.a,a,DD(yD($L,1),UBc,26,0,[this]));eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function y6(a,b,c){switch(b.j.f){case 112:v6(this,a,b,c);break;case 101:_ab();T0(this.a,yFc+hlc(zFc,(oxc(),mxc)),false);break;case 102:W0b(b,62)!=0&&(_ab(),T0(this.a,yFc+hlc(zFc,(oxc(),mxc)),false));_ab();T0(this.a,qFc,false);break;case 86:case 87:if(q3(this.a.L)==(g4(),Z3)){bbb(this.a,b,AFc);return false}break;case 65:if(b.j==(m6b(),w4b)&&W0b(b, -61)!=0)throw HV(new Ujc(BFc));}return true};_.Zf=function z6(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 29:g=Y0b(b,51);!(!!g&&g.vh())&&s6(a,b)&&(T0(this.a,qFc,false),h=(Vhb(),hib(b,Uhb)),i=eYb(YXb(ojb(this.a,"$jscomp.initSymbol"),DD(yD(VR,1),EDc,7,0,[]))),G0b(h.e,U1b(i,h),h),O1(this.a,i),undefined);break;case 26:f=Y0b(b,51);!!f&&f.vh()||u6(this,a,b);break;case 42:case 23:case 28:for(e=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();e.Jd();){d=e.Kd();if(d.j==(m6b(),O5b)){t6(this,b,c);break}}break;case 65:W0b(b, -59)!=0&&K9(this.a,true)}};var q6;var uK=tjc(846);fW(135,14,CFc);var A6,B6,C6,D6;var zK=ujc(135,_S,G6);fW(619,135,CFc,H6);var vK=ujc(619,zK,null);fW(620,135,CFc,I6);var wK=ujc(620,zK,null);fW(621,135,CFc,J6);var xK=ujc(621,zK,null);fW(622,135,CFc,L6);var yK=ujc(622,zK,null);fW(844,945,xFc,T6);_.Tf=function U6(a,b){eqb(this.a,a,DD(yD($L,1),UBc,26,0,[this]));eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Zf=function V6(a,b,c){var d,e;if(b.j==(m6b(),S3b)){d=false;for(e=(b.b?b.b.f:null).b;e;e=e.d)if(e.j== -_4b&&Rkc(e.ni(),HFc)){d=true;break}d||O6(this,b)}else b.j==U5b&&P6(this,b,c)};var M6;var GK=tjc(844);fW(845,1,JFc,X6);_.Md=function Y6(a){return W6(a)};_.Cd=function Z6(a){return this===a};var AK=tjc(845);fW(840,1,xFc,f7);_.Tf=function g7(a,b){this.c=new xcb(this.a,a,b);eqb(this.a,a,DD(yD($L,1),UBc,26,0,[this]));eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function h7(a,b,c){var d,e;if(b.j==(m6b(),w4b))uoc(this.b,new m7(b));else if(b.j==U5b){e=c.j==N3b?c:c.e;ee(e.j==N3b,e);d=Zd(Coc(this.b));epc(d.b, -e)}return true};_.Zf=function i7(a,b,c){var d;d=Coc(this.b);if(!!d&&b==d.a){Ioc(this.b);e7(this,a,d)}};var FK=tjc(840);fW(843,1,wDc,j7);_.Yf=function k7(a,b,c){return ipc(this.a,b,0)==-1&&!(b.j==(m6b(),w4b)&&!(b.j==w4b&&W0b(b,60)!=0))};_.Zf=function l7(a,b,c){var d;if(b.j==(m6b(),Z5b)){d=T1b((ie(Ukc(VFc,mlc(46))==-1,DDc,VFc),new Y2b(e5b,VFc)),b);w1b(c,b,d)}else b.j==H5b&&!b.b&&I0b(b,T1b((ie(Ukc(VFc,mlc(46))==-1,DDc,VFc),new Y2b(e5b,VFc)),b))};var BK=tjc(843);fW(533,1,{533:1},m7);var CK=tjc(533);fW(841, -1,{},o7);_.a=false;var EK=tjc(841);fW(948,1,wDc);_.Yf=function p7(a,b,c){return!c||c.j!=(m6b(),w4b)||b==c.b};var ZL=tjc(948);fW(842,948,wDc,q7);_.Zf=function r7(a,b,c){this.a.a||b.j==(m6b(),H5b)&&!!b.b&&!o1b(b.b,WFc)&&(this.a.a=true)};var DK=tjc(842);var s7;fW(829,945,xFc,v7);_.Tf=function w7(a,b){eqb(this.b,b,DD(yD($L,1),UBc,26,0,[this,new z7(this)]))};_.Zf=function x7(a,b,c){var d,e,f,g,h,i;b.j==(m6b(),S3b)&&u7(this,b,c)&&(d=(hub(),_kc($kc($kc($kc($kc($kc($kc(_kc(blc(jub((e=_kc(_kc(_kc(_kc(_kc($kc($kc(Y0b(b, -51).Hg(),58,45),92,47)," ",XFc),"[",YFc),"]",ZFc),"<",$Fc),">",_Fc),iub(e))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),XFc,"_")+"$classdecl$var"+this.a++),f=(Vhb(),g=fib(b),!g?null:Y0b(g,29)),h=hib(c,Uhb),w1b(c,b,(ie(Ukc(d,mlc(46))==-1,DDc,d),new Y2b(e5b,d))),i=W1b(bYb((ie(Ukc(d,mlc(46))==-1,DDc,d),new Y2b(e5b,d)),b,X3b),b),C1b(i,d_b(z0b(f))),G0b(h.e,i,h),O1(this.b,i),undefined)};_.a=0;var JK=tjc(829);fW(830,1,wDc,z7);_.Yf=function A7(a,b,c){b.j==(m6b(),S3b)&&(Qd(b.j==S3b),b.b.j== -e5b&&c.j==e5b)&&Swc(this.a,new C7(b.b,c.ni()));return true};_.Zf=function B7(a,b,c){switch(b.j.f){case 96:{Qd(b.j==(m6b(),S3b));if(b.b.j==e5b&&c.j==e5b){Wwc(this.a);w1b(b,b.b,T1b(new Z1b(h4b),b.b));O1(this.b.b,b)}}break;case 29:y7(this,a,b,c)}};var IK=tjc(830);fW(532,1,{532:1},C7);var HK=tjc(532);fW(545,945,wDc,F7);_.Zf=function G7(a,b,c){var d;Vhb();b.j==(m6b(),e5b)&&b.ni().length!=0&&D7(this,a,b);d=Y0b(b,29);!!d&&E7(this,a,AZb(d))};var KK=tjc(545);fW(834,945,xFc,H7);_.Tf=function I7(a,b){eqb(this.a, -b,DD(yD($L,1),UBc,26,0,[this]))};_.Zf=function J7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.j!=(m6b(),w4b)||(b.b?b.b.f:null).j!=K3b)return;l=b.b.d;e=new M7;Ihb(this.a,l,new K7(this,e));d=l.d;f=new Kab(this.a);i=Jab(f,b,nhb(a));h=Jab(f,d,i);m=new mq(new lwc,new pq);for(o=(k=(new qnc(h.e)).a.Xd().Pd(),new vnc(k));o.a.Jd();){n=(g=o.a.Kd(),g.ee());j=n.b;hvc(e.a,j)&&!kq(m,h.d,j)&&dq(m,h.d,j,j+"$"+(""+(new F2(this.a)).a.Y++))}Fhb(new Hhb(this.a,new F7(m),new Kab(this.a)),d,d.e,i)};var NK=tjc(834);fW(836, -942,wDc,K7);_.Yf=function L7(a,b,c){if(!c)return true;if(c.j==(m6b(),b4b)&&b==(c.b?c.b.f:null)||c.j==W3b&&b==c.b){Ihb(this.a.a,b,this.b);return false}return true};var LK=tjc(836);fW(835,945,wDc,M7);_.Zf=function N7(a,b,c){Vhb();if(!(b.j==(m6b(),e5b)&&b.ni().length!=0))return;gvc(this.a,b.ni())};var MK=tjc(835);fW(837,1,xFc,S7);_.Tf=function T7(a,b){eqb(this.a,a,DD(yD($L,1),UBc,26,0,[this]));eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function U7(a,b,c){var d,e,f;switch(b.j.f){case 85:uoc(this.b, -new W7(b,false));break;case 65:b.j==(m6b(),w4b)&&W0b(b,60)!=0||uoc(this.b,(e=b.b?b.b.f:null,f=c.j==_4b&&Rkc(c.ni(),HFc),new W7(e,f)));break;case 99:d=Zd(Coc(this.b));d.a&&c.j==(m6b(),N3b)&&c.b==b&&(d.b=P7(c,d.e))}return true};_.Zf=function V7(a,b,c){var d,e;e=Coc(this.b);if(b.j==(m6b(),w4b)&&W0b(b,60)!=0)R7(this,a,b,Zd(e));else if(!!e&&e.e==b){d=Eoc(this.b);$Ac(d!=null);O7(this,e)}};var QK=tjc(837);fW(358,1,{358:1},W7);_.a=false;_.b=null;_.c=false;_.d=false;var OK=tjc(358);fW(838,1,wDc,X7);_.Yf=function Y7(a, -b,c){return b.j!=(m6b(),w4b)||b.j==w4b&&W0b(b,60)!=0};_.Zf=function Z7(a,b,c){var d,e;if(b.j==(m6b(),Z5b)){d=T1b((ie(Ukc(bGc,mlc(46))==-1,DDc,bGc),new Y2b(e5b,bGc)),b);e=v1b(d,d.g,85);e!=d.g&&(d.g=e);d.g=new B2b(85,1,d.g);w1b(c,b,d);this.b=true}else if(b.j==e5b&&Rkc(b.ni(),wFc)){d=T1b((ie(Ukc(aGc,mlc(46))==-1,DDc,aGc),new Y2b(e5b,aGc)),b);w1b(c,b,d);this.a=true}};_.a=false;_.b=false;var PK=tjc(838);fW(848,945,xFc,e8);_.Tf=function h8(a,b){var c,d,e,f,g;Ihb(this.a,b,new m8(this));Ihb(this.a,b,this); -eqb(this.a,a,DD(yD($L,1),UBc,26,0,[this]));Ihb(this.a,b,new F7(this.c));g=new p8(this);Ihb(this.a,b,g);o8(g);d8(this);if(r3(this.a.L,(OJb(),GJb))){d=new s8(this);for(f=(!b.b?(Sqc(),Sqc(),Rqc):new Q2b(b.b)).Pd();f.Jd();){e=f.Kd();c=Y0b(e,89);QJb(c,(TKb(),fKb))&&Ihb(this.a,e,d)}}};_.Zf=function i8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(!b.b||!Eib(b.b))return;l=nhb(a);h=b.b;if(b.j!=(m6b(),S3b)&&b.j!=w4b&&!h.b&&(!c||(Vhb(),!(c.j==v4b||c.j==u4b)))&&b.j!=R3b&&(d=hib(b,_7),!!d&&d.j!=w4b)){n=(ie(Ukc(WFc,mlc(46))== --1,DDc,WFc),new Y2b(e5b,WFc));if(!!Y0b(h,29)||!!Y0b(b,29)){g=new x0b(false);o0b(g,new B0b(new Z1b(C5b),(e=Y0b(b,51),!e?null:e.Hg())));n=$Xb(n,d_b(g))}U1b(n,h);I0b(h,n);O1(this.a,n)}j=h.ni();(b.j==Y4b||b.j==X3b)&&gvc(this.b,b);f=dob(l);if(l!=f){i=j;if(hob(f,j,true)||hvc(this.d,j)){do i=j+"$"+(""+(new F2(this.a)).a.Y++);while(hob(f,i,true));h.si(i);O1(this.a,h);m=l.d;dq(this.c,m,j,i)}k=gob(l,j);iob(l,k);bob(f,i,h,k.a)}};var $7,_7;var WK=tjc(848);fW(852,1,JFc,j8);_.Md=function k8(a){return Nuc((a8(), -$7),a.j)};_.Cd=function l8(a){return this===a};var RK=tjc(852);fW(850,945,wDc,m8);_.Zf=function n8(a,b,c){b.j==(m6b(),e5b)&&!hob(nhb(a),b.ni(),true)&&gvc(this.a.d,b.ni())};var SK=tjc(850);fW(851,945,wDc,p8);_.Zf=function q8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;Vhb();if(!(b.j==(m6b(),e5b)&&b.ni().length!=0))return;g=b.ni();j=nhb(a);n=gob(j,g);if(!n)return;if(n.wh()!=Y4b&&n.wh()!=X3b)return;(b.e.j==Y4b||b.e.j==X3b)&&gvc(this.e.b,b.e);d=n.d;f=null;for(l=d;;l=l.c){m=l.d;if(Vib(l.d)){f=m;break}else if(!!m.e&& -Vib(m.e)){f=m.e;break}else if(Nib(l.d)||!l.c)return}ai(this.d,n,b);i=null;for(k=j;k!=d&&k.d!=f;k=k.c)k.d.j==w4b&&(i=k);if(i){e=i.d;if(Nh(this.a,e,g))return;ai(this.a,e,g);gwc(this.c,f)||iwc(this.c,f,new r8("$jscomp$loop$"+(""+(new F2(this.e.a)).a.Y++)));h=hwc(this.c,f);gvc(h.b,n);ai(this.b,e,h)}};var UK=tjc(851);fW(534,1,{534:1},r8);var TK=tjc(534);fW(849,945,wDc,s8);_.Zf=function t8(a,b,c){b.j==(m6b(),w4b)&&okb(b,this.a.a)};var VK=tjc(849);fW(831,1,xFc,H8);_.Tf=function J8(a,b){eqb(this.a,a,DD(yD($L, -1),UBc,26,0,[this]));eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function K8(a,b,c){switch(b.j.f){case 86:case 87:if(q3(this.a.L)==(g4(),Z3)){M1(this.a,Heb(b,(_ab(),Zab),DD(yD(sT,1),DBc,2,6,[AFc])));return false}break;case 119:M1(this.a,Heb(b,(_ab(),$ab),DD(yD(sT,1),DBc,2,6,[bEc])))}return true};_.Zf=function L8(a,b,c){b.j.f==96&&E8(this,a,b,c)};var u8,v8,w8;var ZK=tjc(831);fW(832,945,wDc,M8);_.Zf=function N8(a,b,c){if(b.j!=(m6b(),r3b)||b.b==this.a)return;n1b(this.a,b.b)&&M1(this.b.a,Heb(b,(x8(), -u8),DD(yD(sT,1),DBc,2,6,[])))};var XK=tjc(832);fW(285,1,{},O8);_.a=false;var YK=tjc(285);fW(833,1,xFc,$8);_.Tf=function a9(a,b){eqb(this.a,a,DD(yD($L,1),UBc,26,0,[this]));eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function b9(a,b,c){var d;switch(b.j.f){case 65:X8(a,b);break;case 45:Y8(this,a,b,c);break;case 101:d=b.b;d.j==(m6b(),d4b)&&W8(this,d.b)}return true};_.Zf=function c9(a,b,c){V8(this,a,b,c)};_.b=0;var $K=tjc(833);fW(853,945,xFc,H9);_.Tf=function L9(a,b){var c,d;d=!!J9(this.c.C);eqb(this.c, -b,DD(yD($L,1),UBc,26,0,[new U9(this,this.c),this]));c=J9(this.c.C);!!c&&(d?cib(c,this.c):Q0b(c))};_.Zf=function M9(a,b,c){var d,e,f,g,h;switch(b.j.f){case 65:if(W0b(b,59)!=0){d9=0;r9(this,b,c)}break;case 29:d=(Vhb(),hib(b,new Gjb((m6b(),w4b))));!!d&&W0b(d,59)!=0&&p1b(b,wFc,wFc.length)&&b.si(qGc);break;case 33:d=(Vhb(),hib(b,new Gjb((m6b(),w4b))));!!d&&W0b(d,59)!=0&&x1b(b,fbb((ie(Ukc(rGc,mlc(46))==-1,DDc,rGc),new Y2b(e5b,rGc)),b.k));break;case 102:W0b(b,62)!=0?y9(this,a,b,c):c.j==(m6b(),r4b)?z9(this, -a,c,c.e):(e=(Vhb(),hib(b,Uhb)),f=eYb(b.b?fbb(OYb(u1b(b)),b.k):fbb(new Z1b(l6b),b.k)),g=G9(this,vYb(yGc+(""+this.j.a.Y++))),h=bYb(O0b(g,false),G9(this,(ie(Ukc(yGc,mlc(46))==-1,DDc,yGc),new Y2b(e5b,yGc))),g6b),w1b(c,b,g),G0b(e.e,f,e),G0b(e.e,h,e),z9(this,a,f,f.e),yhb(a),undefined)}};_.a=false;_.k=false;var d9=0;var dL=tjc(853);fW(359,1,wDc,O9,P9);_.Yf=function Q9(a,b,c){switch(b.j.f){case 65:return false;case 83:dpc(this.g,0,b.b.ni());break;case 71:case 70:case 72:case 73:++this.c;++this.b;break;case 67:++this.b; -break;case 82:c=b.e;!!c&&c.j==(m6b(),a6b)&&c.b==b&&!!b.d.b&&++this.j;break;case 74:if(W0b(b,67)==0&&(this.b==0&&!b.b||!!b.b&&ipc(this.g,b.b.ni(),0)==-1)){this.d=true;this.a&&G0b(c,g9(this.i,this.e,this.f),b)}break;case 75:if(this.c==0||!!b.b&&ipc(this.g,b.b.ni(),0)==-1){this.d=true;this.a&&G0b(c,g9(this.i,this.e,this.f),b)}break;case 39:if(this.j==0){this.d=true;this.a&&W0b(b,67)==0&&G0b(c,g9(this.i,this.e,this.f),b)}break;case 0:this.d=true;this.a&&G0b(c,g9(this.i,this.e,this.f),b);break;case 102:this.d= -true}return true};_.Zf=function R9(a,b,c){switch(b.j.f){case 83:kpc(this.g,0);break;case 71:case 70:case 72:case 73:--this.c;--this.b;break;case 67:--this.b;break;case 82:c=b.e;!!c&&c.j==(m6b(),a6b)&&c.b==b&&!!b.d.b&&--this.j}};_.a=false;_.b=0;_.c=0;_.d=false;_.f=0;_.j=0;var _K=tjc(359);fW(854,942,wDc,U9);_.Yf=function V9(a,b,c){switch(b.j.f){case 102:T9(this,a,b);break;case 71:case 72:case 70:S9(this,a,b);break;case 68:if(f9(this.c,b.b)){M1(this.a,Heb(b,(_ab(),$ab),DD(yD(sT,1),DBc,2,6,["Case statements that contain yields"]))); -return false}}return true};var aL=tjc(854);fW(535,1,{535:1},W9);_.b=0;var bL=tjc(535);fW(360,1,{360:1},X9);_.a=0;_.b=0;var cL=tjc(360);fW(386,945,xFc,fab);_.Tf=function hab(a,b){var c;for(c=b.b;c;c=c.d)gab(c)&&(Rd(gab(c),c),this.g=0,this.d=new lwc,this.f=new bvc,this.b=new jvc,this.i=new jvc,this.a=new jvc,this.e=null,Ihb(this.c,c,this),undefined);R1(this.c,VJb(this.c.r,(TKb(),CKb)))};_.Zf=function iab(a,b,c){bab(this,a,b,c)};_.g=0;var Y9,Z9;var jL=tjc(386);fW(730,948,wDc,kab);_.Zf=function lab(a, -b,c){b.j==(m6b(),N3b)&&o1b(b.b,CGc)&&Wib(c.e)&&jab(this,b,c)};var eL=tjc(730);fW(728,942,wDc,mab);_.Yf=function nab(a,b,c){var d;if(this.a)return false;if(!c||Iib(c)||(Vhb(),c.j==(m6b(),I5b)||c.j==K5b||c.j==K3b||c.j==c5b)){if(b.j==(m6b(),r4b)){d=b.b.b;if(!!d&&(p1b(d,DGc,DGc.length)||p1b(d,EGc,EGc.length))){this.a=true;return false}}return true}return false};_.a=false;var fL=tjc(728);fW(230,1,{230:1},oab);_.Fd=function pab(){return"("+this.a+RBc+this.b+")"};var gL=tjc(230);fW(195,1,{195:1},qab);_.Fd= -function rab(){return"("+this.a+RBc+this.b+")"};var hL=tjc(195);fW(729,945,wDc,vab);_.Zf=function wab(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;d=Y0b(b,29);if(d)for(m=new Npc(AZb(d));m.a0?this.f:"(unknown source)")+" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var IL=tjc(62);fW(290,1,{290:1,900:1,3:1},Oeb);_.Ig=function Qeb(){return Zn(),new Uy(Zd(this.e))};_.Jg=function Reb(){return Leb(this)};_.Hg=function Peb(){return this.e};_.Fd=function Seb(){return this.e};_.b=0;_.c=0;var LL=tjc(290);fW(567,1,KBc,$eb);var KL=tjc(567);fW(41,22,{3:1,40:1,41:1,22:1,38:1},_eb,afb,bfb,cfb);var cT= -tjc(41);fW(291,41,{291:1,3:1,40:1,41:1,22:1,38:1},dfb);var JL=tjc(291);fW(673,1,KBc,gfb);_.Fg=function hfb(a){return efb(this,a)};_.Gg=function ifb(){return this.a};_.Kg=function jfb(){return this.c};var PL=tjc(673);fW(674,1,KBc,kfb);var ML=tjc(674);fW(675,1,{},lfb);_.kh=function mfb(a,b,c,d){epc(this.b,new ofb);Nnb(this.a,a,b,c,d)};_.lh=function nfb(a,b,c,d){epc(this.c,new ofb);Onb(this.a,a,b,c,d)};var NL=tjc(675);fW(416,1,KBc,ofb);var OL=tjc(416);fW(847,1,xFc,xfb);_.Tf=function yfb(a,b){eqb(this.c, -a,DD(yD($L,1),UBc,26,0,[this]));eqb(this.c,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function zfb(a,b,c){switch(b.j.f){case 86:case 87:if(q3(this.c.L)==(g4(),Z3)){bbb(this.c,b,AFc);return false}break;case 65:if(b.j==(m6b(),w4b)&&W0b(b,61)!=0)throw HV(new Ujc(BFc));}return true};_.Zf=function Afb(a,b,c){var d,e,f;switch(b.j.f){case 43:rfb(this,b);break;case 98:c.j==(m6b(),r5b)&&(d=b.ni(),e=b.b.b,f=fbb(IYb(d,Q0b(b.b)),b.k),C1b(f,Y0b(b,29)),w1b(c,b,f),T1b(f,e),O1(this.c,f),undefined);break;case 101:qfb(this, -a,b,c);break;case 91:tfb(this,b);break;case 115:Xab(a,b,this.a);break;case 116:c.j==(m6b(),W5b)||Yab(a,b,this.a)}};_.a=false;var QL=tjc(847);fW(305,411,{},Dfb,Efb);_.b=true;_.c=true;var RL=tjc(305);fW(565,377,{},Hfb);_.Uf=function Ifb(){var a;a=this.d+this.f==0?(Rzc(),Ozc):(Rzc(),Qzc);this.d+this.f>0&&pAc(this.b,a,mXb("%d error(s), %d warning(s)",DD(yD(nT,1),UBc,1,5,[ikc(this.d),ikc(this.f)])))};_.Vf=function Jfb(a,b){switch(a.f){case 0:sAc(this.b,Ceb(b,a,this.a));break;case 1:tAc(this.b,Ceb(b,a, -this.a))}};var SL=tjc(565);fW(258,1,_Gc,Nfb,Ofb);_.mh=function Qfb(a){var b,c,d;ee(!!a.j,"MakeDeclaredNamesUnique requires the new ES6-compatible scope creator");b=phb(a);Vhb();if(b.j==(m6b(),K3b)&&!!b.e&&b.e.j==w4b)return;if(Boc(this.b)){de(b.j!=w4b||!this.c);de(ohb(a)==0);d=this.c}else{c=b.j!=w4b&&!bib(b);d=Coc(this.b).ph(phb(a),c)}b.j==w4b||Kfb(this,a,b,d,false);uoc(this.b,d)};_.nh=function Rfb(a){if(Nib(phb(a)))return;ohb(a)==0||Ioc(this.b)};_.Yf=function Sfb(a,b,c){var d,e,f,g,h;switch(b.j.f){case 65:{h= -Coc(this.b).ph(b,false);g=b.b.ni();g.length!=0&&!!c&&(Vhb(),!(b.j==(m6b(),w4b)&&Kib(b.e)))&&h.oh(g,false);uoc(this.b,h);break}case 45:{h=Coc(this.b).ph(b,true);for(f=new Npc(nib(b));f.a0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.sg=function hlb(){return this.a};_.a=0;_.b=0;var yM=tjc(689);fW(572,1,tDc,slb);_.Tf=function tlb(a,b){plb(this,a,b)};_.c=false;_.e=0;_.g=0;_.j=false;_.k=0;_.o=0;_.r=false;var ilb,jlb,klb;var EM=tjc(572);fW(414,1,tDc,xlb);_.Tf=function ylb(a,b){var c,d,e,f,g,h,i,j,k,l;ee(!this.f.c, -"Nested loops are forbidden");this.f.c=true;wlb(this);this.b=vlb(this);this.e=new Flb(this.f);M0(this.f.b,this.e);this.f.f=new bvc;for(i=new Npc(this.d);i.athis.f.g&&this.b)return;d>100&&U1("Fixed point loop exceeded the maximum number of iterations.",null);++d;e=false;for(h=new Npc(this.d);h.a0)return;else if(Elb(this.e)){f.a.put(g,f);e=true}else f.a.remove(g)!=null}else k.a.remove(g)!=null}j=c;c=aib(b);if(l==0)if(e&&ulb(this,j,c))l=1;else return;else{de(l==1);(!e||!ulb(this,j,c))&&(l=0)}}}finally{this.f.c=false;L1(this.f.b,this.e)}};_.a=0;_.b=false;var AM=tjc(414);fW(310,1,{53:1,310:1},Alb);_.Tf=function Blb(a,b){zlb(this,a,b)};_.Fd=function Clb(){return"pass: "+this.b};var BM=tjc(310);fW(573,1,{},Dlb);_.a=0;_.b=0;var CM= -tjc(573);fW(671,1,{902:1},Flb);_.eg=function Glb(){this.b.e=this.b.b.a};_.a=0;var DM=tjc(671);fW(292,1,tDc,Llb,Mlb);_.Tf=function Nlb(a,b){Jlb(this,a,b)};_.a=false;var GM=tjc(292);fW(456,945,wDc,Olb);_.Zf=function Qlb(a,b,c){b.j.f==28&&Plb(b)};var FM=tjc(456);var Rlb,Slb,Tlb,Ulb,Vlb;var Xlb,Ylb;var $lb,_lb;var bmb,cmb,dmb,emb;fW(97,14,{97:1,3:1,21:1,14:1},pmb,qmb,rmb,smb);var gmb,hmb,imb,jmb,kmb,lmb,mmb,nmb;var HM=ujc(97,_S,umb);fW(267,14,{267:1,3:1,21:1,14:1},ymb);var vmb,wmb;var IM=ujc(267,_S,zmb); -fW(383,1,{902:1},Amb);_.eg=function Bmb(){this.a=true};_.a=false;var JM=tjc(383);fW(580,945,xFc,Dmb);_.Tf=function Emb(a,b){Cmb(this,b)};_.Zf=function Fmb(a,b,c){var d,e;if(b.j!=(m6b(),w4b))return;e=null.Qj();if(e<0)return;d=W1(this.a,b);!a.d&&!!a.g&&(a.d=_0(a.c,a.g));null.Qj(Hbb().Qj().Qj(xib(b)).Qj(g2b(b.i)).Qj().Qj(d.length).Qj(null.Qj()).Qj().Qj())};var KM=tjc(580);fW(574,1,{},Gmb);var LM=tjc(574);fW(825,1,xFc,Imb);_.Tf=function Jmb(a,b){eqb(this.a,b,DD(yD($L,1),UBc,26,0,[this]))};_.Yf=function Kmb(a, -b,c){if(b.j==(m6b(),w4b)){uoc(this.b,new Qmb(Aoc(this.b),b));b.j==w4b&&W0b(b,61)!=0&&T0(this.a,"es6/execute_async_generator",false)}return true};_.Zf=function Lmb(a,b,c){var d;d=Aoc(this.b);if(b.j==(m6b(),w4b)){ke(d.a.Hd()&&wE(d.a.Gd())===wE(b),"unexpected function context:\nexpected: %s\nactual: %s",b,d.a);Ioc(this.b)}switch(b.j.f){case 65:d.a.Hd()&&g1b(d.a.Gd())&&Hmb(this,d);break;case 29:if((d.a.Hd()&&g1b(d.a.Gd())||Mmb(d.d))&&p1b(b,wFc,wFc.length)){b.si(wHc);Nmb(d)}break;case 33:if(d.a.Hd()&& -g1b(d.a.Gd())||Mmb(d.d)){w1b(c,b,V1b((ie(Ukc(vHc,mlc(46))==-1,DDc,vHc),new Y2b(e5b,vHc)),b));Omb(d)}break;case 103:ee(d.a.Hd()&&g1b(d.a.Gd()),"await found within non-async function body");fe(!!b.b&&!b.b.d,"await should have 1 operand, but has %s",T0b(b));w1b(c,b,V1b(OYb(u1b(b)),b))}};var NM=tjc(825);fW(357,1,{357:1},Pmb,Qmb);_.b=false;_.c=false;var MM=tjc(357);fW(578,945,xFc,Vmb);_.Tf=function Wmb(a,b){de(b.j==(m6b(),K5b));Ihb(this.a,b,this)};_.Zf=function Xmb(a,b,c){switch(b.j.f){case 85:!!b.b&& -!b.b.d?Umb(this,a,b):M1(this.a,thb(b,Rmb,DD(yD(sT,1),DBc,2,6,[])));return;case 43:case 42:case 30:case 35:case 34:case 32:case 31:break;case 91:(!b.pi()||!(!!b.b&&!b.b.d))&&M1(this.a,thb(b,Rmb,DD(yD(sT,1),DBc,2,6,[])));break;case 84:c.j==(m6b(),K5b)||M1(this.a,thb(b,Rmb,DD(yD(sT,1),DBc,2,6,[])));break;default:M1(this.a,thb(b,Rmb,DD(yD(sT,1),DBc,2,6,[])))}if(g2b(b.i)==1){z1b(b,f2b(b.i)-1);yhb(a)}};var Rmb;var OM=tjc(578);fW(419,1,tDc,dnb);_.Tf=function fnb(a,b){_mb(this,b)};var Ymb,Zmb;var TM=tjc(419); -fW(420,1,{420:1},gnb);var PM=tjc(420);fW(694,1,{},knb);var hnb;var RM=tjc(694);fW(697,1,HCc,mnb);_.Od=function nnb(a){return elc(a,a.lastIndexOf(".")+1)};_.Cd=function onb(a){return this===a};var QM=tjc(697);fW(696,695,wDc,qnb);var SM=tjc(696);fW(672,1,{});var rnb,snb,tnb,unb,vnb,wnb,xnb,ynb,znb,Anb,Bnb,Cnb,Dnb,Enb,Fnb,Gnb,Hnb,Inb;var VM=tjc(672);fW(561,672,{},Pnb);_.kh=function Qnb(a,b,c,d){Nnb(this,a,b,c,d)};_.lh=function Rnb(a,b,c,d){Onb(this,a,b,c,d)};var UM=tjc(561);fW(583,1,tDc,$nb);_.Tf=function _nb(a, -b){Wnb(this,a,b)};var Snb,Tnb,Unb;var WM=tjc(583);fW(275,1,{275:1,3:1},job,kob);_.Fd=function mob(){return"Scope@"+this.d};_.b=0;var XM=tjc(275);fW(183,14,IHc);var nob,oob;var $M=ujc(183,_S,rob);fW(584,183,IHc,sob);var YM=ujc(584,$M,null);fW(585,183,IHc,tob);var ZM=ujc(585,$M,null);fW(185,1,JHc,Aob);_.uh=function Cob(a){wob(this);if(a<1||a>this.d.length)throw HV(new afb("Expected line number between 1 and "+this.d.length+"\nActual: "+a));return this.d[a-1]};_.Hg=function Dob(){return this.b};_.vh= -function Eob(){return this.c};_.Fd=function Fob(){return this.b};_.a=null;_.c=false;_.d=null;var uob;var bN=tjc(185);fW(254,1,{},Gob);var _M=tjc(254);fW(255,185,JHc,Hob);var aN=tjc(255);fW(577,945,wDc,Iob);_.Zf=function Kob(a,b,c){var d,e,f,g,h;this.a&&this.b!=null&&de(Rkc(this.b,(d=Y0b(b,51),!d?null:d.Hg())));switch(b.j.f){case 26:g=b.b?b.b.f:null;Job(b,g.ni());break;case 65:e=pib(b);e!=null&&e.length!=0&&Y0b(b,40)==null&&(h=v1b(b,b.g,40),h!=b.g&&(b.g=h),e!=null&&(b.g=new L2b(40,e,b.g)));break;case 29:Job(b, -b.ni());break;case 43:for(f=b.b;f;f=f.d)f.j!=(m6b(),W3b)&&!f.pi()&&Job(f,f.ni())}};_.a=false;var cN=tjc(577);fW(188,14,KHc);var Lob,Mob;var fN=ujc(188,_S,Pob);fW(627,188,KHc,Qob);_.Md=function Rob(a){return true};var dN=ujc(627,fN,null);fW(628,188,KHc,Sob);_.Md=function Tob(a){return a.j==(m6b(),N3b)||a.j==k5b||a.j==w4b||a.j==e5b||(Vhb(),a.j==C4b||a.j==B4b)||Zib(a)||a.j==Q5b&&Oib(a.e)||a.j==W5b};var eN=ujc(628,fN,null);fW(187,14,LHc);var Uob,Vob;var iN=ujc(187,_S,Yob);fW(625,187,LHc,Zob);var gN=ujc(625, -iN,null);fW(626,187,LHc,$ob);var hN=ujc(626,iN,null);fW(431,1,{431:1,3:1},dpb);_.a=false;_.b=null;var _ob,apb;var jN=tjc(431);var fpb,gpb,hpb,ipb,jpb,kpb,lpb,mpb,npb,opb,ppb,qpb;fW(566,182,UEc,upb);_.Og=function vpb(){return(rtb(),qtb).a};_.Pg=function wpb(a){var b,c,d,e,f,g,h,i,j,k,l,m;g=a.e;!g&&a.f!=null&&(g=e1(this.a,a.f));if(g){m=false;for(b=g;b;b=b.e){l=b.j;d=null;if(l==(m6b(),w4b)){d=(Vhb(),e=fib(b),!e?null:Y0b(e,29));m=true}else if(l==K5b)d=Y0b(b,29);else if(b.j==g6b||b.j==r3b){h=uib(b.b); -if(h){h.j==Q3b&&(h=h.b);h.j==w4b&&!m&&(d=(Vhb(),e=fib(b),!e?null:Y0b(e,29)))}}if(d)for(k=(i=!d.d?null:d.d.p,!i?(Sqc(),Sqc(),Rqc):i).Pd();k.Jd();){j=k.Kd();c=imc(this.b,j);if(c){f=c.Pg(a);if(f)return f}}}}return null};var kN=tjc(566);fW(575,1,KBc,xpb);_.Fg=function ypb(a){return this.b};_.Gg=function zpb(){return this.a};_.Kg=function Apb(){return this.c};var lN=tjc(575);fW(564,1,{},Cpb);_.Wf=function Dpb(a,b){Bpb(this,a,b)};var mN=tjc(564);fW(382,1,{},Gpb);var pN=tjc(382);fW(311,1,{311:1},Ipb);var nN= -tjc(311);fW(312,1,{312:1},Jpb);_.Cd=function Kpb(a){if(qE(a,312))return Rkc(this.a,a.a);return false};_.Ed=function Lpb(){return qBc(this.a)};var oN=tjc(312);fW(160,1,{},Opb,Ppb);_.a=0;var qN=tjc(160);var Qpb,Rpb,Spb,Tpb,Upb,Vpb,Wpb,Xpb,Ypb,Zpb,$pb,_pb,aqb,bqb;fW(765,103,FEc,fqb);_.th=function gqb(a){return new fab(a)};_.Dg=function hqb(){return OJb(),LJb};var zN=tjc(765);fW(774,103,FEc,iqb);_.th=function jqb(a){return new dnb(a)};_.Dg=function kqb(){return OJb(),KJb};var rN=tjc(774);fW(775,103,FEc, -lqb);_.th=function mqb(a){return new yab(a)};_.Dg=function nqb(){return OJb(),KJb};var sN=tjc(775);fW(776,103,FEc,oqb);_.th=function pqb(a){return new f7(a)};_.Dg=function qqb(){return OJb(),KJb};var tN=tjc(776);fW(777,103,FEc,rqb);_.th=function sqb(a){return new T6(a)};_.Dg=function tqb(){return OJb(),KJb};var uN=tjc(777);fW(778,103,FEc,uqb);_.th=function vqb(a){return new w6(a)};_.Dg=function wqb(){return OJb(),KJb};var vN=tjc(778);fW(779,103,FEc,xqb);_.th=function yqb(a){return new xfb(a)};_.Dg= -function zqb(){return OJb(),KJb};var wN=tjc(779);fW(780,103,FEc,Aqb);_.th=function Bqb(a){return new e8(a)};_.Dg=function Cqb(){return OJb(),KJb};var xN=tjc(780);fW(781,103,FEc,Dqb);_.th=function Eqb(a){return new H9(a)};_.Dg=function Fqb(){return OJb(),KJb};var yN=tjc(781);fW(766,57,FEc,Gqb);_.Cg=function Hqb(a){return new Imb(a)};_.Dg=function Iqb(){return OJb(),KJb};var AN=tjc(766);fW(767,57,FEc,Jqb);_.Cg=function Kqb(a){return new gbb(a)};_.Dg=function Lqb(){return OJb(),KJb};var BN=tjc(767); -fW(768,57,FEc,Mqb);_.Cg=function Nqb(a){return new Eab(a)};_.Dg=function Oqb(){return OJb(),KJb};var CN=tjc(768);fW(769,103,FEc,Pqb);_.th=function Qqb(a){return new v7(a)};_.Dg=function Rqb(){return OJb(),KJb};var DN=tjc(769);fW(770,103,FEc,Sqb);_.th=function Tqb(a){return new H8(a)};_.Dg=function Uqb(){return OJb(),KJb};var EN=tjc(770);fW(771,103,FEc,Vqb);_.th=function Wqb(a){return new $8(a)};_.Dg=function Xqb(){return OJb(),KJb};var FN=tjc(771);fW(772,103,FEc,Yqb);_.th=function Zqb(a){return new H7(a)}; -_.Dg=function $qb(){return OJb(),KJb};var GN=tjc(772);fW(773,103,FEc,_qb);_.th=function arb(a){return new S7(a)};_.Dg=function brb(){return OJb(),KJb};var HN=tjc(773);var crb,drb,erb,frb,grb,hrb,irb,jrb,krb,lrb,mrb,nrb,orb,prb,qrb,rrb,srb,trb,urb,vrb,wrb,xrb,yrb,zrb,Arb,Brb,Crb,Drb,Erb,Frb,Grb,Hrb,Irb,Jrb,Krb,Lrb,Mrb;var Orb,Prb,Qrb,Rrb,Srb,Trb,Urb,Vrb,Wrb,Xrb,Yrb;fW(815,319,{},fsb);_.Ag=function gsb(a,b){var c,d,e;d=a.e;if(!!d&&(d.j==(m6b(),K3b)||d.j==K5b))if(a.j==(m6b(),w4b))Z$(this,bsb(this,a)); -else if(a.j==r4b&&a.b.j==r3b){c=a.b;if(Yib(c.b))Z$(this,yeb(this.a,Y0b(c,29)));else{e=c.b?c.b.f:null;Z$(this,dsb(this,e))}}else a.j==g6b&&!!a.b.b&&(Yib(a.b)?Z$(this,yeb(this.a,Y0b(a,29))):Z$(this,dsb(this,a.b.b)));Y$(this,a,b)};var JN=tjc(815);fW(816,1,HCc,isb);_.Od=function jsb(a){return a.di(1)};_.Cd=function ksb(a){return this===a};var IN=tjc(816);var lsb,msb,nsb,osb,psb,qsb,rsb,ssb;fW(240,1,{240:1,3:1},xsb);_.wh=function ysb(){var a;for(a=this.c;a;a=a.e)if(usb.contains(a.j))return a.j;throw HV(new Ujc("The nameNode for "+ -this+" must be a descendant"+" of one of: "+usb));};_.Cd=function zsb(a){var b;if(!qE(a,240))return false;b=a;return b.c==this.c};_.Ed=function Asb(){return Ab(this.c)};_.Fd=function Bsb(){return"Var "+this.b+" @ "+this.c};var usb;var ON=tjc(240);fW(339,240,{240:1,339:1,3:1},Csb);_.wh=function Dsb(){return null};_.Cd=function Esb(a){var b;if(!qE(a,339))return false;b=a;return b.d.d==this.d.d};_.Ed=function Fsb(){return UAc(this)};var KN=tjc(339);fW(690,945,xFc,Ssb);_.Tf=function Vsb(a,b){Rsb(this, -a,b)};_.Zf=function Wsb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(b.j==(m6b(),e5b)||b.j==R5b&&!b.b){m=b.ni();if(m.length==0){de(c.j==w4b);de((Vhb(),c.j==w4b&&!(c.j!=c5b&&cjb(c.e))));return}if((c.j==g6b||(Vhb(),c.j==w4b&&Kib(c.e)))&&hvc(this.e,m)){Tsb(this.a,m);ivc(this.e,m);d=z0b(Y0b(b,29));WYb(d.a);d.e=true;C1b(b,d_b(d))}i=nhb(a);j=gob(i,m);if(!j){Vhb();if(c.j==w4b&&!(c.j!=c5b&&cjb(c.e))||c.j==S3b&&!(c.j!=c5b&&cjb(c.e))&&b==c.b);else{g=i.d.j==w4b&&Rkc(wFc,m);!g&&!(this.d&&T2((!a.d&&!!a.g&&(a.d=_0(a.c,a.g)), -a.d)))&&xhb(a,b,Lsb,DD(yD(sT,1),DBc,2,6,[m]));if(this.c)throw HV(new Ujc("Unexpected variable "+m));else{Tsb(this.a,m);ivc(this.e,m);bob(eob(i),m,b,i1(this.a))}}return}e=(!a.d&&!!a.g&&(a.d=_0(a.c,a.g)),a.d);k=j.a;if(e==k||!e||!k)return;f=e.g;l=k.g;h=a1(this.a);if(!this.c&&l!=f&&!!l&&!!f)if(f!=l&&Dqc(h.c[f.c],l.c));else!i.c?l!=f&&Dqc(h.c[l.c],f.c)?xhb(a,b,Osb,DD(yD(sT,1),DBc,2,6,[f.e,l.e,m])):xhb(a,b,Hsb,DD(yD(sT,1),DBc,2,6,[f.e,l.e,m])):xhb(a,b,Jsb,DD(yD(sT,1),DBc,2,6,[f.e,l.e,m]))}};_.c=false;_.d= -false;var Gsb,Hsb,Isb,Jsb,Ksb,Lsb,Msb,Nsb,Osb;var NN=tjc(690);fW(691,945,wDc,Xsb);_.Zf=function Ysb(a,b,c){var d,e,f,g;if(b.j==(m6b(),e5b))switch(c.j.f){case 76:case 100:case 88:case 65:case 96:case 45:case 118:case 112:break;case 26:if(b==c.b){e=nhb(a);g=gob(e,b.ni());if(!g){xhb(a,b,(Psb(),Ksb),DD(yD(sT,1),DBc,2,6,[b.ni()]));gvc(this.a.e,b.ni())}}break;case 47:if(b==(c.b?c.b.f:null)&&j1b(b)&&j1b(c.b))break;default:(c.j!=e5b||!Wib(c.e))&&xhb(a,b,(Psb(),Isb),DD(yD(sT,1),DBc,2,6,[b.ni()]));d=nhb(a); -f=gob(d,b.ni());!f&&gvc(this.a.e,b.ni())}};var LN=tjc(691);fW(692,1,{},$sb);_.Qg=function _sb(a,b,c,d){var e,f,g,h,i;i=c.e;h=gob(a,b);g=!h.c?null:h.c.e;if(i.j==(m6b(),Y4b)||i.j==X3b||i.j==S3b||!!g&&(g.j==Y4b||g.j==X3b||g.j==S3b)){M1(this.b.a,Heb(c,(Psb(),Gsb),DD(yD(sT,1),DBc,2,6,[])));return}if(!a.c){if(g.j==R3b&&i.j==R3b)return;e=Usb(c,h);Psb();if(c.e.j==g6b&&(f=Y0b(c,51),!!f&&f.vh())&&Yib(c)){epc(this.a,i);return}e||M1(this.b.a,Heb(c,Nsb,DD(yD(sT,1),DBc,2,6,[b,h.a?h.a.f.a:"??"])))}else Rkc(b,wFc)&& -!(Wib(c.e)&&c.j==e5b)&&M1(this.b.a,Heb(c,(Psb(),Msb),DD(yD(sT,1),DBc,2,6,[])))};var MN=tjc(692);var atb,btb,ctb;fW(221,14,{221:1,3:1,21:1,14:1},itb);var etb,ftb,gtb;var PN=ujc(221,_S,jtb);fW(145,14,{145:1,3:1,21:1,14:1},stb);_.a=0;var ktb,ltb,mtb,ntb,otb,ptb,qtb;var QN=ujc(145,_S,ttb);fW(432,1,{});var _N=tjc(432);fW(719,432,{},xtb);_.xh=function ytb(a,b,c,d,e){var f;Htb();if(!Rkc(b.substr(0,"/".length),"/")&&!(Rkc(b.substr(0,GEc.length),GEc)||Rkc(b.substr(0,THc.length),THc))){this.c.Wf((tZ(),sZ), -new Deb(c,null,d,e,Etb,null,DD(yD(sT,1),DBc,2,6,[b,PEc])));return null}f=vtb(this,a,b);f==null&&this.c.Wf((tZ(),sZ),new Deb(c,null,d,e,Ftb,null,DD(yD(sT,1),DBc,2,6,[b])));return f};var SN=tjc(719);fW(745,1,{},Ctb);var TN=tjc(745);fW(210,1,{},Ktb,Ltb);var Dtb,Etb,Ftb,Gtb;var $N=tjc(210);fW(617,1,HCc,Ptb);_.Od=function Qtb(a){return a.Hg()};_.Cd=function Rtb(a){return this===a};var UN=tjc(617);fW(297,1,{},Utb);_.Fd=function Vtb(){return this.a};var VN=tjc(297);fW(615,1,{},Wtb);_.Wf=function Xtb(a,b){}; -var WN=tjc(615);fW(265,14,UHc);var Ytb;var YN=ujc(265,_S,$tb);fW(616,265,UHc,_tb);_.Od=function aub(a){return a};var XN=ujc(616,YN,null);fW(266,14,{266:1,3:1,21:1,14:1},eub);var bub,cub;var ZN=ujc(266,_S,fub);var gub;fW(720,432,{},tub);_.xh=function vub(a,b,c,d,e){var f,g;Htb();Rkc(b.substr(0,1),"/")||(Rkc(b.substr(0,2),GEc)||Rkc(b.substr(0,3),THc))?f=(g=pub(this,a,b),g==null&&(g=rub(this,a,b)),g):f=qub(this,a,b);f==null&&this.c.Wf((tZ(),sZ),new Deb(c,null,d,e,Ftb,null,DD(yD(sT,1),DBc,2,6,[b]))); -return f};var lub,mub;var bO=tjc(720);fW(721,1,vDc,xub);_.Re=function yub(a,b){return wub(a,b)};_.Cd=function zub(a){return this===a};_.Te=function Aub(){return new Rtc(this)};var aO=tjc(721);fW(236,1,{900:1,236:1,3:1},Dub);_.Ig=function Gub(){return this.c};_.Jg=function Hub(){return this.d};_.Cd=function Eub(a){var b;if(!qE(a,236))return false;b=a;return b.e==this.e&&b.b==this.b&&vxc(b.d,this.d)&&vxc(b.c,this.c)&&vxc(b.a,this.a)};_.Hg=function Fub(){return this.b};_.Ed=function Iub(){return dqc(DD(yD(nT, -1),UBc,1,5,[this.c,this.d,this.e,this.b,this.a]))};_.Fd=function Jub(){return mXb("DependencyInfo(relativePath='%1$s', path='%2$s', provides=%3$s, requires=%4$s, loadFlags=%5$s)",DD(yD(nT,1),UBc,1,5,[this.e,this.b,this.c,this.d,this.a]))};var Bub;var cO=tjc(236);fW(907,1,{});var Kub;var fO=tjc(907);fW(555,557,{},Pub);var dO=tjc(555);fW(556,377,{},Qub);_.Uf=function Rub(){this.d+this.f>0&&Nub(this.d+" error(s), "+this.f+" warning(s)")};_.Vf=function Sub(a,b){Nub(Ceb(b,a,this.a))};var eO=tjc(556);fW(256, -949,{},Uub);var gO=tjc(256);var Vub;var Xub;var Zub;var _ub,avb,bvb,cvb;var evb,fvb;var hvb,ivb,jvb,kvb,lvb,mvb,nvb,ovb,pvb,qvb,rvb,svb,tvb,uvb;var wvb;var yvb,zvb;var Bvb,Cvb;var Evb;var Gvb,Hvb,Ivb,Jvb;var Lvb;var Nvb;fW(817,1,KBc,Qvb);_.Fd=function Rvb(){return awb(Pvb(this),new Flc,(XBb(),WBb)).a};_.b=false;var hO=tjc(817);fW(250,14,{250:1,3:1,21:1,14:1},$vb);var Wvb,Xvb,Yvb;var iO=ujc(250,_S,_vb);fW(177,1,{177:1,3:1},uwb,vwb);_.Cd=function wwb(a){return cwb(this,a)};_.Ed=function ywb(){return dqc(DD(yD(nT, -1),UBc,1,5,[this.i,this.e,this.j,this.k,this.d,this.g]))};_.Fd=function Hwb(){return awb(this,new Flc,(XBb(),WBb)).a};_.b=false;_.c=false;var mO=tjc(177);fW(862,1,HCc,Jwb);_.Od=function Kwb(a){return flc(a,0,Ukc(a,mlc(35)))};_.Cd=function Lwb(a){return this===a};var jO=tjc(862);fW(157,1,{},Xwb);_.b=false;_.c=false;_.j=null;_.k=null;var lO=tjc(157);fW(537,22,SCc,Ywb);var kO=tjc(537);var YR=vjc();fW(124,1,mIc);_.yh=function Dxb(){return cxb(this)};_.Ph=function Vxb(){return jxb(this)};_.Cd=function Fxb(a){return dxb(this, -a)};_.zh=function Ixb(){var a,b,c,d,e,f,g;a=(g=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!g?null:g.b);f=xwb(a.d);if(!(!!f&&null.Rj==0)&&(e=xwb(a.d),!(!!e&&null.Rj!=0)))return Cn(),cy(),by;fxb(ewb(a));d=new jvc;for(c=nAb().Pd();c.Jd();){b=c.Kd();null.Qj()||gvc(d,!null.Qj()&&!b.b.d.d.isEmpty()?Gxb(qBb(null.Rj,b,null,null,null,false,null.Rj)):null.Rj)}return d};_.Ah=function Jxb(){var a;return de(this.Eh()==2&&this.Hh().size()==1),a=hAb(this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()).d: -null),axb(),nyb(null.Rj,2,(Cn(),new Xy(qBb(null.Rj,null,null,a,null,null.Rj,(GAb(),EAb)))),null,Zwb)};_.Bh=function Kxb(){var a;return a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!a&&(OAb(a),false)?OAb(this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null).Qj():null};_.Dh=function Lxb(){var a,b,c;return de((a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!a?null:a.b))),b=ewb((c=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!c?null:c.b)),!b?null:b.Eh()== -2&&b.Hh().size()==1?b:null};_.Fh=function Mxb(){var a,b;de((b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!b?null:b.b)));return fwb((a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!a?null:a.b))};_.Gh=function Nxb(){var a,b;de((b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!b?null:b.b)));return gwb((a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!a?null:a.b))};_.Ih=function Oxb(){return hwb(Zd(exb(this)))};_.Jh=function Pxb(a){return 0!=this.Eh()&& -yBc!=this.Eh()&&mxb(this,this.e.K,new UBb((Zzb(),Zzb(),Yzb)))?hxb(this,new SBb(a)):null};_.Kh=function Qxb(){this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()).d:null;return null.Qj()?this:null.Rj};_.Lh=function Rxb(){var a,b;de((b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!b?null:b.b)));return(a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!a?null:a.b).k};_.Mh=function Sxb(){if(dxb(this,this.e.K))return null;ixb(this);return null};_.Nh=function Txb(){var a,b;b=this.Eh()== -2&&this.Hh().size()==1?Vs(this.Hh().Pd()).d:null;if(!null.Qj()){a=(Zn(),new hr);return go(gr(a,b.b.values()).a)}return null};_.Oh=function Uxb(){var a,b;de((b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!b?null:b.b)));return iwb((a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!a?null:a.b))};_.Ed=function Wxb(){return dqc(DD(yD(nT,1),UBc,1,5,[ikc(this.Eh()),this.Hh(),this.Ch(),this.Qh()]))};_.Rh=function Yxb(){return 0==this.Eh()};_.Sh=function Zxb(){var a,b,c;return a= -(b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!b?null:b.b),!!a&&(c=xwb(a.d),!!c&&null.Rj==0)};_.Th=function $xb(){var a;return a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!a&&(OAb(a),false)};_.Uh=function _xb(a){return dxb(this,a)};_.Vh=function ayb(){var a;return a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!a?null:a.b)};_.Wh=function byb(){var a;a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()).d:null;return!!a&&!null.Qj()};_.Xh=function dyb(){var a, -b,c;return a=(b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!b?null:b.b),!!a&&(c=xwb(a.d),!!c&&null.Rj!=0)};_.Yh=function eyb(){return-1!=this.Eh()&&(this.Eh()&32)!=0};_.Zh=function fyb(){return this.Eh()==2&&this.Hh().size()==1&&!!QAb(this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null)};_.$h=function gyb(){var a,b,c;a=(c=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!c?null:c.b);if(!!a&&!!a.d){b=fxb(a.g?a.g:a.d);return!!b&&null.Rj==2}return false};_._h=function hyb(){return yBc== -this.Eh()};_.ai=function iyb(){return dxb(this,this.e.B)};_.bi=function jyb(){return-1!=this.Eh()&&(this.Eh()&256)!=0};_.ci=function tyb(){return txb(this,this.e.p)};_.di=function uyb(a){var b;b=bxb(this,new Flc,(XBb(),VBb)).a;return a==1?alc(b,"^!",""):b};_.ei=function vyb(){var a;return a=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,(!a?null:a.b)?this:null};_.fi=function wyb(){return this.Eh()==2&&this.Hh().size()==1?this:null};_.Fd=function xyb(){return bxb(this,new Flc,(XBb(),WBb)).a}; -_.gi=function Ayb(a){var b,c;de((c=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!!(!c?null:c.b)));return yzb(twb((b=this.Eh()==2&&this.Hh().size()==1?Vs(this.Hh().Pd()):null,!b?null:b.b),a))};var Zwb,$wb,_wb;var tO=tjc(124);fW(821,1,HCc,Byb);_.Od=function Cyb(a){return Hxb(this.a.e,a)};_.Cd=function Dyb(a){return this===a};var nO=tjc(821);fW(71,124,mIc,Eyb);_.Ch=function Fyb(){return Cn(),cy(),by};_.Eh=function Gyb(){return this.a};_.hi=function Hyb(){return Cn(),cy(),by};_.Hh=function(){return this.hi()}; -_.Qh=function Iyb(){return null};_.a=0;var oO=tjc(71);fW(820,124,mIc,Jyb);_.Ch=function Kyb(){return Cn(),cy(),by};_.Eh=function Lyb(){return 34};_.hi=function Myb(){var a;Zd(this.a);qE(this.a,105)||(this.a=(Cn(),a=this.a,Jp(a)));return this.a};_.Hh=function(){return this.hi()};_.Qh=function Nyb(){return null};var pO=tjc(820);fW(819,124,mIc,Oyb);_.Ch=function Pyb(){return Cn(),cy(),by};_.Eh=function Qyb(){return 2};_.hi=function Ryb(){var a;Zd(this.a);qE(this.a,105)||(this.a=(Cn(),a=this.a,Jp(a))); -return this.a};_.Hh=function(){return this.hi()};_.Qh=function Syb(){return null};var qO=tjc(819);fW(818,124,mIc,Vyb);_.Ch=function Wyb(){return Tyb(this)};_.Eh=function Xyb(){return this.b};_.hi=function Yyb(){return Uyb(this)};_.Hh=function(){return this.hi()};_.Qh=function Zyb(){return this.d};_.b=0;var rO=tjc(818);fW(693,1,KBc,xzb);var $yb,_yb,azb,bzb,czb,dzb,ezb,fzb,gzb,hzb,izb,jzb,kzb,lzb,mzb,nzb,ozb,pzb,qzb,rzb,szb,tzb,uzb,vzb;var sO=tjc(693);fW(459,1,{459:1,3:1},Bzb);_.H=false;_.J=false;var vO= -tjc(459);fW(814,1,dCc,Fzb);_.Yd=function Lzb(a){return this.a.G};_.getOrDefault=function Mzb(a,b){var c;return c=this.a.G,c};_.put=function Qzb(a,b){return Dzb()};_.putIfAbsent=function Szb(a,b){var c;return c=this.a.G,c?c:Dzb()};_.remove=function Tzb(a){return Ezb()};_.replace=function Uzb(a,b){return Dzb()};_.clear=function Gzb(){throw HV(new Llc);};_.containsKey=function Hzb(a){return true};_.containsValue=function Izb(a){return wE(a)===wE(this.a.G)};_.Xd=function Jzb(){throw HV(new Llc);};_.Cd= -function Kzb(a){return Czb(this,a)};_.Ed=function Nzb(){throw HV(new Llc);};_.isEmpty=function Ozb(){return false};_.keySet=function Pzb(){throw HV(new Llc);};_.putAll=function Rzb(a){throw HV(new Llc);};_.size=function Vzb(){throw HV(new Llc);};_.Fd=function Wzb(){return"MAP_TO_UNKNOWN"};_.values=function Xzb(){return $qc(this.a.G)};var uO=tjc(814);fW(962,928,bCc);var Yzb;var BO=tjc(962);fW(366,962,dCc,aAb);_.Xd=function bAb(){return new Bmc(this.a)};var wO=tjc(366);fW(179,1,{179:1,3:1},tAb);_.Cd= -function uAb(a){return gAb(this,a)};_.Ed=function vAb(){return dqc(DD(yD(nT,1),UBc,1,5,[this.b,this.a]))};_.Fd=function zAb(){return eAb(this,new Flc,(XBb(),WBb)).a};var cAb;var xO=tjc(179);fW(205,1,{205:1,3:1},HAb);_.a=0;var BAb,CAb,DAb,EAb,FAb;var yO=tjc(205);fW(180,1,{180:1,983:1,3:1},_Ab);_.Cd=function eBb(a){return NAb(this,a)};_.Ed=function iBb(){return dqc(DD(yD(nT,1),UBc,1,5,[this.b,this.e,this.g,this.d]))};_.Fd=function vBb(){return KAb(this,new Flc,(XBb(),WBb)).a};_.c=false;var zO=tjc(180); -fW(898,1,{},yBb);var AO=tjc(898);fW(81,1,{81:1,3:1},DBb);_.Cd=function EBb(a){return ABb(this,a)};_.Ed=function FBb(){return dqc(DD(yD(nT,1),UBc,1,5,[this.d,this.a]))};_.Fd=function JBb(){return zBb(this,new Flc,(XBb(),WBb)).a};var DO=tjc(81);fW(247,14,{247:1,3:1,21:1,14:1},PBb);var LBb,MBb,NBb;var CO=ujc(247,_S,QBb);fW(98,1,{},RBb,SBb);_.Fd=function TBb(){return Oc(new Qc("."),this.a.Pd())};var EO=tjc(98);fW(52,1,{},UBb);var FO=tjc(52);fW(890,1,{},ZBb);_.ii=function $Bb(){return false};var VBb,WBb; -var HO=tjc(890);fW(891,890,{},_Bb);_.ii=function aCb(){return true};var GO=tjc(891);fW(544,1,{544:1,3:1},eCb);_.Cd=function fCb(a){var b;b=a;return this.a.Cd(b.a)};_.Ed=function gCb(){return wxc(this.a)};var bCb;var IO=tjc(544);fW(30,14,{30:1,3:1,21:1,14:1},uDb);var jCb,kCb,lCb,mCb,nCb,oCb,pCb,qCb,rCb,sCb,tCb,uCb,vCb,wCb,xCb,yCb,zCb,ACb,BCb,CCb,DCb,ECb,FCb,GCb,HCb,ICb,JCb,KCb,LCb,MCb,NCb,OCb,PCb,QCb,RCb,SCb,TCb,UCb,VCb,WCb,XCb,YCb,ZCb,$Cb,_Cb,aDb,bDb,cDb,dDb,eDb,fDb,gDb,hDb,iDb,jDb,kDb,lDb,mDb,nDb, -oDb,pDb,qDb,rDb,sDb;var JO=ujc(30,_S,vDb);fW(223,1,{},wDb,xDb);_.b=0;_.e=0;var MO=tjc(223);fW(224,14,{224:1,3:1,21:1,14:1},DDb);var zDb,ADb,BDb;var KO=ujc(224,_S,EDb);fW(146,14,{146:1,3:1,21:1,14:1},MDb);var FDb,GDb,HDb,IDb,JDb,KDb;var LO=ujc(146,_S,ODb);fW(795,1,{},FEb);_.c=false;_.g=null;_.i=false;var PDb,QDb,RDb,SDb,TDb;var OO=tjc(795);fW(796,1,{},gGb);var NO=tjc(796);fW(354,1,{},jHb);_.d=null;_.f=false;_.n=null;var hGb,iGb;var SO=tjc(354);fW(530,1,{530:1},mHb);_.a=0;_.b=0;var PO=tjc(530);fW(355, -1,{},nHb);var QO=tjc(355);fW(244,14,{244:1,3:1,21:1,14:1},sHb);var oHb,pHb,qHb;var RO=ujc(244,_S,tHb);fW(70,14,{70:1,3:1,21:1,14:1},QHb);var uHb,vHb,wHb,xHb,yHb,zHb,AHb,BHb,CHb,DHb,EHb,FHb,GHb,HHb,IHb,JHb,KHb,LHb,MHb,NHb,OHb;var UO=ujc(70,_S,RHb);fW(246,1,{},_Hb,aIb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var TO=tjc(246);fW(968,1,{});var WO=tjc(968);fW(896,968,{},dIb);_.kh=function eIb(a,b,c,d){};_.lh=function fIb(a,b,c,d){};var VO=tjc(896);var gIb=null,hIb=null; -fW(951,1,{});_.d=false;var gR=tjc(951);fW(743,951,{},pIb);_.ji=function qIb(a,b){if(this.b||!this.a){this.a=true;this.c.kh(b,a.d.c,a.b+1,a.a)}};_.ki=function rIb(a,b){this.c.lh(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var XO=tjc(743);fW(744,1,{},sIb);var YO=tjc(744);fW(892,1,{},$Ib);_.c=0;_.d=0;var $O=tjc(892);fW(61,14,{61:1,3:1,21:1,14:1},yJb);_.a=0;_.b=0;_.c=0;var _Ib,aJb,bJb,cJb,dJb,eJb,fJb,gJb,hJb,iJb,jJb,kJb,lJb,mJb,nJb,oJb,pJb,qJb,rJb,sJb,tJb,uJb,vJb,wJb;var ZO=ujc(61,_S,AJb);var BJb;fW(169, -1,{169:1,3:1},WJb);_.Cd=function XJb(a){return qE(a,169)&&hy(a.a,this.a)};_.Ed=function YJb(){return this.a.Ed()};_.Fd=function ZJb(){return this.a.Fd()};var DJb,EJb,FJb,GJb,HJb,IJb,JJb,KJb,LJb,MJb,NJb;var aP=tjc(169);fW(29,14,{29:1,3:1,21:1,14:1},UKb);_.toString=function VKb(){return this.a};_.b=0;var _Jb,aKb,bKb,cKb,dKb,eKb,fKb,gKb,hKb,iKb,jKb,kKb,lKb,mKb,nKb,oKb,pKb,qKb,rKb,sKb,tKb,uKb,vKb,wKb,xKb,yKb,zKb,AKb,BKb,CKb,DKb,EKb,FKb,GKb,HKb,IKb,JKb,KKb,LKb,MKb,NKb,OKb,PKb,QKb,RKb,SKb;var _O=ujc(29, -_S,WKb);fW(174,1,{174:1},YKb);_.Fd=function ZKb(){return oSb(this.c)};var nP=tjc(174);fW(362,174,{362:1,174:1},$Kb);_.Fd=function _Kb(){return this.a};var bP=tjc(362);fW(37,14,{37:1,3:1,21:1,14:1},$Lb);_.toString=function eMb(){return this.b};var aLb,bLb,cLb,dLb,eLb,fLb,gLb,hLb,iLb,jLb,kLb,lLb,mLb,nLb,oLb,pLb,qLb,rLb,sLb,tLb,uLb,vLb,wLb,xLb,yLb,zLb,ALb,BLb,CLb,DLb,ELb,FLb,GLb,HLb,ILb,JLb,KLb,LLb,MLb,NLb,OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb,WLb,XLb,YLb;var cP=ujc(37,_S,fMb);fW(809,1,{},jMb);var dP=tjc(809); -fW(100,174,{100:1,174:1},nMb);_.Fd=function oMb(){return this.a};var eP=tjc(100);fW(281,1,{},aPb,bPb);var jP=tjc(281);fW(793,1,{},dPb);var fP=tjc(793);fW(792,1,{},ePb);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var gP=tjc(792);fW(234,14,{234:1,3:1,21:1,14:1},jPb);var fPb,gPb,hPb;var hP=ujc(234,_S,kPb);fW(197,1,{},lPb);_.a=null;_.b=false;_.c=false;var iP=tjc(197);fW(794,1,{},ZPb);_.d=0;_.f=0;var kP=tjc(794);fW(791,1,{},iQb);var lP=tjc(791);fW(12,14,{12:1,3:1,21:1,14:1},pSb,qSb);_.toString=function rSb(){return oSb(this)}; -var jQb,kQb,lQb,mQb,nQb,oQb,pQb,qQb,rQb,sQb,tQb,uQb,vQb,wQb,xQb,yQb,zQb,AQb,BQb,CQb,DQb,EQb,FQb,GQb,HQb,IQb,JQb,KQb,LQb,MQb,NQb,OQb,PQb,QQb,RQb,SQb,TQb,UQb,VQb,WQb,XQb,YQb,ZQb,$Qb,_Qb,aRb,bRb,cRb,dRb,eRb,fRb,gRb,hRb,iRb,jRb,kRb,lRb,mRb,nRb,oRb,pRb,qRb,rRb,sRb,tRb,uRb,vRb,wRb,xRb,yRb,zRb,ARb,BRb,CRb,DRb,ERb,FRb,GRb,HRb,IRb,JRb,KRb,LRb,MRb,NRb,ORb,PRb,QRb,RRb,SRb,TRb,URb,VRb,WRb,XRb,YRb,ZRb,$Rb,_Rb,aSb,bSb,cSb,dSb,eSb,fSb,gSb,hSb,iSb,jSb,kSb,lSb,mSb;var mP=ujc(12,_S,sSb);fW(9,1,{9:1});_.Fd=function wSb(){return this.p+ -"@"+this.o};var FQ=tjc(9);fW(526,9,{526:1,9:1},xSb);var oP=tjc(526);fW(860,9,{9:1},ySb);var pP=tjc(860);fW(462,9,{462:1,9:1},zSb);var qP=tjc(462);fW(506,9,{506:1,9:1},ASb);var rP=tjc(506);fW(517,9,{517:1,9:1},BSb);var sP=tjc(517);fW(508,9,{508:1,9:1},CSb);var tP=tjc(508);fW(501,9,{501:1,9:1},DSb);var uP=tjc(501);fW(107,9,{107:1,9:1},ESb);var vP=tjc(107);fW(344,9,{344:1,9:1},FSb);var wP=tjc(344);fW(464,9,{464:1,9:1},GSb);var xP=tjc(464);fW(465,9,{465:1,9:1},HSb);var yP=tjc(465);fW(529,9,{529:1,9:1}, -ISb);_.c=false;var zP=tjc(529);fW(466,9,{466:1,9:1},JSb);var AP=tjc(466);fW(468,9,{468:1,9:1},KSb);var BP=tjc(468);fW(497,9,{497:1,9:1},LSb);var CP=tjc(497);fW(351,9,{351:1,9:1},MSb);var DP=tjc(351);fW(458,1,{458:1},NSb);var FP=tjc(458);fW(175,14,{175:1,3:1,21:1,14:1},USb);var OSb,PSb,QSb,RSb,SSb;var EP=ujc(175,_S,VSb);fW(510,9,{510:1,9:1},WSb);var GP=tjc(510);fW(511,9,{511:1,9:1},XSb);var HP=tjc(511);fW(509,9,{509:1,9:1},YSb);var IP=tjc(509);fW(348,9,{348:1,9:1},ZSb);var JP=tjc(348);fW(482,9,{482:1, -9:1},$Sb);_.b=false;var KP=tjc(482);fW(483,9,{483:1,9:1},_Sb);_.c=false;var LP=tjc(483);fW(241,9,{241:1,9:1},aTb);var MP=tjc(241);fW(484,9,{484:1,9:1},bTb);_.b=false;var NP=tjc(484);fW(477,9,{477:1,9:1},cTb);var OP=tjc(477);fW(469,9,{469:1,9:1},dTb);var PP=tjc(469);fW(472,9,{472:1,9:1},eTb);var QP=tjc(472);fW(467,9,{467:1,9:1},fTb);var RP=tjc(467);fW(243,9,{243:1,9:1},gTb);var SP=tjc(243);fW(470,9,{470:1,9:1},hTb);var TP=tjc(470);fW(199,9,{199:1,9:1},iTb);var UP=tjc(199);fW(524,9,{524:1,9:1},jTb); -var VP=tjc(524);fW(503,9,{503:1,9:1},kTb);_.d=false;_.e=false;var WP=tjc(503);fW(504,9,{504:1,9:1},lTb);var XP=tjc(504);fW(471,9,{471:1,9:1},mTb);var YP=tjc(471);fW(494,9,{494:1,9:1},nTb);var ZP=tjc(494);fW(475,9,{475:1,9:1},oTb);var $P=tjc(475);fW(502,9,{502:1,9:1},pTb);var _P=tjc(502);fW(474,9,{474:1,9:1},qTb);var aQ=tjc(474);fW(176,9,{176:1,9:1},rTb);var bQ=tjc(176);fW(476,9,{476:1,9:1},sTb);_.e=false;_.f=false;_.g=false;_.i=false;var eQ=tjc(476);fW(108,1,{},ETb);_.a=null;_.b=null;_.c=null;_.d= -null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var cQ=tjc(108);fW(200,14,{200:1,3:1,21:1,14:1},KTb);var FTb,GTb,HTb,ITb;var dQ=ujc(200,_S,LTb);fW(520,9,{520:1,9:1},MTb);var fQ=tjc(520);fW(522,9,{522:1,9:1},NTb);var gQ=tjc(522);fW(495,9,{495:1,9:1},OTb);_.b=false;var hQ=tjc(495);fW(282,9,{282:1,9:1},PTb);var iQ=tjc(282);fW(478,9,{478:1,9:1},QTb);var jQ=tjc(478);fW(352,9,{352:1,9:1},RTb);var kQ=tjc(352);fW(505,9,{505:1,9:1},STb);var lQ=tjc(505);fW(528,9,{528:1,9:1},TTb);var mQ=tjc(528); -fW(523,9,{523:1,9:1},UTb);var nQ=tjc(523);fW(479,9,{479:1,9:1},VTb);var oQ=tjc(479);fW(350,9,{350:1,9:1},WTb);var pQ=tjc(350);fW(346,9,{346:1,9:1},XTb);var qQ=tjc(346);fW(345,9,{345:1,9:1},YTb);var rQ=tjc(345);fW(284,9,{284:1,9:1},ZTb);_.c=false;_.d=false;var sQ=tjc(284);fW(283,9,{283:1,9:1},$Tb);var tQ=tjc(283);fW(527,9,{527:1,9:1},_Tb);var uQ=tjc(527);fW(861,9,{9:1},aUb);var vQ=tjc(861);fW(347,9,{347:1,9:1},bUb);var wQ=tjc(347);fW(499,9,{499:1,9:1},cUb);var xQ=tjc(499);fW(201,9,{201:1,9:1},dUb); -var yQ=tjc(201);fW(481,9,{481:1,9:1},eUb);var zQ=tjc(481);fW(507,9,{507:1,9:1},fUb);var AQ=tjc(507);fW(515,9,{515:1,9:1},gUb);var BQ=tjc(515);fW(516,9,{516:1,9:1},hUb);var CQ=tjc(516);fW(480,9,{480:1,9:1},iUb);var DQ=tjc(480);fW(18,14,{18:1,3:1,21:1,14:1},ZVb);var jUb,kUb,lUb,mUb,nUb,oUb,pUb,qUb,rUb,sUb,tUb,uUb,vUb,wUb,xUb,yUb,zUb,AUb,BUb,CUb,DUb,EUb,FUb,GUb,HUb,IUb,JUb,KUb,LUb,MUb,NUb,OUb,PUb,QUb,RUb,SUb,TUb,UUb,VUb,WUb,XUb,YUb,ZUb,$Ub,_Ub,aVb,bVb,cVb,dVb,eVb,fVb,gVb,hVb,iVb,jVb,kVb,lVb,mVb,nVb, -oVb,pVb,qVb,rVb,sVb,tVb,uVb,vVb,wVb,xVb,yVb,zVb,AVb,BVb,CVb,DVb,EVb,FVb,GVb,HVb,IVb,JVb,KVb,LVb,MVb,NVb,OVb,PVb,QVb,RVb,SVb,TVb,UVb,VVb,WVb,XVb;var EQ=ujc(18,_S,$Vb);fW(454,9,{9:1,454:1},_Vb);var GQ=tjc(454);fW(242,9,{9:1,242:1},aWb);var HQ=tjc(242);fW(518,9,{9:1,518:1},bWb);var IQ=tjc(518);fW(512,9,{9:1,512:1},cWb);var JQ=tjc(512);fW(485,9,{9:1,485:1},dWb);var KQ=tjc(485);fW(496,9,{9:1,496:1},eWb);_.b=false;var LQ=tjc(496);fW(513,9,{9:1,513:1},fWb);var MQ=tjc(513);fW(498,9,{9:1,498:1},gWb);var NQ= -tjc(498);fW(486,9,{9:1,486:1},hWb);var OQ=tjc(486);fW(341,9,{9:1,341:1},iWb);var PQ=tjc(341);fW(342,9,{9:1,342:1},jWb);var QQ=tjc(342);fW(343,9,{9:1,343:1},kWb);var RQ=tjc(343);fW(473,9,{9:1,473:1},lWb);var SQ=tjc(473);fW(487,9,{9:1,487:1},mWb);var TQ=tjc(487);fW(488,9,{9:1,488:1},nWb);var UQ=tjc(488);fW(525,9,{9:1,525:1},oWb);var VQ=tjc(525);fW(353,9,{9:1,353:1},pWb);var WQ=tjc(353);fW(521,9,{9:1,521:1},qWb);var XQ=tjc(521);fW(514,9,{9:1,514:1},rWb);var YQ=tjc(514);fW(463,9,{9:1,463:1},sWb);var ZQ= -tjc(463);fW(519,9,{9:1,519:1},tWb);var $Q=tjc(519);fW(349,9,{9:1,349:1},uWb);_.c=0;var _Q=tjc(349);fW(490,9,{9:1,490:1},vWb);var aR=tjc(490);fW(491,9,{9:1,491:1},wWb);var bR=tjc(491);fW(489,9,{9:1,489:1},xWb);var cR=tjc(489);fW(492,9,{9:1,492:1},yWb);var dR=tjc(492);fW(493,9,{9:1,493:1},zWb);var eR=tjc(493);fW(500,9,{9:1,500:1},AWb);_.b=false;var fR=tjc(500);fW(895,951,{},BWb);_.ji=function CWb(a,b){throw HV(new EWb);};_.ki=function DWb(a,b){};var iR=tjc(895);fW(371,22,{371:1,3:1,40:1,22:1,38:1}, -EWb);var hR=tjc(371);fW(338,1,{},GWb);_.Fd=function HWb(){return mXb("%s(%d, %d)",DD(yD(nT,1),UBc,1,5,[FWb(this),ikc(this.b+1),ikc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var jR=tjc(338);fW(13,1,{},IWb);_.Fd=function JWb(){return mXb("<%s - %s>",DD(yD(nT,1),UBc,1,5,[this.b,this.a]))};var kR=tjc(13);fW(810,1,{},MWb);_.b=0;var KWb;var mR=tjc(810);fW(457,1,{457:1},PWb);_.a=0;_.b=0;var lR=tjc(457);fW(741,22,SCc,QWb);var nR=tjc(741);fW(742,22,SCc,RWb);var oR=tjc(742);fW(329,22,SCc,SWb);var pR=tjc(329);fW(739, -22,SCc,TWb);var qR=tjc(739);fW(740,22,SCc,UWb);var rR=tjc(740);fW(325,22,SCc,VWb);var sR=tjc(325);fW(738,22,SCc,WWb);var tR=tjc(738);fW(686,1,{},lXb);var wR=tjc(686);fW(688,1,{},wXb);_.b=0;_.c=0;_.d=0;var uR=tjc(688);fW(687,1,{},EXb);_.a=-1;_.b=IBc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var vR=tjc(687);fW(326,22,SCc,FXb);var xR=tjc(326);fW(761,1,{},HXb);var yR=tjc(761);fW(1055,1,{});var LXb;fW(257,1,{257:1,3:1},PYb);_.Cd=function QYb(a){if(this=== -a)return true;if(a==null)return false;if(zR!=yb(a))return false;return Rkc(this.a,a.a)};_.Ed=function RYb(){return qBc(this.a)};_.Fd=function SYb(){return"InputId: "+this.a};var zR=tjc(257);fW(323,1,{323:1,3:1},t$b,u$b);_.Fd=function x$b(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var JR=tjc(323);fW(715,1,KBc,y$b);var AR=tjc(715);fW(55,1,KBc,E$b);_.Fd=function F$b(){var a;return Hd(Gd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(new Id((mjc(BR),BR.n)),"bitfield",this.o==0?null:(a=this.o>>> -0,a.toString(16))),"baseType",this.a),"extendedInterfaces",this.e),"implementedInterfaces",this.f),"parameters",this.n),"thrownTypes",this.r),"templateTypeNames",this.q),"disposedParameters",this.d),"typeTransformations",this.s),"description",this.c),"meaning",this.j),dFc,this.b),"license",this.i),"suppressions",this.p),"lendsName",this.g)))};_.o=0;var BR=tjc(55);fW(430,1,{430:1},J$b);var CR=tjc(430);fW(324,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var WR=tjc(324);fW(716,324,{},N$b);var DR=tjc(716); -fW(428,324,{},P$b);var ER=tjc(428);fW(429,428,{},R$b);var FR=tjc(429);fW(717,324,{},S$b);_.a=false;var GR=tjc(717);fW(171,14,{171:1,3:1,21:1,14:1},$$b);var U$b,V$b,W$b,X$b,Y$b;var HR=ujc(171,_S,_$b);fW(91,1,{},w0b,x0b);_.d=false;_.e=false;var IR=tjc(91);fW(76,1,{76:1,3:1},B0b);_.Cd=function C0b(a){return qE(a,76)&&a.a.oi(this.a,false,true,false,false)};_.Ed=function D0b(){return Ab(this.a)};_.Fd=function E0b(){return"type: "+S1b(this.a)};var KR=tjc(76);fW(7,1,{7:1,3:1},Z1b,$1b,_1b,a2b,b2b,c2b,d2b); -_.li=function e2b(a){return P0b(this,new Z1b(this.j),a)};_.mi=function h2b(){if(this.j==(m6b(),p5b))throw HV(new Ujc(gKc));else throw HV(new Mlc(this+" is not a number node"));};_.ni=function i2b(){if(this.j==(m6b(),Q5b))throw HV(new Ujc(hKc));else throw HV(new Mlc(this+iKc));};_.oi=function j2b(a,b,c,d,e){return i1b(this,a,b,c,d,e)};_.pi=function k2b(){return false};_.qi=function o2b(a){if(this.j==(m6b(),p5b))throw HV(new Ujc(gKc));else throw HV(new Mlc(this+iKc));};_.ri=function p2b(){throw HV(new Ujc(this+ -" is not a StringNode"));};_.si=function q2b(a){if(this.j==(m6b(),Q5b)||this.j==e5b)throw HV(new Ujc(hKc));else throw HV(new Mlc(this+iKc));};_.Fd=function r2b(){return R1b(this,true,true,true)};_.c=0;_.i=0;var VR=tjc(7);fW(302,1,_Bc,t2b);_.Pd=function u2b(){return new w2b(this)};var MR=tjc(302);fW(272,1,MBc,w2b);_.Kd=function y2b(){return v2b(this)};_.Jd=function x2b(){return!!this.a.a};_.Ld=function z2b(){throw HV(new Llc);};var LR=tjc(272);fW(405,1,KBc);_.c=0;var QR=tjc(405);fW(33,405,KBc,B2b); -_.ti=function C2b(a){return new B2b(this.c,this.a,a)};_.ui=function D2b(){return this.a};_.vi=function E2b(){throw HV(new Llc);};_.Fd=function F2b(){return""+this.a};_.a=0;var NR=tjc(33);fW(58,7,{7:1,58:1,3:1},G2b);_.li=function H2b(a){return P0b(this,new G2b(this.a),a)};_.mi=function I2b(){return this.a};_.oi=function J2b(a,b,c,d,e){var f,g,h;f=i1b(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};_.qi=function K2b(a){this.a=a};_.a=0;var OR=tjc(58);fW(51,405,KBc,L2b); -_.ti=function M2b(a){return new L2b(this.c,this.a,a)};_.ui=function N2b(){throw HV(new Llc);};_.vi=function O2b(){return this.a};_.Fd=function P2b(){return qlc(this.a)};var PR=tjc(51);fW(54,1,_Bc,Q2b);_.Pd=function R2b(){return new T2b(this.a)};var RR=tjc(54);fW(633,1,MBc,T2b);_.Kd=function V2b(){return S2b(this)};_.Jd=function U2b(){return!!this.a};_.Ld=function W2b(){throw HV(new Llc);};var SR=tjc(633);fW(8,7,{7:1,8:1,3:1},Y2b,Z2b);_.li=function $2b(a){return P0b(this,new Y2b(this.j,this.a),a)}; -_.ni=function _2b(){return this.a};_.oi=function a3b(a,b,c,d,e){return i1b(this,a,b,c,d,e)&&Rkc(this.a,a.a)};_.pi=function b3b(){return W0b(this,36)!=0};_.ri=function c3b(){var a;a=v1b(this,this.g,36);a!=this.g&&(this.g=a);this.g=new B2b(36,1,this.g)};_.si=function d3b(a){X2b(this,a)};var TR=tjc(8);fW(95,7,{7:1,95:1,3:1},e3b,f3b,g3b);_.li=function h3b(a){return P0b(this,new g3b(this.j,this.a),a)};_.ni=function i3b(){return this.a};var UR=tjc(95);fW(10,14,{10:1,3:1,21:1,14:1},n6b);var k3b,l3b,m3b, -n3b,o3b,p3b,q3b,r3b,s3b,t3b,u3b,v3b,w3b,x3b,y3b,z3b,A3b,B3b,C3b,D3b,E3b,F3b,G3b,H3b,I3b,J3b,K3b,L3b,M3b,N3b,O3b,P3b,Q3b,R3b,S3b,T3b,U3b,V3b,W3b,X3b,Y3b,Z3b,$3b,_3b,a4b,b4b,c4b,d4b,e4b,f4b,g4b,h4b,i4b,j4b,k4b,l4b,m4b,n4b,o4b,p4b,q4b,r4b,s4b,t4b,u4b,v4b,w4b,x4b,y4b,z4b,A4b,B4b,C4b,D4b,E4b,F4b,G4b,H4b,I4b,J4b,K4b,L4b,M4b,N4b,O4b,P4b,Q4b,R4b,S4b,T4b,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;var XR=ujc(10,_S,p6b);var r6b,s6b;fW(23,1,nKc);_.yh=function Q6b(){return this.xi()};_.Ph=function Z6b(){return I6b(this)};_.ci=function B7b(){return this.Qi()};_.ei=function G7b(){return this.Ti()};_.fi=function I7b(){return qE(this,47)?this:null};_.xi=function R6b(){var a,b;b=this.Qi();a=b.yi();return!a?b:a};_.yi=function S6b(){return null};_.Cd=function T6b(a){return F6b(this, -a)};_.zi=function V6b(a){return W6b(this,a)};_.Ai=function X6b(a){var b;a=U6b(a);if(a.Xi())return rhc(a.Xi(),this);return b=E6b(this,a,0,new sbc(true)),b?this:U6b($cc(this.A,DD(yD(pS,1),oKc,23,0,[this,a])))};_.Bi=function Y6b(){return this.B};_.Ci=function $6b(){return vgc(this.B)};_.Di=function _6b(){return false};_.Rh=function a7b(){return this.Ji()||this.Hi()||this.Ii()||cdc(this.A,(Mcc(),$bc))==this};_.Ei=function b7b(){return false};_.Sh=function c7b(){return false};_.Th=function d7b(){return this.Si()!= -null};_.Uh=function f7b(a){return E6b(this,a,0,new sbc(true))};_.Fi=function g7b(){return false};_.Gi=function h7b(){return false};_.Vh=function i7b(){return!!this.Ti()};_.Wh=function j7b(){return!!this.Wi()};_.Xh=function k7b(){return false};_.Hi=function l7b(){return false};_.Ii=function m7b(){return false};_.Ji=function n7b(){return false};_.Ki=function o7b(){return false};_.Li=function p7b(){return false};_.Yh=function q7b(){return false};_.Mi=function r7b(){return false};_.Zh=function s7b(){return this.Gi()}; -_.$h=function t7b(){return false};_.Ni=function u7b(){return false};_.Oi=function v7b(a){return x7b(this,a,new vbc(true),0)};_.Pi=function w7b(a,b,c){return x7b(this,a,b,c)};_._h=function y7b(){return false};_.ai=function z7b(){return false};_.bi=function A7b(){return false};_.Qi=function C7b(){return this};_.di=function D7b(a){return a==0?D6b(this,new Flc,true).a:this.wi(new Flc,true).a};_.Ri=function E7b(){return null};_.Si=function F7b(){return null};_.Ti=function H7b(){return null};_.Ui=function J7b(){return null}; -_.Vi=function K7b(){return null};_.Wi=function L7b(){return null};_.Xi=function M7b(){return null};_.Fd=function N7b(){return this.wi(new Flc,false).a};_.w=false;var A6b,B6b;var pS=tjc(23);fW(868,23,nKc,O7b);_.wi=function P7b(a,b){return a.a+="*",a};_.Ed=function Q7b(){return UAc(this)};_.Di=function R7b(){return true};_.Yh=function S7b(){return true};_.bi=function T7b(){return true};_.Yi=function U7b(a){return a.Rg()};var ZR=tjc(868);fW(77,23,{56:1,77:1,23:1,3:1},_7b,a8b);_.wi=function b8b(a,b){return a.a+= -"[ArrowType]",a};_.zi=function c8b(a){throw HV(new Llc);};_.Ai=function d8b(a){throw HV(new Llc);};_.Zi=function e8b(){return J6b(this.b)||X7b(this)};_.Ci=function(){return this.Zi()};_.Ed=function f8b(){return Z7b(this)};_.Oi=function g8b(a){return $7b(this,a,new vbc(true),0)};_.Pi=function h8b(a,b,c){return $7b(this,a,b,c)};_.Yi=function i8b(a){throw HV(new Llc);};_.c=false;var $R=tjc(77);fW(248,23,nKc);var QS=tjc(248);fW(863,248,nKc,k8b);_.wi=function l8b(a,b){return a.a+=uBc,a};_.yi=function m8b(){return H6b(this, -(Mcc(),Gbc))};_.Ed=function n8b(){return UAc(this)};_.Yh=function o8b(){return false};_.Yi=function p8b(a){return a.Sg()};var _R=tjc(863);fW(47,23,pKc);_.Ah=function C8b(){return this._i()};_.Jh=function I8b(a){return this.fj(a)};_.Kh=function K8b(){var a;return a=this.Wi(),!a?this:a.c};_.$i=function B8b(){this.v=true};_.aj=function D8b(){return Cn(),cy(),by};_.Bh=function E8b(){return null};_.cj=function F8b(){return this.ej().b.keySet()};_.dj=function G8b(){return null};_.ej=function H8b(){return Rec(), -Rec(),Qec};_.fj=function J8b(a){return u8b(this,a)};_.hj=function L8b(a){return Xec(this.ej(),a)};_.Mh=function M8b(){var a;a=this.bj();if(!a)return null;a=a.bj();return!a?null:a.Ah()};_.Nh=function N8b(){return null};_.ij=function O8b(){return false};_.Gi=function P8b(){return!!this.dj()};_.jj=function Q8b(){return false};_.Mi=function R8b(){return true};_.Ni=function T8b(){var a;return a=this._i(),!!a&&a.g==(Yac(),Wac)&&a.f};_._h=function U8b(){return x8b(this)};_.kj=function V8b(a){};_.Yi=function W8b(a){return a.Zg(this)}; -_.v=true;var wS=tjc(47);fW(894,47,pKc,Z8b);_.Ah=function a9b(){return!this.c?null:this.c._i()};_.wi=function $8b(a,b){if(b)return Alc(a,this.d);return Blc(Alc(Blc(Blc(a,this.b),"<"),this.d),">")};_.yi=function _8b(){return this.d.yi()};_._i=function b9b(){return!this.c?null:this.c._i()};_.bj=function c9b(){return null};_.lj=function d9b(){return!this.c?(Rec(),Rec(),Qec):this.c.ej()};_.ej=function(){return this.lj()};_.gj=function e9b(){return this.b};_.ij=function f9b(){return true};_.Ed=function g9b(){de(true); -return qBc(this.b)};_.Ki=function h9b(){return true};_.Yh=function i9b(){return this.d.Yh()};_.Mi=function j9b(){return this.d.Mi()};_.Oi=function k9b(a){return X8b(this,a,new vbc(true),0)};_.Pi=function l9b(a,b,c){return X8b(this,a,b,c)};_.bi=function m9b(){return this.d.bi()};_.Ri=function n9b(){return this};_.Yi=function o9b(a){return a.Tg(this)};var aS=tjc(894);fW(84,47,qKc,s9b,t9b);_.Ah=function x9b(){return this._i()};_.wi=function v9b(a,b){return p9b(this,a,b)};_.mj=function w9b(a,b,c,d){return q9b(this, -a,b,c,d)};_._i=function y9b(){return null};_.aj=function z9b(){return this.s?this.s.d:(Zn(),Zn(),Yn)};_.nj=function A9b(){return this.s?T9b(this.s):(Zn(),Zn(),Yn)};_.bj=function B9b(){return this.q};_.dj=function C9b(){return this.s};_.ej=function D9b(){return this.u};_.gj=function E9b(){return this.p!=null?this.p:this.s?this.s.gj()+cGc:null};_.oj=function F9b(){return!this.v};_.ij=function G9b(){return this.p!=null||!!this.s};_.Ed=function H9b(){return this.Ni()?dqc(DD(yD(nT,1),UBc,1,5,[this.p,this.u])): -UAc(this)};_.jj=function I9b(){return this.r};_.Oi=function J9b(a){return this.Pi(a,new vbc(true),0)};_.Pi=function K9b(a,b,c){var d,e,f,g,h;if(x7b(this,a,b,c))return true;if(a.Xi())return false;if(a.Ui())return L9b(this,a.Ui(),b,c);e=qE(a,47)?a:null;d=!e?null:e._i();if(!!this._i()&&this._i().g==(Yac(),Wac))for(g=$s(new fsc(this.aj().a.b.Pd()));g.Jd();){f=g.Kd();if(f.Pi(a,b,c))return true}else if(!!d&&d.g==(Yac(),Wac)){h=this.nj();for(g=h.Pd();g.Jd();){f=g.Kd();if(f.Pi(a,b,c))return true}}if(x8b(this))return true; -return!!e&&v8b(this,e)};_.kj=function M9b(a){de(!this.s||!a);this.s=a};_.o=false;_.r=false;_.s=null;_.t=false;var zS=tjc(84);fW(69,84,rKc,eac);_.Dh=function jac(){return ie(this.Sh()||this.g==(Yac(),Wac),RHc,this),N6b(this.n)};_.Jh=function oac(a){return X9b(this,a)};_.gj=function qac(){return this.p!=null?this.p:this.s?this.s.gj()+cGc:null};_.Lh=function rac(){return this.c.b};_.Mh=function tac(){return $9b(this)};_.Oh=function uac(){return K6b(this.n)?cdc(this.A,(Mcc(),Icc)):this.n};_.ei=function Dac(){return this.Ti()}; -_.wi=function fac(a,b){var c,d,e;if(!this.t||this==cdc(this.A,(Mcc(),Sbc)))return a.a+=PFc,a;this.t=false;a.a+="function (";e=T0b(this.c.a);c=!qE(this.n,202);if(c){this.Sh()?(a.a+="new:",a):(a.a+="this:",a);this.n.wi(a,b)}if(e>0){c&&(a.a+=RBc,a);d=this.c.a.b;W0b(d,30)!=0?P9b(this,a,qE(d.k,23)?d.k:null,b):W0b(d,37)!=0?O9b(this,a,qE(d.k,23)?d.k:null,b):D6b(qE(d.k,23)?d.k:null,a,b);d=d.d;while(d){a.a+=RBc;W0b(d,30)!=0?P9b(this,a,qE(d.k,23)?d.k:null,b):W0b(d,37)!=0?O9b(this,a,qE(d.k,23)?d.k:null,b):D6b(qE(d.k, -23)?d.k:null,a,b);d=d.d}}a.a+="): ";D6b(this.c.b,a,b);this.t=true;return a};_.$i=function gac(){R9b(this)};_.mj=function hac(a,b,c,d){var e;if(Rkc(FDc,a)){e=qE(b,47)?b:null;if(e){if(!!this.i&&E6b(e,this.i.e,0,new sbc(true)))return true;aac(this,e,d);return true}else return false}return q9b(this,a,b,c,d)};_.zh=function iac(){var a;a=new jvc;this.Sh()?Sc(a,T9b(this)):Sc(a,this.d);return a};_.Fh=function kac(){return U9b(this)};_.Gh=function lac(){return V9b(this)};_.cj=function mac(){return W9b(this)}; -_.Ih=function nac(){var a,b,c,d;d=new qpc;for(b=(c=this.c.a,c?!c.b?(Sqc(),Sqc(),Rqc):new Q2b(c.b):(Sqc(),Sqc(),Rqc)).Pd();b.Jd();){a=b.Kd();epc(d,qE(a.k,23)?a.k:null)}return d};_.fj=function pac(a){return X9b(this,a)};_.hj=function sac(a){return Z9b(this,a)};_.Zi=function vac(){return ygc(this.B)>0||J6b(this.n)||J6b(this.c)};_.Ci=function(){return this.Zi()};_.oj=function wac(){return!!this.i||!this.v};_.Ed=function xac(){var a;a=kBc(this.g);switch(this.g.f){case 1:return 31*a+UAc(this);case 2:return 31* -a+qBc(this.gj());case 0:a=31*a+this.n.Ed();a=31*a+Z7b(this.c);return a;default:throw HV(new Lic);}};_.Sh=function yac(){return this.g==(Yac(),Vac)};_.Xh=function zac(){return this.g==(Yac(),Wac)};_.$h=function Aac(){return this.g==(Yac(),Wac)&&this.f};_.Oi=function Bac(a){return this.Pi(a,new vbc(true),0)};_.Pi=function Cac(a,b,c){var d,e;if(x7b(this,a,b,c))return true;if(a.Ti()){d=a.Ti();if(d.g==(Yac(),Wac))return true;if(this.g==Wac)return false;return e=!!N6b(d.n)&&!!N6b(d.n)._i()&&N6b(d.n)._i().g== -Wac||d.n.Pi(this.n,b,0)||this.n.Pi(d.n,b,0),e&&$7b(this.c,d.c,b,c)}return H6b(this,(Mcc(),Tbc)).Pi(a,b,c)};_.Ti=function Eac(){return this};_.Yi=function Fac(a){return a.Ug(this)};_.gi=function Gac(a){throw HV(new Mlc("withReturnType not supported in OTI."));};_.f=false;var fS=tjc(69);fW(178,69,rKc,Hac);var bS=tjc(178);fW(204,1,{},Pac);_.a=false;_.b=false;_.c=null;_.e=null;_.f=null;_.g=null;var cS=tjc(204);fW(286,1,{},Uac);var dS=tjc(286);fW(233,14,{233:1,3:1,21:1,14:1},Zac);var Vac,Wac,Xac;var eS= -ujc(233,_S,$ac);fW(882,84,qKc,_ac);_.Ah=function cbc(){return this.a};_.wi=function abc(a,b){return this.a.ij()?Blc(a,this.a.gj()):p9b(this,a,b)};_.mj=function bbc(a,b,c,d){var e,f;e=Y9b(this.a);if(!!e&&!!Uec(e.ej(),a)&&(f=e.hj(a),!!f&&!f.b))return false;return q9b(this,a,b,c,d)};_._i=function dbc(){return this.a};_.aj=function ebc(){return this.a.d};_.nj=function fbc(){return T9b(this.a)};_.bj=function gbc(){return Y9b(this.a)};_.gj=function hbc(){return this.a.gj()};_.ij=function ibc(){return this.a.ij()}; -_.Ed=function jbc(){var a;return this.a.ij()?qBc(this.a.gj()):(a=this.a,!!a&&a.g==(Yac(),Wac)&&a.f?dqc(DD(yD(nT,1),UBc,1,5,[this.p,this.u])):UAc(this))};_.Ki=function kbc(){return this.a.ij()};var gS=tjc(882);fW(722,1,vDc,lbc);_.Re=function mbc(a,b){return Nkc(a.wi(new Flc,false).a,b.wi(new Flc,false).a)};_.Cd=function nbc(a){return this===a};_.Te=function obc(){return new Rtc(this)};var hS=tjc(722);fW(433,1,{});_.b=false;var kS=tjc(433);fW(64,433,{},sbc);var iS=tjc(64);fW(99,433,{},vbc);var jS=tjc(99); -fW(229,14,{229:1,3:1,21:1,14:1},Abc);_.a=false;var wbc,xbc,ybc;var lS=ujc(229,_S,Bbc);fW(28,14,{28:1,3:1,21:1,14:1},Ncc);var Cbc,Dbc,Ebc,Fbc,Gbc,Hbc,Ibc,Jbc,Kbc,Lbc,Mbc,Nbc,Obc,Pbc,Qbc,Rbc,Sbc,Tbc,Ubc,Vbc,Wbc,Xbc,Ybc,Zbc,$bc,_bc,acc,bcc,ccc,dcc,ecc,fcc,gcc,hcc,icc,jcc,kcc,lcc,mcc,ncc,occ,pcc,qcc,rcc,scc,tcc,ucc,vcc,wcc,xcc,ycc,zcc,Acc,Bcc,Ccc,Dcc,Ecc,Fcc,Gcc,Hcc,Icc,Jcc,Kcc,Lcc;var mS=ujc(28,_S,Occ);fW(385,1,KBc,ldc);_.gh=function mdc(a){return $cc(this,a.Qd(AD(pS,oKc,23,0,0,1)))};_.hh=function ndc(a){return this.j[a.f]}; -_.ih=function odc(a){return ddc(this,a)};_.jh=function pdc(a,b){return new Kgc(this,a,b)};var oS=tjc(385);fW(760,69,rKc,qdc);_.Ah=function rdc(){return cdc(this.A,(Mcc(),Rbc))};_._i=function sdc(){return cdc(this.A,(Mcc(),Rbc))};var nS=tjc(760);fW(823,1,{});_.Rg=function Adc(){return zdc(this,(Mcc(),Cbc))};_.Sg=function Bdc(){return zdc(this,(Mcc(),Hbc))};_.Tg=function Cdc(a){return a};_.Ug=function Ddc(a){return tdc(this,a)};_.Vg=function Edc(){return zdc(this,(Mcc(),_bc))};_.Wg=function Fdc(a){return a}; -_.Xg=function Gdc(){return zdc(this,(Mcc(),ccc))};_.Yg=function Hdc(){return zdc(this,(Mcc(),icc))};_.Zg=function Idc(a){return udc(this,a)};_.$g=function Jdc(a){return vdc(this,a)};_._g=function Kdc(){return zdc(this,(Mcc(),xcc))};_.ah=function Mdc(a){return this.pj(a)};_.bh=function Ndc(a){return wdc(this,a)};_.dh=function Odc(a){return xdc(this,a)};_.eh=function Pdc(){return zdc(this,(Mcc(),Icc))};_.fh=function Qdc(){return zdc(this,(Mcc(),Lcc))};_.pj=function Ldc(a){return a};_.g=false;var qS= -tjc(823);fW(538,69,rKc,Rdc);_.Ah=function Udc(){return null};_.ei=function cec(){return null};_.wi=function Sdc(a,b){return a.a+=b?"?":"NoObject",a};_.mj=function Tdc(a,b,c,d){return true};_._i=function Vdc(){return null};_.bj=function Wdc(){return null};_.gj=function Xdc(){return null};_.ij=function Ydc(){return false};_.Ed=function Zdc(){return UAc(this)};_.Sh=function $dc(){return false};_.Hi=function _dc(){return true};_.Oi=function aec(a){return this.Pi(a,new vbc(true),0)};_.Pi=function bec(a, -b,c){return x7b(this,a,b,c)||a.Mi()&&!a.Ji()&&!a.Ii()};_.Ti=function dec(){return null};_.Yi=function eec(a){return a.Vg()};var rS=tjc(538);fW(539,538,rKc,fec);_.wi=function gec(a,b){return a.a+=b?"?":"None",a};_.Hi=function hec(){return false};_.Ji=function iec(){return true};_.Yh=function jec(){return true};_.Oi=function kec(a){return this.Pi(a,null,0)};_.Pi=function lec(a,b,c){return true};_.bi=function mec(){return true};_.Yi=function nec(a){return a.Wg(this)};var tS=tjc(539);fW(869,539,rKc,pec); -_.wi=function qec(a,b){return a.a+=b?"?":"NoResolvedType",a};_.gj=function rec(){return this.a};_.Nh=function sec(){return this.b};_.Sh=function tec(){return false};_.Ii=function uec(){return true};_.Ji=function vec(){return false};_.Oi=function wec(a){return oec(this,a,new vbc(true),0)};_.Pi=function xec(a,b,c){return oec(this,a,b,c)};var sS=tjc(869);fW(864,248,nKc,yec);_.ci=function Dec(){return cdc(this.A,(Mcc(),bcc))};_.wi=function zec(a,b){return a.a+=ABc,a};_.Ed=function Aec(){return UAc(this)}; -_.Li=function Bec(){return true};_.Yh=function Cec(){return true};_.Qi=function Eec(){return cdc(this.A,(Mcc(),bcc))};_.Yi=function Fec(a){return a.Xg()};var uS=tjc(864);fW(865,248,nKc,Gec);_.wi=function Hec(a,b){return a.a+=vBc,a};_.yi=function Iec(){return H6b(this,(Mcc(),fcc))};_.Ed=function Jec(){return UAc(this)};_.Yh=function Kec(){return false};_.Yi=function Lec(a){return a.Yg()};var vS=tjc(865);fW(367,1,{367:1,3:1},Nec);_.Ed=function Oec(){return dqc(DD(yD(nT,1),UBc,1,5,[this.c,this.e]))}; -_.Fd=function Pec(){return"Property { name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var yS=tjc(367);fW(370,1,KBc,$ec,_ec);_.Ed=function afc(){return wxc(this.b.keySet())};_.a=null;var Qec;var xS=tjc(370);fW(126,47,sKc);_.Ah=function ffc(){return!this.c?null:this.c._i()};_.ei=function Ifc(){return this.d.Ti()};_.wi=function efc(a,b){return this.d.wi(a,b)};_._i=function gfc(){return!this.c?null:this.c._i()};_.aj=function hfc(){return!this.c?(Sqc(),Sqc(),Qqc):this.c.aj()}; -_.bj=function ifc(){return!this.c?null:this.c.bj()};_.dj=function jfc(){return!this.c?null:this.c.dj()};_.ej=function kfc(){return!this.c?(Rec(),Rec(),Qec):this.c.ej()};_.gj=function lfc(){return!this.c?"":this.c.gj()};_.Bi=function mfc(){return this.d.Bi()};_.Nh=function nfc(){return!this.c?null:this.c.Nh()};_.Zi=function ofc(){return J6b(this.d)};_.Ci=function(){return this.Zi()};_.ij=function pfc(){return Qic(!this.c?null:(Pic(),this.c.ij()?true:false))};_.Ed=function qfc(){return this.d.Ed()}; -_.Di=function rfc(){return this.d.Di()};_.Ei=function sfc(){return this.d.Ei()};_.Sh=function tfc(){return this.d.Sh()};_.Xh=function ufc(){return this.d.Xh()};_.jj=function vfc(){return!!this.c&&this.c.jj()};_.Hi=function wfc(){return this.d.Hi()};_.Ii=function xfc(){return this.d.Ii()};_.Ji=function yfc(){return this.d.Ji()};_.Ki=function zfc(){return this.d.Ki()};_.Yh=function Afc(){return this.d.Yh()};_.Ni=function Bfc(){return this.d.Ni()};_.Oi=function Cfc(a){return this.d.Pi(a,new vbc(true), -0)};_.Pi=function Dfc(a,b,c){return this.d.Pi(a,b,c)};_._h=function Efc(){return this.d._h()};_.bi=function Ffc(){return this.d.bi()};_.Ri=function Gfc(){return this.d.Ri()};_.Si=function Hfc(){return this.d.Si()};_.Ti=function Jfc(){return this.d.Ti()};_.Ui=function Kfc(){return this.d.Ui()};_.Vi=function Lfc(){return this.d.Vi()};_.Wi=function Mfc(){return this.d.Wi()};_.Xi=function Nfc(){return this.d.Xi()};_.Yi=function Ofc(a){return a.$g(this)};var AS=tjc(126);fW(888,84,qKc,Sfc);_.mj=function Tfc(a, -b,c,d){return Pfc(this,a,b,c,d)};_.bj=function Ufc(){return cdc(this.A,(Mcc(),occ))};_.Ni=function Vfc(){return true};_.Oi=function Wfc(a){return Rfc(this,a,new vbc(true),0)};_.Pi=function Xfc(a,b,c){return Rfc(this,a,b,c)};_.Ui=function Yfc(){return this};_.a=false;var DS=tjc(888);fW(550,1,{},_fc);_.a=true;_.b=true;var CS=tjc(550);fW(372,1,{372:1},agc);_.Fd=function bgc(){return"RecordProperty{type: "+this.b+", node: "+this.a+"}"};var BS=tjc(372);fW(866,248,nKc,cgc);_.wi=function dgc(a,b){return a.a+= -xBc,a};_.yi=function egc(){return H6b(this,(Mcc(),wcc))};_.Ed=function fgc(){return UAc(this)};_.Yi=function ggc(a){return a._g()};var ES=tjc(866);fW(245,126,{85:1,56:1,23:1,47:1,126:1,245:1,3:1},hgc);_.wi=function igc(a,b){return Blc(a,this.a)};_.gj=function jgc(){return this.a};_.Zi=function kgc(){return true};_.Vi=function lgc(){return this};_.Yi=function mgc(a){return a.ah(this)};var HS=tjc(245);fW(460,1,KBc,zgc);_.Fd=function Bgc(){var a,b,c;c="";b=this.d.size();c+="{ ";for(a=0;a"}return a};_.aj=function Mgc(){var a,b,c;c=new Pwc;for(b=this.c.aj().Pd();b.Jd();){a=b.Kd();gvc(c,N6b(a.Yi(this.a)))}return c};_.fj=function Ogc(a){var b;return b=u8b(this, -a),!b?null:b.Yi(this.a)};_.Bi=function Pgc(){return this.B};_.Nh=function Qgc(){return this.b};_.Zi=function Rgc(){return vgc(this.B)};_.Ed=function Sgc(){var a;a=this.d.Ed();if(this.b.isEmpty())return a;return dqc(DD(yD(nT,1),UBc,1,5,[this.b,ikc(a)]))};_.Oi=function Tgc(a){return x7b(this,a,new vbc(true),0)};_.Pi=function Ugc(a,b,c){return x7b(this,a,b,c)};_.Wi=function Vgc(){return this};_.Yi=function Wgc(a){return a.bh(this)};var IS=tjc(548);fW(155,14,tKc);var Xgc,Ygc,Zgc;var MS=ujc(155,_S,ahc); -fW(762,155,tKc,bhc);_.qj=function chc(){return Ygc};_.rj=function dhc(a){return false};_.toString=function ehc(){return cEc};var JS=ujc(762,MS,null);fW(763,155,tKc,fhc);_.qj=function ghc(){return Xgc};_.rj=function hhc(a){return true};_.toString=function ihc(){return dEc};var KS=ujc(763,MS,null);fW(764,155,tKc,jhc);_.qj=function khc(){return Zgc};_.rj=function lhc(a){return a};_.toString=function mhc(){return pJc};var LS=ujc(764,MS,null);fW(889,23,nKc,Ahc);_.yh=function Chc(){return nhc(this)};_.ci= -function Ohc(){return zhc(this)};_.wi=function Bhc(a,b){var c,d,e,f,g,h;e=true;a.a+="(";f=new szc(A6b);Sc(f,this.b);for(h=(d=(new goc(f.a)).a.Xd().b.Hj(),new moc(d));h.a.Jd();){g=(c=h.a.Kd(),c.de());e||(a.a+="|",a);g.wi(a,b);e=false}return a.a+=")",a};_.xi=function Dhc(){return nhc(this)};_.Ai=function Ehc(a){return rhc(this,a)};_.Zi=function Fhc(){var a,b;for(b=0;b=0?":"+this.c:"")+")"};_.c=0;var pT=tjc(142);fW(27,252,{375:1,27:1},Flc,Glc,Hlc,Ilc);var qT=tjc(27);fW(296,93,{3:1,40:1,22:1,296:1,38:1},Jlc);var rT=tjc(296);fW(1012,1,{});fW(20,22,{3:1,40:1,22:1,38:1,20:1},Llc,Mlc);var uT=tjc(20);fW(139,14,{3:1,21:1,14:1,139:1},Wlc);var Nlc,Olc,Plc,Qlc,Rlc,Slc,Tlc,Ulc;var vT=ujc(139,_S,Xlc);fW(181,1,vKc);_.Ud=function Ylc(a){return Okc(this.a,a.a)};_.Cd=function Zlc(a){var b;if(a===this)return true;if(!qE(a,181))return false;b=a;return Rkc(this.a, -b.a)};_.Ed=function $lc(){return qBc(this.a)};_.Fd=function _lc(){return this.a};var wT=tjc(181);fW(6,1,{},cmc);var xT=tjc(6);fW(186,928,bCc);_.clear=function smc(){omc(this)};_.containsKey=function tmc(a){return emc(this,a)};_.containsValue=function umc(a){return fmc(this,a)};_.Xd=function vmc(){return new Bmc(this)};_.Yd=function wmc(a){return hmc(this,a)};_.put=function xmc(a,b){return kmc(this,a,b)};_.remove=function ymc(a){return mmc(this,a)};_.size=function zmc(){return pmc(this)};var BT=tjc(186); -fW(86,908,hCc,Bmc);_.clear=function Cmc(){this.a.clear()};_.contains=function Dmc(a){return Amc(this,a)};_.Pd=function Emc(){return new Jmc(this.a)};_.remove=function Fmc(a){var b;if(Amc(this,a)){b=a.de();this.a.remove(b);return true}return false};_.size=function Gmc(){return this.a.size()};var AT=tjc(86);fW(115,1,MBc,Jmc);_.Kd=function Lmc(){return Imc(this)};_.Jd=function Kmc(){return this.b};_.Ld=function Mmc(){eBc(!!this.c);Vtc(this.e,this);this.c.Ld();this.c=null;this.b=Hmc(this);Wtc(this.e, -this)};_.b=false;var zT=tjc(115);fW(119,1,MBc,Qmc);_.Jd=function Rmc(){return Nmc(this)};_.Kd=function Smc(){return Omc(this)};_.Ld=function Tmc(){Pmc(this)};_.b=0;_.c=-1;var CT=tjc(119);fW(295,119,mCc,Vmc);_.Ld=function Zmc(){Pmc(this)};_.ie=function Wmc(a){this.a.addAtIndex(this.b,a);++this.b;this.c=-1};_.je=function Xmc(){return this.b>0};_.ke=function Ymc(){return Umc(this)};_.le=function $mc(a){eBc(this.c!=-1);this.a.setAtIndex(this.c,a)};var DT=tjc(295);fW(396,929,VBc,_mc);_.addAtIndex=function anc(a, -b){cBc(a,this.b);this.c.addAtIndex(this.a+a,b);++this.b};_.getAtIndex=function bnc(a){_Ac(a,this.b);return this.c.getAtIndex(this.a+a)};_.removeAtIndex=function cnc(a){var b;_Ac(a,this.b);b=this.c.removeAtIndex(this.a+a);--this.b;return b};_.setAtIndex=function dnc(a,b){_Ac(a,this.b);return this.c.setAtIndex(this.a+a,b)};_.size=function enc(){return this.b};_.a=0;_.b=0;var ET=tjc(396);fW(43,908,hCc,gnc);_.clear=function hnc(){this.a.clear()};_.contains=function inc(a){return fnc(this,a)};_.Pd=function jnc(){var a; -return a=this.a.Xd().Pd(),new mnc(a)};_.remove=function knc(a){if(this.a.containsKey(a)){this.a.remove(a);return true}return false};_.size=function lnc(){return this.a.size()};var HT=tjc(43);fW(63,1,MBc,mnc);_.Jd=function nnc(){return this.a.Jd()};_.Kd=function onc(){var a;return a=this.a.Kd(),a.de()};_.Ld=function pnc(){this.a.Ld()};var GT=tjc(63);fW(151,909,TBc,qnc);_.clear=function rnc(){this.a.clear()};_.contains=function snc(a){return this.a.containsValue(a)};_.Pd=function tnc(){var a;return a= -this.a.Xd().Pd(),new vnc(a)};_.size=function unc(){return this.a.size()};var JT=tjc(151);fW(152,1,MBc,vnc);_.Jd=function wnc(){return this.a.Jd()};_.Kd=function xnc(){var a;return a=this.a.Kd(),a.ee()};_.Ld=function ync(){this.a.Ld()};var IT=tjc(152);fW(219,1,{219:1,48:1});_.Cd=function Anc(a){var b;if(!qE(a,48))return false;b=a;return vxc(this.d,b.de())&&vxc(this.e,b.ee())};_.de=function Bnc(){return this.d};_.ee=function Cnc(){return this.e};_.Ed=function Dnc(){return wxc(this.d)^wxc(this.e)};_.fe= -function Enc(a){return znc(this,a)};_.Fd=function Fnc(){return this.d+"="+this.e};var KT=tjc(219);fW(164,219,{219:1,164:1,48:1},Gnc);var LT=tjc(164);fW(938,1,fCc);_.Cd=function Hnc(a){var b;if(!qE(a,48))return false;b=a;return vxc(this.de(),b.de())&&vxc(this.ee(),b.ee())};_.Ed=function Inc(){return wxc(this.de())^wxc(this.ee())};_.Fd=function Jnc(){return this.de()+"="+this.ee()};var MT=tjc(938);fW(946,928,bCc);_.Ge=function Mnc(a){return Knc(this,a)};_.containsKey=function Nnc(a){return Lnc(this, -a)};_.Gj=function Onc(){return new Snc(this)};_.Xd=function Pnc(){return new boc(this)};_.Yd=function Qnc(a){var b;return b=a,Oi(this.Ij(b))};_.keySet=function Rnc(){return new goc(this)};var ST=tjc(946);fW(680,946,bCc,Snc);_.clear=function Tnc(){this.a.clear()};_.Ej=function Unc(){return Zqc(this.a.Ej())};_.Fj=function Vnc(){return this.a.Hj()};_.Gj=function Wnc(){return this.a};_.Hj=function Xnc(){return this.a.Fj()};_.Ij=function Ync(a){return this.a.Ij(a)};_.put=function Znc(a,b){return this.a.put(a, -b)};_.remove=function $nc(a){return this.a.remove(a)};_.Jj=function _nc(a){return this.a.Jj(a)};_.size=function aoc(){return this.a.size()};var OT=tjc(680);fW(277,908,hCc,boc);_.contains=function coc(a){return qE(a,48)&&Knc(this.b,a)};_.Pd=function doc(){return this.b.Hj()};_.remove=function eoc(a){var b;if(qE(a,48)){b=a;return this.b.Jj(b)}return false};_.size=function foc(){return this.b.size()};var PT=tjc(277);fW(87,908,oCc,goc);_.clear=function hoc(){this.a.clear()};_.contains=function ioc(a){return Lnc(this.a, -a)};_.Pd=function joc(){var a;return a=this.a.Xd().b.Hj(),new moc(a)};_.remove=function koc(a){if(Lnc(this.a,a)){this.a.remove(a);return true}return false};_.size=function loc(){return this.a.size()};var RT=tjc(87);fW(88,1,MBc,moc);_.Jd=function noc(){return this.a.Jd()};_.Kd=function ooc(){var a;return a=this.a.Kd(),a.de()};_.Ld=function poc(){this.a.Ld()};var QT=tjc(88);fW(941,909,TBc);_.add=function qoc(a){return fBc(Axc(this,a)),true};_.addAll=function roc(a){aBc(a);WAc(a!=this,"Can't add a queue to itself"); -return Sc(this,a)};_.clear=function soc(){while(Bxc(this)!=null);};var TT=tjc(941);fW(106,909,TBc,Moc,Ooc);_.add=function Poc(a){return voc(this,a),true};_.clear=function Roc(){woc(this)};_.contains=function Soc(a){return xoc(new $oc(this),a)};_.isEmpty=function Toc(){return Boc(this)};_.Pd=function Uoc(){return new $oc(this)};_.remove=function Voc(a){return Goc(new $oc(this),a)};_.size=function Woc(){return Loc(this)};_.Qd=function Xoc(a){var b;b=this.c-this.b&this.a.length-1;a.lengthb&&(a[b]=null);return a};_.b=0;_.c=0;var XT=tjc(106);fW(231,1,MBc,$oc);_.Jd=function _oc(){return this.a!=this.b};_.Kd=function apc(){return Yoc(this)};_.Ld=function bpc(){Zoc(this)};_.a=0;_.b=0;_.c=-1;var WT=tjc(231);fW(19,929,{3:1,15:1,19:1,17:1,45:1,65:1},qpc,rpc,spc);_.addAtIndex=function tpc(a,b){dpc(this,a,b)};_.add=function upc(a){return epc(this,a)};_.addAllAtIndex=function vpc(a,b){return fpc(this,a,b)};_.addAll=function wpc(a){return gpc(this,a)};_.clear=function xpc(){this.a= -AD(nT,UBc,1,0,5,1)};_.contains=function ypc(a){return ipc(this,a,0)!=-1};_.getAtIndex=function zpc(a){return hpc(this,a)};_.indexOf=function Apc(a){return ipc(this,a,0)};_.isEmpty=function Bpc(){return this.a.length==0};_.Pd=function Cpc(){return new Npc(this)};_.lastIndexOf=function Dpc(a){return jpc(this,a,this.a.length-1)};_.removeAtIndex=function Epc(a){return kpc(this,a)};_.remove=function Fpc(a){return lpc(this,a)};_.Td=function Gpc(a,b){var c;dBc(a,b,this.a.length);c=b-a;KAc(this.a,a,c)};_.setAtIndex= -function Hpc(a,b){return mpc(this,a,b)};_.size=function Ipc(){return this.a.length};_.toArray=function Jpc(){return opc(this)};_.Qd=function Kpc(a){return ppc(this,a)};var ZT=tjc(19);fW(25,1,MBc,Npc);_.Jd=function Opc(){return this.a=0?"+":"")+(c/60|0);b=buc($wnd.Math.abs(c)%60);return(fuc(),duc)[this.a.getDay()]+" "+euc[this.a.getMonth()]+" "+buc(this.a.getDate())+" "+buc(this.a.getHours())+":"+buc(this.a.getMinutes())+":"+buc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var vU=tjc(279);var duc,euc;fW(228,928,{228:1,44:1},kuc,luc);_.put=function ruc(a,b){return huc(this,a, -b)};_.clear=function muc(){guc(this)};_.containsKey=function nuc(a){return Muc(this.a,a)};_.containsValue=function ouc(a){var b,c;for(c=new Zuc(this.a);c.a0};_.Ld=function Dyc(){Pmc(this.a);iyc(this.c,this.b);this.b=null};var bV=tjc(315);fW(276,1,MBc,Eyc,Fyc);_.Kd=function Hyc(){return this.b=Omc(this.a)};_.Jd=function Gyc(){return Nmc(this.a)};_.Ld=function Iyc(){Pmc(this.a);iyc(this.c,this.b);this.b=null};var cV=tjc(276);fW(417,277,hCc,Jyc);_.clear=function Kyc(){_xc(this.a)};var dV=tjc(417);fW(193,164,{219:1,164:1,48:1,193:1},Lyc);_.b=false;var eV= -tjc(193);fW(316,1,{},Myc);_.Fd=function Nyc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var fV=tjc(316);fW(676,946,bCc,Qyc);_.Ej=function Ryc(){return Itc(this.c.a)};_.Fj=function Syc(){return new Ayc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Hj=function Tyc(){return new Fyc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Xd=function Uyc(){return new boc(this)};_.Ij=function Vyc(a){return Oyc(this,ayc(this.c,a))};_.put=function Wyc(a, -b){if(!dyc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw HV(new afb(a+" outside the range "+this.b+" to "+this.e));return gyc(this.c,a,b)};_.remove=function Xyc(a){var b;b=a;if(!dyc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return hyc(this.c,b)};_.Jj=function Yyc(a){return Pyc(this,a.de())&&iyc(this.c,a)};_.size=function Zyc(){var a,b,c;this.a?b=byc(this.c,this.b,true):b=byc(this.c,this.b,false);if(!(!!b&&Pyc(this,b.d)?b:null))return 0;a=0;for(c=new Fyc(this.c,this.f,this.b,this.a, -this.e,this.d);Nmc(c.a);c.b=Omc(c.a))++a;return a};_.a=false;_.d=false;var kV=tjc(676);fW(147,14,yKc,dzc);_.Lj=function ezc(){return false};_.Mj=function fzc(){return false};var $yc,_yc,azc,bzc;var jV=ujc(147,_S,gzc);fW(677,147,yKc,hzc);_.Mj=function izc(){return true};var gV=ujc(677,jV,null);fW(678,147,yKc,jzc);_.Lj=function kzc(){return true};_.Mj=function lzc(){return true};var hV=ujc(678,jV,null);fW(679,147,yKc,mzc);_.Lj=function nzc(){return true};var iV=ujc(679,jV,null);fW(96,908,{3:1,15:1, -17:1,206:1,31:1,129:1},qzc,rzc,szc,tzc);_.add=function uzc(a){return ozc(this,a)};_.clear=function vzc(){this.a.clear()};_.contains=function wzc(a){return Lnc(this.a,a)};_.Pd=function xzc(){var a;return a=(new goc(this.a)).a.Xd().b.Hj(),new moc(a)};_.remove=function yzc(a){return pzc(this,a)};_.size=function zzc(){return this.a.size()};var mV=tjc(96);fW(208,928,bCc,Dzc,Ezc);_.containsKey=function Fzc(a){return Azc(this,a)};_.containsValue=function Gzc(a){if(a==null)throw HV(new ykc);return fmc(this.a, -a)};_.Xd=function Hzc(){return new Bmc(this.a)};_.Yd=function Izc(a){return Bzc(this,a)};_.put=function Jzc(a,b){return Czc(this,a,b)};_.putIfAbsent=function Kzc(a,b){return Azc(this,a)?Bzc(this,a):Czc(this,a,b)};_.remove=function Lzc(a){if(a==null)throw HV(new ykc);return mmc(this.a,a)};_.replace=function Mzc(a,b){if(b==null)throw HV(new ykc);else return Azc(this,a)?Czc(this,a,b):null};var nV=tjc(208);fW(271,1,{271:1});var oV=tjc(271);fW(943,1,KBc);_.Hg=function Szc(){return"DUMMY"};_.Bj=function Tzc(){return-1}; -_.Fd=function Uzc(){return this.Hg()};var Nzc,Ozc,Pzc,Qzc;var tV=tjc(943);fW(659,943,KBc,Vzc);_.Hg=function Wzc(){return"FINE"};_.Bj=function Xzc(){return 500};var pV=tjc(659);fW(660,943,KBc,Yzc);_.Hg=function Zzc(){return"INFO"};_.Bj=function $zc(){return 800};var qV=tjc(660);fW(661,943,KBc,_zc);_.Hg=function aAc(){return"SEVERE"};_.Bj=function bAc(){return 1E3};var rV=tjc(661);fW(662,943,KBc,cAc);_.Hg=function dAc(){return eDc};_.Bj=function eAc(){return 900};var sV=tjc(662);fW(650,1,{},iAc);var fAc; -var uV=tjc(650);fW(706,1,KBc,kAc);var vV=tjc(706);fW(301,1,{301:1},uAc);_.b=null;_.e=false;var wV=tjc(301);fW(415,271,{271:1},xAc);var xV=tjc(415);fW(598,1,{},AAc);var yV=tjc(598);fW(391,1,{391:1},CAc);var zV=tjc(391);fW(1010,1,{});fW(725,1,{},OAc);var AV=tjc(725);fW(392,181,vKc);var DV=tjc(392);fW(393,392,vKc,RAc);var BV=tjc(393);fW(599,392,vKc,TAc);var CV=tjc(599);var jBc=0;var lBc,mBc=0,nBc;fW(1105,1,{});var zE=wjc("C");var BE=wjc("I");var EV=wjc("Z");var CE=wjc("J");var yE=wjc("B");var AE=wjc("D"); -Lub();_=jW(vGc);_.transpile=Oub;_=jW("com.google.common.base.Platform");_.stringIsNullOrEmpty=Md;_=jW("com.google.debugging.sourcemap.SourceMapObjectParserJs");_.get=uC;Pic();_=jW("java.lang.Boolean");_.$isInstance=Ric;_=jW("java.lang.CharSequence");_.$isInstance=Uic;_=jW("java.lang.Comparable");_.$isInstance=Ijc;_=jW("java.lang.Double");_.$isInstance=Rjc;_=jW("java.lang.Number");_.$isInstance=Kjc;_=jW("java.lang.String");_.$isInstance=Wkc;_=jW("java.lang.Throwable");_.of=MA;_=jW("java.util.regex.Pattern"); -_.quote=EAc;var sBc=(UC(),XC);var gwtOnLoad=gwtOnLoad=bW;_V(mW);cW("permProps",[[[LEc,UDc],[EKc,"gecko1_8"]],[[LEc,UDc],[EKc,"ie10"]],[[LEc,UDc],[EKc,"ie8"]],[[LEc,UDc],[EKc,"ie9"]],[[LEc,UDc],[EKc,"safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()})(); +_.Yb=false;_.Zb=false;_.$b=0;_.bc=false;_.dc=0;_.ec=false;_.fc=false;_.gc=false;_.hc=false;_.kc=false;_.mc=false;_.pc=false;_.qc=false;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.xc=false;_.yc=false;_.Bc=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;_.Oc=false;_.Rc=true;_.Sc=false;_.Yc=false;_.Zc=true;_.$c=false;_._c=true;_.ad=false;_.cd=false;_.dd=false;_.ed=false;_.od=1;_.td=false; +_.wd=false;_.xd=false;_.yd=true;_.zd=false;_.Cd=true;var l3;var kK=vjc(159);fW(184,14,{184:1,3:1,21:1,14:1},F3);var A3,B3,C3,D3;var aK=wjc(184,_S,G3);fW(259,14,{259:1,3:1,21:1,14:1},K3);var H3,I3;var bK=wjc(259,_S,L3);fW(215,14,{215:1,3:1,21:1,14:1},Q3);var M3,N3,O3;var cK=wjc(215,_S,R3);fW(163,14,{163:1,3:1,21:1,14:1},Y3);var S3,T3,U3,V3,W3;var dK=wjc(163,_S,Z3);fW(124,14,{124:1,3:1,21:1,14:1},k4);var $3,_3,a4,b4,c4,d4,e4,f4,g4;var eK=wjc(124,_S,l4);fW(602,1,{},m4);var fK=vjc(602);fW(216,14,{216:1, +3:1,21:1,14:1},r4);var n4,o4,p4;var gK=wjc(216,_S,s4);fW(162,14,{162:1,3:1,21:1,14:1},z4);var t4,u4,v4,w4,x4;var hK=wjc(162,_S,A4);fW(217,14,{217:1,3:1,21:1,14:1},F4);var B4,C4,D4;var iK=wjc(217,_S,G4);fW(194,22,VCc,I4);var jK=vjc(194);fW(182,1,YEc);_.Mg=function J4(a){return false};_.Ng=function K4(a){return false};_.Og=function L4(a){return 2};_.Pg=function M4(){return(stb(),ltb).a};var RN=vjc(182);fW(209,182,{209:1,182:1,3:1},U4);_.Mg=function V4(a){return P4(this,a)};_.Ng=function W4(a){return Q4(this, +a)};_.Og=function X4(a){return R4(this,a)};_.Qg=function Y4(a){return S4(this,a)};_.Gd=function Z4(){var a;return Oc(new Qc(TBc),(a=(new ioc(this.c.a)).a.Yd().b.Ij(),new ooc(a)))};_.a=false;_.d=0;var nK=vjc(209);fW(624,1,ZEc,_4);_.Se=function a5(a,b){return $4(this,a,b)};_.Dd=function b5(a){return this===a};_.Ue=function c5(){return new Ttc(this)};var mK=vjc(624);var d5;fW(618,1,MBc,l5);var f5,g5;var pK=vjc(618);fW(298,1,{298:1,3:1,21:1},o5);_.Vd=function p5(a){return n5(this,a)};_.a=0;_.b=0;_.c= +0;var oK=vjc(298);fW(603,1,MBc,r5);_.Gd=function s5(){return Hd(Fd(Fd(Fd(Fd(new Id((ojc(qK),qK.n)),"sortDependencies",""+this.b),"pruneDependencies",fEc),"dropMoochers",fEc),"entryPoints",this.a))};_.b=false;var qK=vjc(603);fW(50,1,{50:1,3:1},x5,y5,z5,A5);_.Gd=function C5(){var a;return this.a==null?(ojc(sK),sK.p+"@"+(a=mBc(this)>>>0,a.toString(16))):"DiagnosticGroup<"+this.a+">"};var t5;var sK=vjc(50);fW(110,182,YEc,D5);_.Mg=function E5(a){return this.b==(tZ(),rZ)&&v5(this.a,a)};_.Ng=function F5(a){var b, +c;if(this.b!=(tZ(),rZ))for(c=a.b.Qd();c.Kd();){b=c.Ld();if(w5(this.a,b))return true}return false};_.Og=function G5(a){if(a.a!=null&&Tkc(a.a,this.a.a))return this.b!=(tZ(),rZ)?0:1;return 2};_.Qg=function H5(a){return w5(this.a,a.g)?this.b:null};_.Gd=function I5(){return this.a+"("+this.b+")"};var rK=vjc(110);var J5,K5,L5,M5,N5,O5,P5,Q5,R5,S5,T5,U5,V5,W5,X5,Y5,Z5,$5,_5,a6,b6,c6,d6,e6;fW(5,1,{5:1,3:1,21:1},k6);_.Vd=function l6(a){return Pkc(this.b,a.b)};_.Dd=function m6(a){return j6(this,a)};_.Fd=function n6(){return sBc(this.b)}; +var tK=vjc(5);var o6,p6;fW(846,1,BFc,x6);_.Uf=function y6(a,b){fqb(this.a,a,DD(yD($L,1),WBc,26,0,[this]));fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function z6(a,b,c){switch(b.j.f){case 112:w6(this,a,b,c);break;case 101:abb();U0(this.a,CFc+jlc(DFc,(qxc(),oxc)),false);break;case 102:Y0b(b,62)!=0&&(abb(),U0(this.a,CFc+jlc(DFc,(qxc(),oxc)),false));abb();U0(this.a,uFc,false);break;case 86:case 87:if(r3(this.a.L)==(h4(),$3)){cbb(this.a,b,EFc);return false}break;case 65:if(b.j==(o6b(),y4b)&&Y0b(b, +61)!=0)throw HV(new Wjc(FFc));}return true};_.$f=function A6(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 29:g=$0b(b,51);!(!!g&&g.wh())&&t6(a,b)&&(U0(this.a,uFc,false),h=(Whb(),iib(b,Vhb)),i=gYb($Xb(pjb(this.a,"$jscomp.initSymbol"),DD(yD(VR,1),HDc,7,0,[]))),I0b(h.e,W1b(i,h),h),P1(this.a,i),undefined);break;case 26:f=$0b(b,51);!!f&&f.wh()||v6(this,a,b);break;case 42:case 23:case 28:for(e=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();e.Kd();){d=e.Ld();if(d.j==(o6b(),Q5b)){u6(this,b,c);break}}break;case 65:Y0b(b, +59)!=0&&L9(this.a,true)}};var r6;var uK=vjc(846);fW(135,14,GFc);var B6,C6,D6,E6;var zK=wjc(135,_S,H6);fW(619,135,GFc,I6);var vK=wjc(619,zK,null);fW(620,135,GFc,J6);var wK=wjc(620,zK,null);fW(621,135,GFc,K6);var xK=wjc(621,zK,null);fW(622,135,GFc,M6);var yK=wjc(622,zK,null);fW(844,945,BFc,U6);_.Uf=function V6(a,b){fqb(this.a,a,DD(yD($L,1),WBc,26,0,[this]));fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.$f=function W6(a,b,c){var d,e;if(b.j==(o6b(),U3b)){d=false;for(e=(b.b?b.b.f:null).b;e;e=e.d)if(e.j== +b5b&&Tkc(e.oi(),LFc)){d=true;break}d||P6(this,b)}else b.j==W5b&&Q6(this,b,c)};var N6;var GK=vjc(844);fW(845,1,NFc,Y6);_.Nd=function Z6(a){return X6(a)};_.Dd=function $6(a){return this===a};var AK=vjc(845);fW(840,1,BFc,g7);_.Uf=function h7(a,b){this.c=new ycb(this.a,a,b);fqb(this.a,a,DD(yD($L,1),WBc,26,0,[this]));fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function i7(a,b,c){var d,e;if(b.j==(o6b(),y4b))woc(this.b,new n7(b));else if(b.j==W5b){e=c.j==P3b?c:c.e;ee(e.j==P3b,e);d=Zd(Eoc(this.b));gpc(d.b, +e)}return true};_.$f=function j7(a,b,c){var d;d=Eoc(this.b);if(!!d&&b==d.a){Koc(this.b);f7(this,a,d)}};var FK=vjc(840);fW(843,1,zDc,k7);_.Zf=function l7(a,b,c){return kpc(this.a,b,0)==-1&&!(b.j==(o6b(),y4b)&&!(b.j==y4b&&Y0b(b,60)!=0))};_.$f=function m7(a,b,c){var d;if(b.j==(o6b(),_5b)){d=V1b((ie(Wkc(ZFc,olc(46))==-1,GDc,ZFc),new $2b(g5b,ZFc)),b);y1b(c,b,d)}else b.j==J5b&&!b.b&&K0b(b,V1b((ie(Wkc(ZFc,olc(46))==-1,GDc,ZFc),new $2b(g5b,ZFc)),b))};var BK=vjc(843);fW(533,1,{533:1},n7);var CK=vjc(533);fW(841, +1,{},p7);_.a=false;var EK=vjc(841);fW(948,1,zDc);_.Zf=function q7(a,b,c){return!c||c.j!=(o6b(),y4b)||b==c.b};var ZL=vjc(948);fW(842,948,zDc,r7);_.$f=function s7(a,b,c){this.a.a||b.j==(o6b(),J5b)&&!!b.b&&!q1b(b.b,$Fc)&&(this.a.a=true)};var DK=vjc(842);var t7;fW(829,945,BFc,w7);_.Uf=function x7(a,b){fqb(this.b,b,DD(yD($L,1),WBc,26,0,[this,new A7(this)]))};_.$f=function y7(a,b,c){var d,e,f,g,h,i;b.j==(o6b(),U3b)&&v7(this,b,c)&&(d=(iub(),blc(alc(alc(alc(alc(alc(alc(blc(dlc(kub((e=blc(blc(blc(blc(blc(alc(alc($0b(b, +51).Ig(),58,45),92,47)," ",_Fc),"[",aGc),"]",bGc),"<",cGc),">",dGc),jub(e))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),_Fc,"_")+"$classdecl$var"+this.a++),f=(Whb(),g=gib(b),!g?null:$0b(g,29)),h=iib(c,Vhb),y1b(c,b,(ie(Wkc(d,olc(46))==-1,GDc,d),new $2b(g5b,d))),i=Y1b(dYb((ie(Wkc(d,olc(46))==-1,GDc,d),new $2b(g5b,d)),b,Z3b),b),E1b(i,f_b(B0b(f))),I0b(h.e,i,h),P1(this.b,i),undefined)};_.a=0;var JK=vjc(829);fW(830,1,zDc,A7);_.Zf=function B7(a,b,c){b.j==(o6b(),U3b)&&(Qd(b.j==U3b),b.b.j== +g5b&&c.j==g5b)&&Uwc(this.a,new D7(b.b,c.oi()));return true};_.$f=function C7(a,b,c){switch(b.j.f){case 96:{Qd(b.j==(o6b(),U3b));if(b.b.j==g5b&&c.j==g5b){Ywc(this.a);y1b(b,b.b,V1b(new _1b(j4b),b.b));P1(this.b.b,b)}}break;case 29:z7(this,a,b,c)}};var IK=vjc(830);fW(532,1,{532:1},D7);var HK=vjc(532);fW(545,945,zDc,G7);_.$f=function H7(a,b,c){var d;Whb();b.j==(o6b(),g5b)&&b.oi().length!=0&&E7(this,a,b);d=$0b(b,29);!!d&&F7(this,a,CZb(d))};var KK=vjc(545);fW(834,945,BFc,I7);_.Uf=function J7(a,b){fqb(this.a, +b,DD(yD($L,1),WBc,26,0,[this]))};_.$f=function K7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.j!=(o6b(),y4b)||(b.b?b.b.f:null).j!=M3b)return;l=b.b.d;e=new N7;Jhb(this.a,l,new L7(this,e));d=l.d;f=new Lab(this.a);i=Kab(f,b,ohb(a));h=Kab(f,d,i);m=new mq(new nwc,new pq);for(o=(k=(new snc(h.e)).a.Yd().Qd(),new xnc(k));o.a.Kd();){n=(g=o.a.Ld(),g.fe());j=n.b;jvc(e.a,j)&&!kq(m,h.d,j)&&dq(m,h.d,j,j+"$"+(""+(new G2(this.a)).a.Y++))}Ghb(new Ihb(this.a,new G7(m),new Lab(this.a)),d,d.e,i)};var NK=vjc(834);fW(836, +942,zDc,L7);_.Zf=function M7(a,b,c){if(!c)return true;if(c.j==(o6b(),d4b)&&b==(c.b?c.b.f:null)||c.j==Y3b&&b==c.b){Jhb(this.a.a,b,this.b);return false}return true};var LK=vjc(836);fW(835,945,zDc,N7);_.$f=function O7(a,b,c){Whb();if(!(b.j==(o6b(),g5b)&&b.oi().length!=0))return;ivc(this.a,b.oi())};var MK=vjc(835);fW(837,1,BFc,T7);_.Uf=function U7(a,b){fqb(this.a,a,DD(yD($L,1),WBc,26,0,[this]));fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function V7(a,b,c){var d,e,f;switch(b.j.f){case 85:woc(this.b, +new X7(b,false));break;case 65:b.j==(o6b(),y4b)&&Y0b(b,60)!=0||woc(this.b,(e=b.b?b.b.f:null,f=c.j==b5b&&Tkc(c.oi(),LFc),new X7(e,f)));break;case 99:d=Zd(Eoc(this.b));d.a&&c.j==(o6b(),P3b)&&c.b==b&&(d.b=Q7(c,d.e))}return true};_.$f=function W7(a,b,c){var d,e;e=Eoc(this.b);if(b.j==(o6b(),y4b)&&Y0b(b,60)!=0)S7(this,a,b,Zd(e));else if(!!e&&e.e==b){d=Goc(this.b);aBc(d!=null);P7(this,e)}};var QK=vjc(837);fW(358,1,{358:1},X7);_.a=false;_.b=null;_.c=false;_.d=false;var OK=vjc(358);fW(838,1,zDc,Y7);_.Zf=function Z7(a, +b,c){return b.j!=(o6b(),y4b)||b.j==y4b&&Y0b(b,60)!=0};_.$f=function $7(a,b,c){var d,e;if(b.j==(o6b(),_5b)){d=V1b((ie(Wkc(fGc,olc(46))==-1,GDc,fGc),new $2b(g5b,fGc)),b);e=x1b(d,d.g,85);e!=d.g&&(d.g=e);d.g=new D2b(85,1,d.g);y1b(c,b,d);this.b=true}else if(b.j==g5b&&Tkc(b.oi(),AFc)){d=V1b((ie(Wkc(eGc,olc(46))==-1,GDc,eGc),new $2b(g5b,eGc)),b);y1b(c,b,d);this.a=true}};_.a=false;_.b=false;var PK=vjc(838);fW(848,945,BFc,f8);_.Uf=function i8(a,b){var c,d,e,f,g;Jhb(this.a,b,new n8(this));Jhb(this.a,b,this); +fqb(this.a,a,DD(yD($L,1),WBc,26,0,[this]));Jhb(this.a,b,new G7(this.c));g=new q8(this);Jhb(this.a,b,g);p8(g);e8(this);if(s3(this.a.L,(QJb(),IJb))){d=new t8(this);for(f=(!b.b?(Uqc(),Uqc(),Tqc):new S2b(b.b)).Qd();f.Kd();){e=f.Ld();c=$0b(e,89);SJb(c,(VKb(),hKb))&&Jhb(this.a,e,d)}}};_.$f=function j8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(!b.b||!Fib(b.b))return;l=ohb(a);h=b.b;if(b.j!=(o6b(),U3b)&&b.j!=y4b&&!h.b&&(!c||(Whb(),!(c.j==x4b||c.j==w4b)))&&b.j!=T3b&&(d=iib(b,a8),!!d&&d.j!=y4b)){n=(ie(Wkc($Fc,olc(46))== +-1,GDc,$Fc),new $2b(g5b,$Fc));if(!!$0b(h,29)||!!$0b(b,29)){g=new z0b(false);q0b(g,new D0b(new _1b(E5b),(e=$0b(b,51),!e?null:e.Ig())));n=aYb(n,f_b(g))}W1b(n,h);K0b(h,n);P1(this.a,n)}j=h.oi();(b.j==$4b||b.j==Z3b)&&ivc(this.b,b);f=eob(l);if(l!=f){i=j;if(iob(f,j,true)||jvc(this.d,j)){do i=j+"$"+(""+(new G2(this.a)).a.Y++);while(iob(f,i,true));h.ti(i);P1(this.a,h);m=l.d;dq(this.c,m,j,i)}k=hob(l,j);job(l,k);cob(f,i,h,k.a)}};var _7,a8;var WK=vjc(848);fW(852,1,NFc,k8);_.Nd=function l8(a){return Puc((b8(), +_7),a.j)};_.Dd=function m8(a){return this===a};var RK=vjc(852);fW(850,945,zDc,n8);_.$f=function o8(a,b,c){b.j==(o6b(),g5b)&&!iob(ohb(a),b.oi(),true)&&ivc(this.a.d,b.oi())};var SK=vjc(850);fW(851,945,zDc,q8);_.$f=function r8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;Whb();if(!(b.j==(o6b(),g5b)&&b.oi().length!=0))return;g=b.oi();j=ohb(a);n=hob(j,g);if(!n)return;if(n.xh()!=$4b&&n.xh()!=Z3b)return;(b.e.j==$4b||b.e.j==Z3b)&&ivc(this.e.b,b.e);d=n.d;f=null;for(l=d;;l=l.c){m=l.d;if(Wib(l.d)){f=m;break}else if(!!m.e&& +Wib(m.e)){f=m.e;break}else if(Oib(l.d)||!l.c)return}ai(this.d,n,b);i=null;for(k=j;k!=d&&k.d!=f;k=k.c)k.d.j==y4b&&(i=k);if(i){e=i.d;if(Nh(this.a,e,g))return;ai(this.a,e,g);iwc(this.c,f)||kwc(this.c,f,new s8("$jscomp$loop$"+(""+(new G2(this.e.a)).a.Y++)));h=jwc(this.c,f);ivc(h.b,n);ai(this.b,e,h)}};var UK=vjc(851);fW(534,1,{534:1},s8);var TK=vjc(534);fW(849,945,zDc,t8);_.$f=function u8(a,b,c){b.j==(o6b(),y4b)&&pkb(b,this.a.a)};var VK=vjc(849);fW(831,1,BFc,I8);_.Uf=function K8(a,b){fqb(this.a,a,DD(yD($L, +1),WBc,26,0,[this]));fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function L8(a,b,c){switch(b.j.f){case 86:case 87:if(r3(this.a.L)==(h4(),$3)){N1(this.a,Ieb(b,(abb(),$ab),DD(yD(sT,1),FBc,2,6,[EFc])));return false}break;case 119:N1(this.a,Ieb(b,(abb(),_ab),DD(yD(sT,1),FBc,2,6,[eEc])))}return true};_.$f=function M8(a,b,c){b.j.f==96&&F8(this,a,b,c)};var v8,w8,x8;var ZK=vjc(831);fW(832,945,zDc,N8);_.$f=function O8(a,b,c){if(b.j!=(o6b(),t3b)||b.b==this.a)return;p1b(this.a,b.b)&&N1(this.b.a,Ieb(b,(y8(), +v8),DD(yD(sT,1),FBc,2,6,[])))};var XK=vjc(832);fW(285,1,{},P8);_.a=false;var YK=vjc(285);fW(833,1,BFc,_8);_.Uf=function b9(a,b){fqb(this.a,a,DD(yD($L,1),WBc,26,0,[this]));fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function c9(a,b,c){var d;switch(b.j.f){case 65:Y8(a,b);break;case 45:Z8(this,a,b,c);break;case 101:d=b.b;d.j==(o6b(),f4b)&&X8(this,d.b)}return true};_.$f=function d9(a,b,c){W8(this,a,b,c)};_.b=0;var $K=vjc(833);fW(853,945,BFc,I9);_.Uf=function M9(a,b){var c,d;d=!!K9(this.c.C);fqb(this.c, +b,DD(yD($L,1),WBc,26,0,[new V9(this,this.c),this]));c=K9(this.c.C);!!c&&(d?dib(c,this.c):S0b(c))};_.$f=function N9(a,b,c){var d,e,f,g,h;switch(b.j.f){case 65:if(Y0b(b,59)!=0){e9=0;s9(this,b,c)}break;case 29:d=(Whb(),iib(b,new Hjb((o6b(),y4b))));!!d&&Y0b(d,59)!=0&&r1b(b,AFc,AFc.length)&&b.ti(uGc);break;case 33:d=(Whb(),iib(b,new Hjb((o6b(),y4b))));!!d&&Y0b(d,59)!=0&&z1b(b,gbb((ie(Wkc(vGc,olc(46))==-1,GDc,vGc),new $2b(g5b,vGc)),b.k));break;case 102:Y0b(b,62)!=0?z9(this,a,b,c):c.j==(o6b(),t4b)?A9(this, +a,c,c.e):(e=(Whb(),iib(b,Vhb)),f=gYb(b.b?gbb(QYb(w1b(b)),b.k):gbb(new _1b(n6b),b.k)),g=H9(this,xYb(CGc+(""+this.j.a.Y++))),h=dYb(Q0b(g,false),H9(this,(ie(Wkc(CGc,olc(46))==-1,GDc,CGc),new $2b(g5b,CGc))),i6b),y1b(c,b,g),I0b(e.e,f,e),I0b(e.e,h,e),A9(this,a,f,f.e),zhb(a),undefined)}};_.a=false;_.k=false;var e9=0;var dL=vjc(853);fW(359,1,zDc,P9,Q9);_.Zf=function R9(a,b,c){switch(b.j.f){case 65:return false;case 83:fpc(this.g,0,b.b.oi());break;case 71:case 70:case 72:case 73:++this.c;++this.b;break;case 67:++this.b; +break;case 82:c=b.e;!!c&&c.j==(o6b(),c6b)&&c.b==b&&!!b.d.b&&++this.j;break;case 74:if(Y0b(b,67)==0&&(this.b==0&&!b.b||!!b.b&&kpc(this.g,b.b.oi(),0)==-1)){this.d=true;this.a&&I0b(c,h9(this.i,this.e,this.f),b)}break;case 75:if(this.c==0||!!b.b&&kpc(this.g,b.b.oi(),0)==-1){this.d=true;this.a&&I0b(c,h9(this.i,this.e,this.f),b)}break;case 39:if(this.j==0){this.d=true;this.a&&Y0b(b,67)==0&&I0b(c,h9(this.i,this.e,this.f),b)}break;case 0:this.d=true;this.a&&I0b(c,h9(this.i,this.e,this.f),b);break;case 102:this.d= +true}return true};_.$f=function S9(a,b,c){switch(b.j.f){case 83:mpc(this.g,0);break;case 71:case 70:case 72:case 73:--this.c;--this.b;break;case 67:--this.b;break;case 82:c=b.e;!!c&&c.j==(o6b(),c6b)&&c.b==b&&!!b.d.b&&--this.j}};_.a=false;_.b=0;_.c=0;_.d=false;_.f=0;_.j=0;var _K=vjc(359);fW(854,942,zDc,V9);_.Zf=function W9(a,b,c){switch(b.j.f){case 102:U9(this,a,b);break;case 71:case 72:case 70:T9(this,a,b);break;case 68:if(g9(this.c,b.b)){N1(this.a,Ieb(b,(abb(),_ab),DD(yD(sT,1),FBc,2,6,["Case statements that contain yields"]))); +return false}}return true};var aL=vjc(854);fW(535,1,{535:1},X9);_.b=0;var bL=vjc(535);fW(360,1,{360:1},Y9);_.a=0;_.b=0;var cL=vjc(360);fW(386,945,BFc,gab);_.Uf=function iab(a,b){var c;for(c=b.b;c;c=c.d)hab(c)&&(Rd(hab(c),c),this.g=0,this.d=new nwc,this.f=new dvc,this.b=new lvc,this.i=new lvc,this.a=new lvc,this.e=null,Jhb(this.c,c,this),undefined);S1(this.c,XJb(this.c.r,(VKb(),EKb)))};_.$f=function jab(a,b,c){cab(this,a,b,c)};_.g=0;var Z9,$9;var jL=vjc(386);fW(730,948,zDc,lab);_.$f=function mab(a, +b,c){b.j==(o6b(),P3b)&&q1b(b.b,GGc)&&Xib(c.e)&&kab(this,b,c)};var eL=vjc(730);fW(728,942,zDc,nab);_.Zf=function oab(a,b,c){var d;if(this.a)return false;if(!c||Jib(c)||(Whb(),c.j==(o6b(),K5b)||c.j==M5b||c.j==M3b||c.j==e5b)){if(b.j==(o6b(),t4b)){d=b.b.b;if(!!d&&(r1b(d,HGc,HGc.length)||r1b(d,IGc,IGc.length))){this.a=true;return false}}return true}return false};_.a=false;var fL=vjc(728);fW(230,1,{230:1},pab);_.Gd=function qab(){return"("+this.a+TBc+this.b+")"};var gL=vjc(230);fW(195,1,{195:1},rab);_.Gd= +function sab(){return"("+this.a+TBc+this.b+")"};var hL=vjc(195);fW(729,945,zDc,wab);_.$f=function xab(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;d=$0b(b,29);if(d)for(m=new Ppc(CZb(d));m.a0?this.f:"(unknown source)")+" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var IL=vjc(62);fW(290,1,{290:1,900:1,3:1},Peb);_.Jg=function Reb(){return Zn(),new Uy(Zd(this.e))};_.Kg=function Seb(){return Meb(this)};_.Ig=function Qeb(){return this.e};_.Gd=function Teb(){return this.e};_.b=0;_.c=0;var LL=vjc(290);fW(567,1,MBc,_eb);var KL=vjc(567);fW(41,22,{3:1,40:1,41:1,22:1,38:1},afb,bfb,cfb,dfb);var cT= +vjc(41);fW(291,41,{291:1,3:1,40:1,41:1,22:1,38:1},efb);var JL=vjc(291);fW(673,1,MBc,hfb);_.Gg=function ifb(a){return ffb(this,a)};_.Hg=function jfb(){return this.a};_.Lg=function kfb(){return this.c};var PL=vjc(673);fW(674,1,MBc,lfb);var ML=vjc(674);fW(675,1,{},mfb);_.lh=function nfb(a,b,c,d){gpc(this.b,new pfb);Onb(this.a,a,b,c,d)};_.mh=function ofb(a,b,c,d){gpc(this.c,new pfb);Pnb(this.a,a,b,c,d)};var NL=vjc(675);fW(416,1,MBc,pfb);var OL=vjc(416);fW(847,1,BFc,yfb);_.Uf=function zfb(a,b){fqb(this.c, +a,DD(yD($L,1),WBc,26,0,[this]));fqb(this.c,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function Afb(a,b,c){switch(b.j.f){case 86:case 87:if(r3(this.c.L)==(h4(),$3)){cbb(this.c,b,EFc);return false}break;case 65:if(b.j==(o6b(),y4b)&&Y0b(b,61)!=0)throw HV(new Wjc(FFc));}return true};_.$f=function Bfb(a,b,c){var d,e,f;switch(b.j.f){case 43:sfb(this,b);break;case 98:c.j==(o6b(),t5b)&&(d=b.oi(),e=b.b.b,f=gbb(KYb(d,S0b(b.b)),b.k),E1b(f,$0b(b,29)),y1b(c,b,f),V1b(f,e),P1(this.c,f),undefined);break;case 101:rfb(this, +a,b,c);break;case 91:ufb(this,b);break;case 115:Yab(a,b,this.a);break;case 116:c.j==(o6b(),Y5b)||Zab(a,b,this.a)}};_.a=false;var QL=vjc(847);fW(305,411,{},Efb,Ffb);_.b=true;_.c=true;var RL=vjc(305);fW(565,377,{},Ifb);_.Vf=function Jfb(){var a;a=this.d+this.f==0?(Tzc(),Qzc):(Tzc(),Szc);this.d+this.f>0&&rAc(this.b,a,oXb("%d error(s), %d warning(s)",DD(yD(nT,1),WBc,1,5,[kkc(this.d),kkc(this.f)])))};_.Wf=function Kfb(a,b){switch(a.f){case 0:uAc(this.b,Deb(b,a,this.a));break;case 1:vAc(this.b,Deb(b,a, +this.a))}};var SL=vjc(565);fW(258,1,eHc,Ofb,Pfb);_.nh=function Rfb(a){var b,c,d;ee(!!a.j,"MakeDeclaredNamesUnique requires the new ES6-compatible scope creator");b=qhb(a);Whb();if(b.j==(o6b(),M3b)&&!!b.e&&b.e.j==y4b)return;if(Doc(this.b)){de(b.j!=y4b||!this.c);de(phb(a)==0);d=this.c}else{c=b.j!=y4b&&!cib(b);d=Eoc(this.b).qh(qhb(a),c)}woc(this.b,d);b.j==y4b||Lfb(this,a,b,false)};_.oh=function Sfb(a){if(Oib(qhb(a)))return;phb(a)==0||Koc(this.b)};_.Zf=function Tfb(a,b,c){var d,e,f,g,h;switch(b.j.f){case 65:{h= +Eoc(this.b).qh(b,false);g=b.b.oi();g.length!=0&&!!c&&(Whb(),!(b.j==(o6b(),y4b)&&Lib(b.e)))&&h.ph(g,false);woc(this.b,h);break}case 45:{h=Eoc(this.b).qh(b,true);for(f=new Ppc(oib(b));f.a0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.tg=function ilb(){return this.a};_.a=0;_.b=0;var yM=vjc(689);fW(572,1,wDc,tlb);_.Uf=function ulb(a,b){qlb(this,a,b)};_.c=false;_.e=0;_.g=0;_.j=false;_.k=0;_.o=0;_.r=false;var jlb,klb,llb;var EM=vjc(572);fW(414,1,wDc,ylb);_.Uf=function zlb(a,b){var c,d,e,f,g,h,i,j,k,l;ee(!this.f.c, +"Nested loops are forbidden");this.f.c=true;xlb(this);this.b=wlb(this);this.e=new Glb(this.f);N0(this.f.b,this.e);this.f.f=new dvc;for(i=new Ppc(this.d);i.athis.f.g&&this.b)return;d>100&&V1("Fixed point loop exceeded the maximum number of iterations.",null);++d;e=false;for(h=new Ppc(this.d);h.a0)return;else if(Flb(this.e)){f.a.put(g,f);e=true}else f.a.remove(g)!=null}else k.a.remove(g)!=null}j=c;c=bib(b);if(l==0)if(e&&vlb(this,j,c))l=1;else return;else{de(l==1);(!e||!vlb(this,j,c))&&(l=0)}}}finally{this.f.c=false;M1(this.f.b,this.e)}};_.a=0;_.b=false;var AM=vjc(414);fW(310,1,{53:1,310:1},Blb);_.Uf=function Clb(a,b){Alb(this,a,b)};_.Gd=function Dlb(){return"pass: "+this.b};var BM=vjc(310);fW(573,1,{},Elb);_.a=0;_.b=0;var CM= +vjc(573);fW(671,1,{902:1},Glb);_.fg=function Hlb(){this.b.e=this.b.b.a};_.a=0;var DM=vjc(671);fW(292,1,wDc,Mlb,Nlb);_.Uf=function Olb(a,b){Klb(this,a,b)};_.a=false;var GM=vjc(292);fW(456,945,zDc,Plb);_.$f=function Rlb(a,b,c){b.j.f==28&&Qlb(b)};var FM=vjc(456);var Slb,Tlb,Ulb,Vlb,Wlb;var Ylb,Zlb;var _lb,amb;var cmb,dmb,emb,fmb;fW(97,14,{97:1,3:1,21:1,14:1},qmb,rmb,smb,tmb);var hmb,imb,jmb,kmb,lmb,mmb,nmb,omb;var HM=wjc(97,_S,vmb);fW(267,14,{267:1,3:1,21:1,14:1},zmb);var wmb,xmb;var IM=wjc(267,_S,Amb); +fW(383,1,{902:1},Bmb);_.fg=function Cmb(){this.a=true};_.a=false;var JM=vjc(383);fW(580,945,BFc,Emb);_.Uf=function Fmb(a,b){Dmb(this,b)};_.$f=function Gmb(a,b,c){var d,e;if(b.j!=(o6b(),y4b))return;e=null.Rj();if(e<0)return;d=X1(this.a,b);!a.d&&!!a.g&&(a.d=a1(a.c,a.g));null.Rj(Ibb().Rj().Rj(yib(b)).Rj(i2b(b.i)).Rj().Rj(d.length).Rj(null.Rj()).Rj().Rj())};var KM=vjc(580);fW(574,1,{},Hmb);var LM=vjc(574);fW(825,1,BFc,Jmb);_.Uf=function Kmb(a,b){fqb(this.a,b,DD(yD($L,1),WBc,26,0,[this]))};_.Zf=function Lmb(a, +b,c){if(b.j==(o6b(),y4b)){woc(this.b,new Rmb(Coc(this.b),b));b.j==y4b&&Y0b(b,61)!=0&&U0(this.a,"es6/execute_async_generator",false)}return true};_.$f=function Mmb(a,b,c){var d;d=Coc(this.b);if(b.j==(o6b(),y4b)){ke(d.a.Id()&&wE(d.a.Hd())===wE(b),"unexpected function context:\nexpected: %s\nactual: %s",b,d.a);Koc(this.b)}switch(b.j.f){case 65:d.a.Id()&&i1b(d.a.Hd())&&Imb(this,d);break;case 29:if((d.a.Id()&&i1b(d.a.Hd())||Nmb(d.d))&&r1b(b,AFc,AFc.length)){b.ti(BHc);Omb(d)}break;case 33:if(d.a.Id()&& +i1b(d.a.Hd())||Nmb(d.d)){y1b(c,b,X1b((ie(Wkc(AHc,olc(46))==-1,GDc,AHc),new $2b(g5b,AHc)),b));Pmb(d)}break;case 103:ee(d.a.Id()&&i1b(d.a.Hd()),"await found within non-async function body");fe(!!b.b&&!b.b.d,"await should have 1 operand, but has %s",V0b(b));y1b(c,b,X1b(QYb(w1b(b)),b))}};var NM=vjc(825);fW(357,1,{357:1},Qmb,Rmb);_.b=false;_.c=false;var MM=vjc(357);fW(578,945,BFc,Wmb);_.Uf=function Xmb(a,b){de(b.j==(o6b(),M5b));Jhb(this.a,b,this)};_.$f=function Ymb(a,b,c){switch(b.j.f){case 85:!!b.b&& +!b.b.d?Vmb(this,a,b):N1(this.a,uhb(b,Smb,DD(yD(sT,1),FBc,2,6,[])));return;case 43:case 42:case 30:case 35:case 34:case 32:case 31:break;case 91:(!b.qi()||!(!!b.b&&!b.b.d))&&N1(this.a,uhb(b,Smb,DD(yD(sT,1),FBc,2,6,[])));break;case 84:c.j==(o6b(),M5b)||N1(this.a,uhb(b,Smb,DD(yD(sT,1),FBc,2,6,[])));break;default:N1(this.a,uhb(b,Smb,DD(yD(sT,1),FBc,2,6,[])))}if(i2b(b.i)==1){B1b(b,h2b(b.i)-1);zhb(a)}};var Smb;var OM=vjc(578);fW(419,1,wDc,enb);_.Uf=function gnb(a,b){anb(this,b)};var Zmb,$mb;var TM=vjc(419); +fW(420,1,{420:1},hnb);var PM=vjc(420);fW(694,1,{},lnb);var inb;var RM=vjc(694);fW(697,1,JCc,nnb);_.Pd=function onb(a){return glc(a,a.lastIndexOf(".")+1)};_.Dd=function pnb(a){return this===a};var QM=vjc(697);fW(696,695,zDc,rnb);var SM=vjc(696);fW(672,1,{});var snb,tnb,unb,vnb,wnb,xnb,ynb,znb,Anb,Bnb,Cnb,Dnb,Enb,Fnb,Gnb,Hnb,Inb,Jnb;var VM=vjc(672);fW(561,672,{},Qnb);_.lh=function Rnb(a,b,c,d){Onb(this,a,b,c,d)};_.mh=function Snb(a,b,c,d){Pnb(this,a,b,c,d)};var UM=vjc(561);fW(583,1,wDc,_nb);_.Uf=function aob(a, +b){Xnb(this,a,b)};var Tnb,Unb,Vnb;var WM=vjc(583);fW(275,1,{275:1,3:1},kob,lob);_.Gd=function nob(){return"Scope@"+this.d};_.b=0;var XM=vjc(275);fW(183,14,NHc);var oob,pob;var $M=wjc(183,_S,sob);fW(584,183,NHc,tob);var YM=wjc(584,$M,null);fW(585,183,NHc,uob);var ZM=wjc(585,$M,null);fW(185,1,OHc,Bob);_.vh=function Dob(a){xob(this);if(a<1||a>this.d.length)throw HV(new bfb("Expected line number between 1 and "+this.d.length+"\nActual: "+a));return this.d[a-1]};_.Ig=function Eob(){return this.b};_.wh= +function Fob(){return this.c};_.Gd=function Gob(){return this.b};_.a=null;_.c=false;_.d=null;var vob;var bN=vjc(185);fW(254,1,{},Hob);var _M=vjc(254);fW(255,185,OHc,Iob);var aN=vjc(255);fW(577,945,zDc,Job);_.$f=function Lob(a,b,c){var d,e,f,g,h;this.a&&this.b!=null&&de(Tkc(this.b,(d=$0b(b,51),!d?null:d.Ig())));switch(b.j.f){case 26:g=b.b?b.b.f:null;Kob(b,g.oi());break;case 65:e=qib(b);e!=null&&e.length!=0&&$0b(b,40)==null&&(h=x1b(b,b.g,40),h!=b.g&&(b.g=h),e!=null&&(b.g=new N2b(40,e,b.g)));break;case 29:Kob(b, +b.oi());break;case 43:for(f=b.b;f;f=f.d)f.j!=(o6b(),Y3b)&&!f.qi()&&Kob(f,f.oi())}};_.a=false;var cN=vjc(577);fW(188,14,PHc);var Mob,Nob;var fN=wjc(188,_S,Qob);fW(627,188,PHc,Rob);_.Nd=function Sob(a){return true};var dN=wjc(627,fN,null);fW(628,188,PHc,Tob);_.Nd=function Uob(a){return a.j==(o6b(),P3b)||a.j==m5b||a.j==y4b||a.j==g5b||(Whb(),a.j==E4b||a.j==D4b)||$ib(a)||a.j==S5b&&Pib(a.e)||a.j==Y5b};var eN=wjc(628,fN,null);fW(187,14,QHc);var Vob,Wob;var iN=wjc(187,_S,Zob);fW(625,187,QHc,$ob);var gN=wjc(625, +iN,null);fW(626,187,QHc,_ob);var hN=wjc(626,iN,null);fW(431,1,{431:1,3:1},epb);_.a=false;_.b=null;var apb,bpb;var jN=vjc(431);var gpb,hpb,ipb,jpb,kpb,lpb,mpb,npb,opb,ppb,qpb,rpb;fW(566,182,YEc,vpb);_.Pg=function wpb(){return(stb(),rtb).a};_.Qg=function xpb(a){var b,c,d,e,f,g,h,i,j,k,l,m;g=a.e;!g&&a.f!=null&&(g=f1(this.a,a.f));if(g){m=false;for(b=g;b;b=b.e){l=b.j;d=null;if(l==(o6b(),y4b)){d=(Whb(),e=gib(b),!e?null:$0b(e,29));m=true}else if(l==M5b)d=$0b(b,29);else if(b.j==i6b||b.j==t3b){h=vib(b.b); +if(h){h.j==S3b&&(h=h.b);h.j==y4b&&!m&&(d=(Whb(),e=gib(b),!e?null:$0b(e,29)))}}if(d)for(k=(i=!d.d?null:d.d.p,!i?(Uqc(),Uqc(),Tqc):i).Qd();k.Kd();){j=k.Ld();c=kmc(this.b,j);if(c){f=c.Qg(a);if(f)return f}}}}return null};var kN=vjc(566);fW(575,1,MBc,ypb);_.Gg=function zpb(a){return this.b};_.Hg=function Apb(){return this.a};_.Lg=function Bpb(){return this.c};var lN=vjc(575);fW(564,1,{},Dpb);_.Xf=function Epb(a,b){Cpb(this,a,b)};var mN=vjc(564);fW(382,1,{},Hpb);var pN=vjc(382);fW(311,1,{311:1},Jpb);var nN= +vjc(311);fW(312,1,{312:1},Kpb);_.Dd=function Lpb(a){if(qE(a,312))return Tkc(this.a,a.a);return false};_.Fd=function Mpb(){return sBc(this.a)};var oN=vjc(312);fW(160,1,{},Ppb,Qpb);_.a=0;var qN=vjc(160);var Rpb,Spb,Tpb,Upb,Vpb,Wpb,Xpb,Ypb,Zpb,$pb,_pb,aqb,bqb,cqb;fW(765,103,JEc,gqb);_.uh=function hqb(a){return new gab(a)};_.Eg=function iqb(){return QJb(),NJb};var zN=vjc(765);fW(774,103,JEc,jqb);_.uh=function kqb(a){return new enb(a)};_.Eg=function lqb(){return QJb(),MJb};var rN=vjc(774);fW(775,103,JEc, +mqb);_.uh=function nqb(a){return new zab(a)};_.Eg=function oqb(){return QJb(),MJb};var sN=vjc(775);fW(776,103,JEc,pqb);_.uh=function qqb(a){return new g7(a)};_.Eg=function rqb(){return QJb(),MJb};var tN=vjc(776);fW(777,103,JEc,sqb);_.uh=function tqb(a){return new U6(a)};_.Eg=function uqb(){return QJb(),MJb};var uN=vjc(777);fW(778,103,JEc,vqb);_.uh=function wqb(a){return new x6(a)};_.Eg=function xqb(){return QJb(),MJb};var vN=vjc(778);fW(779,103,JEc,yqb);_.uh=function zqb(a){return new yfb(a)};_.Eg= +function Aqb(){return QJb(),MJb};var wN=vjc(779);fW(780,103,JEc,Bqb);_.uh=function Cqb(a){return new f8(a)};_.Eg=function Dqb(){return QJb(),MJb};var xN=vjc(780);fW(781,103,JEc,Eqb);_.uh=function Fqb(a){return new I9(a)};_.Eg=function Gqb(){return QJb(),MJb};var yN=vjc(781);fW(766,57,JEc,Hqb);_.Dg=function Iqb(a){return new Jmb(a)};_.Eg=function Jqb(){return QJb(),MJb};var AN=vjc(766);fW(767,57,JEc,Kqb);_.Dg=function Lqb(a){return new hbb(a)};_.Eg=function Mqb(){return QJb(),MJb};var BN=vjc(767); +fW(768,57,JEc,Nqb);_.Dg=function Oqb(a){return new Fab(a)};_.Eg=function Pqb(){return QJb(),MJb};var CN=vjc(768);fW(769,103,JEc,Qqb);_.uh=function Rqb(a){return new w7(a)};_.Eg=function Sqb(){return QJb(),MJb};var DN=vjc(769);fW(770,103,JEc,Tqb);_.uh=function Uqb(a){return new I8(a)};_.Eg=function Vqb(){return QJb(),MJb};var EN=vjc(770);fW(771,103,JEc,Wqb);_.uh=function Xqb(a){return new _8(a)};_.Eg=function Yqb(){return QJb(),MJb};var FN=vjc(771);fW(772,103,JEc,Zqb);_.uh=function $qb(a){return new I7(a)}; +_.Eg=function _qb(){return QJb(),MJb};var GN=vjc(772);fW(773,103,JEc,arb);_.uh=function brb(a){return new T7(a)};_.Eg=function crb(){return QJb(),MJb};var HN=vjc(773);var drb,erb,frb,grb,hrb,irb,jrb,krb,lrb,mrb,nrb,orb,prb,qrb,rrb,srb,trb,urb,vrb,wrb,xrb,yrb,zrb,Arb,Brb,Crb,Drb,Erb,Frb,Grb,Hrb,Irb,Jrb,Krb,Lrb,Mrb,Nrb;var Prb,Qrb,Rrb,Srb,Trb,Urb,Vrb,Wrb,Xrb,Yrb,Zrb;fW(815,319,{},gsb);_.Bg=function hsb(a,b){var c,d,e;d=a.e;if(!!d&&(d.j==(o6b(),M3b)||d.j==M5b))if(a.j==(o6b(),y4b))Z$(this,csb(this,a)); +else if(a.j==t4b&&a.b.j==t3b){c=a.b;if(Zib(c.b))Z$(this,zeb(this.a,$0b(c,29)));else{e=c.b?c.b.f:null;Z$(this,esb(this,e))}}else a.j==i6b&&!!a.b.b&&(Zib(a.b)?Z$(this,zeb(this.a,$0b(a,29))):Z$(this,esb(this,a.b.b)));Y$(this,a,b)};var JN=vjc(815);fW(816,1,JCc,jsb);_.Pd=function ksb(a){return a.ei(1)};_.Dd=function lsb(a){return this===a};var IN=vjc(816);var msb,nsb,osb,psb,qsb,rsb,ssb,tsb;fW(240,1,{240:1,3:1},ysb);_.xh=function zsb(){var a;for(a=this.c;a;a=a.e)if(vsb.contains(a.j))return a.j;throw HV(new Wjc("The nameNode for "+ +this+" must be a descendant"+" of one of: "+vsb));};_.Dd=function Asb(a){var b;if(!qE(a,240))return false;b=a;return b.c==this.c};_.Fd=function Bsb(){return Ab(this.c)};_.Gd=function Csb(){return"Var "+this.b+" @ "+this.c};var vsb;var ON=vjc(240);fW(339,240,{240:1,339:1,3:1},Dsb);_.xh=function Esb(){return null};_.Dd=function Fsb(a){var b;if(!qE(a,339))return false;b=a;return b.d.d==this.d.d};_.Fd=function Gsb(){return WAc(this)};var KN=vjc(339);fW(690,945,BFc,Tsb);_.Uf=function Wsb(a,b){Ssb(this, +a,b)};_.$f=function Xsb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(b.j==(o6b(),g5b)||b.j==T5b&&!b.b){m=b.oi();if(m.length==0){de(c.j==y4b);de((Whb(),c.j==y4b&&!(c.j!=e5b&&djb(c.e))));return}if((c.j==i6b||(Whb(),c.j==y4b&&Lib(c.e)))&&jvc(this.e,m)){Usb(this.a,m);kvc(this.e,m);d=B0b($0b(b,29));YYb(d.a);d.e=true;E1b(b,f_b(d))}i=ohb(a);j=hob(i,m);if(!j){Whb();if(c.j==y4b&&!(c.j!=e5b&&djb(c.e))||c.j==U3b&&!(c.j!=e5b&&djb(c.e))&&b==c.b);else{g=i.d.j==y4b&&Tkc(AFc,m);!g&&!(this.d&&U2((!a.d&&!!a.g&&(a.d=a1(a.c,a.g)), +a.d)))&&yhb(a,b,Msb,DD(yD(sT,1),FBc,2,6,[m]));if(this.c)throw HV(new Wjc("Unexpected variable "+m));else{Usb(this.a,m);kvc(this.e,m);cob(fob(i),m,b,j1(this.a))}}return}e=(!a.d&&!!a.g&&(a.d=a1(a.c,a.g)),a.d);k=j.a;if(e==k||!e||!k)return;f=e.g;l=k.g;h=b1(this.a);if(!this.c&&l!=f&&!!l&&!!f)if(f!=l&&Fqc(h.c[f.c],l.c));else!i.c?l!=f&&Fqc(h.c[l.c],f.c)?yhb(a,b,Psb,DD(yD(sT,1),FBc,2,6,[f.e,l.e,m])):yhb(a,b,Isb,DD(yD(sT,1),FBc,2,6,[f.e,l.e,m])):yhb(a,b,Ksb,DD(yD(sT,1),FBc,2,6,[f.e,l.e,m]))}};_.c=false;_.d= +false;var Hsb,Isb,Jsb,Ksb,Lsb,Msb,Nsb,Osb,Psb;var NN=vjc(690);fW(691,945,zDc,Ysb);_.$f=function Zsb(a,b,c){var d,e,f,g;if(b.j==(o6b(),g5b))switch(c.j.f){case 76:case 100:case 88:case 65:case 96:case 45:case 118:case 112:break;case 26:if(b==c.b){e=ohb(a);g=hob(e,b.oi());if(!g){yhb(a,b,(Qsb(),Lsb),DD(yD(sT,1),FBc,2,6,[b.oi()]));ivc(this.a.e,b.oi())}}break;case 47:if(b==(c.b?c.b.f:null)&&l1b(b)&&l1b(c.b))break;default:(c.j!=g5b||!Xib(c.e))&&yhb(a,b,(Qsb(),Jsb),DD(yD(sT,1),FBc,2,6,[b.oi()]));d=ohb(a); +f=hob(d,b.oi());!f&&ivc(this.a.e,b.oi())}};var LN=vjc(691);fW(692,1,{},_sb);_.Rg=function atb(a,b,c,d){var e,f,g,h,i;i=c.e;h=hob(a,b);g=!h.c?null:h.c.e;if(i.j==(o6b(),$4b)||i.j==Z3b||i.j==U3b||!!g&&(g.j==$4b||g.j==Z3b||g.j==U3b)){N1(this.b.a,Ieb(c,(Qsb(),Hsb),DD(yD(sT,1),FBc,2,6,[])));return}if(!a.c){if(g.j==T3b&&i.j==T3b)return;e=Vsb(c,h);Qsb();if(c.e.j==i6b&&(f=$0b(c,51),!!f&&f.wh())&&Zib(c)){gpc(this.a,i);return}e||N1(this.b.a,Ieb(c,Osb,DD(yD(sT,1),FBc,2,6,[b,h.a?h.a.f.a:"??"])))}else Tkc(b,AFc)&& +!(Xib(c.e)&&c.j==g5b)&&N1(this.b.a,Ieb(c,(Qsb(),Nsb),DD(yD(sT,1),FBc,2,6,[])))};var MN=vjc(692);var btb,ctb,dtb;fW(221,14,{221:1,3:1,21:1,14:1},jtb);var ftb,gtb,htb;var PN=wjc(221,_S,ktb);fW(145,14,{145:1,3:1,21:1,14:1},ttb);_.a=0;var ltb,mtb,ntb,otb,ptb,qtb,rtb;var QN=wjc(145,_S,utb);fW(432,1,{});var _N=vjc(432);fW(719,432,{},ytb);_.yh=function ztb(a,b,c,d,e){var f;Itb();if(!Tkc(b.substr(0,"/".length),"/")&&!(Tkc(b.substr(0,KEc.length),KEc)||Tkc(b.substr(0,YHc.length),YHc))){this.c.Xf((tZ(),sZ), +new Eeb(c,null,d,e,Ftb,null,DD(yD(sT,1),FBc,2,6,[b,TEc])));return null}f=wtb(this,a,b);f==null&&this.c.Xf((tZ(),sZ),new Eeb(c,null,d,e,Gtb,null,DD(yD(sT,1),FBc,2,6,[b])));return f};var SN=vjc(719);fW(745,1,{},Dtb);var TN=vjc(745);fW(210,1,{},Ltb,Mtb);var Etb,Ftb,Gtb,Htb;var $N=vjc(210);fW(617,1,JCc,Qtb);_.Pd=function Rtb(a){return a.Ig()};_.Dd=function Stb(a){return this===a};var UN=vjc(617);fW(297,1,{},Vtb);_.Gd=function Wtb(){return this.a};var VN=vjc(297);fW(615,1,{},Xtb);_.Xf=function Ytb(a,b){}; +var WN=vjc(615);fW(265,14,ZHc);var Ztb;var YN=wjc(265,_S,_tb);fW(616,265,ZHc,aub);_.Pd=function bub(a){return a};var XN=wjc(616,YN,null);fW(266,14,{266:1,3:1,21:1,14:1},fub);var cub,dub;var ZN=wjc(266,_S,gub);var hub;fW(720,432,{},uub);_.yh=function wub(a,b,c,d,e){var f,g;Itb();Tkc(b.substr(0,1),"/")||(Tkc(b.substr(0,2),KEc)||Tkc(b.substr(0,3),YHc))?f=(g=qub(this,a,b),g==null&&(g=tub(this,a,b)),g):f=rub(this,a,b);f==null&&this.c.Xf((tZ(),sZ),new Eeb(c,null,d,e,Gtb,null,DD(yD(sT,1),FBc,2,6,[b]))); +return f};var mub,nub;var bO=vjc(720);fW(721,1,yDc,yub);_.Se=function zub(a,b){return xub(a,b)};_.Dd=function Aub(a){return this===a};_.Ue=function Bub(){return new Ttc(this)};var aO=vjc(721);fW(236,1,{900:1,236:1,3:1},Eub);_.Jg=function Hub(){return this.c};_.Kg=function Iub(){return this.d};_.Dd=function Fub(a){var b;if(!qE(a,236))return false;b=a;return b.e==this.e&&b.b==this.b&&xxc(b.d,this.d)&&xxc(b.c,this.c)&&xxc(b.a,this.a)};_.Ig=function Gub(){return this.b};_.Fd=function Jub(){return fqc(DD(yD(nT, +1),WBc,1,5,[this.c,this.d,this.e,this.b,this.a]))};_.Gd=function Kub(){return oXb("DependencyInfo(relativePath='%1$s', path='%2$s', provides=%3$s, requires=%4$s, loadFlags=%5$s)",DD(yD(nT,1),WBc,1,5,[this.e,this.b,this.c,this.d,this.a]))};var Cub;var cO=vjc(236);fW(907,1,{});var Lub;var fO=vjc(907);fW(555,557,{},Qub);var dO=vjc(555);fW(556,377,{},Rub);_.Vf=function Sub(){this.d+this.f>0&&Oub(this.d+" error(s), "+this.f+" warning(s)")};_.Wf=function Tub(a,b){Oub(Deb(b,a,this.a))};var eO=vjc(556);fW(256, +949,{},Vub);var gO=vjc(256);var Wub;var Yub;var $ub;var avb,bvb,cvb,dvb;var fvb,gvb;var ivb,jvb,kvb,lvb,mvb,nvb,ovb,pvb,qvb,rvb,svb,tvb,uvb,vvb;var xvb;var zvb,Avb;var Cvb,Dvb;var Fvb;var Hvb,Ivb,Jvb,Kvb;var Mvb;var Ovb;fW(817,1,MBc,Rvb);_.Gd=function Svb(){return bwb(Qvb(this),new Hlc,(ZBb(),YBb)).a};_.b=false;var hO=vjc(817);fW(250,14,{250:1,3:1,21:1,14:1},_vb);var Xvb,Yvb,Zvb;var iO=wjc(250,_S,awb);fW(177,1,{177:1,3:1},vwb,wwb);_.Dd=function xwb(a){return dwb(this,a)};_.Fd=function zwb(){return fqc(DD(yD(nT, +1),WBc,1,5,[this.i,this.e,this.j,this.k,this.d,this.g]))};_.Gd=function Iwb(){return bwb(this,new Hlc,(ZBb(),YBb)).a};_.b=false;_.c=false;var mO=vjc(177);fW(862,1,JCc,Kwb);_.Pd=function Lwb(a){return hlc(a,0,Wkc(a,olc(35)))};_.Dd=function Mwb(a){return this===a};var jO=vjc(862);fW(157,1,{},Ywb);_.b=false;_.c=false;_.j=null;_.k=null;var lO=vjc(157);fW(537,22,VCc,Zwb);var kO=vjc(537);var YR=xjc();fW(125,1,rIc);_.zh=function Exb(){return dxb(this)};_.Qh=function Wxb(){return kxb(this)};_.Dd=function Gxb(a){return exb(this, +a)};_.Ah=function Jxb(){var a,b,c,d,e,f,g;a=(g=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!g?null:g.b);f=ywb(a.d);if(!(!!f&&null.Sj==0)&&(e=ywb(a.d),!(!!e&&null.Sj!=0)))return Cn(),cy(),by;gxb(fwb(a));d=new lvc;for(c=oAb().Qd();c.Kd();){b=c.Ld();null.Rj()||ivc(d,!null.Rj()&&!b.b.d.d.isEmpty()?Hxb(sBb(null.Sj,b,null,null,null,false,null.Sj)):null.Sj)}return d};_.Bh=function Kxb(){var a;return de(this.Fh()==2&&this.Ih().size()==1),a=iAb(this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()).d: +null),bxb(),oyb(null.Sj,2,(Cn(),new Xy(sBb(null.Sj,null,null,a,null,null.Sj,(HAb(),FAb)))),null,$wb)};_.Ch=function Lxb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!a&&(QAb(a),false)?QAb(this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null).Rj():null};_.Eh=function Mxb(){var a,b,c;return de((a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!a?null:a.b))),b=fwb((c=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!c?null:c.b)),!b?null:b.Fh()== +2&&b.Ih().size()==1?b:null};_.Gh=function Nxb(){var a,b;de((b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!b?null:b.b)));return gwb((a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!a?null:a.b))};_.Hh=function Oxb(){var a,b;de((b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!b?null:b.b)));return hwb((a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!a?null:a.b))};_.Jh=function Pxb(){return iwb(Zd(fxb(this)))};_.Kh=function Qxb(a){return 0!=this.Fh()&& +ABc!=this.Fh()&&nxb(this,this.e.K,new WBb(($zb(),$zb(),Zzb)))?ixb(this,new UBb(a)):null};_.Lh=function Rxb(){this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()).d:null;return null.Rj()?this:null.Sj};_.Mh=function Sxb(){var a,b;de((b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!b?null:b.b)));return(a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!a?null:a.b).k};_.Nh=function Txb(){if(exb(this,this.e.K))return null;jxb(this);return null};_.Oh=function Uxb(){var a,b;b=this.Fh()== +2&&this.Ih().size()==1?Vs(this.Ih().Qd()).d:null;if(!null.Rj()){a=(Zn(),new hr);return go(gr(a,b.b.values()).a)}return null};_.Ph=function Vxb(){var a,b;de((b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!b?null:b.b)));return jwb((a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!a?null:a.b))};_.Fd=function Xxb(){return fqc(DD(yD(nT,1),WBc,1,5,[kkc(this.Fh()),this.Ih(),this.Dh(),this.Rh()]))};_.Sh=function Zxb(){return 0==this.Fh()};_.Th=function $xb(){var a,b,c;return a= +(b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!b?null:b.b),!!a&&(c=ywb(a.d),!!c&&null.Sj==0)};_.Uh=function _xb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!a&&(QAb(a),false)};_.Vh=function ayb(a){return exb(this,a)};_.Wh=function byb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!a?null:a.b)};_.Xh=function cyb(){var a;a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()).d:null;return!!a&&!null.Rj()};_.Yh=function eyb(){var a, +b,c;return a=(b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!b?null:b.b),!!a&&(c=ywb(a.d),!!c&&null.Sj!=0)};_.Zh=function fyb(){return-1!=this.Fh()&&(this.Fh()&32)!=0};_.$h=function gyb(){return this.Fh()==2&&this.Ih().size()==1&&!!SAb(this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null)};_._h=function hyb(){var a,b,c;a=(c=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!c?null:c.b);if(!!a&&!!a.d){b=gxb(a.g?a.g:a.d);return!!b&&null.Sj==2}return false};_.ai=function iyb(){return ABc== +this.Fh()};_.bi=function jyb(){return exb(this,this.e.B)};_.ci=function kyb(){return-1!=this.Fh()&&(this.Fh()&256)!=0};_.di=function uyb(){return uxb(this,this.e.p)};_.ei=function vyb(a){var b;b=cxb(this,new Hlc,(ZBb(),XBb)).a;return a==1?clc(b,"^!",""):b};_.fi=function wyb(){var a;return a=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,(!a?null:a.b)?this:null};_.gi=function xyb(){return this.Fh()==2&&this.Ih().size()==1?this:null};_.Gd=function yyb(){return cxb(this,new Hlc,(ZBb(),YBb)).a}; +_.hi=function Byb(a){var b,c;de((c=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!!(!c?null:c.b)));return zzb(uwb((b=this.Fh()==2&&this.Ih().size()==1?Vs(this.Ih().Qd()):null,!b?null:b.b),a))};var $wb,_wb,axb;var tO=vjc(125);fW(821,1,JCc,Cyb);_.Pd=function Dyb(a){return Ixb(this.a.e,a)};_.Dd=function Eyb(a){return this===a};var nO=vjc(821);fW(71,125,rIc,Fyb);_.Dh=function Gyb(){return Cn(),cy(),by};_.Fh=function Hyb(){return this.a};_.ii=function Iyb(){return Cn(),cy(),by};_.Ih=function(){return this.ii()}; +_.Rh=function Jyb(){return null};_.a=0;var oO=vjc(71);fW(820,125,rIc,Kyb);_.Dh=function Lyb(){return Cn(),cy(),by};_.Fh=function Myb(){return 34};_.ii=function Nyb(){var a;Zd(this.a);qE(this.a,105)||(this.a=(Cn(),a=this.a,Jp(a)));return this.a};_.Ih=function(){return this.ii()};_.Rh=function Oyb(){return null};var pO=vjc(820);fW(819,125,rIc,Pyb);_.Dh=function Qyb(){return Cn(),cy(),by};_.Fh=function Ryb(){return 2};_.ii=function Syb(){var a;Zd(this.a);qE(this.a,105)||(this.a=(Cn(),a=this.a,Jp(a))); +return this.a};_.Ih=function(){return this.ii()};_.Rh=function Tyb(){return null};var qO=vjc(819);fW(818,125,rIc,Wyb);_.Dh=function Xyb(){return Uyb(this)};_.Fh=function Yyb(){return this.b};_.ii=function Zyb(){return Vyb(this)};_.Ih=function(){return this.ii()};_.Rh=function $yb(){return this.d};_.b=0;var rO=vjc(818);fW(693,1,MBc,yzb);var _yb,azb,bzb,czb,dzb,ezb,fzb,gzb,hzb,izb,jzb,kzb,lzb,mzb,nzb,ozb,pzb,qzb,rzb,szb,tzb,uzb,vzb,wzb;var sO=vjc(693);fW(459,1,{459:1,3:1},Czb);_.H=false;_.J=false;var vO= +vjc(459);fW(814,1,fCc,Gzb);_.Zd=function Mzb(a){return this.a.G};_.getOrDefault=function Nzb(a,b){var c;return c=this.a.G,c};_.put=function Rzb(a,b){return Ezb()};_.putIfAbsent=function Tzb(a,b){var c;return c=this.a.G,c?c:Ezb()};_.remove=function Uzb(a){return Fzb()};_.replace=function Vzb(a,b){return Ezb()};_.clear=function Hzb(){throw HV(new Nlc);};_.containsKey=function Izb(a){return true};_.containsValue=function Jzb(a){return wE(a)===wE(this.a.G)};_.Yd=function Kzb(){throw HV(new Nlc);};_.Dd= +function Lzb(a){return Dzb(this,a)};_.Fd=function Ozb(){throw HV(new Nlc);};_.isEmpty=function Pzb(){return false};_.keySet=function Qzb(){throw HV(new Nlc);};_.putAll=function Szb(a){throw HV(new Nlc);};_.size=function Wzb(){throw HV(new Nlc);};_.Gd=function Xzb(){return"MAP_TO_UNKNOWN"};_.values=function Yzb(){return arc(this.a.G)};var uO=vjc(814);fW(962,928,dCc);var Zzb;var BO=vjc(962);fW(366,962,fCc,bAb);_.Yd=function cAb(){return new Dmc(this.a)};var wO=vjc(366);fW(179,1,{179:1,3:1},uAb);_.Dd= +function vAb(a){return hAb(this,a)};_.Fd=function wAb(){return fqc(DD(yD(nT,1),WBc,1,5,[this.b,this.a]))};_.Gd=function AAb(){return fAb(this,new Hlc,(ZBb(),YBb)).a};var dAb;var xO=vjc(179);fW(205,1,{205:1,3:1},IAb);_.a=0;var CAb,DAb,EAb,FAb,GAb;var yO=vjc(205);fW(180,1,{180:1,983:1,3:1},bBb);_.Dd=function gBb(a){return PAb(this,a)};_.Fd=function kBb(){return fqc(DD(yD(nT,1),WBc,1,5,[this.b,this.e,this.g,this.d]))};_.Gd=function xBb(){return MAb(this,new Hlc,(ZBb(),YBb)).a};_.c=false;var zO=vjc(180); +fW(898,1,{},ABb);var AO=vjc(898);fW(81,1,{81:1,3:1},FBb);_.Dd=function GBb(a){return CBb(this,a)};_.Fd=function HBb(){return fqc(DD(yD(nT,1),WBc,1,5,[this.d,this.a]))};_.Gd=function LBb(){return BBb(this,new Hlc,(ZBb(),YBb)).a};var DO=vjc(81);fW(247,14,{247:1,3:1,21:1,14:1},RBb);var NBb,OBb,PBb;var CO=wjc(247,_S,SBb);fW(98,1,{},TBb,UBb);_.Gd=function VBb(){return Oc(new Qc("."),this.a.Qd())};var EO=vjc(98);fW(52,1,{},WBb);var FO=vjc(52);fW(890,1,{},_Bb);_.ji=function aCb(){return false};var XBb,YBb; +var HO=vjc(890);fW(891,890,{},bCb);_.ji=function cCb(){return true};var GO=vjc(891);fW(544,1,{544:1,3:1},gCb);_.Dd=function hCb(a){var b;b=a;return this.a.Dd(b.a)};_.Fd=function iCb(){return yxc(this.a)};var dCb;var IO=vjc(544);fW(30,14,{30:1,3:1,21:1,14:1},wDb);var lCb,mCb,nCb,oCb,pCb,qCb,rCb,sCb,tCb,uCb,vCb,wCb,xCb,yCb,zCb,ACb,BCb,CCb,DCb,ECb,FCb,GCb,HCb,ICb,JCb,KCb,LCb,MCb,NCb,OCb,PCb,QCb,RCb,SCb,TCb,UCb,VCb,WCb,XCb,YCb,ZCb,$Cb,_Cb,aDb,bDb,cDb,dDb,eDb,fDb,gDb,hDb,iDb,jDb,kDb,lDb,mDb,nDb,oDb,pDb, +qDb,rDb,sDb,tDb,uDb;var JO=wjc(30,_S,xDb);fW(223,1,{},yDb,zDb);_.b=0;_.e=0;var MO=vjc(223);fW(224,14,{224:1,3:1,21:1,14:1},FDb);var BDb,CDb,DDb;var KO=wjc(224,_S,GDb);fW(146,14,{146:1,3:1,21:1,14:1},ODb);var HDb,IDb,JDb,KDb,LDb,MDb;var LO=wjc(146,_S,QDb);fW(795,1,{},HEb);_.c=false;_.g=null;_.i=false;var RDb,SDb,TDb,UDb,VDb;var OO=vjc(795);fW(796,1,{},iGb);var NO=vjc(796);fW(354,1,{},lHb);_.d=null;_.f=false;_.n=null;var jGb,kGb;var SO=vjc(354);fW(530,1,{530:1},oHb);_.a=0;_.b=0;var PO=vjc(530);fW(355, +1,{},pHb);var QO=vjc(355);fW(244,14,{244:1,3:1,21:1,14:1},uHb);var qHb,rHb,sHb;var RO=wjc(244,_S,vHb);fW(70,14,{70:1,3:1,21:1,14:1},SHb);var wHb,xHb,yHb,zHb,AHb,BHb,CHb,DHb,EHb,FHb,GHb,HHb,IHb,JHb,KHb,LHb,MHb,NHb,OHb,PHb,QHb;var UO=wjc(70,_S,THb);fW(246,1,{},bIb,cIb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var TO=vjc(246);fW(968,1,{});var WO=vjc(968);fW(896,968,{},fIb);_.lh=function gIb(a,b,c,d){};_.mh=function hIb(a,b,c,d){};var VO=vjc(896);var iIb=null,jIb=null; +fW(951,1,{});_.d=false;var gR=vjc(951);fW(743,951,{},rIb);_.ki=function sIb(a,b){if(this.b||!this.a){this.a=true;this.c.lh(b,a.d.c,a.b+1,a.a)}};_.li=function tIb(a,b){this.c.mh(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var XO=vjc(743);fW(744,1,{},uIb);var YO=vjc(744);fW(892,1,{},aJb);_.c=0;_.d=0;var $O=vjc(892);fW(61,14,{61:1,3:1,21:1,14:1},AJb);_.a=0;_.b=0;_.c=0;var bJb,cJb,dJb,eJb,fJb,gJb,hJb,iJb,jJb,kJb,lJb,mJb,nJb,oJb,pJb,qJb,rJb,sJb,tJb,uJb,vJb,wJb,xJb,yJb;var ZO=wjc(61,_S,CJb);var DJb;fW(169, +1,{169:1,3:1},YJb);_.Dd=function ZJb(a){return qE(a,169)&&hy(a.a,this.a)};_.Fd=function $Jb(){return this.a.Fd()};_.Gd=function _Jb(){return this.a.Gd()};var FJb,GJb,HJb,IJb,JJb,KJb,LJb,MJb,NJb,OJb,PJb;var aP=vjc(169);fW(29,14,{29:1,3:1,21:1,14:1},WKb);_.toString=function XKb(){return this.a};_.b=0;var bKb,cKb,dKb,eKb,fKb,gKb,hKb,iKb,jKb,kKb,lKb,mKb,nKb,oKb,pKb,qKb,rKb,sKb,tKb,uKb,vKb,wKb,xKb,yKb,zKb,AKb,BKb,CKb,DKb,EKb,FKb,GKb,HKb,IKb,JKb,KKb,LKb,MKb,NKb,OKb,PKb,QKb,RKb,SKb,TKb,UKb;var _O=wjc(29, +_S,YKb);fW(174,1,{174:1},$Kb);_.Gd=function _Kb(){return qSb(this.c)};var nP=vjc(174);fW(362,174,{362:1,174:1},aLb);_.Gd=function bLb(){return this.a};var bP=vjc(362);fW(37,14,{37:1,3:1,21:1,14:1},aMb);_.toString=function gMb(){return this.b};var cLb,dLb,eLb,fLb,gLb,hLb,iLb,jLb,kLb,lLb,mLb,nLb,oLb,pLb,qLb,rLb,sLb,tLb,uLb,vLb,wLb,xLb,yLb,zLb,ALb,BLb,CLb,DLb,ELb,FLb,GLb,HLb,ILb,JLb,KLb,LLb,MLb,NLb,OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb,WLb,XLb,YLb,ZLb,$Lb;var cP=wjc(37,_S,hMb);fW(809,1,{},lMb);var dP=vjc(809); +fW(100,174,{100:1,174:1},pMb);_.Gd=function qMb(){return this.a};var eP=vjc(100);fW(281,1,{},cPb,dPb);var jP=vjc(281);fW(793,1,{},fPb);var fP=vjc(793);fW(792,1,{},gPb);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var gP=vjc(792);fW(234,14,{234:1,3:1,21:1,14:1},lPb);var hPb,iPb,jPb;var hP=wjc(234,_S,mPb);fW(197,1,{},nPb);_.a=null;_.b=false;_.c=false;var iP=vjc(197);fW(794,1,{},_Pb);_.d=0;_.f=0;var kP=vjc(794);fW(791,1,{},kQb);var lP=vjc(791);fW(12,14,{12:1,3:1,21:1,14:1},rSb,sSb);_.toString=function tSb(){return qSb(this)}; +var lQb,mQb,nQb,oQb,pQb,qQb,rQb,sQb,tQb,uQb,vQb,wQb,xQb,yQb,zQb,AQb,BQb,CQb,DQb,EQb,FQb,GQb,HQb,IQb,JQb,KQb,LQb,MQb,NQb,OQb,PQb,QQb,RQb,SQb,TQb,UQb,VQb,WQb,XQb,YQb,ZQb,$Qb,_Qb,aRb,bRb,cRb,dRb,eRb,fRb,gRb,hRb,iRb,jRb,kRb,lRb,mRb,nRb,oRb,pRb,qRb,rRb,sRb,tRb,uRb,vRb,wRb,xRb,yRb,zRb,ARb,BRb,CRb,DRb,ERb,FRb,GRb,HRb,IRb,JRb,KRb,LRb,MRb,NRb,ORb,PRb,QRb,RRb,SRb,TRb,URb,VRb,WRb,XRb,YRb,ZRb,$Rb,_Rb,aSb,bSb,cSb,dSb,eSb,fSb,gSb,hSb,iSb,jSb,kSb,lSb,mSb,nSb,oSb;var mP=wjc(12,_S,uSb);fW(9,1,{9:1});_.Gd=function ySb(){return this.p+ +"@"+this.o};var FQ=vjc(9);fW(526,9,{526:1,9:1},zSb);var oP=vjc(526);fW(860,9,{9:1},ASb);var pP=vjc(860);fW(462,9,{462:1,9:1},BSb);var qP=vjc(462);fW(506,9,{506:1,9:1},CSb);var rP=vjc(506);fW(517,9,{517:1,9:1},DSb);var sP=vjc(517);fW(508,9,{508:1,9:1},ESb);var tP=vjc(508);fW(501,9,{501:1,9:1},FSb);var uP=vjc(501);fW(107,9,{107:1,9:1},GSb);var vP=vjc(107);fW(344,9,{344:1,9:1},HSb);var wP=vjc(344);fW(464,9,{464:1,9:1},ISb);var xP=vjc(464);fW(465,9,{465:1,9:1},JSb);var yP=vjc(465);fW(529,9,{529:1,9:1}, +KSb);_.c=false;var zP=vjc(529);fW(466,9,{466:1,9:1},LSb);var AP=vjc(466);fW(468,9,{468:1,9:1},MSb);var BP=vjc(468);fW(497,9,{497:1,9:1},NSb);var CP=vjc(497);fW(351,9,{351:1,9:1},OSb);var DP=vjc(351);fW(458,1,{458:1},PSb);var FP=vjc(458);fW(175,14,{175:1,3:1,21:1,14:1},WSb);var QSb,RSb,SSb,TSb,USb;var EP=wjc(175,_S,XSb);fW(510,9,{510:1,9:1},YSb);var GP=vjc(510);fW(511,9,{511:1,9:1},ZSb);var HP=vjc(511);fW(509,9,{509:1,9:1},$Sb);var IP=vjc(509);fW(348,9,{348:1,9:1},_Sb);var JP=vjc(348);fW(482,9,{482:1, +9:1},aTb);_.b=false;var KP=vjc(482);fW(483,9,{483:1,9:1},bTb);_.c=false;var LP=vjc(483);fW(241,9,{241:1,9:1},cTb);var MP=vjc(241);fW(484,9,{484:1,9:1},dTb);_.b=false;var NP=vjc(484);fW(477,9,{477:1,9:1},eTb);var OP=vjc(477);fW(469,9,{469:1,9:1},fTb);var PP=vjc(469);fW(472,9,{472:1,9:1},gTb);var QP=vjc(472);fW(467,9,{467:1,9:1},hTb);var RP=vjc(467);fW(243,9,{243:1,9:1},iTb);var SP=vjc(243);fW(470,9,{470:1,9:1},jTb);var TP=vjc(470);fW(199,9,{199:1,9:1},kTb);var UP=vjc(199);fW(524,9,{524:1,9:1},lTb); +var VP=vjc(524);fW(503,9,{503:1,9:1},mTb);_.d=false;_.e=false;var WP=vjc(503);fW(504,9,{504:1,9:1},nTb);var XP=vjc(504);fW(471,9,{471:1,9:1},oTb);var YP=vjc(471);fW(494,9,{494:1,9:1},pTb);var ZP=vjc(494);fW(475,9,{475:1,9:1},qTb);var $P=vjc(475);fW(502,9,{502:1,9:1},rTb);var _P=vjc(502);fW(474,9,{474:1,9:1},sTb);var aQ=vjc(474);fW(176,9,{176:1,9:1},tTb);var bQ=vjc(176);fW(476,9,{476:1,9:1},uTb);_.e=false;_.f=false;_.g=false;_.i=false;var eQ=vjc(476);fW(108,1,{},GTb);_.a=null;_.b=null;_.c=null;_.d= +null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var cQ=vjc(108);fW(200,14,{200:1,3:1,21:1,14:1},MTb);var HTb,ITb,JTb,KTb;var dQ=wjc(200,_S,NTb);fW(520,9,{520:1,9:1},OTb);var fQ=vjc(520);fW(522,9,{522:1,9:1},PTb);var gQ=vjc(522);fW(495,9,{495:1,9:1},QTb);_.b=false;var hQ=vjc(495);fW(282,9,{282:1,9:1},RTb);var iQ=vjc(282);fW(478,9,{478:1,9:1},STb);var jQ=vjc(478);fW(352,9,{352:1,9:1},TTb);var kQ=vjc(352);fW(505,9,{505:1,9:1},UTb);var lQ=vjc(505);fW(528,9,{528:1,9:1},VTb);var mQ=vjc(528); +fW(523,9,{523:1,9:1},WTb);var nQ=vjc(523);fW(479,9,{479:1,9:1},XTb);var oQ=vjc(479);fW(350,9,{350:1,9:1},YTb);var pQ=vjc(350);fW(346,9,{346:1,9:1},ZTb);var qQ=vjc(346);fW(345,9,{345:1,9:1},$Tb);var rQ=vjc(345);fW(284,9,{284:1,9:1},_Tb);_.c=false;_.d=false;var sQ=vjc(284);fW(283,9,{283:1,9:1},aUb);var tQ=vjc(283);fW(527,9,{527:1,9:1},bUb);var uQ=vjc(527);fW(861,9,{9:1},cUb);var vQ=vjc(861);fW(347,9,{347:1,9:1},dUb);var wQ=vjc(347);fW(499,9,{499:1,9:1},eUb);var xQ=vjc(499);fW(201,9,{201:1,9:1},fUb); +var yQ=vjc(201);fW(481,9,{481:1,9:1},gUb);var zQ=vjc(481);fW(507,9,{507:1,9:1},hUb);var AQ=vjc(507);fW(515,9,{515:1,9:1},iUb);var BQ=vjc(515);fW(516,9,{516:1,9:1},jUb);var CQ=vjc(516);fW(480,9,{480:1,9:1},kUb);var DQ=vjc(480);fW(18,14,{18:1,3:1,21:1,14:1},_Vb);var lUb,mUb,nUb,oUb,pUb,qUb,rUb,sUb,tUb,uUb,vUb,wUb,xUb,yUb,zUb,AUb,BUb,CUb,DUb,EUb,FUb,GUb,HUb,IUb,JUb,KUb,LUb,MUb,NUb,OUb,PUb,QUb,RUb,SUb,TUb,UUb,VUb,WUb,XUb,YUb,ZUb,$Ub,_Ub,aVb,bVb,cVb,dVb,eVb,fVb,gVb,hVb,iVb,jVb,kVb,lVb,mVb,nVb,oVb,pVb, +qVb,rVb,sVb,tVb,uVb,vVb,wVb,xVb,yVb,zVb,AVb,BVb,CVb,DVb,EVb,FVb,GVb,HVb,IVb,JVb,KVb,LVb,MVb,NVb,OVb,PVb,QVb,RVb,SVb,TVb,UVb,VVb,WVb,XVb,YVb,ZVb;var EQ=wjc(18,_S,aWb);fW(454,9,{9:1,454:1},bWb);var GQ=vjc(454);fW(242,9,{9:1,242:1},cWb);var HQ=vjc(242);fW(518,9,{9:1,518:1},dWb);var IQ=vjc(518);fW(512,9,{9:1,512:1},eWb);var JQ=vjc(512);fW(485,9,{9:1,485:1},fWb);var KQ=vjc(485);fW(496,9,{9:1,496:1},gWb);_.b=false;var LQ=vjc(496);fW(513,9,{9:1,513:1},hWb);var MQ=vjc(513);fW(498,9,{9:1,498:1},iWb);var NQ= +vjc(498);fW(486,9,{9:1,486:1},jWb);var OQ=vjc(486);fW(341,9,{9:1,341:1},kWb);var PQ=vjc(341);fW(342,9,{9:1,342:1},lWb);var QQ=vjc(342);fW(343,9,{9:1,343:1},mWb);var RQ=vjc(343);fW(473,9,{9:1,473:1},nWb);var SQ=vjc(473);fW(487,9,{9:1,487:1},oWb);var TQ=vjc(487);fW(488,9,{9:1,488:1},pWb);var UQ=vjc(488);fW(525,9,{9:1,525:1},qWb);var VQ=vjc(525);fW(353,9,{9:1,353:1},rWb);var WQ=vjc(353);fW(521,9,{9:1,521:1},sWb);var XQ=vjc(521);fW(514,9,{9:1,514:1},tWb);var YQ=vjc(514);fW(463,9,{9:1,463:1},uWb);var ZQ= +vjc(463);fW(519,9,{9:1,519:1},vWb);var $Q=vjc(519);fW(349,9,{9:1,349:1},wWb);_.c=0;var _Q=vjc(349);fW(490,9,{9:1,490:1},xWb);var aR=vjc(490);fW(491,9,{9:1,491:1},yWb);var bR=vjc(491);fW(489,9,{9:1,489:1},zWb);var cR=vjc(489);fW(492,9,{9:1,492:1},AWb);var dR=vjc(492);fW(493,9,{9:1,493:1},BWb);var eR=vjc(493);fW(500,9,{9:1,500:1},CWb);_.b=false;var fR=vjc(500);fW(895,951,{},DWb);_.ki=function EWb(a,b){throw HV(new GWb);};_.li=function FWb(a,b){};var iR=vjc(895);fW(371,22,{371:1,3:1,40:1,22:1,38:1}, +GWb);var hR=vjc(371);fW(338,1,{},IWb);_.Gd=function JWb(){return oXb("%s(%d, %d)",DD(yD(nT,1),WBc,1,5,[HWb(this),kkc(this.b+1),kkc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var jR=vjc(338);fW(13,1,{},KWb);_.Gd=function LWb(){return oXb("<%s - %s>",DD(yD(nT,1),WBc,1,5,[this.b,this.a]))};var kR=vjc(13);fW(810,1,{},OWb);_.b=0;var MWb;var mR=vjc(810);fW(457,1,{457:1},RWb);_.a=0;_.b=0;var lR=vjc(457);fW(741,22,VCc,SWb);var nR=vjc(741);fW(742,22,VCc,TWb);var oR=vjc(742);fW(329,22,VCc,UWb);var pR=vjc(329);fW(739, +22,VCc,VWb);var qR=vjc(739);fW(740,22,VCc,WWb);var rR=vjc(740);fW(325,22,VCc,XWb);var sR=vjc(325);fW(738,22,VCc,YWb);var tR=vjc(738);fW(686,1,{},nXb);var wR=vjc(686);fW(688,1,{},yXb);_.b=0;_.c=0;_.d=0;var uR=vjc(688);fW(687,1,{},GXb);_.a=-1;_.b=KBc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var vR=vjc(687);fW(326,22,VCc,HXb);var xR=vjc(326);fW(761,1,{},JXb);var yR=vjc(761);fW(1055,1,{});var NXb;fW(257,1,{257:1,3:1},RYb);_.Dd=function SYb(a){if(this=== +a)return true;if(a==null)return false;if(zR!=yb(a))return false;return Tkc(this.a,a.a)};_.Fd=function TYb(){return sBc(this.a)};_.Gd=function UYb(){return"InputId: "+this.a};var zR=vjc(257);fW(323,1,{323:1,3:1},v$b,w$b);_.Gd=function z$b(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var JR=vjc(323);fW(715,1,MBc,A$b);var AR=vjc(715);fW(55,1,MBc,G$b);_.Gd=function H$b(){var a;return Hd(Gd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(Fd(new Id((ojc(BR),BR.n)),"bitfield",this.o==0?null:(a=this.o>>> +0,a.toString(16))),"baseType",this.a),"extendedInterfaces",this.e),"implementedInterfaces",this.f),"parameters",this.n),"thrownTypes",this.r),"templateTypeNames",this.q),"disposedParameters",this.d),"typeTransformations",this.s),"description",this.c),"meaning",this.j),hFc,this.b),"license",this.i),"suppressions",this.p),"lendsName",this.g)))};_.o=0;var BR=vjc(55);fW(430,1,{430:1},L$b);var CR=vjc(430);fW(324,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var WR=vjc(324);fW(716,324,{},P$b);var DR=vjc(716); +fW(428,324,{},R$b);var ER=vjc(428);fW(429,428,{},T$b);var FR=vjc(429);fW(717,324,{},U$b);_.a=false;var GR=vjc(717);fW(171,14,{171:1,3:1,21:1,14:1},a_b);var W$b,X$b,Y$b,Z$b,$$b;var HR=wjc(171,_S,b_b);fW(91,1,{},y0b,z0b);_.d=false;_.e=false;var IR=vjc(91);fW(76,1,{76:1,3:1},D0b);_.Dd=function E0b(a){return qE(a,76)&&a.a.pi(this.a,false,true,false,false)};_.Fd=function F0b(){return Ab(this.a)};_.Gd=function G0b(){return"type: "+U1b(this.a)};var KR=vjc(76);fW(7,1,{7:1,3:1},_1b,a2b,b2b,c2b,d2b,e2b,f2b); +_.mi=function g2b(a){return R0b(this,new _1b(this.j),a)};_.ni=function j2b(){if(this.j==(o6b(),r5b))throw HV(new Wjc(lKc));else throw HV(new Olc(this+" is not a number node"));};_.oi=function k2b(){if(this.j==(o6b(),S5b))throw HV(new Wjc(mKc));else throw HV(new Olc(this+nKc));};_.pi=function l2b(a,b,c,d,e){return k1b(this,a,b,c,d,e)};_.qi=function m2b(){return false};_.ri=function q2b(a){if(this.j==(o6b(),r5b))throw HV(new Wjc(lKc));else throw HV(new Olc(this+nKc));};_.si=function r2b(){throw HV(new Wjc(this+ +" is not a StringNode"));};_.ti=function s2b(a){if(this.j==(o6b(),S5b)||this.j==g5b)throw HV(new Wjc(mKc));else throw HV(new Olc(this+nKc));};_.Gd=function t2b(){return T1b(this,true,true,true)};_.c=0;_.i=0;var VR=vjc(7);fW(302,1,bCc,v2b);_.Qd=function w2b(){return new y2b(this)};var MR=vjc(302);fW(272,1,OBc,y2b);_.Ld=function A2b(){return x2b(this)};_.Kd=function z2b(){return!!this.a.a};_.Md=function B2b(){throw HV(new Nlc);};var LR=vjc(272);fW(405,1,MBc);_.c=0;var QR=vjc(405);fW(33,405,MBc,D2b); +_.ui=function E2b(a){return new D2b(this.c,this.a,a)};_.vi=function F2b(){return this.a};_.wi=function G2b(){throw HV(new Nlc);};_.Gd=function H2b(){return""+this.a};_.a=0;var NR=vjc(33);fW(58,7,{7:1,58:1,3:1},I2b);_.mi=function J2b(a){return R0b(this,new I2b(this.a),a)};_.ni=function K2b(){return this.a};_.pi=function L2b(a,b,c,d,e){var f,g,h;f=k1b(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};_.ri=function M2b(a){this.a=a};_.a=0;var OR=vjc(58);fW(51,405,MBc,N2b); +_.ui=function O2b(a){return new N2b(this.c,this.a,a)};_.vi=function P2b(){throw HV(new Nlc);};_.wi=function Q2b(){return this.a};_.Gd=function R2b(){return slc(this.a)};var PR=vjc(51);fW(54,1,bCc,S2b);_.Qd=function T2b(){return new V2b(this.a)};var RR=vjc(54);fW(633,1,OBc,V2b);_.Ld=function X2b(){return U2b(this)};_.Kd=function W2b(){return!!this.a};_.Md=function Y2b(){throw HV(new Nlc);};var SR=vjc(633);fW(8,7,{7:1,8:1,3:1},$2b,_2b);_.mi=function a3b(a){return R0b(this,new $2b(this.j,this.a),a)}; +_.oi=function b3b(){return this.a};_.pi=function c3b(a,b,c,d,e){return k1b(this,a,b,c,d,e)&&Tkc(this.a,a.a)};_.qi=function d3b(){return Y0b(this,36)!=0};_.si=function e3b(){var a;a=x1b(this,this.g,36);a!=this.g&&(this.g=a);this.g=new D2b(36,1,this.g)};_.ti=function f3b(a){Z2b(this,a)};var TR=vjc(8);fW(95,7,{7:1,95:1,3:1},g3b,h3b,i3b);_.mi=function j3b(a){return R0b(this,new i3b(this.j,this.a),a)};_.oi=function k3b(){return this.a};var UR=vjc(95);fW(10,14,{10:1,3:1,21:1,14:1},p6b);var m3b,n3b,o3b, +p3b,q3b,r3b,s3b,t3b,u3b,v3b,w3b,x3b,y3b,z3b,A3b,B3b,C3b,D3b,E3b,F3b,G3b,H3b,I3b,J3b,K3b,L3b,M3b,N3b,O3b,P3b,Q3b,R3b,S3b,T3b,U3b,V3b,W3b,X3b,Y3b,Z3b,$3b,_3b,a4b,b4b,c4b,d4b,e4b,f4b,g4b,h4b,i4b,j4b,k4b,l4b,m4b,n4b,o4b,p4b,q4b,r4b,s4b,t4b,u4b,v4b,w4b,x4b,y4b,z4b,A4b,B4b,C4b,D4b,E4b,F4b,G4b,H4b,I4b,J4b,K4b,L4b,M4b,N4b,O4b,P4b,Q4b,R4b,S4b,T4b,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;var XR=wjc(10,_S,r6b);var t6b,u6b;fW(23,1,sKc);_.zh=function S6b(){return this.yi()};_.Qh=function _6b(){return K6b(this)};_.di=function D7b(){return this.Ri()};_.fi=function I7b(){return this.Ui()};_.gi=function K7b(){return qE(this,47)?this:null};_.yi=function T6b(){var a,b;b=this.Ri();a=b.zi();return!a?b:a};_.zi=function U6b(){return null};_.Dd=function V6b(a){return H6b(this, +a)};_.Ai=function X6b(a){return Y6b(this,a)};_.Bi=function Z6b(a){var b;a=W6b(a);if(a.Yi())return thc(a.Yi(),this);return b=G6b(this,a,0,new ubc(true)),b?this:W6b(adc(this.A,DD(yD(pS,1),tKc,23,0,[this,a])))};_.Ci=function $6b(){return this.B};_.Di=function a7b(){return xgc(this.B)};_.Ei=function b7b(){return false};_.Sh=function c7b(){return this.Ki()||this.Ii()||this.Ji()||edc(this.A,(Occ(),acc))==this};_.Fi=function d7b(){return false};_.Th=function e7b(){return false};_.Uh=function f7b(){return this.Ti()!= +null};_.Vh=function h7b(a){return G6b(this,a,0,new ubc(true))};_.Gi=function i7b(){return false};_.Hi=function j7b(){return false};_.Wh=function k7b(){return!!this.Ui()};_.Xh=function l7b(){return!!this.Xi()};_.Yh=function m7b(){return false};_.Ii=function n7b(){return false};_.Ji=function o7b(){return false};_.Ki=function p7b(){return false};_.Li=function q7b(){return false};_.Mi=function r7b(){return false};_.Zh=function s7b(){return false};_.Ni=function t7b(){return false};_.$h=function u7b(){return this.Hi()}; +_._h=function v7b(){return false};_.Oi=function w7b(){return false};_.Pi=function x7b(a){return z7b(this,a,new xbc(true),0)};_.Qi=function y7b(a,b,c){return z7b(this,a,b,c)};_.ai=function A7b(){return false};_.bi=function B7b(){return false};_.ci=function C7b(){return false};_.Ri=function E7b(){return this};_.ei=function F7b(a){return a==0?F6b(this,new Hlc,true).a:this.xi(new Hlc,true).a};_.Si=function G7b(){return null};_.Ti=function H7b(){return null};_.Ui=function J7b(){return null};_.Vi=function L7b(){return null}; +_.Wi=function M7b(){return null};_.Xi=function N7b(){return null};_.Yi=function O7b(){return null};_.Gd=function P7b(){return this.xi(new Hlc,false).a};_.w=false;var C6b,D6b;var pS=vjc(23);fW(868,23,sKc,Q7b);_.xi=function R7b(a,b){return a.a+="*",a};_.Fd=function S7b(){return WAc(this)};_.Ei=function T7b(){return true};_.Zh=function U7b(){return true};_.ci=function V7b(){return true};_.Zi=function W7b(a){return a.Sg()};var ZR=vjc(868);fW(77,23,{56:1,77:1,23:1,3:1},b8b,c8b);_.xi=function d8b(a,b){return a.a+= +"[ArrowType]",a};_.Ai=function e8b(a){throw HV(new Nlc);};_.Bi=function f8b(a){throw HV(new Nlc);};_.$i=function g8b(){return L6b(this.b)||Z7b(this)};_.Di=function(){return this.$i()};_.Fd=function h8b(){return _7b(this)};_.Pi=function i8b(a){return a8b(this,a,new xbc(true),0)};_.Qi=function j8b(a,b,c){return a8b(this,a,b,c)};_.Zi=function k8b(a){throw HV(new Nlc);};_.c=false;var $R=vjc(77);fW(248,23,sKc);var QS=vjc(248);fW(863,248,sKc,m8b);_.xi=function n8b(a,b){return a.a+=wBc,a};_.zi=function o8b(){return J6b(this, +(Occ(),Ibc))};_.Fd=function p8b(){return WAc(this)};_.Zh=function q8b(){return false};_.Zi=function r8b(a){return a.Tg()};var _R=vjc(863);fW(47,23,uKc);_.Bh=function E8b(){return this.aj()};_.Kh=function K8b(a){return this.gj(a)};_.Lh=function M8b(){var a;return a=this.Xi(),!a?this:a.c};_._i=function D8b(){this.v=true};_.bj=function F8b(){return Cn(),cy(),by};_.Ch=function G8b(){return null};_.dj=function H8b(){return this.fj().b.keySet()};_.ej=function I8b(){return null};_.fj=function J8b(){return Tec(), +Tec(),Sec};_.gj=function L8b(a){return w8b(this,a)};_.ij=function N8b(a){return Zec(this.fj(),a)};_.Nh=function O8b(){var a;a=this.cj();if(!a)return null;a=a.cj();return!a?null:a.Bh()};_.Oh=function P8b(){return null};_.jj=function Q8b(){return false};_.Hi=function R8b(){return!!this.ej()};_.kj=function S8b(){return false};_.Ni=function T8b(){return true};_.Oi=function V8b(){var a;return a=this.aj(),!!a&&a.g==($ac(),Yac)&&a.f};_.ai=function W8b(){return z8b(this)};_.lj=function X8b(a){};_.Zi=function Y8b(a){return a.$g(this)}; +_.v=true;var wS=vjc(47);fW(894,47,uKc,_8b);_.Bh=function c9b(){return!this.c?null:this.c.aj()};_.xi=function a9b(a,b){if(b)return Clc(a,this.d);return Dlc(Clc(Dlc(Dlc(a,this.b),"<"),this.d),">")};_.zi=function b9b(){return this.d.zi()};_.aj=function d9b(){return!this.c?null:this.c.aj()};_.cj=function e9b(){return null};_.mj=function f9b(){return!this.c?(Tec(),Tec(),Sec):this.c.fj()};_.fj=function(){return this.mj()};_.hj=function g9b(){return this.b};_.jj=function h9b(){return true};_.Fd=function i9b(){de(true); +return sBc(this.b)};_.Li=function j9b(){return true};_.Zh=function k9b(){return this.d.Zh()};_.Ni=function l9b(){return this.d.Ni()};_.Pi=function m9b(a){return Z8b(this,a,new xbc(true),0)};_.Qi=function n9b(a,b,c){return Z8b(this,a,b,c)};_.ci=function o9b(){return this.d.ci()};_.Si=function p9b(){return this};_.Zi=function q9b(a){return a.Ug(this)};var aS=vjc(894);fW(85,47,vKc,u9b,v9b);_.Bh=function z9b(){return this.aj()};_.xi=function x9b(a,b){return r9b(this,a,b)};_.nj=function y9b(a,b,c,d){return s9b(this, +a,b,c,d)};_.aj=function A9b(){return null};_.bj=function B9b(){return this.s?this.s.d:(Zn(),Zn(),Yn)};_.oj=function C9b(){return this.s?V9b(this.s):(Zn(),Zn(),Yn)};_.cj=function D9b(){return this.q};_.ej=function E9b(){return this.s};_.fj=function F9b(){return this.u};_.hj=function G9b(){return this.p!=null?this.p:this.s?this.s.hj()+gGc:null};_.pj=function H9b(){return!this.v};_.jj=function I9b(){return this.p!=null||!!this.s};_.Fd=function J9b(){return this.Oi()?fqc(DD(yD(nT,1),WBc,1,5,[this.p,this.u])): +WAc(this)};_.kj=function K9b(){return this.r};_.Pi=function L9b(a){return this.Qi(a,new xbc(true),0)};_.Qi=function M9b(a,b,c){var d,e,f,g,h;if(z7b(this,a,b,c))return true;if(a.Yi())return false;if(a.Vi())return N9b(this,a.Vi(),b,c);e=qE(a,47)?a:null;d=!e?null:e.aj();if(!!this.aj()&&this.aj().g==($ac(),Yac))for(g=$s(new hsc(this.bj().a.b.Qd()));g.Kd();){f=g.Ld();if(f.Qi(a,b,c))return true}else if(!!d&&d.g==($ac(),Yac)){h=this.oj();for(g=h.Qd();g.Kd();){f=g.Ld();if(f.Qi(a,b,c))return true}}if(z8b(this))return true; +return!!e&&x8b(this,e)};_.lj=function O9b(a){de(!this.s||!a);this.s=a};_.o=false;_.r=false;_.s=null;_.t=false;var zS=vjc(85);fW(69,85,wKc,gac);_.Eh=function lac(){return ie(this.Th()||this.g==($ac(),Yac),WHc,this),P6b(this.n)};_.Kh=function qac(a){return Z9b(this,a)};_.hj=function sac(){return this.p!=null?this.p:this.s?this.s.hj()+gGc:null};_.Mh=function tac(){return this.c.b};_.Nh=function vac(){return aac(this)};_.Ph=function wac(){return M6b(this.n)?edc(this.A,(Occ(),Kcc)):this.n};_.fi=function Fac(){return this.Ui()}; +_.xi=function hac(a,b){var c,d,e;if(!this.t||this==edc(this.A,(Occ(),Ubc)))return a.a+=TFc,a;this.t=false;a.a+=_Gc;e=V0b(this.c.a);c=!qE(this.n,202);if(c){this.Th()?(a.a+="new:",a):(a.a+="this:",a);this.n.xi(a,b)}if(e>0){c&&(a.a+=TBc,a);d=this.c.a.b;Y0b(d,30)!=0?R9b(this,a,qE(d.k,23)?d.k:null,b):Y0b(d,37)!=0?Q9b(this,a,qE(d.k,23)?d.k:null,b):F6b(qE(d.k,23)?d.k:null,a,b);d=d.d;while(d){a.a+=TBc;Y0b(d,30)!=0?R9b(this,a,qE(d.k,23)?d.k:null,b):Y0b(d,37)!=0?Q9b(this,a,qE(d.k,23)?d.k:null,b):F6b(qE(d.k, +23)?d.k:null,a,b);d=d.d}}a.a+="): ";F6b(this.c.b,a,b);this.t=true;return a};_._i=function iac(){T9b(this)};_.nj=function jac(a,b,c,d){var e;if(Tkc(IDc,a)){e=qE(b,47)?b:null;if(e){if(!!this.i&&G6b(e,this.i.e,0,new ubc(true)))return true;cac(this,e,d);return true}else return false}return s9b(this,a,b,c,d)};_.Ah=function kac(){var a;a=new lvc;this.Th()?Sc(a,V9b(this)):Sc(a,this.d);return a};_.Gh=function mac(){return W9b(this)};_.Hh=function nac(){return X9b(this)};_.dj=function oac(){return Y9b(this)}; +_.Jh=function pac(){var a,b,c,d;d=new spc;for(b=(c=this.c.a,c?!c.b?(Uqc(),Uqc(),Tqc):new S2b(c.b):(Uqc(),Uqc(),Tqc)).Qd();b.Kd();){a=b.Ld();gpc(d,qE(a.k,23)?a.k:null)}return d};_.gj=function rac(a){return Z9b(this,a)};_.ij=function uac(a){return _9b(this,a)};_.$i=function xac(){return Agc(this.B)>0||L6b(this.n)||L6b(this.c)};_.Di=function(){return this.$i()};_.pj=function yac(){return!!this.i||!this.v};_.Fd=function zac(){var a;a=mBc(this.g);switch(this.g.f){case 1:return 31*a+WAc(this);case 2:return 31* +a+sBc(this.hj());case 0:a=31*a+this.n.Fd();a=31*a+_7b(this.c);return a;default:throw HV(new Nic);}};_.Th=function Aac(){return this.g==($ac(),Xac)};_.Yh=function Bac(){return this.g==($ac(),Yac)};_._h=function Cac(){return this.g==($ac(),Yac)&&this.f};_.Pi=function Dac(a){return this.Qi(a,new xbc(true),0)};_.Qi=function Eac(a,b,c){var d,e;if(z7b(this,a,b,c))return true;if(a.Ui()){d=a.Ui();if(d.g==($ac(),Yac))return true;if(this.g==Yac)return false;return e=!!P6b(d.n)&&!!P6b(d.n).aj()&&P6b(d.n).aj().g== +Yac||d.n.Qi(this.n,b,0)||this.n.Qi(d.n,b,0),e&&a8b(this.c,d.c,b,c)}return J6b(this,(Occ(),Vbc)).Qi(a,b,c)};_.Ui=function Gac(){return this};_.Zi=function Hac(a){return a.Vg(this)};_.hi=function Iac(a){throw HV(new Olc("withReturnType not supported in OTI."));};_.f=false;var fS=vjc(69);fW(178,69,wKc,Jac);var bS=vjc(178);fW(204,1,{},Rac);_.a=false;_.b=false;_.c=null;_.e=null;_.f=null;_.g=null;var cS=vjc(204);fW(286,1,{},Wac);var dS=vjc(286);fW(233,14,{233:1,3:1,21:1,14:1},_ac);var Xac,Yac,Zac;var eS= +wjc(233,_S,abc);fW(882,85,vKc,bbc);_.Bh=function ebc(){return this.a};_.xi=function cbc(a,b){return this.a.jj()?Dlc(a,this.a.hj()):r9b(this,a,b)};_.nj=function dbc(a,b,c,d){var e,f;e=$9b(this.a);if(!!e&&!!Wec(e.fj(),a)&&(f=e.ij(a),!!f&&!f.b))return false;return s9b(this,a,b,c,d)};_.aj=function fbc(){return this.a};_.bj=function gbc(){return this.a.d};_.oj=function hbc(){return V9b(this.a)};_.cj=function ibc(){return $9b(this.a)};_.hj=function jbc(){return this.a.hj()};_.jj=function kbc(){return this.a.jj()}; +_.Fd=function lbc(){var a;return this.a.jj()?sBc(this.a.hj()):(a=this.a,!!a&&a.g==($ac(),Yac)&&a.f?fqc(DD(yD(nT,1),WBc,1,5,[this.p,this.u])):WAc(this))};_.Li=function mbc(){return this.a.jj()};var gS=vjc(882);fW(722,1,yDc,nbc);_.Se=function obc(a,b){return Pkc(a.xi(new Hlc,false).a,b.xi(new Hlc,false).a)};_.Dd=function pbc(a){return this===a};_.Ue=function qbc(){return new Ttc(this)};var hS=vjc(722);fW(433,1,{});_.b=false;var kS=vjc(433);fW(64,433,{},ubc);var iS=vjc(64);fW(99,433,{},xbc);var jS=vjc(99); +fW(229,14,{229:1,3:1,21:1,14:1},Cbc);_.a=false;var ybc,zbc,Abc;var lS=wjc(229,_S,Dbc);fW(28,14,{28:1,3:1,21:1,14:1},Pcc);var Ebc,Fbc,Gbc,Hbc,Ibc,Jbc,Kbc,Lbc,Mbc,Nbc,Obc,Pbc,Qbc,Rbc,Sbc,Tbc,Ubc,Vbc,Wbc,Xbc,Ybc,Zbc,$bc,_bc,acc,bcc,ccc,dcc,ecc,fcc,gcc,hcc,icc,jcc,kcc,lcc,mcc,ncc,occ,pcc,qcc,rcc,scc,tcc,ucc,vcc,wcc,xcc,ycc,zcc,Acc,Bcc,Ccc,Dcc,Ecc,Fcc,Gcc,Hcc,Icc,Jcc,Kcc,Lcc,Mcc,Ncc;var mS=wjc(28,_S,Qcc);fW(385,1,MBc,ndc);_.hh=function odc(a){return adc(this,a.Rd(AD(pS,tKc,23,0,0,1)))};_.ih=function pdc(a){return this.j[a.f]}; +_.jh=function qdc(a){return fdc(this,a)};_.kh=function rdc(a,b){return new Mgc(this,a,b)};var oS=vjc(385);fW(760,69,wKc,sdc);_.Bh=function tdc(){return edc(this.A,(Occ(),Tbc))};_.aj=function udc(){return edc(this.A,(Occ(),Tbc))};var nS=vjc(760);fW(823,1,{});_.Sg=function Cdc(){return Bdc(this,(Occ(),Ebc))};_.Tg=function Ddc(){return Bdc(this,(Occ(),Jbc))};_.Ug=function Edc(a){return a};_.Vg=function Fdc(a){return vdc(this,a)};_.Wg=function Gdc(){return Bdc(this,(Occ(),bcc))};_.Xg=function Hdc(a){return a}; +_.Yg=function Idc(){return Bdc(this,(Occ(),ecc))};_.Zg=function Jdc(){return Bdc(this,(Occ(),kcc))};_.$g=function Kdc(a){return wdc(this,a)};_._g=function Ldc(a){return xdc(this,a)};_.ah=function Mdc(){return Bdc(this,(Occ(),zcc))};_.bh=function Odc(a){return this.qj(a)};_.dh=function Pdc(a){return ydc(this,a)};_.eh=function Qdc(a){return zdc(this,a)};_.fh=function Rdc(){return Bdc(this,(Occ(),Kcc))};_.gh=function Sdc(){return Bdc(this,(Occ(),Ncc))};_.qj=function Ndc(a){return a};_.g=false;var qS= +vjc(823);fW(538,69,wKc,Tdc);_.Bh=function Wdc(){return null};_.fi=function eec(){return null};_.xi=function Udc(a,b){return a.a+=b?"?":"NoObject",a};_.nj=function Vdc(a,b,c,d){return true};_.aj=function Xdc(){return null};_.cj=function Ydc(){return null};_.hj=function Zdc(){return null};_.jj=function $dc(){return false};_.Fd=function _dc(){return WAc(this)};_.Th=function aec(){return false};_.Ii=function bec(){return true};_.Pi=function cec(a){return this.Qi(a,new xbc(true),0)};_.Qi=function dec(a, +b,c){return z7b(this,a,b,c)||a.Ni()&&!a.Ki()&&!a.Ji()};_.Ui=function fec(){return null};_.Zi=function gec(a){return a.Wg()};var rS=vjc(538);fW(539,538,wKc,hec);_.xi=function iec(a,b){return a.a+=b?"?":"None",a};_.Ii=function jec(){return false};_.Ki=function kec(){return true};_.Zh=function lec(){return true};_.Pi=function mec(a){return this.Qi(a,null,0)};_.Qi=function nec(a,b,c){return true};_.ci=function oec(){return true};_.Zi=function pec(a){return a.Xg(this)};var tS=vjc(539);fW(869,539,wKc,rec); +_.xi=function sec(a,b){return a.a+=b?"?":"NoResolvedType",a};_.hj=function tec(){return this.a};_.Oh=function uec(){return this.b};_.Th=function vec(){return false};_.Ji=function wec(){return true};_.Ki=function xec(){return false};_.Pi=function yec(a){return qec(this,a,new xbc(true),0)};_.Qi=function zec(a,b,c){return qec(this,a,b,c)};var sS=vjc(869);fW(864,248,sKc,Aec);_.di=function Fec(){return edc(this.A,(Occ(),dcc))};_.xi=function Bec(a,b){return a.a+=CBc,a};_.Fd=function Cec(){return WAc(this)}; +_.Mi=function Dec(){return true};_.Zh=function Eec(){return true};_.Ri=function Gec(){return edc(this.A,(Occ(),dcc))};_.Zi=function Hec(a){return a.Yg()};var uS=vjc(864);fW(865,248,sKc,Iec);_.xi=function Jec(a,b){return a.a+=xBc,a};_.zi=function Kec(){return J6b(this,(Occ(),hcc))};_.Fd=function Lec(){return WAc(this)};_.Zh=function Mec(){return false};_.Zi=function Nec(a){return a.Zg()};var vS=vjc(865);fW(367,1,{367:1,3:1},Pec);_.Fd=function Qec(){return fqc(DD(yD(nT,1),WBc,1,5,[this.c,this.e]))}; +_.Gd=function Rec(){return"Property { name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var yS=vjc(367);fW(370,1,MBc,afc,bfc);_.Fd=function cfc(){return yxc(this.b.keySet())};_.a=null;var Sec;var xS=vjc(370);fW(127,47,xKc);_.Bh=function hfc(){return!this.c?null:this.c.aj()};_.fi=function Kfc(){return this.d.Ui()};_.xi=function gfc(a,b){return this.d.xi(a,b)};_.aj=function ifc(){return!this.c?null:this.c.aj()};_.bj=function jfc(){return!this.c?(Uqc(),Uqc(),Sqc):this.c.bj()}; +_.cj=function kfc(){return!this.c?null:this.c.cj()};_.ej=function lfc(){return!this.c?null:this.c.ej()};_.fj=function mfc(){return!this.c?(Tec(),Tec(),Sec):this.c.fj()};_.hj=function nfc(){return!this.c?"":this.c.hj()};_.Ci=function ofc(){return this.d.Ci()};_.Oh=function pfc(){return!this.c?null:this.c.Oh()};_.$i=function qfc(){return L6b(this.d)};_.Di=function(){return this.$i()};_.jj=function rfc(){return Sic(!this.c?null:(Ric(),this.c.jj()?true:false))};_.Fd=function sfc(){return this.d.Fd()}; +_.Ei=function tfc(){return this.d.Ei()};_.Fi=function ufc(){return this.d.Fi()};_.Th=function vfc(){return this.d.Th()};_.Yh=function wfc(){return this.d.Yh()};_.kj=function xfc(){return!!this.c&&this.c.kj()};_.Ii=function yfc(){return this.d.Ii()};_.Ji=function zfc(){return this.d.Ji()};_.Ki=function Afc(){return this.d.Ki()};_.Li=function Bfc(){return this.d.Li()};_.Zh=function Cfc(){return this.d.Zh()};_.Oi=function Dfc(){return this.d.Oi()};_.Pi=function Efc(a){return this.d.Qi(a,new xbc(true), +0)};_.Qi=function Ffc(a,b,c){return this.d.Qi(a,b,c)};_.ai=function Gfc(){return this.d.ai()};_.ci=function Hfc(){return this.d.ci()};_.Si=function Ifc(){return this.d.Si()};_.Ti=function Jfc(){return this.d.Ti()};_.Ui=function Lfc(){return this.d.Ui()};_.Vi=function Mfc(){return this.d.Vi()};_.Wi=function Nfc(){return this.d.Wi()};_.Xi=function Ofc(){return this.d.Xi()};_.Yi=function Pfc(){return this.d.Yi()};_.Zi=function Qfc(a){return a._g(this)};var AS=vjc(127);fW(888,85,vKc,Ufc);_.nj=function Vfc(a, +b,c,d){return Rfc(this,a,b,c,d)};_.cj=function Wfc(){return edc(this.A,(Occ(),qcc))};_.Oi=function Xfc(){return true};_.Pi=function Yfc(a){return Tfc(this,a,new xbc(true),0)};_.Qi=function Zfc(a,b,c){return Tfc(this,a,b,c)};_.Vi=function $fc(){return this};_.a=false;var DS=vjc(888);fW(550,1,{},bgc);_.a=true;_.b=true;var CS=vjc(550);fW(372,1,{372:1},cgc);_.Gd=function dgc(){return"RecordProperty{type: "+this.b+", node: "+this.a+"}"};var BS=vjc(372);fW(866,248,sKc,egc);_.xi=function fgc(a,b){return a.a+= +zBc,a};_.zi=function ggc(){return J6b(this,(Occ(),ycc))};_.Fd=function hgc(){return WAc(this)};_.Zi=function igc(a){return a.ah()};var ES=vjc(866);fW(245,127,{86:1,56:1,23:1,47:1,127:1,245:1,3:1},jgc);_.xi=function kgc(a,b){return Dlc(a,this.a)};_.hj=function lgc(){return this.a};_.$i=function mgc(){return true};_.Wi=function ngc(){return this};_.Zi=function ogc(a){return a.bh(this)};var HS=vjc(245);fW(460,1,MBc,Bgc);_.Gd=function Dgc(){var a,b,c;c="";b=this.d.size();c+="{ ";for(a=0;a"}return a};_.bj=function Ogc(){var a,b,c;c=new Rwc;for(b=this.c.bj().Qd();b.Kd();){a=b.Ld();ivc(c,P6b(a.Zi(this.a)))}return c};_.gj=function Qgc(a){var b;return b=w8b(this, +a),!b?null:b.Zi(this.a)};_.Ci=function Rgc(){return this.B};_.Oh=function Sgc(){return this.b};_.$i=function Tgc(){return xgc(this.B)};_.Fd=function Ugc(){var a;a=this.d.Fd();if(this.b.isEmpty())return a;return fqc(DD(yD(nT,1),WBc,1,5,[this.b,kkc(a)]))};_.Pi=function Vgc(a){return z7b(this,a,new xbc(true),0)};_.Qi=function Wgc(a,b,c){return z7b(this,a,b,c)};_.Xi=function Xgc(){return this};_.Zi=function Ygc(a){return a.dh(this)};var IS=vjc(548);fW(155,14,yKc);var Zgc,$gc,_gc;var MS=wjc(155,_S,chc); +fW(762,155,yKc,dhc);_.rj=function ehc(){return $gc};_.sj=function fhc(a){return false};_.toString=function ghc(){return fEc};var JS=wjc(762,MS,null);fW(763,155,yKc,hhc);_.rj=function ihc(){return Zgc};_.sj=function jhc(a){return true};_.toString=function khc(){return gEc};var KS=wjc(763,MS,null);fW(764,155,yKc,lhc);_.rj=function mhc(){return _gc};_.sj=function nhc(a){return a};_.toString=function ohc(){return uJc};var LS=wjc(764,MS,null);fW(889,23,sKc,Chc);_.zh=function Ehc(){return phc(this)};_.di= +function Qhc(){return Bhc(this)};_.xi=function Dhc(a,b){var c,d,e,f,g,h;e=true;a.a+="(";f=new uzc(C6b);Sc(f,this.b);for(h=(d=(new ioc(f.a)).a.Yd().b.Ij(),new ooc(d));h.a.Kd();){g=(c=h.a.Ld(),c.ee());e||(a.a+="|",a);g.xi(a,b);e=false}return a.a+=")",a};_.yi=function Fhc(){return phc(this)};_.Bi=function Ghc(a){return thc(this,a)};_.$i=function Hhc(){var a,b;for(b=0;b=0?":"+this.c:"")+")"};_.c=0;var pT=vjc(142);fW(27,252,{375:1,27:1},Hlc,Ilc,Jlc,Klc);var qT=vjc(27);fW(296,93,{3:1,40:1,22:1,296:1,38:1},Llc);var rT=vjc(296);fW(1012,1,{});fW(20,22,{3:1,40:1,22:1,38:1,20:1},Nlc,Olc);var uT=vjc(20);fW(139,14,{3:1,21:1,14:1,139:1},Ylc);var Plc,Qlc,Rlc,Slc,Tlc,Ulc,Vlc,Wlc;var vT=wjc(139,_S,Zlc);fW(181,1,AKc);_.Vd=function $lc(a){return Qkc(this.a,a.a)};_.Dd=function _lc(a){var b;if(a===this)return true;if(!qE(a,181))return false;b=a;return Tkc(this.a, +b.a)};_.Fd=function amc(){return sBc(this.a)};_.Gd=function bmc(){return this.a};var wT=vjc(181);fW(6,1,{},emc);var xT=vjc(6);fW(186,928,dCc);_.clear=function umc(){qmc(this)};_.containsKey=function vmc(a){return gmc(this,a)};_.containsValue=function wmc(a){return hmc(this,a)};_.Yd=function xmc(){return new Dmc(this)};_.Zd=function ymc(a){return jmc(this,a)};_.put=function zmc(a,b){return mmc(this,a,b)};_.remove=function Amc(a){return omc(this,a)};_.size=function Bmc(){return rmc(this)};var BT=vjc(186); +fW(84,908,jCc,Dmc);_.clear=function Emc(){this.a.clear()};_.contains=function Fmc(a){return Cmc(this,a)};_.Qd=function Gmc(){return new Lmc(this.a)};_.remove=function Hmc(a){var b;if(Cmc(this,a)){b=a.ee();this.a.remove(b);return true}return false};_.size=function Imc(){return this.a.size()};var AT=vjc(84);fW(115,1,OBc,Lmc);_.Ld=function Nmc(){return Kmc(this)};_.Kd=function Mmc(){return this.b};_.Md=function Omc(){gBc(!!this.c);Xtc(this.e,this);this.c.Md();this.c=null;this.b=Jmc(this);Ytc(this.e, +this)};_.b=false;var zT=vjc(115);fW(119,1,OBc,Smc);_.Kd=function Tmc(){return Pmc(this)};_.Ld=function Umc(){return Qmc(this)};_.Md=function Vmc(){Rmc(this)};_.b=0;_.c=-1;var CT=vjc(119);fW(295,119,oCc,Xmc);_.Md=function _mc(){Rmc(this)};_.je=function Ymc(a){this.a.addAtIndex(this.b,a);++this.b;this.c=-1};_.ke=function Zmc(){return this.b>0};_.le=function $mc(){return Wmc(this)};_.me=function anc(a){gBc(this.c!=-1);this.a.setAtIndex(this.c,a)};var DT=vjc(295);fW(396,929,XBc,bnc);_.addAtIndex=function cnc(a, +b){eBc(a,this.b);this.c.addAtIndex(this.a+a,b);++this.b};_.getAtIndex=function dnc(a){bBc(a,this.b);return this.c.getAtIndex(this.a+a)};_.removeAtIndex=function enc(a){var b;bBc(a,this.b);b=this.c.removeAtIndex(this.a+a);--this.b;return b};_.setAtIndex=function fnc(a,b){bBc(a,this.b);return this.c.setAtIndex(this.a+a,b)};_.size=function gnc(){return this.b};_.a=0;_.b=0;var ET=vjc(396);fW(43,908,jCc,inc);_.clear=function jnc(){this.a.clear()};_.contains=function knc(a){return hnc(this,a)};_.Qd=function lnc(){var a; +return a=this.a.Yd().Qd(),new onc(a)};_.remove=function mnc(a){if(this.a.containsKey(a)){this.a.remove(a);return true}return false};_.size=function nnc(){return this.a.size()};var HT=vjc(43);fW(63,1,OBc,onc);_.Kd=function pnc(){return this.a.Kd()};_.Ld=function qnc(){var a;return a=this.a.Ld(),a.ee()};_.Md=function rnc(){this.a.Md()};var GT=vjc(63);fW(151,909,VBc,snc);_.clear=function tnc(){this.a.clear()};_.contains=function unc(a){return this.a.containsValue(a)};_.Qd=function vnc(){var a;return a= +this.a.Yd().Qd(),new xnc(a)};_.size=function wnc(){return this.a.size()};var JT=vjc(151);fW(152,1,OBc,xnc);_.Kd=function ync(){return this.a.Kd()};_.Ld=function znc(){var a;return a=this.a.Ld(),a.fe()};_.Md=function Anc(){this.a.Md()};var IT=vjc(152);fW(219,1,{219:1,48:1});_.Dd=function Cnc(a){var b;if(!qE(a,48))return false;b=a;return xxc(this.d,b.ee())&&xxc(this.e,b.fe())};_.ee=function Dnc(){return this.d};_.fe=function Enc(){return this.e};_.Fd=function Fnc(){return yxc(this.d)^yxc(this.e)};_.ge= +function Gnc(a){return Bnc(this,a)};_.Gd=function Hnc(){return this.d+"="+this.e};var KT=vjc(219);fW(164,219,{219:1,164:1,48:1},Inc);var LT=vjc(164);fW(938,1,hCc);_.Dd=function Jnc(a){var b;if(!qE(a,48))return false;b=a;return xxc(this.ee(),b.ee())&&xxc(this.fe(),b.fe())};_.Fd=function Knc(){return yxc(this.ee())^yxc(this.fe())};_.Gd=function Lnc(){return this.ee()+"="+this.fe()};var MT=vjc(938);fW(946,928,dCc);_.He=function Onc(a){return Mnc(this,a)};_.containsKey=function Pnc(a){return Nnc(this, +a)};_.Hj=function Qnc(){return new Unc(this)};_.Yd=function Rnc(){return new doc(this)};_.Zd=function Snc(a){var b;return b=a,Oi(this.Jj(b))};_.keySet=function Tnc(){return new ioc(this)};var ST=vjc(946);fW(680,946,dCc,Unc);_.clear=function Vnc(){this.a.clear()};_.Fj=function Wnc(){return _qc(this.a.Fj())};_.Gj=function Xnc(){return this.a.Ij()};_.Hj=function Ync(){return this.a};_.Ij=function Znc(){return this.a.Gj()};_.Jj=function $nc(a){return this.a.Jj(a)};_.put=function _nc(a,b){return this.a.put(a, +b)};_.remove=function aoc(a){return this.a.remove(a)};_.Kj=function boc(a){return this.a.Kj(a)};_.size=function coc(){return this.a.size()};var OT=vjc(680);fW(277,908,jCc,doc);_.contains=function eoc(a){return qE(a,48)&&Mnc(this.b,a)};_.Qd=function foc(){return this.b.Ij()};_.remove=function goc(a){var b;if(qE(a,48)){b=a;return this.b.Kj(b)}return false};_.size=function hoc(){return this.b.size()};var PT=vjc(277);fW(87,908,qCc,ioc);_.clear=function joc(){this.a.clear()};_.contains=function koc(a){return Nnc(this.a, +a)};_.Qd=function loc(){var a;return a=this.a.Yd().b.Ij(),new ooc(a)};_.remove=function moc(a){if(Nnc(this.a,a)){this.a.remove(a);return true}return false};_.size=function noc(){return this.a.size()};var RT=vjc(87);fW(88,1,OBc,ooc);_.Kd=function poc(){return this.a.Kd()};_.Ld=function qoc(){var a;return a=this.a.Ld(),a.ee()};_.Md=function roc(){this.a.Md()};var QT=vjc(88);fW(941,909,VBc);_.add=function soc(a){return hBc(Cxc(this,a)),true};_.addAll=function toc(a){cBc(a);YAc(a!=this,"Can't add a queue to itself"); +return Sc(this,a)};_.clear=function uoc(){while(Dxc(this)!=null);};var TT=vjc(941);fW(106,909,VBc,Ooc,Qoc);_.add=function Roc(a){return xoc(this,a),true};_.clear=function Toc(){yoc(this)};_.contains=function Uoc(a){return zoc(new apc(this),a)};_.isEmpty=function Voc(){return Doc(this)};_.Qd=function Woc(){return new apc(this)};_.remove=function Xoc(a){return Ioc(new apc(this),a)};_.size=function Yoc(){return Noc(this)};_.Rd=function Zoc(a){var b;b=this.c-this.b&this.a.length-1;a.lengthb&&(a[b]=null);return a};_.b=0;_.c=0;var XT=vjc(106);fW(231,1,OBc,apc);_.Kd=function bpc(){return this.a!=this.b};_.Ld=function cpc(){return $oc(this)};_.Md=function dpc(){_oc(this)};_.a=0;_.b=0;_.c=-1;var WT=vjc(231);fW(19,929,{3:1,15:1,19:1,16:1,45:1,65:1},spc,tpc,upc);_.addAtIndex=function vpc(a,b){fpc(this,a,b)};_.add=function wpc(a){return gpc(this,a)};_.addAllAtIndex=function xpc(a,b){return hpc(this,a,b)};_.addAll=function ypc(a){return ipc(this,a)};_.clear=function zpc(){this.a= +AD(nT,WBc,1,0,5,1)};_.contains=function Apc(a){return kpc(this,a,0)!=-1};_.getAtIndex=function Bpc(a){return jpc(this,a)};_.indexOf=function Cpc(a){return kpc(this,a,0)};_.isEmpty=function Dpc(){return this.a.length==0};_.Qd=function Epc(){return new Ppc(this)};_.lastIndexOf=function Fpc(a){return lpc(this,a,this.a.length-1)};_.removeAtIndex=function Gpc(a){return mpc(this,a)};_.remove=function Hpc(a){return npc(this,a)};_.Ud=function Ipc(a,b){var c;fBc(a,b,this.a.length);c=b-a;MAc(this.a,a,c)};_.setAtIndex= +function Jpc(a,b){return opc(this,a,b)};_.size=function Kpc(){return this.a.length};_.toArray=function Lpc(){return qpc(this)};_.Rd=function Mpc(a){return rpc(this,a)};var ZT=vjc(19);fW(25,1,OBc,Ppc);_.Kd=function Qpc(){return this.a=0?"+":"")+(c/60|0);b=duc($wnd.Math.abs(c)%60);return(huc(),fuc)[this.a.getDay()]+" "+guc[this.a.getMonth()]+" "+duc(this.a.getDate())+" "+duc(this.a.getHours())+":"+duc(this.a.getMinutes())+":"+duc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var vU=vjc(279);var fuc,guc;fW(228,928,{228:1,44:1},muc,nuc);_.put=function tuc(a,b){return juc(this,a, +b)};_.clear=function ouc(){iuc(this)};_.containsKey=function puc(a){return Ouc(this.a,a)};_.containsValue=function quc(a){var b,c;for(c=new _uc(this.a);c.a0};_.Md=function Fyc(){Rmc(this.a);kyc(this.c,this.b);this.b=null};var bV=vjc(315);fW(276,1,OBc,Gyc,Hyc);_.Ld=function Jyc(){return this.b=Qmc(this.a)};_.Kd=function Iyc(){return Pmc(this.a)};_.Md=function Kyc(){Rmc(this.a);kyc(this.c,this.b);this.b=null};var cV=vjc(276);fW(417,277,jCc,Lyc);_.clear=function Myc(){byc(this.a)};var dV=vjc(417);fW(193,164,{219:1,164:1,48:1,193:1},Nyc);_.b=false;var eV= +vjc(193);fW(316,1,{},Oyc);_.Gd=function Pyc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var fV=vjc(316);fW(676,946,dCc,Syc);_.Fj=function Tyc(){return Ktc(this.c.a)};_.Gj=function Uyc(){return new Cyc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Ij=function Vyc(){return new Hyc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Yd=function Wyc(){return new doc(this)};_.Jj=function Xyc(a){return Qyc(this,cyc(this.c,a))};_.put=function Yyc(a, +b){if(!fyc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw HV(new bfb(a+" outside the range "+this.b+" to "+this.e));return iyc(this.c,a,b)};_.remove=function Zyc(a){var b;b=a;if(!fyc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return jyc(this.c,b)};_.Kj=function $yc(a){return Ryc(this,a.ee())&&kyc(this.c,a)};_.size=function _yc(){var a,b,c;this.a?b=dyc(this.c,this.b,true):b=dyc(this.c,this.b,false);if(!(!!b&&Ryc(this,b.d)?b:null))return 0;a=0;for(c=new Hyc(this.c,this.f,this.b,this.a, +this.e,this.d);Pmc(c.a);c.b=Qmc(c.a))++a;return a};_.a=false;_.d=false;var kV=vjc(676);fW(147,14,DKc,fzc);_.Mj=function gzc(){return false};_.Nj=function hzc(){return false};var azc,bzc,czc,dzc;var jV=wjc(147,_S,izc);fW(677,147,DKc,jzc);_.Nj=function kzc(){return true};var gV=wjc(677,jV,null);fW(678,147,DKc,lzc);_.Mj=function mzc(){return true};_.Nj=function nzc(){return true};var hV=wjc(678,jV,null);fW(679,147,DKc,ozc);_.Mj=function pzc(){return true};var iV=wjc(679,jV,null);fW(96,908,{3:1,15:1, +16:1,206:1,31:1,130:1},szc,tzc,uzc,vzc);_.add=function wzc(a){return qzc(this,a)};_.clear=function xzc(){this.a.clear()};_.contains=function yzc(a){return Nnc(this.a,a)};_.Qd=function zzc(){var a;return a=(new ioc(this.a)).a.Yd().b.Ij(),new ooc(a)};_.remove=function Azc(a){return rzc(this,a)};_.size=function Bzc(){return this.a.size()};var mV=vjc(96);fW(208,928,dCc,Fzc,Gzc);_.containsKey=function Hzc(a){return Czc(this,a)};_.containsValue=function Izc(a){if(a==null)throw HV(new Akc);return hmc(this.a, +a)};_.Yd=function Jzc(){return new Dmc(this.a)};_.Zd=function Kzc(a){return Dzc(this,a)};_.put=function Lzc(a,b){return Ezc(this,a,b)};_.putIfAbsent=function Mzc(a,b){return Czc(this,a)?Dzc(this,a):Ezc(this,a,b)};_.remove=function Nzc(a){if(a==null)throw HV(new Akc);return omc(this.a,a)};_.replace=function Ozc(a,b){if(b==null)throw HV(new Akc);else return Czc(this,a)?Ezc(this,a,b):null};var nV=vjc(208);fW(271,1,{271:1});var oV=vjc(271);fW(943,1,MBc);_.Ig=function Uzc(){return"DUMMY"};_.Cj=function Vzc(){return-1}; +_.Gd=function Wzc(){return this.Ig()};var Pzc,Qzc,Rzc,Szc;var tV=vjc(943);fW(659,943,MBc,Xzc);_.Ig=function Yzc(){return"FINE"};_.Cj=function Zzc(){return 500};var pV=vjc(659);fW(660,943,MBc,$zc);_.Ig=function _zc(){return"INFO"};_.Cj=function aAc(){return 800};var qV=vjc(660);fW(661,943,MBc,bAc);_.Ig=function cAc(){return"SEVERE"};_.Cj=function dAc(){return 1E3};var rV=vjc(661);fW(662,943,MBc,eAc);_.Ig=function fAc(){return hDc};_.Cj=function gAc(){return 900};var sV=vjc(662);fW(650,1,{},kAc);var hAc; +var uV=vjc(650);fW(706,1,MBc,mAc);var vV=vjc(706);fW(301,1,{301:1},wAc);_.b=null;_.e=false;var wV=vjc(301);fW(415,271,{271:1},zAc);var xV=vjc(415);fW(598,1,{},CAc);var yV=vjc(598);fW(391,1,{391:1},EAc);var zV=vjc(391);fW(1010,1,{});fW(725,1,{},QAc);var AV=vjc(725);fW(392,181,AKc);var DV=vjc(392);fW(393,392,AKc,TAc);var BV=vjc(393);fW(599,392,AKc,VAc);var CV=vjc(599);var lBc=0;var nBc,oBc=0,pBc;fW(1105,1,{});var zE=yjc("C");var BE=yjc("I");var EV=yjc("Z");var CE=yjc("J");var yE=yjc("B");var AE=yjc("D"); +Mub();_=jW(zGc);_.transpile=Pub;_=jW("com.google.common.base.Platform");_.stringIsNullOrEmpty=Md;_=jW("com.google.debugging.sourcemap.SourceMapObjectParserJs");_.get=uC;Ric();_=jW("java.lang.Boolean");_.$isInstance=Tic;_=jW("java.lang.CharSequence");_.$isInstance=Wic;_=jW("java.lang.Comparable");_.$isInstance=Kjc;_=jW("java.lang.Double");_.$isInstance=Tjc;_=jW("java.lang.Number");_.$isInstance=Mjc;_=jW("java.lang.String");_.$isInstance=Ykc;_=jW("java.lang.Throwable");_.of=MA;_=jW("java.util.regex.Pattern"); +_.quote=GAc;var uBc=(UC(),XC);var gwtOnLoad=gwtOnLoad=bW;_V(mW);cW("permProps",[[[PEc,XDc],[JKc,"gecko1_8"]],[[PEc,XDc],[JKc,"ie10"]],[[PEc,XDc],[JKc,"ie8"]],[[PEc,XDc],[JKc,"ie9"]],[[PEc,XDc],[JKc,"safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()})();