// Copyright 2016 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// NOTE: This is a generated file.  Do not edit.

// clang-format off

/** @fileoverview @nocompile */
var $jscomp={};$jscomp.scope={};$jscomp.defineProperty=typeof Object.defineProperties=="function"?Object.defineProperty:function(target,property,descriptor){descriptor=(descriptor);if(descriptor.get||descriptor.set)throw new TypeError("ES3 does not support getters and setters.");if(target==Array.prototype||target==Object.prototype)return;target[property]=descriptor.value};
$jscomp.getGlobal=function(maybeGlobal){return typeof window!="undefined"&&window===maybeGlobal?maybeGlobal:typeof global!="undefined"&&global!=null?global:maybeGlobal};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(target,polyfill,fromLang,toLang){if(!polyfill)return;var obj=$jscomp.global;var split=target.split(".");for(var i=0;i<split.length-1;i++){var key=split[i];if(!(key in obj))obj[key]={};obj=obj[key]}var property=split[split.length-1];var orig=obj[property];var impl=polyfill(orig);if(impl==orig||impl==null)return;$jscomp.defineProperty(obj,property,{configurable:true,writable:true,value:impl})};
$jscomp.polyfill("Array.prototype.copyWithin",function(orig){if(orig)return orig;var polyfill=function(target,start,opt_end){var len=this.length;target=Number(target);start=Number(start);opt_end=Number(opt_end!=null?opt_end:len);if(target<start){opt_end=Math.min(opt_end,len);while(start<opt_end)if(start in this)this[target++]=this[start++];else{delete this[target++];start++}}else{opt_end=Math.min(opt_end,len+start-target);target+=opt_end-start;while(opt_end>start)if(--opt_end in this)this[--target]=
this[opt_end];else delete this[target]}return this};return polyfill},"es6-impl","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};if(!$jscomp.global.Symbol)$jscomp.global.Symbol=$jscomp.Symbol};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(opt_description){return($jscomp.SYMBOL_PREFIX+(opt_description||"")+$jscomp.symbolCounter_++)};
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var symbolIterator=$jscomp.global.Symbol.iterator;if(!symbolIterator)symbolIterator=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator");if(typeof Array.prototype[symbolIterator]!="function")$jscomp.defineProperty(Array.prototype,symbolIterator,{configurable:true,writable:true,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};
$jscomp.arrayIterator=function(array){var index=0;return $jscomp.iteratorPrototype(function(){if(index<array.length)return{done:false,value:array[index++]};else return{done:true}})};$jscomp.iteratorPrototype=function(next){$jscomp.initSymbolIterator();var iterator={next:next};iterator[$jscomp.global.Symbol.iterator]=function(){return this};return(iterator)};$jscomp.array=$jscomp.array||{};
$jscomp.iteratorFromArray=function(array,transform){$jscomp.initSymbolIterator();if(array instanceof String)array=array+"";var i=0;var iter={next:function(){if(i<array.length){var index=i++;return{value:transform(index,array[index]),done:false}}iter.next=function(){return{done:true,value:void 0}};return iter.next()}};iter[Symbol.iterator]=function(){return iter};return iter};
$jscomp.polyfill("Array.prototype.entries",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i,v){return[i,v]})};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.fill",function(orig){if(orig)return orig;var polyfill=function(value,opt_start,opt_end){var length=this.length||0;if(opt_start<0)opt_start=Math.max(0,length+(opt_start));if(opt_end==null||opt_end>length)opt_end=length;opt_end=Number(opt_end);if(opt_end<0)opt_end=Math.max(0,length+opt_end);for(var i=Number(opt_start||0);i<opt_end;i++)this[i]=value;return this};return polyfill},"es6-impl","es3");
$jscomp.findInternal=function(array,callback,thisArg){if(array instanceof String)array=(String(array));var len=array.length;for(var i=0;i<len;i++){var value=array[i];if(callback.call(thisArg,value,i,array))return{i:i,v:value}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).v};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.findIndex",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).i};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.from",function(orig){if(orig)return orig;var polyfill=function(arrayLike,opt_mapFn,opt_thisArg){$jscomp.initSymbolIterator();opt_mapFn=opt_mapFn!=null?opt_mapFn:function(x){return x};var result=[];var iteratorFunction=(arrayLike)[Symbol.iterator];if(typeof iteratorFunction=="function"){arrayLike=iteratorFunction.call(arrayLike);var next;while(!(next=arrayLike.next()).done)result.push(opt_mapFn.call((opt_thisArg),next.value))}else{var len=arrayLike.length;for(var i=0;i<len;i++)result.push(opt_mapFn.call((opt_thisArg),
arrayLike[i]))}return result};return polyfill},"es6-impl","es3");$jscomp.polyfill("Array.prototype.keys",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i){return i})};return polyfill},"es6-impl","es3");$jscomp.polyfill("Array.of",function(orig){if(orig)return orig;var polyfill=function(var_args){return Array.from(arguments)};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.values",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(k,v){return v})};return polyfill},"es6","es3");
$jscomp.executeAsyncGenerator=function(generator){function passValueToGenerator(value){return generator.next(value)}function passErrorToGenerator(error){return generator["throw"](error)}return new Promise(function(resolve,reject){function handleGeneratorRecord(genRec){if(genRec.done)resolve(genRec.value);else Promise.resolve(genRec.value).then(passValueToGenerator,passErrorToGenerator).then(handleGeneratorRecord,reject)}handleGeneratorRecord(generator.next())})};
$jscomp.makeIterator=function(iterable){$jscomp.initSymbolIterator();var iteratorFunction=(iterable)[Symbol.iterator];return iteratorFunction?iteratorFunction.call(iterable):$jscomp.arrayIterator((iterable))};$jscomp.owns=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)};
$jscomp.polyfill("WeakMap",function(NativeWeakMap){function isConformant(){if(!NativeWeakMap||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var map=new (NativeWeakMap)([[x,2],[y,3]]);if(map.get(x)!=2||map.get(y)!=3)return false;map["delete"](x);map.set(y,4);return!map.has(x)&&map.get(y)==4}catch(err){return false}}if(isConformant())return NativeWeakMap;var prop="$jscomp_hidden_"+Math.random().toString().substring(2);function insert(target){if(!$jscomp.owns(target,prop)){var obj=
{};$jscomp.defineProperty(target,prop,{value:obj})}}function patch(name){var prev=Object[name];if(prev)Object[name]=function(target){insert(target);return prev(target)}}patch("freeze");patch("preventExtensions");patch("seal");var index=0;var PolyfillWeakMap=function(opt_iterable){this.id_=(index+=Math.random()+1).toString();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.set((item[0]),(item[1]))}}};PolyfillWeakMap.prototype.set=function(key,value){insert(key);if(!$jscomp.owns(key,prop))throw new Error("WeakMap key fail: "+key);key[prop][this.id_]=value;return this};PolyfillWeakMap.prototype.get=function(key){return $jscomp.owns(key,prop)?key[prop][this.id_]:undefined};PolyfillWeakMap.prototype.has=function(key){return $jscomp.owns(key,prop)&&$jscomp.owns(key[prop],this.id_)};PolyfillWeakMap.prototype["delete"]=function(key){if(!$jscomp.owns(key,prop)||!$jscomp.owns(key[prop],
this.id_))return false;return delete key[prop][this.id_]};return PolyfillWeakMap},"es6-impl","es3");$jscomp.ASSUME_NO_NATIVE_MAP=false;
$jscomp.polyfill("Map",function(NativeMap){var isConformant=!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!NativeMap||!NativeMap.prototype.entries||typeof Object.seal!="function")return false;try{NativeMap=(NativeMap);var key=Object.seal({x:4});var map=new NativeMap($jscomp.makeIterator([[key,"s"]]));if(map.get(key)!="s"||map.size!=1||map.get({x:4})||map.set({x:4},"t")!=map||map.size!=2)return false;var iter=map.entries();var item=iter.next();if(item.done||item.value[0]!=key||item.value[1]!="s")return false;
item=iter.next();if(item.done||item.value[0].x!=4||item.value[1]!="t"||!iter.next().done)return false;return true}catch(err){return false}}();if(isConformant)return NativeMap;$jscomp.initSymbol();$jscomp.initSymbolIterator();var idMap=new WeakMap;var MapEntry=function(){};MapEntry.prototype.previous;MapEntry.prototype.next;MapEntry.prototype.head;MapEntry.prototype.key;MapEntry.prototype.value;var PolyfillMap=function(opt_iterable){this.data_={};this.head_=createHead();this.size=0;if(opt_iterable){var iter=
$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=(entry).value;this.set((item[0]),(item[1]))}}};PolyfillMap.prototype.set=function(key,value){var r=maybeGetEntry(this,key);if(!r.list)r.list=this.data_[r.id]=[];if(!r.entry){r.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:key,value:value};r.list.push(r.entry);this.head_.previous.next=r.entry;this.head_.previous=r.entry;this.size++}else r.entry.value=value;return this};PolyfillMap.prototype["delete"]=
function(key){var r=maybeGetEntry(this,key);if(r.entry&&r.list){r.list.splice(r.index,1);if(!r.list.length)delete this.data_[r.id];r.entry.previous.next=r.entry.next;r.entry.next.previous=r.entry.previous;r.entry.head=null;this.size--;return true}return false};PolyfillMap.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=createHead();this.size=0};PolyfillMap.prototype.has=function(key){return!!maybeGetEntry(this,key).entry};PolyfillMap.prototype.get=function(key){var entry=maybeGetEntry(this,
key).entry;return(entry&&(entry.value))};PolyfillMap.prototype.entries=function(){return makeIterator(this,function(entry){return[entry.key,entry.value]})};PolyfillMap.prototype.keys=function(){return makeIterator(this,function(entry){return entry.key})};PolyfillMap.prototype.values=function(){return makeIterator(this,function(entry){return entry.value})};PolyfillMap.prototype.forEach=function(callback,opt_thisArg){var iter=this.entries();var item;while(!(item=iter.next()).done){var entry=item.value;
callback.call((opt_thisArg),(entry[1]),(entry[0]),this)}};(PolyfillMap.prototype)[Symbol.iterator]=PolyfillMap.prototype.entries;var maybeGetEntry=function(map,key){var id=getId(key);var list=map.data_[id];if(list&&$jscomp.owns(map.data_,id))for(var index=0;index<list.length;index++){var entry=list[index];if(key!==key&&entry.key!==entry.key||key===entry.key)return{id:id,list:list,index:index,entry:entry}}return{id:id,list:list,index:-1,entry:undefined}};var makeIterator=function(map,func){var entry=
map.head_;return $jscomp.iteratorPrototype(function(){if(entry){while(entry.head!=map.head_)entry=entry.previous;while(entry.next!=entry.head){entry=entry.next;return{done:false,value:func(entry)}}entry=null}return{done:true,value:void 0}})};var createHead=function(){var head={};head.previous=head.next=head.head=head;return head};var mapIndex=0;var getId=function(obj){var type=obj&&typeof obj;if(type=="object"||type=="function"){obj=(obj);if(!idMap.has(obj)){var id=""+ ++mapIndex;idMap.set(obj,id);
return id}return idMap.get(obj)}return"p_"+obj};return PolyfillMap},"es6-impl","es3");$jscomp.polyfill("Math.acosh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return Math.log(x+Math.sqrt(x*x-1))};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.asinh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.log(Math.abs(x)+Math.sqrt(x*x+1));return x<0?-y:y};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.log1p",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;var s=1;while(zPrev!=z){y*=x;s*=-1;z=(zPrev=z)+s*y/++d}return z}return Math.log(1+x)};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.atanh",function(orig){if(orig)return orig;var log1p=Math.log1p;var polyfill=function(x){x=Number(x);return(log1p(x)-log1p(-x))/2};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.cbrt",function(orig){if(orig)return orig;var polyfill=function(x){if(x===0)return x;x=Number(x);var y=Math.pow(Math.abs(x),1/3);return x<0?-y:y};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.clz32",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x)>>>0;if(x===0)return 32;var result=0;if((x&4294901760)===0){x<<=16;result+=16}if((x&4278190080)===0){x<<=8;result+=8}if((x&4026531840)===0){x<<=4;result+=4}if((x&3221225472)===0){x<<=2;result+=2}if((x&2147483648)===0)result++;return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.cosh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);return(exp(x)+exp(-x))/2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.expm1",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;while(zPrev!=z){y*=x/++d;z=(zPrev=z)+y}return z}return Math.exp(x)-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.hypot",function(orig){if(orig)return orig;var polyfill=function(x,y,var_args){x=Number(x);y=Number(y);var i,z,sum;var max=Math.max(Math.abs(x),Math.abs(y));for(i=2;i<arguments.length;i++)max=Math.max(max,Math.abs(arguments[i]));if(max>1E100||max<1E-100){x=x/max;y=y/max;sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i])/max;sum+=z*z}return Math.sqrt(sum)*max}else{sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i]);sum+=z*z}return Math.sqrt(sum)}};
return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.imul",function(orig){if(orig)return orig;var polyfill=function(a,b){a=Number(a);b=Number(b);var ah=a>>>16&65535;var al=a&65535;var bh=b>>>16&65535;var bl=b&65535;var lh=ah*bl+al*bh<<16>>>0;return al*bl+lh|0};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.log10",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN10};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.log2",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.sign",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return x===0||isNaN(x)?x:x>0?1:-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.sinh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);if(x===0)return x;return(exp(x)-exp(-x))/2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.tanh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.exp(-2*Math.abs(x));var z=(1-y)/(1+y);return x<0?-z:z};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.trunc",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(isNaN(x)||x===Infinity||x===-Infinity||x===0)return x;var y=Math.floor(Math.abs(x));return x<0?-y:y};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.EPSILON",function(orig){return Math.pow(2,-52)},"es6-impl","es3");$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991},"es6-impl","es3");
$jscomp.polyfill("Number.MIN_SAFE_INTEGER",function(){return-9007199254740991},"es6-impl","es3");$jscomp.polyfill("Number.isFinite",function(orig){if(orig)return orig;var polyfill=function(x){if(typeof x!=="number")return false;return!isNaN(x)&&x!==Infinity&&x!==-Infinity};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.isInteger",function(orig){if(orig)return orig;var polyfill=function(x){if(!Number.isFinite(x))return false;return x===Math.floor(x)};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Number.isNaN",function(orig){if(orig)return orig;var polyfill=function(x){return typeof x==="number"&&isNaN(x)};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.isSafeInteger",function(orig){if(orig)return orig;var polyfill=function(x){return Number.isInteger(x)&&Math.abs(x)<=Number.MAX_SAFE_INTEGER};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Object.assign",function(orig){if(orig)return orig;var polyfill=function(target,var_args){for(var i=1;i<arguments.length;i++){var source=arguments[i];if(!source)continue;for(var key in source)if($jscomp.owns(source,key))target[key]=source[key]}return target};return polyfill},"es6-impl","es3");$jscomp.polyfill("Object.getOwnPropertySymbols",function(orig){if(orig)return orig;return function(){return[]}},"es6-impl","es5");
$jscomp.polyfill("Object.is",function(orig){if(orig)return orig;var polyfill=function(left,right){if(left===right)return left!==0||1/left===1/(right);else return left!==left&&right!==right};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Object.setPrototypeOf",function(orig){if(orig)return orig;if(typeof"".__proto__!="object")return null;var polyfill=function(target,proto){target.__proto__=proto;if(target.__proto__!==proto)throw new TypeError(target+" is not extensible");return target};return polyfill},"es6","es5");$jscomp.EXPOSE_ASYNC_EXECUTOR=true;$jscomp.FORCE_POLYFILL_PROMISE=false;
$jscomp.polyfill("Promise",function(NativePromise){if(NativePromise&&!$jscomp.FORCE_POLYFILL_PROMISE)return NativePromise;function AsyncExecutor(){this.batch_=null}AsyncExecutor.prototype.asyncExecute=function(f){if(this.batch_==null){this.batch_=[];this.asyncExecuteBatch_()}this.batch_.push(f);return this};AsyncExecutor.prototype.asyncExecuteBatch_=function(){var self=this;this.asyncExecuteFunction(function(){self.executeBatch_()})};var nativeSetTimeout=$jscomp.global["setTimeout"];AsyncExecutor.prototype.asyncExecuteFunction=
function(f){nativeSetTimeout(f,0)};AsyncExecutor.prototype.executeBatch_=function(){while(this.batch_&&this.batch_.length){var executingBatch=this.batch_;this.batch_=[];for(var i=0;i<executingBatch.length;++i){var f=executingBatch[i];delete executingBatch[i];try{f()}catch(error){this.asyncThrow_(error)}}}this.batch_=null};AsyncExecutor.prototype.asyncThrow_=function(exception){this.asyncExecuteFunction(function(){throw exception;})};var PromiseState={PENDING:0,FULFILLED:1,REJECTED:2};var PolyfillPromise=
function(executor){this.state_=PromiseState.PENDING;this.result_=undefined;this.onSettledCallbacks_=[];var resolveAndReject=this.createResolveAndReject_();try{executor(resolveAndReject.resolve,resolveAndReject.reject)}catch(e){resolveAndReject.reject(e)}};PolyfillPromise.prototype.createResolveAndReject_=function(){var thisPromise=this;var alreadyCalled=false;function firstCallWins(method){return function(x){if(!alreadyCalled){alreadyCalled=true;method.call(thisPromise,x)}}}return{resolve:firstCallWins(this.resolveTo_),
reject:firstCallWins(this.reject_)}};PolyfillPromise.prototype.resolveTo_=function(value){if(value===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(value instanceof PolyfillPromise)this.settleSameAsPromise_((value));else if(isObject(value))this.resolveToNonPromiseObj_((value));else this.fulfill_(value)};PolyfillPromise.prototype.resolveToNonPromiseObj_=function(obj){var thenMethod=undefined;try{thenMethod=obj.then}catch(error){this.reject_(error);return}if(typeof thenMethod==
"function")this.settleSameAsThenable_(thenMethod,(obj));else this.fulfill_(obj)};function isObject(value){switch(typeof value){case "object":return value!=null;case "function":return true;default:return false}}PolyfillPromise.prototype.reject_=function(reason){this.settle_(PromiseState.REJECTED,reason)};PolyfillPromise.prototype.fulfill_=function(value){this.settle_(PromiseState.FULFILLED,value)};PolyfillPromise.prototype.settle_=function(settledState,valueOrReason){if(this.state_!=PromiseState.PENDING)throw new Error("Cannot settle("+
settledState+", "+valueOrReason|"): Promise already settled in state"+this.state_);this.state_=settledState;this.result_=valueOrReason;this.executeOnSettledCallbacks_()};PolyfillPromise.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){var callbacks=this.onSettledCallbacks_;for(var i=0;i<callbacks.length;++i){(callbacks[i]).call();callbacks[i]=null}this.onSettledCallbacks_=null}};var asyncExecutor=new AsyncExecutor;PolyfillPromise.prototype.settleSameAsPromise_=function(promise){var methods=
this.createResolveAndReject_();promise.callWhenSettled_(methods.resolve,methods.reject)};PolyfillPromise.prototype.settleSameAsThenable_=function(thenMethod,thenable){var methods=this.createResolveAndReject_();try{thenMethod.call(thenable,methods.resolve,methods.reject)}catch(error){methods.reject(error)}};PolyfillPromise.prototype.then=function(onFulfilled,onRejected){var resolveChild;var rejectChild;var childPromise=new PolyfillPromise(function(resolve,reject){resolveChild=resolve;rejectChild=reject});
function createCallback(paramF,defaultF){if(typeof paramF=="function")return function(x){try{resolveChild(paramF(x))}catch(error){rejectChild(error)}};else return defaultF}this.callWhenSettled_(createCallback(onFulfilled,resolveChild),createCallback(onRejected,rejectChild));return childPromise};PolyfillPromise.prototype["catch"]=function(onRejected){return this.then(undefined,onRejected)};PolyfillPromise.prototype.callWhenSettled_=function(onFulfilled,onRejected){var thisPromise=this;function callback(){switch(thisPromise.state_){case PromiseState.FULFILLED:onFulfilled(thisPromise.result_);
break;case PromiseState.REJECTED:onRejected(thisPromise.result_);break;default:throw new Error("Unexpected state: "+thisPromise.state_);}}if(this.onSettledCallbacks_==null)asyncExecutor.asyncExecute(callback);else this.onSettledCallbacks_.push(function(){asyncExecutor.asyncExecute(callback)})};PolyfillPromise.resolve=function(opt_value){if(opt_value instanceof PolyfillPromise)return opt_value;else return new PolyfillPromise(function(resolve,reject){resolve(opt_value)})};PolyfillPromise.reject=function(opt_reason){return new PolyfillPromise(function(resolve,
reject){reject(opt_reason)})};PolyfillPromise.race=function(thenablesOrValues){return new PolyfillPromise(function(resolve,reject){var iterator=$jscomp.makeIterator(thenablesOrValues);for(var iterRec=iterator.next();!iterRec.done;iterRec=iterator.next())PolyfillPromise.resolve(iterRec.value).callWhenSettled_(resolve,reject)})};PolyfillPromise.all=function(thenablesOrValues){var iterator=$jscomp.makeIterator(thenablesOrValues);var iterRec=iterator.next();if(iterRec.done)return PolyfillPromise.resolve([]);
else return new PolyfillPromise(function(resolveAll,rejectAll){var resultsArray=[];var unresolvedCount=0;function onFulfilled(i){return function(ithResult){resultsArray[i]=ithResult;unresolvedCount--;if(unresolvedCount==0)resolveAll(resultsArray)}}do{resultsArray.push(undefined);unresolvedCount++;PolyfillPromise.resolve(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length-1),rejectAll);iterRec=iterator.next()}while(!iterRec.done)})};if($jscomp.EXPOSE_ASYNC_EXECUTOR)PolyfillPromise["$jscomp$new$AsyncExecutor"]=
function(){return new AsyncExecutor};return PolyfillPromise},"es6-impl","es3");$jscomp.polyfill("Reflect.apply",function(orig){if(orig)return orig;var apply=Function.prototype.apply;var polyfill=function(target,thisArg,argList){return apply.call(target,thisArg,argList)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.construct",function(orig){if(orig)return orig;var polyfill=function(target,argList,opt_newTarget){if(opt_newTarget===undefined)opt_newTarget=target;var proto=opt_newTarget.prototype||Object.prototype;var obj=Object.create(proto);var out=Reflect.apply(target,obj,argList);return out||obj};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.defineProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,attributes){try{Object.defineProperty(target,propertyKey,attributes);var desc=Object.getOwnPropertyDescriptor(target,propertyKey);if(!desc)return false;return desc.configurable===(attributes.configurable||false)&&desc.enumerable===(attributes.enumerable||false)&&("value"in desc?desc.value===attributes.value&&desc.writable===(attributes.writable||false):desc.get===attributes.get&&desc.set===
attributes.set)}catch(err){return false}};return polyfill},"es6","es5");$jscomp.polyfill("Reflect.deleteProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){if(!$jscomp.owns(target,propertyKey))return true;try{return delete target[propertyKey]}catch(err){return false}};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.getOwnPropertyDescriptor",function(orig){return orig||Object.getOwnPropertyDescriptor},"es6","es5");
$jscomp.polyfill("Reflect.getPrototypeOf",function(orig){return orig||Object.getPrototypeOf},"es6","es5");$jscomp.findDescriptor=function(target,propertyKey){var obj=target;while(obj){var property=Reflect.getOwnPropertyDescriptor(obj,propertyKey);if(property)return property;obj=Reflect.getPrototypeOf(obj)}return undefined};
$jscomp.polyfill("Reflect.get",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,opt_receiver){if(arguments.length<=2)return target[propertyKey];var property=$jscomp.findDescriptor(target,propertyKey);if(property)return property.get?property.get.call(opt_receiver):property.value;return undefined};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.has",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){return propertyKey in target};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.isExtensible",function(orig){if(orig)return orig;if(typeof Object.isExtensible=="function")return Object.isExtensible;return function(){return true}},"es6","es3");
$jscomp.polyfill("Reflect.ownKeys",function(orig){if(orig)return orig;var symbolPrefix="jscomp_symbol_";function isSymbol(key){return key.substring(0,symbolPrefix.length)==symbolPrefix}var polyfill=function(target){var keys=[];var names=Object.getOwnPropertyNames(target);var symbols=Object.getOwnPropertySymbols(target);for(var i=0;i<names.length;i++)(isSymbol(names[i])?symbols:keys).push(names[i]);return keys.concat(symbols)};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.preventExtensions",function(orig){if(orig)return orig;if(typeof Object.preventExtensions!="function")return function(){return false};var polyfill=function(target){Object.preventExtensions(target);return!Object.isExtensible(target)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.set",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,value,opt_receiver){var property=$jscomp.findDescriptor(target,propertyKey);if(!property){if(Reflect.isExtensible(target)){target[propertyKey]=value;return true}return false}if(property.set){property.set.call(arguments.length>3?opt_receiver:target,value);return true}else if(property.writable&&!Object.isFrozen(target)){target[propertyKey]=value;return true}return false};return polyfill},"es6",
"es5");$jscomp.polyfill("Reflect.setPrototypeOf",function(orig){if(orig)return orig;if(typeof"".__proto__!="object")return null;var polyfill=function(target,proto){try{target.__proto__=proto;return target.__proto__===proto}catch(err){return false}};return polyfill},"es6","es5");$jscomp.ASSUME_NO_NATIVE_SET=false;
$jscomp.polyfill("Set",function(NativeSet){var isConformant=!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!NativeSet||!NativeSet.prototype.entries||typeof Object.seal!="function")return false;try{NativeSet=(NativeSet);var value=Object.seal({x:4});var set=new NativeSet($jscomp.makeIterator([value]));if(!set.has(value)||set.size!=1||set.add(value)!=set||set.size!=1||set.add({x:4})!=set||set.size!=2)return false;var iter=set.entries();var item=iter.next();if(item.done||item.value[0]!=value||item.value[1]!=
value)return false;item=iter.next();if(item.done||item.value[0]==value||item.value[0].x!=4||item.value[1]!=item.value[0])return false;return iter.next().done}catch(err){return false}}();if(isConformant)return NativeSet;$jscomp.initSymbol();$jscomp.initSymbolIterator();var PolyfillSet=function(opt_iterable){this.map_=new Map;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=(entry).value;this.add(item)}}this.size=this.map_.size};PolyfillSet.prototype.add=
function(value){this.map_.set(value,value);this.size=this.map_.size;return this};PolyfillSet.prototype["delete"]=function(value){var result=this.map_["delete"](value);this.size=this.map_.size;return result};PolyfillSet.prototype.clear=function(){this.map_.clear();this.size=0};PolyfillSet.prototype.has=function(value){return this.map_.has(value)};PolyfillSet.prototype.entries=function(){return this.map_.entries()};PolyfillSet.prototype.values=function(){return this.map_.values()};(PolyfillSet.prototype)[Symbol.iterator]=
PolyfillSet.prototype.values;PolyfillSet.prototype.forEach=function(callback,opt_thisArg){var set=this;this.map_.forEach(function(value){return callback.call((opt_thisArg),value,value,set)})};return PolyfillSet},"es6-impl","es3");
$jscomp.checkStringArgs=function(thisArg,arg,func){if(thisArg==null)throw new TypeError("The 'this' value for String.prototype."+func+" must not be null or undefined");if(arg instanceof RegExp)throw new TypeError("First argument to String.prototype."+func+" must not be a regular expression");return thisArg+""};
$jscomp.polyfill("String.prototype.codePointAt",function(orig){if(orig)return orig;var polyfill=function(position){var string=$jscomp.checkStringArgs(this,null,"codePointAt");var size=string.length;position=Number(position)||0;if(!(position>=0&&position<size))return void 0;position=position|0;var first=string.charCodeAt(position);if(first<55296||first>56319||position+1===size)return first;var second=string.charCodeAt(position+1);if(second<56320||second>57343)return first;return(first-55296)*1024+
second+9216};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.endsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"endsWith");searchString=searchString+"";if(opt_position===void 0)opt_position=string.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=searchString.length;while(j>0&&i>0)if(string[--i]!=searchString[--j])return false;return j<=0};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.fromCodePoint",function(orig){if(orig)return orig;var polyfill=function(var_args){var result="";for(var i=0;i<arguments.length;i++){var code=Number(arguments[i]);if(code<0||code>1114111||code!==Math.floor(code))throw new RangeError("invalid_code_point "+code);if(code<=65535)result+=String.fromCharCode(code);else{code-=65536;result+=String.fromCharCode(code>>>10&1023|55296);result+=String.fromCharCode(code&1023|56320)}}return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.includes",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"includes");return string.indexOf(searchString,opt_position||0)!==-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.repeat",function(orig){if(orig)return orig;var polyfill=function(copies){var string=$jscomp.checkStringArgs(this,null,"repeat");if(copies<0||copies>1342177279)throw new RangeError("Invalid count value");copies=copies|0;var result="";while(copies){if(copies&1)result+=string;if(copies>>>=1)string+=string}return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.startsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"startsWith");searchString=searchString+"";var strLen=string.length;var searchLen=searchString.length;var i=Math.max(0,Math.min((opt_position)|0,string.length));var j=0;while(j<searchLen&&i<strLen)if(string[i++]!=searchString[j++])return false;return j>=searchLen};return polyfill},"es6-impl","es3");
$jscomp.arrayFromIterator=function(iterator){var i;var arr=[];while(!(i=iterator.next()).done)arr.push(i.value);return arr};$jscomp.arrayFromIterable=function(iterable){if(iterable instanceof Array)return iterable;else return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable))};
$jscomp.inherits=function(childCtor,parentCtor){function tempCtor(){}tempCtor.prototype=parentCtor.prototype;childCtor.prototype=new tempCtor;childCtor.prototype.constructor=childCtor;for(var p in parentCtor)if(Object.defineProperties){var descriptor=Object.getOwnPropertyDescriptor(parentCtor,p);if(descriptor)Object.defineProperty(childCtor,p,descriptor)}else childCtor[p]=parentCtor[p]};
$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-impl","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 tU(){}function pU(){}function lb(){}function vb(){}function oc(){}function uc(){}function Rd(){}function _f(){}function fs(){}function ns(){}function Fw(){}function aA(){}function OA(){}function WA(){}function fB(){}function wB(){}function ZB(){}function hC(){}function oC(){}function o5(){}function C5(){}function uW(){}function c$(){}function L$(){}function A0(){}function z2(){}function z8(){}function c8(){}function k8(){}
function Bbb(){}function tcb(){}function Icb(){}function Mcb(){}function Mjb(){}function bjb(){}function Wjb(){}function uhb(){}function xhb(){}function Rhb(){}function Rkb(){}function vib(){}function Gib(){}function Zib(){}function alb(){}function iob(){}function iXb(){}function usb(){}function gIb(){}function hWb(){}function vWb(){}function EZb(){}function JZb(){}function PZb(){}function VZb(){}function YZb(){}function c$b(){}function d9b(){}function ucc(){}function pnc(){}function ync(){}function Gnc(){}
function Gtc(){}function Ctc(){}function Itc(){}function aqc(){}function Guc(){}function Ovc(){}function Rvc(){}function Uvc(){}function Xvc(){}function swc(){}function ywc(){}function Owc(){}function flb(a){}function R6b(a){}function a0(a,b){a.i=b}function b0(a,b){a.F=b}function yp(){this.a=0}function Wv(){this.a=8}function jc(a){this.a=a}function Be(a){this.a=a}function pf(a){this.a=a}function Gf(a){this.a=a}function Vh(a){this.a=a}function tk(a){this.a=a}function xk(a){this.a=a}function Pk(a){this.a=
a}function ml(a){this.a=a}function no(a){this.a=a}function _p(a){this.a=a}function Hq(a){this.a=a}function rs(a){this.a=a}function ks(a){this.b=a}function Zu(a){this.b=a}function ny(a){this.b=a}function ey(a){this.a=a}function iy(a){this.a=a}function vy(a){this.a=a}function Dy(a){this.a=a}function Fy(a){this.a=a}function Xt(a){this.a=a}function Iv(a){this.a=a}function kw(a){this.a=a}function ow(a){this.a=a}function Jw(a){this.a=a}function JA(a){this.a=a}function hA(a){this.e=a}function VA(a){this.c=
a}function KU(a){this.c=a}function K0(a){this.a=a}function M0(a){this.a=a}function P0(a){this.a=a}function lW(a){this.a=a}function l5(a){this.a=a}function b5(a){this.a=a}function F5(a){this.a=a}function L5(a){this.a=a}function V5(a){this.a=a}function NZ(a){this.a=a}function w$(a){this.a=a}function j3(a){this.a=a}function M4(a){this.a=a}function _4(a){this.a=a}function H6(a){this.a=a}function mCb(){this.a=1}function Jmb(a,b){a.d=b}function iHb(a,b){a.d=b}function hHb(a,b){a.c=b}function lyb(a,b){a.M=
b}function nyb(a,b){a.Q=b}function pyb(a,b){a.R=b}function qyb(a,b){a.W=b}function fXb(a,b){a.n=b}function gXb(a,b){a.p=b}function wZb(a,b){a.f=b}function AZb(a,b){a.g=b}function CZb(a,b){a.j=b}function RZb(a,b){a.b=b}function SZb(a,b){a.c=b}function TZb(a,b){a.d=b}function UZb(a,b){a.e=b}function I0b(a,b){a.k=b}function R0b(a,b){a.k=b}function J0b(a,b){a.c=b}function M0b(a,b){a.g=b}function N0b(a,b){a.i=b}function Q0b(a,b){a.j=b}function ecc(a,b){a.a=b}function lwc(a,b){a.b=b}function Yi(a){a.c=
a.d.d}function Td(a){return!a}function Tbb(a){this.a=a}function Gbb(a){this.a=a}function oab(a){this.a=a}function cfb(a){this.a=a}function Ahb(a){this.a=a}function Fhb(a){this.a=a}function Lhb(a){this.a=a}function Ohb(a){this.a=a}function jkb(a){this.a=a}function Ynb(a){this.a=a}function Yyb(a){this.a=a}function wyb(a){this.a=a}function Grb(a){this.a=a}function Qzb(a){this.a=a}function nBb(a){this.a=a}function VBb(a){this.a=a}function jGb(a){this.a=a}function fYb(a){this.a=a}function x1b(a){this.a=
a}function A1b(a){this.a=a}function _Ob(a){this.d=a}function O8b(a){this.d=a}function kTb(a){this.j=a}function FZb(a){this.c=a}function g9b(a){this.b=a}function tcc(a){this.b=a}function tgc(a){this.a=a}function Kgc(a){this.a=a}function ffc(a){this.a=a}function yfc(a){this.a=a}function Hic(a){this.a=a}function ejc(a){this.a=a}function Kjc(a){this.a=a}function Qjc(a){this.a=a}function Ujc(a){this.a=a}function Zjc(a){this.a=a}function tjc(a){this.d=a}function ukc(a){this.a=a}function Jkc(a){this.a=a}
function Pkc(a){this.a=a}function Ekc(a){this.b=a}function pmc(a){this.c=a}function Nnc(a){this.a=a}function Xnc(a){this.a=a}function ioc(a){this.b=a}function yoc(a){this.b=a}function apc(a){this.d=a}function Ipc(a){this.a=a}function Mpc(a){this.a=a}function Kqc(a){this.a=a}function Crc(a){this.a=a}function Qsc(a){this.a=a}function Rtc(a){this.a=a}function mvc(a){this.a=a}function Uwc(a){this.a=a}function Ulc(){Hlc(this)}function klc(){Tkc(this)}function Vic(){Tic(this)}function qob(){oob(this)}function rob(){oob(this)}
function uU(){wU();Wsb()}function _q(){_q=pU;Ew()}function IY(a,b){b&&a.mg()}function dZ(a,b){DY(a.c,b)}function Sc(a){this.c=de(a)}function Tb(a){this.a=de(a)}function we(a){this.a=de(a)}function Ge(a){this.a=de(a)}function el(a){this.a=de(a)}function Iu(a){this.a=de(a)}function Nu(a){this.a=de(a)}function Lv(a){this.a=de(a)}function bw(a){this.a=de(a)}function ci(a){this.b=de(a)}function ws(a){this.b=de(a)}function w1(a,b){Z2(a.ud,b)}function X0(a,b){Jlc(a.d,b)}function Y0(a,b){Jlc(a.e,b)}function i_(a,
b){Jlc(a.a,b)}function Y_(a,b){Qlc(a.a,b)}function Lc(a,b){return a==b}function Bgc(a){return a&-a}function Xb(a){return a<=127}function bZ(a){a.d=new qrc}function gdb(a){a.d=new qrc}function emb(a){a.g=new zsc}function eqb(a){a.b=new zsc}function v6(a){a.g=new Ulc}function Zp(){this.a=new Ulc}function Mq(){this.a=new Ulc}function fq(){this.b=new Ulc}function $z(){this.a=new zsc}function Jz(){Jz=pU;Iz=Kz()}function xB(){qz.call(this)}function vm(a){fm();this.a=a}function oq(a){fm();this.a=a}function tq(a){fm();
this.a=a}function Oq(a){Gm();this.a=a}function fv(a){Gm();this.a=a}function N6(a){M6();this.a=a}function D7(a){l7();this.a=a}function cC(a){bC();aC.wf(a)}function T6(a,b){S6(a,a.d,b)}function Fdb(a,b){wrc(a.q,b)}function Ys(a,b){a.e=b;b.b=a}function hB(a,b){return a[b]}function h5(){this.a=new zrc}function D3(){this.a=new zrc}function dtb(){ctb();new Eib}function wcb(){xB.call(this)}function kWb(){xB.call(this)}function kfc(){xB.call(this)}function rgc(){xB.call(this)}function Zgc(){xB.call(this)}
function jic(){xB.call(this)}function gqc(){xB.call(this)}function Ltc(){xB.call(this)}function pfc(){qz.call(this)}function gwc(a,b){Jlc(a.a,b)}function Iwc(a,b){a.length=b}function ub(){ub=pU;tb=new vb}function Wb(){Wb=pU;Vb=new Yb}function WB(){WB=pU;VB=new ZB}function DB(){DB=pU;CB=new lb}function gc(){gc=pU;fc=new hc}function nc(){nc=pU;mc=new oc}function sc(){sc=pU;rc=new uc}function yc(){yc=pU;xc=new zc}function v1(){v1=pU;u1=new z2}function Ol(){Ol=pU;Nl=new Pl}function Ew(){Ew=pU;Dw=new Fw}
function Sw(){Sw=pU;Rw=new Tw}function SWb(){this.c=new dic}function bib(){this.a=new zrc}function zrc(){this.a=new qrc}function xvc(){this.a=new qrc}function bwc(){this.a=new qrc}function jvc(){this.a=new iuc}function Ukb(a){this.a=a;B8()}function oob(a){a.a=WT(Pwc())}function ZZb(){YZb.call(this)}function _Zb(){YZb.call(this)}function b$b(){_Zb.call(this)}function qrc(){Vic.call(this)}function Krc(){Vic.call(this)}function Hg(a){wg.call(this,a)}function Ak(a){wg.call(this,a)}function xw(a){ws.call(this,
a)}function Ps(a){Is.call(this,a)}function Ip(a){Zn.call(this,a)}function Xw(a){Zn.call(this,a)}function Yw(a){$n.call(this,a)}function Yu(a){Nu.call(this,a)}function zz(a){rz.call(this,a)}function Az(a){zz.call(this,a)}function jB(a){zz.call(this,a)}function yB(a){zz.call(this,a)}function swb(a){de(a);this.e=a}function onb(a){mnb();this.b=a}function ojb(a,b){a.s=b;pjb(a)}function Tkb(a,b){wfb(a.a,b,a)}function mwc(a,b){!!b&&(a.d=b)}function qhc(a,b){return a===b}function tyb(a,b){return b===a}function ic(a,
b){return b==a.a}function Le(a,b){return a.f-b.f}function uA(a){return a.b<a.c}function Khc(a){return exc(a),a}function yPb(a){while(xPb(a));}function jZ(a,b){DY(a.c,BZ(b))}function Tac(a,b,c){a.i[b.f]=c}function Wtc(a){a.b=null;a.c=0}function jU(){hU==null&&(hU=[])}function jm(){throw QT(new jic);}function gm(){throw QT(new jic);}function im(){throw QT(new jic);}function km(){throw QT(new jic);}function Of(){throw QT(new jic);}function Cl(){throw QT(new jic);}function xn(){throw QT(new jic);}function yn(){throw QT(new jic);
}function G3(){G3=pU;F3=new qrc}function Xv(a){this.a=Yk(a,wyc)}function ZA(a,b){a.a=b;return a}function $A(a,b){a.b=b;return a}function _A(a,b){a.c=b;return a}function uB(a,b){a.c=b;return a}function aB(a,b){a.d=b;return a}function vB(a,b){a.d=b;return a}function bB(a,b){a.e=b;return a}function cB(a,b){a.f=b;return a}function dB(a,b){a.g=b;return a}function eB(a,b){a.i=b;return a}function sB(a,b){a.a=b;return a}function tB(a,b){a.b=b;return a}function JZ(a,b){a.i=b;return a}function KZ(a,b){a.j=
b;return a}function LZ(a,b){a.f=b;return a}function U_(a,b){Whb(b,a.n,a.u)}function MB(){MB=pU;!!(bC(),aC)}function xcb(a){yB.call(this,a)}function zcb(a){AB.call(this,a)}function Nvb(a){yB.call(this,a)}function yWb(a){yB.call(this,a)}function BWb(a){yB.call(this,a)}function CWb(a){yB.call(this,a)}function jXb(a){yB.call(this,a)}function jfc(a){yB.call(this,a)}function lfc(a){yB.call(this,a)}function sgc(a){yB.call(this,a)}function Ygc(a){yB.call(this,a)}function _gc(a){yB.call(this,a)}function $gc(a){BB.call(this,
a)}function kic(a){yB.call(this,a)}function nfc(a){rz.call(this,a)}function Zmc(a){exc(a);this.a=a}function kxc(a){exc(a);return a}function Nd(a){a.d=true;return a}function Zs(a,b){a.jf(b);b.hf(a)}function Mwc(a,b){console[a](b)}function alc(a){return a.a[a.b]}function auc(a){return!!a&&a.b}function _kc(a){return a.b==a.c}function zU(a){return a==1||a==2}function IA(a){return mB(),pB(a)}function H0(a){return new cmb(a)}function qC(a,b){return Zfc(a,b)}function zvb(a,b){a.b=b;return a}function Fvb(a,
b){a.g=b;return a}function HZ(a){a.d=true;return a}function IZ(a){a.e=true;return a}function $v(a){this.a=a;this.b=2}function Jx(a){fm();this.a=de(a)}function Rs(a){ng(a);Ys(a.a,a.a)}function Bmc(a){Fmc(a,a.length)}function Cmc(a){Gmc(a,a.length)}function _rc(){_rc=pU;$rc=bsc()}function uyb(){throw QT(new jic);}function vyb(){throw QT(new jic);}function PBb(a,b){je(!a.e);a.c=b}function vPb(a,b){ntc(a.b);a.d=b}function dTb(a,b){a.c=b;return a}function aTb(a,b){a.a=b;return a}function cTb(a,b){a.b=
b;return a}function eTb(a,b){a.f=b;return a}function fTb(a,b){a.d=b;return a}function gTb(a,b){a.n=b;return a}function hTb(a,b){a.g=b;return a}function iTb(a,b){a.o=b;return a}function jTb(a,b){a.i=b;return a}function J8b(a,b){a.a=b;return a}function K8b(a,b){a.c=b;return a}function L8b(a,b){a.e=b;return a}function N8b(a,b){a.g=b;return a}function Wgc(a,b){return a>b?a:b}function Xgc(a,b){return a<b?a:b}function mfc(a){lfc.call(this,a)}function hic(a){lfc.call(this,a)}function h2b(a){_0b.call(this,
a)}function N6b(a){K5b.call(this,a)}function ghc(a){xcb.call(this,a)}function dic(){ffc.call(this,"")}function eic(){ffc.call(this,"")}function upc(a){ioc.call(this,a)}function Tpc(a){Doc.call(this,a)}function Cpc(a){upc.call(this,a)}function Vwc(a){Uwc.call(this,a)}function Qfc(a){Ofc(a);return a.o}function Pfc(a){return a.e&&a.e()}function Kf(a){return Af(a.a,a.b)}function Xn(a,b){return sv(a.d,b)}function As(a,b){return a.a.Jd(b)}function Ix(a,b){return nb(a.a,b)}function Yp(a,b){Op(a,b);return a}
function xnc(){throw QT(new Ltc);}function _nc(){throw QT(new jic);}function aoc(){throw QT(new jic);}function boc(){throw QT(new jic);}function eoc(){throw QT(new jic);}function foc(){throw QT(new jic);}function goc(){throw QT(new jic);}function xoc(){throw QT(new jic);}function Qmb(){this.a=(Dic(),Cic)}function Bjb(a){this.a=a;this.b=1}function Hhb(a){return a.b[0]<a.a}function $xb(a){return _xb(a,a.K)}function kyb(a){return Zxb(a,a.t)}function YT(a,b){return ST(a,b)<0}function Ifb(a,b){return a==
b?a:0}function vU(b,a){return b.exec(a)}function WC(a){return a.l|a.m<<22}function bIb(a){a.a=a.i-a.f-a.r-1}function bTb(a){a.e=true;return a}function Avb(a){a.c=true;return a}function I8b(a){a.b=true;return a}function C3(a){a.b=false;return a}function Vhc(a,b){a.a+=b;return a}function Whc(a,b){a.a+=b;return a}function h_b(a,b){a.c&&wZb(a.a,b)}function i_b(a,b){a.c&&xZb(a.a,b)}function rcc(a,b){a!=hcc&&(a.a=b)}function Mac(a,b){return a.i[b.f]}function Nac(a,b){return a.i[b.f]}function Oac(a,b){return a.i[b.f]}
function Ne(a,b){this.e=a;this.f=b}function af(a,b){Ne.call(this,a,b)}function Lf(a,b){this.a=a;this.b=b}function wh(a,b){this.b=a;this.a=b}function qi(a,b){this.b=a;this.c=b}function Vj(a,b){this.a=a;this.c=b}function bk(a,b){this.a=a;this.b=b}function Dl(a,b){this.a=a;this.b=b}function Arc(a){this.a=new rrc(a)}function lvc(a){this.a=new juc(a)}function up(a,b){this.a=a;this.b=b}function Pp(a,b){this.g=a;this.i=b}function Rq(a,b){this.a=a;this.b=b}function Ds(a,b){this.c=a;this.b=b}function ut(a,
b){return Jic(a.b,b)}function Jo(a,b){return tqc(a.a,b)}function Ep(a,b){return a>b&&b<lyc}function Ut(a,b){this.a=a;this.b=b}function gu(a,b){this.a=a;this.f=b}function ay(a,b){this.a=a;this.b=b}function Ky(a,b){this.a=a;this.b=b}function zw(a,b){this.e=a;this.c=b}function Sz(a,b){this.b=a;this.a=b}function Av(a,b){Ne.call(this,a,b)}function zB(a,b){sz.call(this,a,b)}function Hwc(a,b,c){a.splice(b,c)}function _pc(){_pc=pU;$pc=new aqc}function wnc(){wnc=pU;vnc=new ync}function Ptc(){Ptc=pU;Otc=new qrc}
function rWb(){rWb=pU;qWb=new qrc}function Dsb(){Dsb=pU;Csb=new Fsb}function UB(){JB!=0&&(JB=0);LB=-1}function wA(a){return lhc(a.a,a.b)}function I$(a){return e0b(a,37)!=0}function K$(a){return e0b(a,30)!=0}function _T(a,b){return ST(a,b)!=0}function VT(a,b){return ST(a,b)==0}function w_(a,b){return Mic(a.t,b)}function R0(a,b){return wrc(a.d,b)}function x1(a,b){return _2(a.ud,b)}function y1(a,b){return a3(a.ud,b)}function Vy(a,b){return a.g[b%a.d]}function EU(a,b){Ne.call(this,a,b)}function XU(a,
b){Ne.call(this,a,b)}function mX(a,b){Ne.call(this,a,b)}function B$(a,b){Ne.call(this,a,b)}function L1(a,b){Ne.call(this,a,b)}function R1(a,b){Ne.call(this,a,b)}function W1(a,b){Ne.call(this,a,b)}function a2(a,b){Ne.call(this,a,b)}function i2(a,b){Ne.call(this,a,b)}function x2(a,b){Ne.call(this,a,b)}function E2(a,b){Ne.call(this,a,b)}function M2(a,b){Ne.call(this,a,b)}function S2(a,b){Ne.call(this,a,b)}function C4(a,b){Ne.call(this,a,b)}function f$(a,b){PZ.call(this,a,b)}function f5(a,b){this.a=a;
this.b=b}function sW(a,b){this.a=a;this.b=b}function P3(a,b){this.a=a;this.b=b}function Y4(a,b){this.a=a;this.b=b}function Y6(a,b){this.a=a;this.c=b}function E6(a,b){this.b=a;this.a=b}function G0(a,b){this.b=a;this.a=b}function K7(a,b){this.b=a;this.a=b}function d0(a,b){!!a.L&&qjb(a.L,b)}function Fbb(a,b){return Yn(a.a,b)}function _tb(a){return a.c?a.c:a.e}function ayb(a){return a.O?a.O:a.a}function byb(a){return a.P?a.P:a.C}function fyb(a){return a.U?a.U:a.C}function jyb(a){return a.Y?a.Y:a.C}function eyb(a){return a.T?
a.T:a.r}function hyb(a){return a.W?a.W:a.K}function iyb(a){return a.X?a.X:a.u}function Uic(a){return a.d.c+a.e.c}function mcc(a,b){return a.b.oe(b)}function hoc(a,b){return a.b.Md(b)}function Zoc(a,b){return nb(a.d,b)}function tpc(a,b){return nb(a.b,b)}function Af(a,b){return Ff(a.c,a,b)}function FWb(a,b,c){Zhc(a.c,b,0,c)}function uEb(a,b,c){J0b(a,c.c-b.c)}function aw(a,b){a.a.be().remove(b)}function Ez(a,b){return Hz(RT(a,b))}function QA(a,b){return b.b+a.c.i.b}function mrc(a){this.c=a;jrc(this)}
function rrc(a){Wic.call(this,a,0)}function iuc(){juc.call(this,null)}function Ap(){Ak.call(this,new qrc)}function Cp(){Nj.call(this,new qrc)}function Cv(){Av.call(this,"KEY",0)}function ycb(a,b){zB.call(this,a,b)}function Jab(a,b){this.b=a;this.a=b}function kib(a,b){this.b=a;this.a=b}function qib(a,b){this.b=a;this.a=b}function tib(a,b){this.b=a;this.a=b}function Kjb(a,b){this.b=a;this.a=b}function ajb(a,b){this.j=a;this.i=b}function xdb(a,b){this.a=a;this.b=b}function lkb(a,b){this.a=a;this.b=b}
function nkb(a,b){this.a=a;this.b=b}function qkb(a,b){this.b=a;this.a=b}function plb(a,b){this.a=a;this.b=b}function slb(a,b){this.a=a;this.b=b}function Ihb(a){this.b=a;this.a=Exc}function Djb(a){this.b=a;this.a=a.t}function Umb(a,b){this.b=a;this.a=b}function Amb(a,b){Ne.call(this,a,b)}function $mb(a,b){Ne.call(this,a,b)}function Pkb(a,b){Ne.call(this,a,b)}function hnb(a,b){Ne.call(this,a,b)}function Urb(a,b){Ne.call(this,a,b)}function Sub(a,b){Ne.call(this,a,b)}function Wxb(a,b){Ne.call(this,a,
b)}function jnb(){hnb.call(this,uDc,0)}function Ql(){this.c=(ub(),ub(),tb)}function xt(){this.b=(nv(),new qrc)}function Nxb(a,b){this.b=a;this.a=b}function Yxb(a,b){this.b=a;this.a=b}function Asb(a,b){this.b=a;this.a=b}function qHb(a,b){this.a=a;this.b=b}function vHb(a,b){Ne.call(this,a,b)}function THb(a,b){Ne.call(this,a,b)}function lBb(a,b){Ne.call(this,a,b)}function eCb(a,b){Ne.call(this,a,b)}function wDb(a,b){Ne.call(this,a,b)}function FDb(a,b){Ne.call(this,a,b)}function qTb(a,b){Ne.call(this,
a,b)}function FVb(a,b){Ne.call(this,a,b)}function ozb(a,b){return KBb(a.a,b)}function Ydb(a,b){return usc(a.j,b)}function k$b(a,b){Ne.call(this,a,b)}function q$b(a,b){return XYb(a.a,b)}function cXb(a){return a>=48&&a<=57}function oWb(a,b){this.b=a;this.a=b}function sIb(a,b){this.c=a;this.b=b}function RKb(a,b){this.c=a;this.b=b}function u1b(a,b){this.c=a;this.b=b}function J_b(a,b){this.a=a;this.b=b}function jSb(a,b){this.p=a;this.o=b}function n5b(a,b){Ne.call(this,a,b)}function xac(a,b){Ne.call(this,
a,b)}function Sdc(a,b){Ne.call(this,a,b)}function Udc(){Sdc.call(this,SAc,0)}function Ydc(){Sdc.call(this,TAc,1)}function aec(){Sdc.call(this,KDc,2)}function Jec(a){Kec.call(this,a,30)}function odc(a,b){this.b=a;this.a=b}function w6(){v6(this);this.a=false}function ofc(a,b){sz.call(this,a,b)}function uic(a,b){Ne.call(this,a,b)}function bfc(a,b){return lhc(a.a,b)}function efc(a,b){return Ghc(a.a,b)}function ebc(a,b){return Oac(a.e,b)}function D5b(a,b){return Oac(a.u,b)}function Gic(a,b){return Iic(a.a,
b)}function Lnc(a,b){return Jic(a.a,b)}function rqc(a,b){return _qc(a.a,b)}function fsc(a,b){return a.a.get(b)}function usc(a,b){return Jic(a.c,b)}function Wsc(a){return a.b!=a.c.a.b}function Uqc(a,b){this.b=a;this.a=b}function ikc(a,b){this.d=a;this.e=b}function Yuc(a,b){Ne.call(this,a,b)}function Fwc(a,b,c){a.splice(b,0,c)}function l9b(a,b,c,d){lp(a.a,b,c,d)}function H7b(a,b){je(!a.fj());a.n=b}function Zkb(a,b){Ykb();return a[b]}function dsc(){_rc();return new $rc}function Dic(){Dic=pU;Twc();Cic=
Swc}function uxc(){uxc=pU;rxc={};txc={}}function FJb(){FJb=pU;EJb=Qe(DJb())}function TB(a){$wnd.clearTimeout(a)}function qwc(a){return awc(cwc(),a)}function vA(a){return lhc(a.a,a.b++)}function bh(a){return!a?null:a.ye()}function oD(a){return a==null?null:a}function jD(a){return typeof a===Axc}function kD(a){return typeof a===Bxc}function nD(a){return typeof a===Dxc}function XT(a){return typeof a===Bxc}function Lz(a){return a<128?Iz[a]:-1}function bp(a,b){return a.Xe().ze(b)}function c0(a,b){b>1?
a.M=1:a.M=b}function Z8(a,b){Knc(a.a,b)&&b.Pi(a)}function bV(a){q0b(a)||nW(dzc+a.j,a)}function vEb(a,b){xEb(a,b.b.b,b.b.a)}function lCb(a,b){return b+"#"+a.a++}function aIb(a,b){a.q[a.r++]=b;--a.b}function mPb(a,b,c,d){qIb(a.c,b,c,d)}function cIb(a){dIb.call(this,a,0,0)}function Iib(a){G0.call(this,a,true)}function g1(a){h1.call(this,a,false)}function i2b(a,b){b1b.call(this,a,b)}function knb(){hnb.call(this,"V3",1)}function Dhb(a){this.b=a;this.a=true}function rW(){this.d=new lvc(new uW)}function E$(){throw QT(new kic(nAc));
}function F$(){throw QT(new kic(nAc));}function G$(){throw QT(new kic(nAc));}function fic(a){ffc.call(this,sU(a))}function trc(a){Tic(this);Ug(this,a)}function ftc(a,b){gtc(a,b,a.a,a.a.a)}function If(a,b){return Jb(a.a,a.e,b)}function zC(a){return AC(a.l,a.m,a.h)}function l0b(a){return!!a.b&&!a.b.d}function UPb(a){return TPb(a)&&a!=42}function Xhc(a,b){return a.a+=""+b,a}function thc(a,b){return a.indexOf(b)}function Yhc(a,b){a.a+=""+b;return a}function $hc(a,b){a.a+=""+b;return a}function _hc(a,
b){a.a+=""+b;return a}function m4(a,b){Qic(k4,a,b);return b}function Ccb(a,b){Bcb(a,b);return a.a}function u2(a){je(a!=s2);return a!=k2}function Gxb(a,b){return Cwb(a.a.k,b)}function dPb(a,b){return aMb(a.e.b,b)}function uzb(a,b){return OBb(a.a,b.a)}function vzb(a,b){return!!GBb(a.a,b)}function k0b(a){return!!a.b&&!!a.b.d}function WYb(a){return!!a.d&&!!a.d.k}function h1b(a){return a==-1?-1:a&Vyc}function f0b(a){return a.b?a.b.f:null}function qjc(a){return a.b<a.d.size()}function vqc(a,b,c){return uqc(a,
b,c)}function D0b(a,b){a.i=n1b(i1b(a.i),b)}function Pmc(a,b){Lmc(a,0,a.length,b)}function jtc(a){gtc(a,null,a.a,a.a.a)}function K5b(a){L5b.call(this,a,null)}function adb(){bdb.call(this,new hdb)}function btc(){Crc.call(this,new zsc)}function Xwc(){Uwc.call(this,"UTF-8")}function anb(){$mb.call(this,"ALL",0)}function Ev(){Av.call(this,"VALUE",1)}function Tp(a){Zn.call(this,new Dy(a))}function Ms(a){Is.call(this,new Ps(a))}function Isb(){Isb=pU;Hsb=new Sc("/")}function czb(){czb=pU;bzb=zwc("\\d+")}
function $k(){$k=pU;Zk=Rc(new Sc(Sxc))}function Xz(a,b){var c;c=iB(b);Wz(a,c)}function nxc(a,b){return parseInt(a,b)}function Ko(a,b,c){return vqc(a.a,b,c)}function sx(a){return Ur(a.b.Ld(),a.a)}function xi(a){vi(a);return a.d.size()}function Ld(a){this.a=a;this.b=de("=")}function Vx(a,b){this.c=a;this.b=de(b)}function V4(a){this.b=a;this.a=new otc}function X6(a){this.a=a;this.c=new iob}function Urc(a){this.a=dsc();this.b=a}function isc(a){this.a=dsc();this.b=a}function K5(a){this.b=new btc;this.a=
a}function Jjb(a){Kjb.call(this,a,false)}function Cmb(){Amb.call(this,"LINE",0)}function E4(){C4.call(this,"LEGACY",0)}function ULb(a){SLb();return Yn(tLb,a)}function Zxb(a,b){return vwb(b,cyb(a))}function J5b(a){return iD(a,55)?a:null}function JYb(a){return!a.d?null:a.d.j}function BYb(a){return!a.d?null:a.d.b}function CYb(a){return!a.d?null:a.d.c}function HYb(a){return!a.d?null:a.d.g}function IYb(a){return!a.d?null:a.d.i}function gyb(a){return!a.R?null:a.R.q}function c0b(a){return!a.e?null:a.e.e}
function i1b(a){return a==-1?-1:a>>>12}function Tkc(a){a.a=sC(yR,Uxc,1,8,5,1)}function Hlc(a){a.a=sC(yR,Uxc,1,0,5,1)}function Jbc(a){A5b();vbc.call(this,a)}function Rbc(a){A5b();Jbc.call(this,a)}function Ybc(a){A5b();N6b.call(this,a)}function bcc(a){A5b();N6b.call(this,a)}function pdc(a){A5b();N6b.call(this,a)}function Vec(a){A5b();N6b.call(this,a)}function O6b(a){A5b();N6b.call(this,a)}function t6b(a){A5b();K5b.call(this,a)}function avc(){Yuc.call(this,"Head",1)}function fvc(){Yuc.call(this,"Tail",
3)}function jf(){af.call(this,"IS_NULL",2)}function Pl(){Dl.call(this,(Sw(),Rw),0)}function hwc(a,b){jwc(a,(Kvc(),Gvc),b)}function nwc(a,b){jwc(a,(Kvc(),Ivc),b)}function owc(a,b){jwc(a,(Kvc(),Jvc),b)}function Rac(a,b){Sac(a,b,b.Oi(false))}function Xq(a,b){Gm();Rq.call(this,a,b)}function Cq(a,b){Gm();this.a=a;this.b=b}function xA(a){this.a=a;this.c=a.length}function ej(a){this.a=a;_i.call(this,a)}function hY(){gY();iY.call(this,new L$)}function V2(a,b){yB.call(this,TWb(a,b))}function x3(a){q3();r3(this);
v3(this,a)}function wg(a){Xd(a.size()==0);this.c=a}function bdb(a){this.a=new klc;this.b=a}function _hb(a){this.b=a;this.a=new zrc}function vlb(a){this.b=a;this.a=new btc}function Jrb(a){this.b=a;this.a=new Ulc}function Mr(){Mr=pU;Kr=new fs;Lr=new ns}function zv(){zv=pU;xv=new Cv;yv=new Ev}function RAb(a){this.b=a;this.a=new Ulc}function oBb(a){this.a=(Gm(),new Gx(a))}function Ntc(a){return a!=null?rb(a):0}function lqc(a){return a<10?"0"+a:""+a}function Efc(a){return a>=Ixc&&a<=56319}function Ffc(a){return a>=
Lxc&&a<=57343}function ugc(a,b){return a<b?-1:a>b?1:0}function I3(a,b){return a.b.contains(b)}function QT(a){return a.backingJsObject}function krc(a){return a.a<a.c.a.length}function Slc(a,b){Omc(a.a,a.a.length,b)}function lhc(a,b){return a.charCodeAt(b)}function xwc(a,b){return new wwc(a.a,b)}function uMb(a,b){return new oWb(b,a.g)}function NBb(a,b){return SBb(a.v,b,a.t)}function Rhc(a){return Shc(a,0,a.length)}function vhc(a){return qhc(Dxc,typeof a)}function Qhc(a){return a==null?Mxc:sU(a)}function iD(a,
b){return a!=null&&fD(a,b)}function mxc(a,b){return a==b?0:a<b?-1:1}function AC(a,b,c){return{l:a,m:b,h:c}}function yzb(a,b){czb();return a.a==b.a}function Kq(a,b){de(b);Np(a,b);return a}function Jq(a,b){Jlc(a.a,de(b));return a}function Xp(a,b){Jlc(a.a,de(b));return a}function Iq(a,b){return Jlc(a.a,de(b)),a}function i0(a,b,c,d){W0(new E0(a,b,d,c))}function je(a){if(!a)throw QT(new rgc);}function zt(a){if(!a)throw QT(new Ltc);}function Xd(a){if(!a)throw QT(new wcb);}function Zn(a){this.d=(gnc(),new apc(a))}
function B1(a,b){je(b!=(t2(),s2));a.Ub=b}function Vdb(a,b){return a.d.contains(b)}function pob(a){return bU(WT(Pwc()),a.a)}function Zzb(a){return!a.d?gyb(a.a):a.d}function VLb(a){SLb();return!!Yn(tLb,a)}function WLb(a){SLb();return!!Yn(sLb,a)}function M3(a){G3();L3.call(this,null,a)}function _yb(a,b,c){Aub.call(this,a,b,c)}function cvc(){Yuc.call(this,"Range",2)}function Dmb(){Amb.call(this,"REGION",1)}function mf(){af.call(this,"NOT_NULL",3)}function AWb(a){yB.call(this,"Width:"+a)}function cMb(a){this.b=
a;this.a=dMb(a.a)}function bXb(a){this.a=a;this.c=a.length}function nfb(a,b,c){a.g=b;a.o=c;a.e=null}function AOb(a,b){return kPb(a.j,0).c==b}function cZb(a){return!!a.d&&NZb(a.d,0)}function aZb(a){return!!a.d&&NZb(a.d,5)}function bZb(a){return!!a.d&&NZb(a.d,4)}function dZb(a){return!!a.d&&NZb(a.d,6)}function gZb(a){return!!a.d&&NZb(a.d,1)}function $Yb(a){return!!a.d&&NZb(a.d,2)}function _Yb(a){return!!a.d&&NZb(a.d,3)}function pgc(a){return qhc(Bxc,typeof a)}function coc(a,b){return a.b.contains(b)}
function xpc(a,b){return a.b.contains(b)}function whc(a,b){return a.lastIndexOf(b)}function uhc(a,b,c){return a.indexOf(b,c)}function Uc(a,b){return b==null?a.b:Qc(b)}function Pc(a,b){return Nc(a,new dic,b).a}function Ff(a,b,c){return new Jf(b,c,a.a)}function yf(a,b){de(b);return new Lf(a,b)}function Rc(a){de(Mxc);return new Vc(a,a)}function jPb(a){kPb(a,0);return ktc(a.b)}function ymc(a,b){bxc(b);return xmc(a,b)}function xsc(a,b){if(a.a){Lsc(b);Ksc(b)}}function ji(a,b){this.a=a;ci.call(this,b)}function Bs(a,
b){this.a=b;ws.call(this,a)}function vv(a,b){this.a=b;ws.call(this,a)}function qy(a){this.a=a;ny.call(this,a.a)}function Iy(a,b){this.a=a;ws.call(this,b)}function _w(a){$w();yo.call(this,a);de(a)}function ir(a){fq.call(this);this.a=de(a)}function qz(){lz(this);mz(this);this.nf()}function Zi(a){a.b.Fd();--a.d.f.d;wi(a.d)}function lz(a){a.g=sC(AR,Uxc,133,0,0,1)}function f1(a,b){e1.call(this,a,a.Bg(),b)}function cnb(){$mb.call(this,"SYMBOLS",1)}function Fsb(){Ne.call(this,"RELATIVE",0)}function G4(){C4.call(this,
"MULTILINE",2)}function nv(){nv=pU;mv=new Ld(($k(),Zk))}function Ic(){Ic=pU;Hc=Cgc(31);Gc=new Jc}function Uv(a){Yk(2,wyc);return new $v(a)}function t_(a,b){de(a.H);return b3(a.X,b)}function Bvb(a,b){je(!a.d);a.d=b;return a}function Hvb(a,b){je(!a.j);a.j=b;return a}function Ivb(a,b){je(!a.k);a.k=b;return a}function Dvb(a,b,c){wsc(a.f,b,c);return a}function TOb(a,b,c){qIb(a.c,cPb(a.j),b,c)}function S_b(a,b){R_b(a,b,a.b?a.b.f:null)}function dSb(a,b){eSb.call(this,a,b,null)}function gic(a){ffc.call(this,
(exc(a),a))}function Doc(a){ioc.call(this,a);this.a=a}function Roc(a){yoc.call(this,a);this.a=a}function Upc(a){apc.call(this,a);this.a=a}function Xpc(a){upc.call(this,a);this.a=a}function Yhb(a,b){Vhb();this.b=a;this.a=b}function fEb(a,b){return RJb(a.a.c.a,b.a)}function Mnc(a,b){return Ric(a.a,b)!=null}function arc(a,b){return!!b&&a.b[b.f]==b}function Vp(a,b){return a.a.getAtIndex(b)}function JC(a){return a.l+a.m*Tyc+a.h*Uyc}function PXb(a){return cYb((m5b(),o4b),a)}function _Sb(a,b){a.k=b;return new $Sb(a)}
function ctc(a){Crc.call(this,new Asc(a))}function kvc(a){jvc.call(this);Xc(this,a)}function Duc(a){this.a=a;Ekc.call(this,a)}function Dc(a,b){this.a=de(a);this.b=de(b)}function Fhc(a,b,c){return a.substr(b,c-b)}function Hhc(a,b,c){return a.substr(b,c-b)}function qxc(a){return a.$H||(a.$H=++pxc)}function Me(a){return a.e!=null?a.e:""+a.f}function tx(a){return bs(Ur(a.b.Ld(),a.a))}function ix(a){var b;return fm(),b=a,qo(b)}function fC(a){bC();return parseInt(a)||-1}function olc(a){if(!a)throw QT(new gqc);
}function cxc(a){if(!a)throw QT(new Ltc);}function ixc(a){if(!a)throw QT(new rgc);}function Zwc(a){if(!a)throw QT(new wcb);}function gA(a,b){this.i=a;this.a=new xA(b)}function Xi(a,b,c,d){Mi.call(this,a,b,c,d)}function Iob(){Iib.call(this,"convertEs6")}function I4(){C4.call(this,"SOURCELESS",3)}function F4(){C4.call(this,"SINGLELINE",1)}function Z6b(a){K5b.call(this,a);R6b(this)}function Xsb(){return(new Date).getTime()}function VYb(a){return!!(!a.d?null:a.d.a)}function aEb(a,b){return bEb(a,$Db(a,
b.b))}function t0b(a,b){return u0b(a,b,b.length)}function tmc(a,b){return vmc(a,a.length,b)}function umc(a,b){return wmc(a,a.length,b)}function ohc(a){return Rhc(Wwc(a,a.length))}function ssc(a){a.b=new Msc(a);a.c=new qrc}function Uyb(){Uyb=pU;Tyb=new Yyb(new qrc)}function zOb(a,b,c){return kPb(a.j,b).c==c}function eqc(a,b){var c;c=a[cGc];b[cGc]=c}function ll(a,b){var c;c=a.a;a.a=b;return c}function $b(a,b){Xd(b>=a);this.b=a;this.a=b}function aj(a,b){this.d=a;Yi(this);this.b=b}function Nj(a){this.a=
de(a);this.b=ww(this)}function Msc(a){Nsc.call(this,a,null,null)}function nj(a,b,c){yi.call(this,a,b,c,null)}function cf(){af.call(this,"ALWAYS_TRUE",0)}function Ofc(a){if(a.o!=null)return;bgc(a)}function vY(a){if(a)return a.d;return null}function a_(a){if(a)return a.d;return null}function W9(a,b,c){return qxb(a.q,b,null,c)}function On(a,b){return Xk(a,b),new Ax(a,b)}function xp(a){return nv(),new Asc(pv(a.a))}function Vv(a){return nv(),new Asc(pv(a.a))}function h1(a,b){f1.call(this,new Ecb(a),b)}
function Oyb(a,b){swb.call(this,a);this.a=b}function A3(a,b){this.a=a;this.c=b;this.b=0}function U0(){this.c=new dic;this.d=new zrc}function j2b(a,b){_0b.call(this,a);this.a=b}function d1(a,b){Xd(!b||!a.g||a.g==b);a.g=b}function HY(a,b){a.eg();b&&a.mg();a.r=false}function Rzb(a,b){Pzb();return Ozb[a.a|b.a]}function Szb(a,b){Pzb();return Ozb[a.a&b.a]}function Vyb(a){Uyb();return Wyb(Tyb,"_",a)}function pib(a,b,c){tfb(new ufb(a.b,a),b,c)}function llb(a,b){return Le(z1(a.a.H),b)>=0}function _qc(a,b){return iD(b,
14)&&arc(a,b)}function brc(a,b){return iD(b,14)&&crc(a,b)}function xrc(a,b){return a.a.containsKey(b)}function doc(a,b){return a.b.containsAll(b)}function ypc(a,b){return a.b.containsAll(b)}function Cc(a,b){return a.a.Hd(b)||a.b.Hd(b)}function jlc(a){return a.c-a.b&a.a.length-1}function YHb(a){return a.g==a.d?a.c+a.a:a.a}function Ohc(a){return nD(a)?a.length:a.kj()}function pg(a){return iD(a,47)?a.Nd():a.Ld()}function gD(a){return String.fromCharCode(a)}function dn(a,b){return a.Re().getAtIndex(b)}
function mD(a,b){return a&&b&&a instanceof b}function Hm(a,b){return new Wp(a,a.size(),b)}function NB(a,b,c){return a.apply(b,c);var d}function gZ(a,b){a.c.hg();a.xg(b,5);a.c.jg()}function GV(a,b){NV((m5b(),e4b),b);bW(a,b.b)}function x$(a,b){this.a=h0b(a);this.b=h0b(b)}function Ecb(a){this.b=new fYb(a.c);this.d=a}function hqc(a){this.a=new $wnd.Date(dU(a))}function ek(a){this.e=a;this.c=a.a.ne().Ld()}function Ktc(){yB.call(this,"no key found")}function ff(){af.call(this,"ALWAYS_FALSE",1)}function Vk(){Hg.call(this,
new qrc);this.a=3}function QSb(a){jSb.call(this,(EVb(),tUb),a)}function CSb(a){jSb.call(this,(EVb(),gUb),a)}function DSb(a){jSb.call(this,(EVb(),hUb),a)}function ESb(a){jSb.call(this,(EVb(),fUb),a)}function MSb(a){jSb.call(this,(EVb(),pUb),a)}function GTb(a){jSb.call(this,(EVb(),SUb),a)}function KTb(a){jSb.call(this,(EVb(),XUb),a)}function LTb(a){jSb.call(this,(EVb(),YUb),a)}function OVb(a){jSb.call(this,(EVb(),jVb),a)}function TVb(a){jSb.call(this,(EVb(),oVb),a)}function wWb(a){yB.call(this,"codePoint:"+
a)}function j9b(a){g9b.call(this,a);this.a=null}function m9b(a){g9b.call(this,a);this.a=null}function fqc(a){var b;b=a[cGc]|0;a[cGc]=b+1}function bkc(a,b){var c;c=a.e;a.e=b;return c}function nkc(a,b){var c;c=b;return!!a.yj(c)}function y$b(a,b){a.d=true;return uYb(a.a,b)}function xZb(a,b){if(!hZb(a))return;a.b.i=b}function vfc(a,b){tfc();return a==b?0:a?1:-1}function Qc(a){de(a);return iD(a,374)?a:sU(a)}function Ef(a){de(a);return new Cf(new Gf(a))}function hEb(a,b){return V_b(new _0b(b),a.t)}function yrc(a,
b){return a.a.remove(b)!=null}function ivc(a,b){return a.a.remove(b)!=null}function xhc(a,b,c){return a.lastIndexOf(b,c)}function Hdc(a){return a.d.size()-a.e.size()}function Xr(a){Mr();return a.Dd()?a.Ed():null}function ov(a,b){nv();return new vv(a.Ld(),b)}function rw(a,b){Hg.call(this,a);this.a=de(b)}function Gd(a,b,c){this.b=a;this.a=b;this.c=c}function ux(a,b,c){this.b=a;this.a=b;this.c=c}function Cy(a,b,c){this.b=a;this.a=b;this.c=c}function mx(a,b,c){this.a=a;this.c=b;this.b=c}function F6(a,
b,c){this.a=a;this.b=b;this.c=c}function MA(a,b,c){this.j=a;this.b=b;this.a=c}function RU(a,b,c){Ne.call(this,a,b);this.a=c}function p4(a,b){return iD(b,5)&&qhc(b.c,a.c)}function rB(a){return new qB(a.d,a.c,a.a,a.b)}function tsc(a){Tic(a.c);a.b.b=a.b;a.b.a=a.b}function ui(a){a.b?ui(a.b):a.f.c.put(a.e,a.d)}function u_(a){!a.H&&L_(a,new D1);return a.f}function vGb(a){var b;b=a.o;a.o=null;return b}function ZOb(a){this.b=a;this.a=(Gm(),new Zp)}function zWb(a){yB.call(this,"Precision: "+a)}function mnb(){mnb=
pU;lnb=qwc((Ofc(CL),CL.o))}function gnb(){gnb=pU;enb=new jnb;fnb=new knb}function Zmb(){Zmb=pU;Xmb=new anb;Ymb=new cnb}function zmb(){zmb=pU;xmb=new Cmb;ymb=new Dmb}function fm(){fm=pU;new vm((gnc(),gnc(),enc))}function YXb(a){return new _1b((m5b(),Q4b),a)}function ZXb(a){return new _1b((m5b(),R4b),a)}function IXb(a,b){return nXb((m5b(),a4b),a,b)}function RXb(a,b){return nXb((m5b(),w4b),a,b)}function WXb(a,b){return nXb((m5b(),M4b),a,b)}function XXb(a,b){return nXb((m5b(),N4b),a,b)}function _Xb(a,
b){return nXb((m5b(),T4b),a,b)}function kXb(a,b){return nXb((m5b(),n2b),a,b)}function tXb(a,b){return nXb((m5b(),Y2b),a,b)}function GXb(a,b){return nXb((m5b(),O3b),a,b)}function s5b(a){return new i2b((m5b(),t2b),a)}function ePb(a,b){return b>=0&&b<a.e.a.length}function Xoc(a,b){return a.d.containsValue(b)}function jZb(a,b){!a.d&&(a.d=new PZb);a.d.a=b}function lZb(a,b){!a.d&&(a.d=new PZb);a.d.c=b}function rZb(a,b){!a.d&&(a.d=new PZb);a.d.g=b}function sZb(a,b){!a.d&&(a.d=new PZb);a.d.i=b}function tZb(a,
b){!a.d&&(a.d=new PZb);a.d.j=b}function dwc(a,b){this.a=a;this.b=b;WT(Pwc())}function Yn(a,b){return b==null?null:tv(a.d,b)}function ccb(a,b){Xd(true);b.g=null;Qlc(a.c,b)}function ds(a,b){Mr();de(b);return new Bs(a,b)}function bW(a,b){while(b){aW(a,b,false);b=b.d}}function WV(a){var b;for(b=a.b;b;b=b.d)HV(b)}function lx(a){return es(Rr(a.a.Ld(),sx(a.c)))}function xf(a){return new Df(a.c,true,a.d,a.a)}function EBb(a){return!a.d?(fm(),$w(),Zw):a.d}function oCb(a){return Hhc(a,0,thc(a,Nhc(35)))}function oxc(b,
c,d){try{b[c]=d}catch(a){}}function rlb(a,b,c){this.b=a;this.c=b;this.a=c}function pHb(a,b,c){this.c=a;this.b=b;this.a=c}function vIb(a,b,c){this.a=a;this.b=b;this.c=c}function BSb(a,b,c){this.c=a;this.a=b;this.b=c}function yjb(a,b){this.c=a;this.b=b.b;this.a=b}function Kkb(a,b,c){Ne.call(this,a,b);this.a=c}function csb(a,b,c){Ne.call(this,a,b);this.a=c}function eSb(a,b,c){Ne.call(this,a,b);this.a=c}function lrb(a){Iqb.call(this,rBc,null,a,null)}function OYb(a){return($Bc&a.a)==lyc?a.i:null}function SYb(a){return($Bc&
a.a)==eCc?a.i:null}function $_b(a){je(!!a.e);x0b(a.e,a);return a}function CJb(a){AJb();return We((FJb(),EJb),a)}function nZb(a){!a.d&&(a.d=new PZb);OZb(a.d,2)}function oZb(a){!a.d&&(a.d=new PZb);OZb(a.d,3)}function pZb(a){!a.d&&(a.d=new PZb);OZb(a.d,5)}function qZb(a){!a.d&&(a.d=new PZb);OZb(a.d,4)}function vZb(a){!a.d&&(a.d=new PZb);OZb(a.d,0)}function yZb(a){!a.d&&(a.d=new PZb);OZb(a.d,6)}function DZb(a){!a.d&&(a.d=new PZb);OZb(a.d,1)}function $6b(a,b){L5b.call(this,a,b);R6b(this)}function r9b(a,
b,c){Ne.call(this,a,b);this.a=c}function E_b(a,b,c){this.a=a;this.c=b;this.d=c}function drc(a,b,c){this.a=a;this.b=b;this.c=c}function osc(a,b,c){this.a=a;this.b=b;this.c=c}function utc(a,b,c){this.d=a;this.b=c;this.a=b}function _0b(a){this.j=a;this.e=null;this.i=-1}function V1b(a){this.b=a;this.a=a;this.c=false}function Vc(a,b){this.a=a;this.b=Mxc;this.c=b.c}function _i(a){this.d=a;Yi(this);this.b=pg(a.d)}function Sj(a,b){if(!a)return 0;return ll(a,b)}function $wc(a,b){if(!a)throw QT(new xcb(b));
}function Br(a,b){de(a);de(b);return new Cr(a,b)}function Fq(a,b,c){Xk(b,c);qg(a.a,b,c);return a}function M8b(a,b){a.f=Jac(a.d,b,null);return a}function Wfc(){var a;a=Tfc(null);a.g=2;return a}function zu(a){var b;b=new Ulc;Nr(b,a);return b}function o_(a,b){var c;c=lIb(b,a.H.lc);return c}function r_(a){var b;b=a.H.G;b=b?b:a.e;return b}function fV(a){var b;b=b0b(a);0!=b&&nW(azc+b,a)}function gV(a){var b;b=b0b(a);0!=b&&nW(azc+b,a)}function ngc(a){return kD(a)?(exc(a),a):a.rj()}function aU(a,b){return TT(TC(XT(a)?
cU(a):a,b))}function Ghc(a,b){return a.substr(b,a.length-b)}function blc(a){return a.a[a.c-1&a.a.length-1]}function ufc(a){tfc();return qhc(Axc,typeof a)}function gnc(){gnc=pU;enc=new pnc;fnc=new Gnc}function Ftc(){Ftc=pU;Dtc=new Gtc;Etc=new Itc}function cmb(a){Zlb();this.b=a;this.a=new lW(a)}function Fzb(a,b){swb.call(this,a);this.a=de(b)}function SAb(a,b){swb.call(this,a);this.a=de(b)}function gMb(a,b,c){RKb.call(this,a,c);this.a=b}function E1b(a,b,c){u1b.call(this,a,c);this.a=b}function O1b(a,
b,c){u1b.call(this,a,c);this.a=b}function Nsc(a,b,c){this.c=a;ikc.call(this,b,c)}function Gwc(a,b,c){Dwc(c,0,a,b,c.length,false)}function I0(){G0.call(this,"sanityCheck",false)}function zc(){Tb.call(this,"CharMatcher.none()")}function apb(){Iib.call(this,"es6ConvertSuper")}function Cr(a,b){this.a=a;this.b=b;Ql.call(this)}function Fr(a,b){this.a=a;this.b=b;Ql.call(this)}function Ir(a,b){this.a=a;this.b=b;Ql.call(this)}function us(a,b){this.b=a;this.a=b;_f.call(this)}function zq(a){this.b=a;this.a=
vn(this.b.a).Oe()}function ltc(a){cxc(a.b!=0);return mtc(a,a.a.a)}function itc(a){return cxc(a.b!=0),mtc(a,a.a.a)}function ktc(a){return cxc(a.b!=0),mtc(a,a.a.a)}function z0(a){return Fmb(),new Rmb((new Qmb).a)}function Fn(a,b){Xk(a,b);return nv(),new Pp(a,b)}function eU(a){if(XT(a))return a|0;return WC(a)}function Jlc(a,b){a.a[a.a.length]=b;return true}function Unb(a,b){var c;c=h0b(b);return Vnb(a,c)}function Ufc(a){var b;b=Tfc(a);fgc(a,b);return b}function Iuc(a,b){return!!b&&Juc(a,b.d)?b:null}
function eEb(a,b){return!!a.b&&a.b.a.a.c<=b.b.c}function iEb(a,b,c){return V_b(new b1b(b,c),a.t)}function mEb(a,b,c){return V_b(new _1b(b,c),a.t)}function Edb(a,b){Ddb(a,b,new _yb(a.a,h0b(b),b))}function DWb(a){throw QT(new xWb(a.b.b,pb(a.a)));}function a8b(a,b){!a.i&&(a.i=new Ulc);Jlc(a.i,b)}function Vcb(a,b){KU.call(this,a);de(a);this.a=b}function eob(a,b){this.a=a;this.c=false;this.d=b}function Yob(){Iib.call(this,"RewritePolyfills")}function Ykb(){Ykb=pU;Xkb=$wnd.JSON.parse(_kb())}function Mfc(){Mfc=
pU;Lfc=sC(iR,Uxc,149,128,0,1)}function Jgc(){Jgc=pU;Igc=sC(rR,Uxc,125,256,0,1)}function Vgc(){Vgc=pU;Ugc=sC(tR,Uxc,150,256,0,1)}function tfc(){tfc=pU;rfc=(tfc(),false);sfc=true}function etc(a,b){gtc(a,b,a.c.b,a.c);return true}function Omc(a,b,c){axc(b,a.length);Lmc(a,0,b,c)}function rIb(a,b,c,d){var e;e=TWb(c,d);a._h(b,e)}function cYb(a,b){je(JXb(b));return new b1b(a,b)}function fU(a){if(XT(a))return""+a;return XC(a)}function ot(a){if(a.c.e!=a.a)throw QT(new gqc);}function au(a){if(a.e.c!=a.b)throw QT(new gqc);
}function $h(a){this.c=a;this.b=this.c.a.ne().Ld()}function Gx(a){Gm();this.a=(gnc(),new Xnc(de(a)))}function Zv(a){return new rw(Vv(a.a),new Xv(a.b))}function Hr(a){return $r(new yoc(a.a.b.Ld()),a.b)}function uC(a){return Array.isArray(a)&&a.Ej===tU}function Lsc(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}function GZ(a,b){a.c=b;a.e=b.sc;a.b=b.Wb;return a}function D_(a){!a.R&&(a.R=O_(a,wAc,0));return a.R}function e$(a){if(a.n>0){Uhc(a.i,10);++a.k;a.n=0}}function cyb(a){if(!a.Q)return null;return a.Q.q}function xwb(a,
b){Rvb();return Ewb(a,1,Pvb,b,Ovb)}function Ucb(a){GU();Vcb.call(this,a,(zmb(),xmb))}function F_b(a){E_b.call(this,new FZb(a),a,false)}function Mob(){Iib.call(this,"rewriteGenerators")}function Qob(){Iib.call(this,"Es6ExtractClasses")}function Oob(){G0.call(this,"es6SuperCheck",true)}function Yb(){Tb.call(this,"CharMatcher.ascii()")}function Xcb(a,b){rW.call(this);this.a=a;this.b=b}function Lec(a,b){A5b();Z6b.call(this,a);this.a=b}function Mlc(a,b){dxc(b,a.a.length);return a.a[b]}function aic(a,b){a.a+=
Shc(b,0,b.length);return a}function $$b(a,b){sZb(a.a,b);a.d=true;return true}function C1(a,b){a.Vb=b;b==(t2(),k2)&&(a.zc=true)}function qZ(a,b){var c;c=g0b(b,81);!!c&&a.xg(c,5)}function Dmc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function Fmc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function dbc(a,b){return b?b:Oac(a.e,(wac(),sac))}function Bac(a,b,c){return Aac(a,b,Iac(a,true,c))}function Dac(a,b,c){return Cac(a,b,Iac(a,true,c))}function tqc(a,b){return _qc(a.a,b)?a.b[b.f]:null}function ZYb(a){return(a.a&512)!=
0||(a.a&nCc)!=0}function m0b(a){return a.j==(m5b(),u4b)||a.j==s2b}function hD(a){return!Array.isArray(a)&&a.Ej===tU}function dtc(a){Crc.call(this,new zsc);Xc(this,a)}function Qqc(a){this.c=a;this.a=new mrc(this.c.a)}function ybb(a,b){this.c=a;this.b=new btc;this.a=b}function $8(a){this.b=a;this.a=lnc((nv(),new Krc))}function Cf(a){Df.call(this,a,false,(yc(),xc),Exc)}function Jj(a,b){var c;c=tv(a.a,b);return!c?0:c.a}function eZ(a,b){var c;for(c=b;c;c=c.d)a.xg(c,5)}function Qbc(a,b,c,d){return h6b(a,
b,c,d)||!b.xi()}function I_b(a){return new J_b(W_b(a.a,false),a.b)}function ogc(a){return kD(a)?pD((exc(a),a)):a.sj()}function Ric(a,b){return nD(b)?Sic(a,b):Trc(a.d,b)}function bPb(a){return a.b.b==0?a.d:kPb(a,0).b.b.c}function wEb(a,b){i1b(a.i)==-1&&xEb(a,b.o.b,b.o.a)}function z0b(a){var b;b=a.b;!!b&&x0b(a,b);return b}function BGb(a){var b;b=$Hb(a.j);a.o=null;return b}function Rbb(a){a.j==(m5b(),I2b)&&(a=a.b);return a}function Xfc(a){var b;b=Tfc(a);b.n=a;b.g=1;return b}function $B(a,b){!a&&(a=[]);
a[a.length]=b;return a}function Ilc(a,b,c){gxc(b,a.a.length);Fwc(a.a,b,c)}function uqc(a,b,c){Zqc(a.a,b);return xqc(a,b.f,c)}function Bf(a,b){de(b);return new Df(a.c,a.b,b,a.a)}function ph(a){var b;b=a.c;return!b?a.c=a.pe():b}function dg(a){var b;b=a.g;return!b?a.g=a.$d():b}function fj(a,b){this.a=a;aj.call(this,a,a.d.Od(b))}function Mi(a,b,c,d){this.a=a;yi.call(this,a,b,c,d)}function Kec(a,b){this.a=new Ulc;this.i=a;this.g=b}function mlc(a){llc.call(this,a.size());Xc(this,a)}function scc(){jcc();
tcc.call(this,(nv(),new iuc))}function yo(a){fm();de(a);this.b=(gnc(),new upc(a))}function _r(a,b){Mr();return as(a,(ue(),new we(b)))}function mhc(a,b){return mxc((exc(a),a),(exc(b),b))}function az(a,b){return eU(UT(RT(ZT(a.b.a,b),7),8))}function esc(a,b){return!(a.a.get(b)===undefined)}function cn(a,b){return b!=null&&a.Re().contains(b)}function Wy(a,b){return Xb((Wb(),Vb,b))&&a.e[b]!=-1}function MC(a,b){return AC(a.l&b.l,a.m&b.m,a.h&b.h)}function YC(a,b){return AC(a.l^b.l,a.m^b.m,a.h^b.h)}function J$(a){return qhc("Array.isArray",
h0b(a.b))}function ue(){ue=pU;new Sc(String.fromCharCode(44))}function Bib(a){this.c=new qrc;this.b=a;this.a=true}function rz(a){lz(this);this.f=a;mz(this);this.nf()}function vn(a){if(a.e)return a.e;return a.e=a.Se()}function wn(a){if(a.f)return a.f;return a.f=a.Te()}function hm(a){var b;b=a.c;return!b?a.c=a.Ne():b}function gqb(a){var b;b=a;while(b.a)b=b.a;return b}function AMb(a){var b;b=jPb(a.j);a.g=b.b.a;return b}function Nmc(c){c.sort(function(a,b){return a-b})}function aXb(a){throw QT(new jXb(Hhc(a.a,
a.d,a.b)));}function bwb(a){return(a.Vh()&504)!=0||Kub(a.Uh())}function szb(a){return!NBb(a.a,ACc)&&!NBb(a.a,wCc)}function Kic(a,b){return Lic(a,b,a.e)||Lic(a,b,a.d)}function Lgc(a,b){return ST(a,b)<0?-1:ST(a,b)>0?1:0}function xcc(a,b){a.c=b;iD(b,55)?a.b=b:a.b=null}function Gmc(a,b){var c;for(c=0;c<b;++c)a[c]=null}function Emc(a,b,c){var d;for(d=0;d<b;++d)a[d]=c}function J7b(a,b,c){L7b.call(this,a,b,c,false,null)}function cz(a,b,c){bz.call(this,new Xy(a,Ihc(b)),c)}function kz(a,b,c){jz.call(this,
new Xy(a,Ihc(b)),c)}function J1b(a){_0b.call(this,(m5b(),r4b));this.a=a}function pwc(a){this.c=a;this.e=true;this.a=new Ulc}function juc(a){this.b=null;this.a=(_pc(),!a?$pc:a)}function Brc(a){this.a=new rrc(a.size());Xc(this,a)}function Qb(){this.a=Ihc("0123456789_.");Nmc(this.a)}function lj(a,b,c){this.a=a;yi.call(this,a,b,c,null)}function Sq(a,b){Gm();Rq.call(this,a,bn(new Zmc(b)))}function fxc(a,b){if(a==null)throw QT(new _gc(b));}function Ur(a,b){Mr();de(a);de(b);return new us(a,b)}function Nm(a){Gm();
de(a);return Mm(zu(Af(a.a,a.b)))}function Nfb(a,b,c){Gfb();return lgb(a,new Ohb(b),c)}function Ogb(a,b,c){Gfb();return lgb(a,new Lhb(b),c)}function Pbb(a,b,c){return c?"{"+Sbb(a,c.a)+"} "+b:b}function Ehc(a,b){return qhc(a.substr(0,b.length),b)}function r5b(a){return/^[a-zA-Z_$][\w$]*$/.test(a)}function Wlc(a){Hlc(this);Gwc(this.a,0,a.toArray())}function _sb(){rW.call(this);this.a=H4((B4(),false))}function zDb(a,b,c){yDb.call(this,a,(EDb(),DDb),b,c)}function jEb(a,b,c,d){return V_b(new d1b(b,c,d),
a.t)}function D6b(a,b,c){A5b();E6b.call(this,a,b,c,false)}function sEb(a,b){a.i&&a.d.eh(lDc,a.r,b.b.b+1,b.b.a)}function acb(a,b){Jlc(a.c,b);Xd(!b.g||b.g==a);b.g=a}function OZb(a,b){var c;c=(Yd(b>=0,KFc),1<<b);a.o|=c}function H4(a){var b;b=(GU(),new Tcb);b.b=a;return b}function glc(a){var b;b=clc(a);cxc(b!=null);return b}function Rz(a){var b;b=(a&1)==1;a=a>>1;return b?-a:a}function xqc(a,b,c){var d;d=a.b[b];a.b[b]=c;return d}function Coc(a,b,c){return new Doc(a.a.subList(b,c))}function Jic(a,b){return nD(b)?
Oic(a,b):!!Rrc(a.d,b)}function Cdc(a){return a.d.Qe(a.e.size(),a.d.size())}function fob(a){this.a=a;this.c=false;this.d=new iob}function Wp(a,b,c){this.a=a;he(c,b);this.c=b;this.b=c}function T8b(a){this.b=new _0b((m5b(),y4b));this.a=a}function sA(a,b,c,d,e){nA.call(this,a,b,c,d);this.a=e}function jz(a,b){bz.call(this,a,b);Xd(a.c.length==64)}function u8(a,b,c){this.d=a;this.c=de(b);this.e=de(c)}function $ub(a,b){je(!a.n.isEmpty());return fvb(a,b)}function awb(a){return!a.Wh().isEmpty()||Jub(a.Uh())}
function iwb(a,b){return YBb(a.Wh(),b)||YBb(a.Uh(),b)}function lEb(a,b){return V_b(new J1b((exc(b),b)),a.t)}function Lmb(a,b){Fmb();return new Tmb((new Qmb,a),b)}function Hdb(a,b){var c;je(!a.r);a.u=(fm(),c=b,qo(c))}function Gm(){Gm=pU;fm();Fm=new Vw((gnc(),gnc(),enc))}function $w(){$w=pU;fm();Zw=new _w((gnc(),gnc(),fnc))}function Bic(a){xcb.call(this,a==null?Mxc:(exc(a),a))}function Eic(a){xcb.call(this,a==null?Mxc:(exc(a),a))}function llc(a){Tkc(this);Iwc(this.a,zgc(8>a?8:a)<<1)}function omc(a){ixc(a.b!=
-1);Plc(a.c,a.a=a.b);a.b=-1}function Jwb(a){if((a&24)!=0)return a|8|16;return a}function de(a){if(a==null)throw QT(new Zgc);return a}function Ewc(a,b){var c;c=new Array(b);return wC(c,a)}function Cwc(a,b){var c;c=a.slice(0,b);return wC(c,a)}function wrc(a,b){var c;c=a.a.put(b,a);return c==null}function Mu(a,b){var c;c=a.a.size();he(b,c);return c-b}function a1(a){!a.i&&(a.i=osb(a.b.C,a.f.a));return a.i}function Qr(a){Mr();de(a);while(a.Dd()){a.Ed();a.Fd()}}function shc(a,b,c,d,e){while(b<c)d[e++]=
lhc(a,b++)}function NV(a,b){b.j!=a&&nW(bzc+a+" but was "+b.j,b)}function Ar(a,b){de(a);Yd(b>=0,uyc);return new Ir(a,b)}function nq(a,b){return hm(vn(a.a)).getAtIndex(b).xe()}function Knc(a,b){return Pic(a.a,b,(tfc(),sfc))==null}function hvc(a,b){return a.a.put(b,(tfc(),rfc))==null}function aPb(a,b,c){return new RKb(b,bMb(a.e.b,c,a.d))}function WOb(a,b,c){jMb();XOb.call(this,a,b,c,0,false)}function K7b(a,b,c,d,e){A5b();L7b.call(this,a,b,c,d,e)}function Acb(a,b,c){xcb.call(this,a);this.b=b;this.a=c}
function kqb(a){hmb.call(this,a);eqb(this);this.a=null}function Jc(){Tb.call(this,"CharMatcher.whitespace()")}function Is(a){this.b=(Mr(),Mr(),Mr(),Kr);this.a=de(a)}function Jcb(a){this.b=new Ulc;this.c=new Ulc;this.a=a}function otc(){this.a=new Ctc;this.c=new Ctc;ntc(this)}function vjb(a){this.d=a;this.b=new Ulc;this.a=new zrc}function Pd(a){this.b=new Rd;this.c=this.b;this.a=de(a)}function U6b(a){var b;b=new jvc;kcc(a.Xi(),b);return b}function $kc(a){var b;b=a.a[a.b];cxc(b!=null);return b}function Kj(a){var b;
b=a.a.ne().Ld();return new Vj(a,b)}function Sd(a,b){return oD(a)===oD(b)||a!=null&&nb(a,b)}function Mic(a,b){return nD(b)?Nic(a,b):bh(Rrc(a.d,b))}function Thc(a,b){return a.a+=String.fromCharCode(b),a}function Uhc(a,b){a.a+=String.fromCharCode(b);return a}function dfc(a,b){cfc(a,b,b+1,String.fromCharCode(32))}function qjb(a,b){a.e&&(a.d=b.j==(m5b(),y3b)?b:kjb(b))}function j0(a,b){!a.H&&L_(a,new D1);return k0(a,b,true)}function nab(a,b){wrc(a.a.a,b);wrc(a.a.i,b);return null}function _5(a,b){var c;
c=new w6;wfb(a.a,b,c);return c.d}function Sbb(a,b){var c;c=new dic;Nbb(a,c,b);return c.a}function exc(a){if(a==null)throw QT(new Zgc);return a}function xxc(){if(sxc==256){rxc=txc;txc={};sxc=0}++sxc}function pt(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function x6(a,b){v6(this);this.e=a;this.f=b;this.a=true}function ar(a,b){_q();Zn.call(this,a);this.a=b;this.c=a}function jqb(a,b){gmb.call(this,a,b);eqb(this);this.a=a}function TKb(a,b){RKb.call(this,(bSb(),LQb),a);this.a=b}function lSb(a,b){jSb.call(this,
(EVb(),RTb),a);this.a=b}function mSb(a,b){jSb.call(this,(EVb(),STb),a);this.a=b}function nSb(a,b){jSb.call(this,(EVb(),TTb),a);this.a=b}function oSb(a,b){jSb.call(this,(EVb(),UTb),a);this.a=b}function pSb(a,b){jSb.call(this,(EVb(),VTb),a);this.a=b}function qSb(a,b){jSb.call(this,(EVb(),WTb),a);this.a=b}function rSb(a,b){jSb.call(this,(EVb(),XTb),a);this.a=b}function tSb(a,b){jSb.call(this,(EVb(),ZTb),a);this.a=b}function uSb(a,b){jSb.call(this,(EVb(),$Tb),a);this.a=b}function ASb(a,b){jSb.call(this,
(EVb(),eUb),a);this.a=b}function LSb(a,b){jSb.call(this,(EVb(),oUb),a);this.a=b}function NSb(a,b){jSb.call(this,(EVb(),qUb),a);this.a=b}function USb(a,b){jSb.call(this,(EVb(),xUb),a);this.a=b}function VSb(a,b){jSb.call(this,(EVb(),yUb),a);this.a=b}function ZSb(a,b){jSb.call(this,(EVb(),zUb),a);this.a=b}function tTb(a,b){jSb.call(this,(EVb(),FUb),a);this.a=b}function vTb(a,b){jSb.call(this,(EVb(),HUb),a);this.a=b}function CTb(a,b){jSb.call(this,(EVb(),OUb),a);this.a=b}function ITb(a,b){jSb.call(this,
(EVb(),VUb),a);this.a=b}function MTb(a,b){jSb.call(this,(EVb(),ZUb),a);this.a=b}function NTb(a,b){jSb.call(this,(EVb(),$Ub),a);this.a=b}function OTb(a,b){jSb.call(this,(EVb(),_Ub),a);this.a=b}function QTb(a,b){jSb.call(this,(EVb(),bVb),a);this.a=b}function JVb(a,b){jSb.call(this,(EVb(),eVb),a);this.a=b}function KVb(a,b){jSb.call(this,(EVb(),fVb),a);this.a=b}function LVb(a,b){jSb.call(this,(EVb(),gVb),a);this.a=b}function NVb(a,b){jSb.call(this,(EVb(),iVb),a);this.a=b}function RVb(a,b){jSb.call(this,
(EVb(),mVb),a);this.a=b}function SVb(a,b){jSb.call(this,(EVb(),nVb),a);this.a=b}function UVb(a,b){jSb.call(this,(EVb(),pVb),a);this.a=b}function XVb(a,b){jSb.call(this,(EVb(),tVb),a);this.a=b}function YVb(a,b){jSb.call(this,(EVb(),uVb),a);this.a=b}function _Vb(a,b){jSb.call(this,(EVb(),wVb),a);this.a=b}function dWb(a,b){jSb.call(this,(EVb(),AVb),a);this.a=b}function ycc(a,b){$6b.call(this,a,null);xcc(this,de(b))}function Tw(){Ip.call(this,new Xw(new qrc));this.a=this}function hz(){gz.call(this,new Xy("base16()",
Ihc(Qxc)))}function Wob(){Iib.call(this,"Es6RewriteArrowFunction")}function Sob(){Iib.call(this,"Es6RewriteDestructuring")}function Zsc(a){this.c=a;this.b=a.a.b.a;eqc(a.a.c,this)}function L5b(a,b){this.u=a;this.v=!b?Jac(a,null,null):b}function J3(a){G3();this.a=null;this.b=(fm(),new Jx(a))}function Df(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function Juc(a,b){return $tc(a.c,a.f,b,a.b,a.a,a.e,a.d)}function wvc(a,b,c){return tvc(a,b)?uvc(a,b):vvc(a,b,c)}function vBb(a,b){je(!a.e);SBb(a.v,wCc,a.t)||
wrc(a.k,b)}function qqc(a){Zc(a.a);a.b=sC(yR,Uxc,1,a.b.length,5,1)}function Oxb(a){if(a.b)return null;return a0b(a.c,a.a)}function Fgb(a){Gfb();return a.j==(m5b(),E3b)||a.j==D3b}function Bv(){zv();return vC(qC(fG,1),Zxc,183,0,[xv,yv])}function C$(){A$();return vC(qC(mI,1),Zxc,259,0,[y$,z$])}function Mhc(a){return String.fromCharCode.apply(null,a)}function Cfc(a){var b;b=a-10;return(b<0?48+a:97+b)&Kxc}function Lu(a,b){var c;c=a.a.size();ce(b,c);return c-1-b}function R7(a,b){var c;c=$7(b);je(!!c);S7(a,
c,b);$_(a.a)}function $s(a,b,c,d){Pp.call(this,a,b);this.d=c;this.a=d}function XZ(a,b,c,d){PZ.call(this,c,d);this.a=a;this.c=b}function qB(a,b,c,d){this.d=a;this.c=b;this.a=c;this.b=d}function kB(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function E0(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function Rlb(a,b,c,d,e){Z_(a.a,Olb(a,b,c,d,e,(lX(),iX)))}function Slb(a,b,c,d,e){Z_(a.a,Olb(a,b,c,d,e,(lX(),kX)))}function kEb(a,b,c,d,e){return V_b(new e1b(b,c,d,e),a.t)}function nEb(a,b){return V_b(new _1b((m5b(),
Q4b),b),a.t)}function Cgb(a){Gfb();return a.j==(m5b(),w3b)&&b0b(a)==3}function Esb(){Dsb();return vC(qC(jM,1),Zxc,267,0,[Csb])}function X1(){V1();return vC(qC(AI,1),Zxc,250,0,[T1,U1])}function xXb(a){je(JXb(a));return new b1b((m5b(),u3b),a)}function VXb(a){je(JXb(a));return new b1b((m5b(),I4b),a)}function aYb(a){je(JXb(a));return new b1b((m5b(),$4b),a)}function eYb(a){je(JXb(a));return new b1b((m5b(),l5b),a)}function cSb(a){return a.a==null?(SLb(),Yn(tLb,a)).b:a.a}function Aac(a,b,c){return H8b(L8b(K8b(new O8b(a),
c),b))}function p7b(a,b,c,d){return h6b(a,b,c,d)||a.d.Di(b,c,d)}function YPb(a,b){this.c=a;this.a=b;this.b=new cMb(this)}function d3(a){c3.call(this,(Gm(),de(a),Om(new Zmc(a))))}function Eib(){G0.call(this,"garbageCollectChecks",true)}function h8b(a){oe(a.gj()||a.e==2,ZFc,a);return J5b(a.j)}function DGb(a,b){a.o=!a.o?ZHb(a.j):vGb(a);return a.o==b}function Gac(a,b){var c;c=new T8b(a);P8b(c,b);return c.b}function kcc(a,b){var c;c=lnc((nv(),new Krc));lcc(a,b,c)}function cfc(a,b,c,d){a.a=Hhc(a.a,0,b)+
(""+d)+Ghc(a.a,c)}function Pic(a,b,c){return nD(b)?Qic(a,b,c):Src(a.d,b,c)}function wqc(a,b){return brc(a.a,b)?xqc(a,b.f,null):null}function Qrc(a,b){var c;c=a.a.get(b);return c==null?[]:c}function dqc(a,b){if(b[cGc]!=a[cGc])throw QT(new gqc);}function $i(a){vi(a.d);if(a.d.d!=a.c)throw QT(new gqc);}function Zc(a){var b;for(b=a.Ld();b.Dd();){b.Ed();b.Fd()}}function pj(a){var b;b=a.d;!b&&(a.d=b=new xk(a));return b}function oj(a){var b;b=a.c;!b&&(a.c=b=new tk(a));return b}function Yoc(a){!a.b&&(a.b=
new Cpc(a.d.ne()));return a.b}function Jvb(a,b){de(b);je(a.n.isEmpty());a.n=b;return a}function Egc(a,b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function n4(a,b){var c;c=new K3(a,b);Qic(k4,a,c);return c}function o4(a,b){var c;c=new L3(a,b);Qic(k4,a,c);return c}function jcc(){jcc=pU;hcc=new tcc((Sw(),Rw));icc=new ucc}function ndc(a){this.c=(_q(),new ir((Ew(),Dw)));this.d=a}function MZ(a){this.c=new D1;this.a=new NZ(this);this.g=a}function xlc(a){this.d=a;this.a=this.d.c;this.b=this.d.b}function Dlc(a){this.d=
a;this.a=this.d.b;this.b=this.d.c}function Iqb(a,b,c,d){this.d=a;this.e=b;this.f=c;this.c=d}function UJb(a,b,c,d){this.b=a;this.d=b;this.a=c;this.c=d}function mWb(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function OKb(a,b,c,d){Ne.call(this,a,b);this.b=c;this.a=d}function TLb(a,b,c,d){Ne.call(this,a,b);this.b=c;this.a=d}function QDb(a,b,c,d){Ne.call(this,a,b);this.a=c;this.b=d}function fcc(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function hhc(a,b,c){this.a=Pyc;this.d=a;this.b=b;this.c=c}function Tcb(){GU();
KU.call(this,null);this.a=(zmb(),xmb)}function Gob(){G0.call(this,"rewriteAsyncFunctions",true)}function H_b(a){if(!a)return new F_b(true);return G_b(a)}function ee(a,b){if(a==null)throw QT(new _gc(b));return a}function TWb(a,b){var c;c=new SWb;EWb(c,a,b);return c.c.a}function ewc(a,b,c,d){var e;e=new dwc(b,c);e.c=d;fwc(a,e)}function qIb(a,b,c,d){var e;a.d=true;e=TWb(c,d);a.$h(b,e)}function cPb(a){return dPb(a,a.b.b==0?a.d:kPb(a,0).b.b.c)}function Sic(a,b){return b==null?Trc(a.d,null):hsc(a.e,b)}
function Mtc(a,b){return oD(a)===oD(b)||a!=null&&nb(a,b)}function A1(a){return a.Vb!=(t2(),s2)&&v2(a.Ub)&&!v2(a.Vb)}function z1(a){if(a.Vb==(t2(),s2))return a.Ub;return a.Vb}function c1(a){if(!a.a||!a.a.Gg())return;a.a.Gg().d=true}function Ss(a){var b;return b=a.g,!b?a.g=new ji(a,a.c):b}function djb(a){var b;b=new bjb;cZ(new vZ(b),a,5);return b}function Rdc(){Rdc=pU;Odc=new Udc;Pdc=new Ydc;Qdc=new aec}function bC(){bC=pU;var a,b;b=!gC();a=new oC;aC=b?new hC:a}function SB(a){MB();$wnd.setTimeout(function(){throw a;
},0)}function nz(a,b){a.backingJsObject=b;b!=null&&oxc(b,Eyc,a)}function $bb(a,b,c,d,e,f){return new Vbb(a,null,b,c,e,d,f)}function jwc(a,b,c){b.sj()>=(iwc(a),800)&&ewc(a,b,c,null)}function psb(a,b,c){nsb();qsb.call(this,a,b,c,(Dsb(),Csb))}function Gkb(a,b,c){var d;Kkb.call(this,a,b,(d=c,m5b(),d))}function Hkb(a,b,c){var d;Kkb.call(this,a,b,(d=c,m5b(),d))}function Ikb(a,b,c){var d;Kkb.call(this,a,b,(d=c,m5b(),d))}function Ncb(a,b,c){this.c=de(a);this.a=de(b);this.b=de(c)}function zqc(a){this.a=$qc(a.a);
this.b=Cwc(a.b,a.b.length)}function Aqc(a){this.a=$qc(a.a);this.b=Cwc(a.b,a.b.length)}function ntc(a){a.a.a=a.c;a.c.b=a.a;a.a.b=a.c.a=null;a.b=0}function wi(a){a.b?wi(a.b):a.d.isEmpty()&&a.f.c.remove(a.e)}function zr(a){if(a)return a.isEmpty();return!a.Ld().Dd()}function $r(a,b){Mr();de(a);Yd(b>=0,uyc);return new Ds(b,a)}function myb(a,b){je(!a.O);de(b);a.O=b;a.P=Yr(b.Wh().Ld())}function VV(a,b){NV((m5b(),y4b),b);v2(a.a.v)?XV(a,b):WV(b)}function gU(a,b){return TT(YC(XT(a)?cU(a):a,XT(b)?cU(b):b))}
function kx(a){return ro(new pmc(Lq(Lq(new Mq,a.a),a.b).a))}function U_b(a){return!a.b?(gnc(),gnc(),fnc):new V1b(a.b)}function FU(){DU();return vC(qC(SH,1),Zxc,201,0,[AU,CU,BU])}function YU(){WU();return vC(qC(WH,1),Zxc,212,0,[UU,VU,TU])}function nX(){lX();return vC(qC(aI,1),Zxc,208,0,[iX,kX,jX])}function S1(){Q1();return vC(qC(zI,1),Zxc,204,0,[O1,P1,N1])}function b2(){_1();return vC(qC(BI,1),Zxc,205,0,[Y1,Z1,$1])}function F2(){D2();return vC(qC(FI,1),Zxc,206,0,[A2,C2,B2])}function T2(){R2();return vC(qC(HI,
1),Zxc,207,0,[P2,O2,Q2])}function uWb(a,b){rWb();var c;c=tWb(a);++c.a;c.b=RT(c.b,b)}function lfb(a,b){d0(a.d,b);if(dhb(b)){Ukc(a.b,b);jtc(a.c)}}function $1b(a,b){if(null==b)throw QT(new xcb(SFc));a.a=b}function KBb(a,b){je(b.f==0);return a==b||!!a.n&&ozb(a.n,b)}function ehb(a){Gfb();return a.j==(m5b(),y3b)&&e0b(a,60)==0}function ngb(a){Gfb();Xd(a.j==(m5b(),a5b));return b0b(a)==3}function zwc(a){var b;b=new ywc;b.a=new RegExp(a);return b}function b0b(a){var b,c;b=0;for(c=a.b;c;c=c.d)++b;return b}function a0b(a,
b){var c;c=a.b;while(b>0){c=c.d;--b}return c}function bic(a,b){a.a=Hhc(a.a,0,b)+""+Ghc(a.a,b+1);return a}function Oic(a,b){return b==null?!!Rrc(a.d,null):esc(a.e,b)}function Wg(a,b){return b===a?"(this Map)":b==null?Mxc:sU(b)}function FGb(a,b){return V_b(new a1b(b,a.j.g,YHb(a.j)),a.n)}function xjc(a){cxc(a.b>0);return a.a.getAtIndex(a.c=--a.b)}function onc(a){gnc();return iD(a,76)?new Tpc(a):new Doc(a)}function or(){or=pU;fm();nr=(Ew(),Dw);mr=new ax(new lvc(nr))}function _e(){_e=pU;Ye=new cf;Xe=new ff;
Ze=new jf;$e=new mf}function B4(){B4=pU;x4=new E4;z4=new F4;y4=new G4;A4=new I4}function jMb(){jMb=pU;iMb=zwc("^//#\\s*sourceMappingURL=")}function k_(a){var b;if(a.H.uc){b=s_(a);qhc(b,a.A)||(a.A=b)}}function hfb(a){var b;b=jlc(a.n)+jlc(a.k);je(b>0);return b-1}function Cjb(a){var b;b=a.b.i>a.a;a.a=a.b.t;++a.b.t;return b}function fu(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function q4(a,b,c){this.c=a;this.a=b;this.b=c;this.d=this.a}function PA(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}
function pz(a,b){var c;c=Qfc(a.Cj);return b==null?c:c+": "+b}function GBb(a,b){if(a.f!=0)return IBb(a,b);return HBb(a,b)}function djc(a,b){if(iD(b,58))return Rg(a.a,b);return false}function _oc(a){!a.e&&(a.e=new ioc(a.d.values()));return a.e}function $oc(a){!a.c&&(a.c=new upc(a.d.keySet()));return a.c}function Jqc(a,b){if(iD(b,58))return Rg(a.a,b);return false}function gq(a){this.b=(Yk(a,"initialArraySize"),new Vlc(a))}function Wrc(a){this.e=a;this.b=this.e.a.entries();this.a=[]}function sWb(){rWb();
this.a="Parse Program";this.b=WT(Pwc())}function Qkb(){Okb();return vC(qC(aL,1),Zxc,255,0,[Nkb,Mkb])}function Bmb(){zmb();return vC(qC(qL,1),Zxc,175,0,[xmb,ymb])}function _mb(){Zmb();return vC(qC(yL,1),Zxc,181,0,[Xmb,Ymb])}function inb(){gnb();return vC(qC(BL,1),Zxc,180,0,[enb,fnb])}function Rrc(a,b){return Prc(a,b,Qrc(a,b==null?0:a.b.uj(b)))}function nhc(a,b){return mhc(a.toLowerCase(),b.toLowerCase())}function Bl(a,b){var c;return c=Yn(a.a,b),!c?(Gm(),Gm(),Fm):c}function Bpc(a,b){var c;for(c=0;c<
b;++c)a[c]=new Mpc(a[c])}function j_(a,b){if(a.H.qd){_hc(a.d,b);Uhc(a.d,10);hwc(g_,b)}}function pjb(a){if(a.e){a.g=W_b(a.f,false);a.k=fhb(a.f,a.g)}}function Yd(a,b){if(!a)throw QT(new xcb(b==null?Mxc:sU(b)));}function ke(a,b){if(!a)throw QT(new sgc(b==null?Mxc:sU(b)));}function IU(a,b,c){if(!a.b)return b;return c.a+b+(QU(),NU).a}function Osc(a,b){if(iD(b,58))return Rg(a.a,b);return false}function qU(a){function b(){}b.prototype=a||{};return new b}function mgb(a){Xd(a.j==(m5b(),N2b));return!!a.b&&
a.b.j==U2b}function Pxb(a){if(a.b)return a.b.Dd();return a.a+1<b0b(a.c)}function qxb(a,b,c,d){return pxb(a,b,d,!c?(Gm(),Gm(),Fm):c.o)}function mIb(a){return qo(yf(Bf(Ef(new jc(44)),(Ic(),Gc)),a))}function pD(a){return Math.max(Math.min(a,Exc),-2147483648)|0}function YYb(a){return(a.a&2)!=0||(a.a&512)!=0||(a.a&nCc)!=0}function KYb(a){if(!a.d||!a.d.n)return 0;return Uic(a.d.n.c)}function fZb(a,b){if(!a.d.s)return false;return usc(a.d.s,b)}function lIb(a,b){var c;nIb();c=jIb;return new yDb(c,b,kIb,a)}
function rfb(a,b){var c,d;for(c=b.b;c;){d=c.d;qfb(a,c,b);c=d}}function Ksc(a){var b;b=a.c.b.b;a.b=b;a.a=a.c.b;b.a=a.c.b.b=a}function _Bb(a){de(a);this.a=(dCb(),bCb);this.b=null;this.c=a}function hmb(a){emb(this);de(a);this.e=null;this.f=a;this.d=0}function odb(a,b,c){hdb.call(this);this.a=a;this.c=b;this.b=c}function Tmb(a,b){Fmb();Kmb.call(this,a);this.b=b;this.e=null}function sz(a,b){lz(this);this.e=b;this.f=a;mz(this);this.nf()}function ax(a){yo.call(this,a);de(a);this.a=(gnc(),new Xpc(a))}function $ob(){Iib.call(this,
"Es6SplitVariableDeclarations")}function w3(){q3();var a;r3(this);a=new Arc(pv(0));v3(this,a)}function cuc(a,b){var c,d;c=b;d=new Guc;euc(a,c,d);return d.d}function O7(a,b){var c;c=$7(b);if(c)return Y7(a,c,b);return 0}function lp(a,b,c,d){de(b);de(c);de(d);return kp(a,b).put(c,d)}function v8(a,b,c,d){this.b=a;u8.call(this,a,c,d);this.a=de(b)}function hdb(){gdb(this);this.e=true;this.g=new Cp;this.f=this}function Uob(){Iib.call(this,"Es6RenameVariablesInParamLists")}function ovb(a){if(a.n.isEmpty())return a;
return $ub(a,a.a.j)}function _6(a,b){if(a.Ah())return!!a.vh().uh(b);return false}function Bcb(a,b){if(!a.c){Dcb(a,b);w0b(a.c,53,a.b)}return a.c}function S8(a,b){var c;wfb(a.a,b,a);a0(a.a,(fm(),c=a.b,qo(c)))}function Cac(a,b,c){return H8b(I8b(L8b(K8b(new O8b(a),c),b)))}function Nic(a,b){return b==null?bh(Rrc(a.d,null)):fsc(a.e,b)}function uGb(a,b){return!b?null:new J_b(b,!a.g?null:a.g.Dg())}function qAb(a){return FAb(a.a.s,a,null,null,null,false,a.a.g)}function jgc(a){return qhc(Bxc,typeof a)||a instanceof
Number}function bf(){_e();return vC(qC($D,1),Zxc,128,0,[Ye,Xe,Ze,$e])}function D4(){B4();return vC(qC(YI,1),Zxc,126,0,[x4,z4,y4,A4])}function M1(){K1();return vC(qC(yI,1),Zxc,176,0,[H1,I1,J1,G1])}function Bxb(a,b,c,d){if(!b)return null;return Axb(a,b.a,c,d)}function rxb(a,b,c){Jxb(a,b,c);return je(b.d==(Rub(),Qub)),b.b}function Cxb(a,b,c){Kxb(a,b,c);return je(b.a==(dCb(),cCb)),b.b}function N_b(a,b,c){Yd(!b.d,MFc);Yd(!b.f,NFc);b.f=b;R_b(a,b,c)}function _vc(a,b){b.c.length==0&&gwc(b,new swc);Qic(a.a,
b.c,b)}function Apc(a,b){var c;c=a.b.Md(b);Bpc(c,a.b.size());return c}function zpc(a){var b;b=a.b.toArray();Bpc(b,b.length);return b}function ku(a){zt(a.c);a.e=a.a=a.c;a.c=a.c.c;++a.d;return a.a.f}function lu(a){zt(a.e);a.c=a.a=a.e;a.e=a.e.e;--a.d;return a.a.f}function GY(a){if(a.r){a.dg(";");a.tg()}a.fg();a.mg();a.r=false}function elc(a,b){if(Xkc(a,b)){Clc(a);return true}return false}function Zfc(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.mj(b))}function Ku(a,b){var c,d;d=Mu(a,b);c=a.a.Od(d);return new Zu(c)}
function nV(a,b){NV((m5b(),l3b),b);HV(b.b);oV(a,b.b?b.b.f:null)}function cq(a,b,c){Jlc(a.b,(Xk(b,c),nv(),new Pp(b,c)));return a}function hr(a,b,c){Jlc(a.b,(Xk(b,c),nv(),new Pp(b,c)));return a}function V0b(a,b,c,d){var e;e=new dic;U0b(a,e,b,c,d);return e.a}function ldc(a,b,c,d){a.b=false;hr(a.c,b,new odc(c,d));return a}function cic(a,b,c){a.a=Hhc(a.a,0,b)+(""+c)+Ghc(a.a,b);return a}function NZb(a,b){var c;c=(Yd(b>=0,KFc),1<<b);return(c&a.o)!=0}function Uub(a,b,c,d){Aub.call(this,a,b,d);de(b);de(c);
this.a=c}function nA(a,b,c,d){hA.call(this,a);this.c=b;this.d=c;this.b=d}function Oc(a,b,c,d){return Pc(a,(de(d),new tjc(new Gd(d,b,c))))}function rr(a,b){or();de(a);return de(a),sr(a,new yoc(b.b.Ld()))}function pAb(a,b){return FAb(a.a,b,null,a,null,a.c,(Pzb(),Nzb))}function Qic(a,b,c){return b==null?Src(a.d,null,c):gsc(a.e,b,c)}function Vgb(a){return a.j==(m5b(),u3b)&&a.b.j==u2b&&Ugb(a.b.b)}function Awc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function zPb(a){while(PPb(ePb(a,a.d)?lhc(a.e.a,
a.d):0))fPb(a)}function rV(a){var b;NV((m5b(),t3b),a);for(b=a.b;b;b=b.d)qV(b)}function yV(a){var b;NV((m5b(),M3b),a);for(b=a.b;b;b=b.d)xV(b)}function $2(a,b){var c,d;for(d=b.Ld();d.Dd();){c=d.Ed();Z2(a,c)}}function i1(a,b){return ro(new pmc(Lq(Lq((fm(),new Mq),a),b).a))}function W_(a,b,c){!a.t&&(a.t=new qrc);c.b=a;return Pic(a.t,b,c)}function Tf(a){if(a.b>=a.c)throw QT(new Ltc);return Vp(a,a.b++)}function FYb(a){if(!a.d||!a.d.e)return 0;return a.d.e.a.length}function KXb(a){if(!LXb(a))return a.j==
(m5b(),I4b);return true}function Egb(a){Gfb();return a.j==(m5b(),N2b)&&!!a.e&&a.e.j==y3b}function Vrb(){Trb();return vC(qC(cM,1),Zxc,211,0,[Srb,Rrb,Qrb])}function Tub(){Rub();return vC(qC(sM,1),Zxc,240,0,[Pub,Oub,Qub])}function Xxb(){Vxb();return vC(qC(BM,1),Zxc,218,0,[Txb,Sxb,Uxb])}function mBb(){kBb();return vC(qC(SM,1),Zxc,238,0,[hBb,iBb,jBb])}function fCb(){dCb();return vC(qC(XM,1),Zxc,239,0,[bCb,aCb,cCb])}function wHb(){uHb();return vC(qC(hN,1),Zxc,237,0,[sHb,tHb,rHb])}function GDb(){EDb();return vC(qC(aN,
1),Zxc,214,0,[DDb,BDb,CDb])}function Kob(){Iib.call(this,"Es6RewriteBlockScopedDeclaration")}function FB(a){DB();BB.call(this,a);this.a="";this.b=a;this.a=""}function __(a,b){ee(b,"the error manager cannot be null");a.f=b}function fPb(a){if(!ePb(a,a.d))return 0;return lhc(a.e.a,a.d++)}function UYb(a){if(!a.d||!a.d.s)return Sw(),Rw;return Cn(a.d.s)}function e0b(a,b){var c;c=r0b(a,b);if(!c)return 0;return c.ji()}function oGb(a,b,c,d){a.b.fh(m2b(b,null),!a.g?null:a.g.Dg(),c,d)}function qfc(a){ofc.call(this,
a==null?Mxc:sU(a),iD(a,38)?a:null)}function Ax(a,b){Ip.call(this,nnc(de(a),de(b)));this.b=a;this.c=b}function Gq(){Hq.call(this,Zv(Uv((Yk(8,"expectedKeys"),new Wv))))}function Vw(a){Gm();this.a=(gnc(),iD(a,76)?new Tpc(a):new Doc(a))}function afc(){throw QT(new kic("File.getPath not implemented"));}function Bz(){throw QT(new kic("Files.toString not implemented"));}function QPb(a){return RPb(a)||/\d/.test(String.fromCharCode(a))}function dU(a){var b;if(XT(a)){b=a;return b==-0?0:b}return VC(a)}function b1(a){if(!a.a||
!a.a.Gg())return false;return a.a.Gg().d}function JU(a,b){if(!a.b)return b;return(QU(),LU).a+(""+b)+OU.a}function JY(a){if(a.r){a.dg(";");a.tg();a.mg();a.r=false}a.s=true}function Xgb(a){Gfb();return a.j==(m5b(),K4b)||a.j==N2b||a.j==e4b}function s9b(){q9b();return vC(qC(xQ,1),Zxc,222,0,[n9b,o9b,p9b])}function Tdc(){Rdc();return vC(qC(YQ,1),Zxc,152,0,[Odc,Pdc,Qdc])}function j2(){h2();return vC(qC(CI,1),Zxc,160,0,[d2,g2,e2,f2,c2])}function N2(){L2();return vC(qC(GI,1),Zxc,159,0,[G2,J2,H2,K2,I2])}function SU(){QU();
return vC(qC(UH,1),Zxc,164,0,[MU,PU,NU,LU,OU])}function wwb(a){Rvb();return Ewb(a.a,2,(fm(),new Jx(a)),null,Ovb)}function wfb(a,b,c){dfb();var d;d=new vfb(a,c,new X6(a));pfb(d,b)}function nPb(a,b,c){mPb(a,dPb(a,a.b.b==0?a.d:kPb(a,0).b.b.c),b,c)}function ROb(a,b,c,d){!b?qIb(a.c,cPb(a.j),c,d):qIb(a.c,b.b.b,c,d)}function Yqb(a,b,c,d){Iqb.call(this,a,b,c,d);this.b=null;this.a=c}function _Ab(a,b,c,d){Xd(!!b);this.c=a;this.d=b;this.b=c;this.a=d}function blb(a){de(a);this.a=a;this.b=new klc;Ukc(this.b,new glb)}
function nmc(a){cxc(a.a<a.c.a.length);a.b=a.a++;return a.c.a[a.b]}function Ukc(a,b){exc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;Zkc(a)}function Vkc(a,b){exc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;Zkc(a)}function kwc(a,b,c){iwc(a);ewc(a,b,"Failed to parse sourcemap",c)}function dqb(a,b,c){_hc(_hc(_hc(_hc((a.a+="@",a),b)," {"),c),"}")}function Zac(a,b,c){A5b();q8b.call(this,a,ACc,b,c,null,true,true)}function Zhc(a,b,c,d){a.a+=""+Hhc(b==null?Mxc:sU(b),c,d);return a}function ce(a,b){if(a<0||a>=b)throw QT(new lfc(Ud(a,
b)));return a}function ie(a,b,c){if(a<0||b<a||b>c)throw QT(new lfc(Wd(a,b,c)));}function tvc(a,b){if(b==null)throw QT(new Zgc);return Jic(a.a,b)}function uvc(a,b){if(b==null)throw QT(new Zgc);return Mic(a.a,b)}function cEb(a,b){if(!yEb(b))return null;return bEb(a,$Db(a,b.o))}function Hxb(a,b,c,d,e){if(!b)return null;return Ixb(a,b.a,c,d,e)}function mAb(a,b){if(!a||!b)return true;return tzb(a,b)||tzb(b,a)}function rMb(a,b){if(kPb(a.j,0).c==b)return nMb(a,b);return null}function _Lb(a,b){var c;c=umc(a.a,
b);if(c>=0)return c;return-c-2}function kPb(a,b){while(a.b.b<=b)etc(a.b,uPb(a));return Mt(a.b,b)}function EGb(a,b,c){a.o=!a.o?ZHb(a.j):vGb(a);return a.o==b||a.o==c}function Zfb(a){Gfb();Yd(a.j==(m5b(),y3b),a);return a.b?a.b.f:null}function zgb(a){Gfb();return a.j==(m5b(),x3b)||a.j==w3b&&b0b(a)==3}function $Ab(a){return a.a==(kBb(),jBb)?a:new _Ab(a.c,a.d,a.b,jBb)}function wPb(a){while(WPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)>=0)fPb(a)}function DPb(a){while(XPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)>=0)fPb(a)}function vSb(a,
b,c){jSb.call(this,(EVb(),_Tb),a);this.b=b;this.a=c}function ySb(a,b,c){jSb.call(this,(EVb(),cUb),a);this.b=b;this.a=c}function OSb(a,b,c){jSb.call(this,(EVb(),rUb),a);this.b=b;this.a=c}function RSb(a,b,c){jSb.call(this,(EVb(),uUb),a);this.b=b;this.a=c}function TSb(a,b,c){jSb.call(this,(EVb(),wUb),a);this.b=b;this.a=c}function yTb(a,b,c){jSb.call(this,(EVb(),KUb),a);this.b=b;this.a=c}function zTb(a,b,c){jSb.call(this,(EVb(),LUb),a);this.b=b;this.a=c}function DTb(a,b,c){jSb.call(this,(EVb(),PUb),a);
this.b=b;this.a=c}function ETb(a,b,c){jSb.call(this,(EVb(),QUb),a);this.b=b;this.a=c}function HTb(a,b,c){jSb.call(this,(EVb(),UUb),a);this.b=b;this.a=c}function JTb(a,b,c){jSb.call(this,(EVb(),WUb),a);this.b=b;this.a=c}function PTb(a,b,c){jSb.call(this,(EVb(),aVb),a);this.b=b;this.a=c}function HVb(a,b,c){jSb.call(this,(EVb(),cVb),a);this.b=b;this.a=c}function PVb(a,b,c){jSb.call(this,(EVb(),kVb),a);this.b=b;this.a=c}function QVb(a,b,c){jSb.call(this,(EVb(),lVb),a);this.b=b;this.a=c}function IVb(a,
b,c){jSb.call(this,(EVb(),dVb),a);this.a=b;this.b=c}function WVb(a,b,c){jSb.call(this,(EVb(),sVb),a);this.a=b;this.b=c}function ZVb(a,b,c){jSb.call(this,(EVb(),rVb),a);this.a=b;this.b=c}function bWb(a,b,c){jSb.call(this,(EVb(),zVb),a);this.a=b;this.b=c}function xSb(a,b,c){jSb.call(this,(EVb(),bUb),a);this.a=b;this.b=c}function FSb(a,b,c){jSb.call(this,(EVb(),iUb),a);this.a=b;this.b=c}function PSb(a,b,c){jSb.call(this,(EVb(),sUb),a);this.a=b;this.b=c}function sTb(a,b,c){jSb.call(this,(EVb(),EUb),a);
this.a=b;this.b=c}function BTb(a,b,c){jSb.call(this,(EVb(),NUb),a);this.a=b;this.b=c}function $Vb(a,b,c){jSb.call(this,(EVb(),vVb),a);this.b=b;this.a=c}function eWb(a,b,c){jSb.call(this,(EVb(),BVb),a);this.b=b;this.a=c}function fWb(a,b,c){jSb.call(this,(EVb(),CVb),a);this.b=b;this.a=c}function gWb(a,b,c){jSb.call(this,(EVb(),DVb),a);this.b=b;this.a=c}function qcc(a,b,c){var d;d=a.b.oe(b);!!d&&ecc(c,d.a);a.b.put(b,c)}function Ejc(a,b,c){hxc(b,c,a.size());this.c=a;this.a=b;this.b=c-b}function sjc(a){ixc(a.c!=
-1);a.d.removeAtIndex(a.c);a.b=a.c;a.c=-1}function DYb(a,b){if(!a.b||!a.b.e)return null;return vsc(a.b.e,b)}function RYb(a,b){if(!a.b||!a.b.j)return null;return vsc(a.b.j,b)}function NYb(a,b){if(!a.d||!a.d.n)return null;return vsc(a.d.n,b)}function bdc(a,b,c,d,e){if(a.a)return false;return F7b(a,b,c,d,e)}function guc(a,b){var c;c=1-b;a.a[c]=huc(a.a[c],c);return huc(a,b)}function N3(a){G3();Jic(F3,a)||Pic(F3,a,new J3(a));return Mic(F3,a)}function jl(a){_f.call(this);this.a=new llc(a.length);hnc(this.a,
a)}function tuc(a){uuc.call(this,a,(Xuc(),Tuc),null,false,null,false)}function yuc(a){zuc.call(this,a,(Xuc(),Tuc),null,false,null,false)}function olb(a){jlb();plb.call(this,a,tlb($kb("js/polyfills.txt")))}function W7(a,b,c){return c?Kfb(b,a.b,a.d):(Gfb(),Lfb(b,false,a.a))}function dub(a,b){return new fub(a.a,a.f,a.d,a.g,a.i,a.c,b,a.j,a.b)}function cGb(a,b){return!b?mEb(a.a,(m5b(),g4b),wEc):FFb(a,b,false)}function MGb(a,b){return b==(SHb(),LHb)?FGb(a,(m5b(),D4b)):LGb(a,b)}function oXb(a){var b;je(KXb(a));
b=new b1b((m5b(),N2b),a);return b}function aMb(a,b){var c;c=_Lb(a,b);return new mWb(a.b,b,c,b-a.a[c])}function nXb(a,b,c){ke(JXb(b),b);ke(JXb(c),c);return new d1b(a,b,c)}function Aib(a,b,c){var d;d=c.e;je(!!d);je(j0b(d,b));xfb(a.b,a,b,c)}function QB(a,b,c){var d;d=OB();try{return NB(a,b,c)}finally{RB(d)}}function g0b(a,b){var c;c=r0b(a,b);if(!c)return null;return c.li()}function XYb(a,b){if(!a.d||!a.d.n)return false;return usc(a.d.n,b)}function eZb(a,b){if(!a.d.q)return false;return Nlc(a.d.q,b,0)!=
-1}function VWb(a){if(a.b>=a.c)throw QT(aXb(a));return lhc(a.a,a.b++)}function uz(b){if(!("stack"in b))try{throw b;}catch(a){}return b}function Im(a){var b;b=(de(a),new Wlc(($k(),a)));mnc(b);return bn(b)}function KA(a){Thc(a.b,34);TA(new VA(a.j),a);Thc(a.b,59);Thc(a.b,34)}function Wib(a,b,c){Ukc(a.f,new ajb(b,c));qhc(b,zAc)||(a.d.a=false)}function SOb(a,b,c){!b?qIb(a.c,cPb(a.j),AFc,c):qIb(a.c,b.o.b,AFc,c)}function vg(a,b,c,d){return iD(c,76)?new Xi(a,b,c,d):new Mi(a,b,c,d)}function W5b(a,b){A5b();
return!a||!b?a==b:B5b(a,b,0,new j9b(true))}function cs(a){Mr();return Uhc(Nc(($k(),Zk),Uhc(new dic,91),a),93).a}function A$(){A$=pU;y$=new B$("INHERITS",0);z$=new B$("MIXIN",1)}function V1(){V1=pU;T1=new W1("BROWSER",0);U1=new W1("CUSTOM",1)}function t1(a){this.b=new iuc;this.c=new Ulc;this.d=new Ulc;this.a=a}function bJb(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function U8b(a,b,c){K7b.call(this,a,null,null,c,b.v);de(b);this.a=b}function _Eb(a,b,c){if(c){gFb(a,c,(NKb(),oKb));w0b(b,
81,zEb(a.a,c))}}function P7(a,b,c,d){if(!b||b==c)return;P7(a,b.d,c,d);Q7(a,b.b,c,d)}function PV(a,b){var c;NV((m5b(),t4b),b);for(c=b.b;c;c=c.d)QV(a,c)}function oV(a,b){var c;NV((m5b(),m3b),b);for(c=b.b;c;c=c.d)RV(a,c)}function BV(a,b){var c;NV((m5b(),U3b),b);for(c=b.b;c;c=c.d)AV(a,c)}function LV(a,b){switch(b.j.f){case 29:HV(b);break;case 26:vV(a,b)}}function yjc(a,b){this.a=a;tjc.call(this,a);gxc(b,a.size());this.b=b}function sdc(a,b){A5b();ycc.call(this,a,Oac(a,(wac(),sac)));this.a=b}function bbc(a,
b){var c,d;c=b.c;d=c.Pi(a);if(d!=c)return d;return b}function WWb(a){while(cXb(a.b<a.c?lhc(a.a,a.b):-1))VWb(a);return-1}function ttc(a){cxc(a.b!=a.d.c);a.c=a.b;a.b=a.b.a;++a.a;return a.c.c}function rjc(a){cxc(a.b<a.d.size());return a.d.getAtIndex(a.c=a.b++)}function SXb(a){je(a.j==(m5b(),g4b)||a.j==G4b);return new b1b(y4b,a)}function Om(a){Gm();var b;if(iD(a,72)){b=a;return b.Me()}return Mm(a)}function Wr(a){Mr();var b;while(true){b=a.Ed();if(!a.Dd())return b}}function z3(a,b){var c;c=b.b-a.b;if(c!=
0)return c;c=a.c-b.c;return c}function _fc(a){if(a.qj())return null;var b=a.n;var c=mU[b];return c}function he(a,b){if(a<0||a>b)throw QT(new lfc(Vd(a,b,Xxc)));return a}function Wfb(a,b){Gfb();var c;c=a;while(!!c&&!b.Gd(c))c=c.e;return c}function xfb(a,b,c,d){dfb();var e;e=new vfb(a,b,new X6(a));tfb(e,c,d)}function L3(a,b){G3();var c;this.a=a;this.b=(fm(),c=new Zmc(b),qo(c))}function Jf(a,b,c){this.a=c;this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function zwb(a,b){Rvb();return 0==a.Vh()||0==b.Vh()||0!=
Fwb(a,b).Vh()}function rTb(){pTb();return vC(qC(tO,1),Zxc,190,0,[mTb,nTb,oTb,lTb])}function _uc(){Xuc();return vC(qC(sT,1),Zxc,140,0,[Tuc,Uuc,Vuc,Wuc])}function er(a){_q();return nv(),new juc((iD(a,217)?a:new el(a)).Ie())}function BPb(a){while(Afc(ePb(a,a.d)?lhc(a.e.a,a.d):0,16)>=0)fPb(a)}function Y_b(a,b){var c;X_b(a,b);for(c=a.b;c;c=c.d)Y_b(c,b);return a}function Y0b(a,b){var c;X0b(a,b);for(c=a.b;c;c=c.d)Y0b(c,b);return a}function $0b(a,b){var c;Z0b(a,b);for(c=a.b;c;c=c.d)$0b(c,b);return a}function r0b(a,
b){var c;c=a.g;while(!!c&&b!=c.mi())c=c.ki();return c}function T6b(a,b,c,d){var e;e=a.dj(b,c,false,d);Uac(a.u,b,a);return e}function hZb(a){if(!a.c)return false;!a.b&&(a.b=new JZb);return true}function PYb(a){if(!a.d||!a.d.q)return Gm(),Gm(),Fm;return Om(a.d.q)}function Pac(a,b){var c;c=Nic(a.j,b);if(c)return c;return Nic(a.g,b)}function $qc(a){var b;b=Cwc(a.b,a.b.length);return new drc(a.a,b,a.c)}function vh(a,b){var c;c=b.xe();return nv(),new Pp(c,ug(a.b,c,b.ye()))}function xr(a,b){var c;de(a);
return Vr((c=a.a.ne().Ld(),new Qjc(c)),b)}function vt(a,b){var c;c=onc(zu(new mu(a,b)));Qr(new mu(a,b));return c}function lX(){lX=pU;iX=new mX(Zyc,0);kX=new mX($yc,1);jX=new mX(_yc,2)}function Okb(){Okb=pU;Nkb=new Pkb(_yc,0);Mkb=new Pkb("ALL_UNQUOTED",1)}function Kvc(){Kvc=pU;Gvc=new Ovc;Hvc=new Rvc;Ivc=new Uvc;Jvc=new Xvc}function Rvb(){Rvb=pU;Pvb=(fm(),$w(),Zw);Ovb=(null,Zw);Qvb=new Sc("|")}function lub(a){var b;b=new Mvb(a);Hvb(b,a.K);Ivb(b,a.K);return Kvb(b)}function jub(a,b){if(!a)return b;else if(!b)return a;
return Cwb(a,b)}function kub(a,b){if(!a)return b;else if(!b)return a;return Fwb(a,b)}function PMb(a){if(zOb(a,0,(bSb(),DRb)))return jOb(a);return OMb(a,1)}function lzb(a){je(a.a.e);if(!a.a.n)return null;return qzb(a.a.n,a.b)}function EYb(a){if(!a.d||!a.d.e)return Gm(),Gm(),Fm;return onc(a.d.e)}function GYb(a){if(!a.d||!a.d.f)return Gm(),Gm(),Fm;return onc(a.d.f)}function QYb(a){if(!a.d||!a.d.r)return Gm(),Gm(),Fm;return onc(a.d.r)}function Qxb(a){if(a.b)return a.b.Ed();++a.a;return a0b(a.c,a.a).ci()}
function lWb(a){if(!a.d)return"";return yr(yf(Ef(new jc(47)),a.d.c))}function Wkc(a){if(a.b==a.c)return;a.a=sC(yR,Uxc,1,8,5,1);a.b=0;a.c=0}function lrc(a){cxc(a.a<a.c.a.length);a.b=a.a;jrc(a);return a.c.b[a.b]}function phc(a,b){var c;c=b.length;return qhc(a.substr(a.length-c,c),b)}function Bhc(a,b,c){c=Phc(c);return a.replace(new $wnd.RegExp(b,"g"),c)}function Bwc(a,b,c,d){Array.prototype.splice.apply(a,[b,c].concat(d))}function Kwc(){var a=console.groupEnd||function(){};a.call(console)}function sg(a,
b){var c,d;c=uv(a.c,b);if(c){d=c.size();c.clear();a.d-=d}}function Lq(a,b){var c;if(b){c=b;a.a.a.length+c.size()}Op(a,b);return a}function bs(a){Mr();var b;b=0;while(Yf(a)){Zf(a);b=RT(b,1)}return Hz(b)}function jhb(a){Gfb();return X0b((je(JXb(a)),new b1b((m5b(),u3b),a)),a)}function ufb(a,b){dfb();vfb.call(this,a,b,v2(a.v)?new X6(a):new fob(a))}function Lac(a,b){return usc(a.b,b)?vsc(a.b,b).values():(Gm(),Gm(),Fm)}function F5b(a){return a.xi()||a.vi()||a.wi()||Oac(a.u,(wac(),L9b))==a}function $vb(a){return a.Vh()==
2&&a.Wh().size()==1?Yr(a.Wh().Ld()):null}function n1b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|Vyc:a<<12|b&Vyc}function V7(a,b,c){return b.j==(m5b(),g4b)&&(tgb(b,a.d)||xrc(c,b.ci()))}function rZ(a,b){if(g0b(b,78)){DY(a.c,":");a.c.sg();a.xg(g0b(b,78),5)}}function BXb(a,b){je(JXb(a));je(JXb(b));return new d1b((m5b(),D3b),a,b)}function Ggc(a,b){if(b==10||b<2||b>36)return""+a;return a.toString(b)}function wwc(a,b){this.d=a;this.c=b;this.e=null;this.b=false;this.a=0}function ksc(a){this.d=a;this.b=this.d.a.entries();
this.a=this.b.next()}function zsc(){qrc.call(this);ssc(this);this.b.b=this.b;this.b.a=this.b}function mu(a,b){var c;this.f=a;this.b=b;c=Mic(a.b,b);this.c=!c?null:c.b}function gtc(a,b,c,d){var e;e=new Ctc;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.b}function bxc(a){if(a<0)throw QT(new Ygc("Negative array size: "+a));}function IB(){if(Date.now)return Date.now();return(new Date).getTime()}function PB(b){MB();return function(){return QB(b,this,arguments);var a}}function Qlb(a){a=Awc(a);return zwc(Bhc(a,"\\{\\d+\\}",
"\\\\E.*\\\\Q"))}function RB(a){a&&YB((WB(),VB));--JB;if(a)if(LB!=-1){TB(LB);LB=-1}}function jV(a,b,c){var d;NV((m5b(),W2b),b);for(d=b.b;d;d=d.d)iV(a,d,c)}function Gjb(a,b){var c;Fjb(a,b);for(c=b.b;c;c=c.d){je(c.e==b);Gjb(a,c)}}function C7(a,b){var c;if(!b.b){c=NXb(b.ci());Z0b(c,b);P_b(b,c);$_(a.a)}}function cNb(a){var b;nMb(a,(bSb(),iRb));b=OMb(a,1);nMb(a,nQb);return b}function eq(a,b){var c,d;for(d=b.Ld();d.Dd();){c=d.Ed();a.df(c)}return a}function mz(a){if(a.j){a.backingJsObject!==Dyc&&a.nf();
a.g=null}return a}function Eb(a){a.i=3;a.g=Hf(a);if(a.i!=2){a.i=0;return true}return false}function E$b(a,b){if(kZb(a.a,b)){a.d=true;return true}else return false}function m$b(a,b){if(tYb(a.a,b)){a.d=true;return true}else return false}function o$b(a,b){if(xYb(a.a,b)){a.d=true;return true}else return false}function L$b(a,b){if(jYb(a.a,b)){a.d=true;return true}else return false}function N$b(a,b){if(vYb(a.a,b)){a.d=true;return true}else return false}function R$b(a,b){if(kYb(a.a,b)){a.d=true;return true}else return false}
function V$b(a){if(!$Yb(a.a)){nZb(a.a);a.d=true;return true}return false}function W$b(a){if(!_Yb(a.a)){oZb(a.a);a.d=true;return true}return false}function X$b(a){if(!aZb(a.a)){pZb(a.a);a.d=true;return true}return false}function Y$b(a){if(!bZb(a.a)){qZb(a.a);a.d=true;return true}return false}function r_b(a,b){if(zZb(a.a,b)){a.d=true;return true}else return false}function n_b(a,b){if(yYb(a.a,b)){a.d=true;return true}else return false}function s_b(a,b){if(pYb(a.a,b)){a.d=true;return true}else return false}
function A_b(a,b){if(AYb(a.a,b)){a.d=true;return true}else return false}function T1b(a){if(a.c)return T1b(new V1b(a.b));else{a.c=true;return a}}function Ngb(a){Gfb();return!!a&&(a.j==(m5b(),g5b)||a.j==$3b||a.j==$2b)}function l$b(){j$b();return vC(qC(WP,1),Zxc,166,0,[g$b,f$b,h$b,i$b,e$b])}function RJb(a,b){return a.b>=b.b&&(a.d||!b.d)&&(a.a||!b.a)&&(a.c||!b.c)}function kfb(a,b){je(!!a.f);je(!!b);Ukc(a.k,b);lfb(a,b);!!a.i&&a.i.gh(a)}function bab(a,b,c){var d;wrc(a.a,b);d=g0b(c,51);!!d&&d.Fh()&&wrc(a.i,
b)}function Rlc(a,b,c){var d;d=(dxc(b,a.a.length),a.a[b]);a.a[b]=c;return d}function xmc(a,b){var c,d;c=(d=a.slice(0,b),wC(d,a));c.length=b;return c}function ysc(a,b){var c;c=Ric(a.c,b);if(c){Lsc(c);return c.e}return null}function Olc(a,b,c){for(;c>=0;--c)if(Mtc(b,a.a[c]))return c;return-1}function $f(a){a.d=3;a.c=a.Vd();if(a.d!=2){a.d=0;return true}return false}function fA(a,b){if(uA(a.a)&&wA(a.a)==b){vA(a.a);return true}return false}function nzb(a,b){var c;c=DBb(a.a,b);if(!c)return null;return mwb(c,
a.b)}function Uy(a,b){var c;if(iD(b,246)){c=b;return Amc(a.c,c.c)}return false}function yC(a){var b,c,d;b=a&Qyc;c=a>>22&Qyc;d=a<0?Ryc:0;return AC(b,c,d)}function P_(a){a.H.md!=(L2(),I2)&&!!a.U&&Wib(a.U,zAc,true);return new rob}function dYb(a,b){je(b.j==(m5b(),N2b));je(JXb(a));return new d1b(j5b,a,b)}function FXb(a,b){je(JXb(a));je(b.j==(m5b(),N2b));return new d1b(I3b,a,b)}function CXb(a,b){je(JXb(a));je(b.j==(m5b(),Q4b));return new d1b(E3b,a,b)}function Sr(a,b){Mr();return Zr(a,(ue(),b==null?(_e(),
Ze):new Be(b)))!=-1}function SBb(a,b,c){var d;return!!c&&(d=g0b(c,51),!!d&&d.Fh())&&qhc(a,b)}function Vfc(a,b,c){var d;d=Tfc(a);fgc(a,d);d.g=c?8:0;d.f=b;d.e=c;return d}function kp(a,b){var c;c=vsc(a.a,b);if(!c){c=xp(a.b);wsc(a.a,b,c)}return c}function gx(a,b){var c;c=false;while(b.Dd())c=c|a.remove(b.Ed());return c}function dV(a,b){var c;NV((m5b(),Q2b),b);FV(b);for(c=b.b;c;c=c.d)sV(a,c)}function MV(a,b){var c;NV((m5b(),m4b),b);FV(b);for(c=b.b;c;c=c.d)sV(a,c)}function cV(a,b){var c;NV((m5b(),N2b),
b);for(c=b.b;c;c=c.d)aW(a,c,false)}function bqb(a,b,c){wZ.call(this,a,b);de(c);this.b=c;this.a=new Tbb(false)}function Z7(a,b,c,d){de(a);de(b);de(c);this.a=a;this.c=b;this.b=c;this.d=d}function Utc(a,b){this.b=Sxc;this.d=a;this.e=b;this.c=this.d+(""+this.e)}function cA(a,b){b.a.length==0?Jlc(a.i.c,null):Jlc(a.i.c,b);++a.b;a.c=0}function rGb(a,b,c,d){a.b.fh(zEc+m2b(b,null)+AEc,!a.g?null:a.g.Dg(),c,d)}function fGb(a,b,c){return!c||c.isEmpty()?hEb(a.a,(m5b(),k3b)):eGb(a,b,c)}function lHb(a,b,c){return!c?
null:V_b(new c1b(b,c,i1b(c.i),h1b(c.i)),a.n)}function HZb(a,b){if(a)return b?new J_b(W_b(a.a,false),a.b):a;return null}function vsc(a,b){var c;c=Mic(a.c,b);if(c){xsc(a,c);return c.e}return null}function Plc(a,b){var c;c=(dxc(b,a.a.length),a.a[b]);Hwc(a.a,b,1);return c}function Ttc(a,b){!a.a?a.a=new gic(a.d):_hc(a.a,a.b);Yhc(a.a,b);return a}function Tic(a){var b;a.d=new Urc(a);a.e=new isc(a);b=a[cGc]|0;a[cGc]=b+1}function pW(a,b,c){hvc(a.d,new sW(c,b))&&(b==(lX(),iX)?++a.c:b==kX&&++a.e)}function yi(a,
b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function Fic(){throw QT(new kic("FileSystems.getDefault not implemented"));}function Pr(a){if(a<0)throw QT(new lfc(vyc+a+") must not be negative"));}function Fz(a){if(a<=0)throw QT(new xcb("x ("+a+") must be > 0"));return a}function b$(a,b,c){if(b)return 2;if(c||z1(a)==(t2(),p2))return 1;return 0}function es(a){Mr();var b;de(a);if(iD(a,106)){b=a;return b}return new rs(a)}function j8b(a,b){if(qhc(Hzc,b)){i8b(a);return a.f}else return pcc(a.r,
b)}function LYb(a,b){if(!a.d||!a.d.n)return null;return xr(new Kjc(a.d.n),b)}function Pwc(){if(Date.now)return Date.now();return(new Date).getTime()}function eA(a){var b;if(!uA(a.a))return true;b=wA(a.a);return b==59||b==44}function vFb(a,b){var c;c=hEb(a.a,(m5b(),u3b));P_b(c,zEb(a.a,b.a));return c}function V_b(a,b){ke(!a.g,"Node has existing properties.");a.g=b.g;return a}function y0b(a){var b,c;c=a.b;for(b=a.b;b;b=b.d)b.e=null;a.b=null;return c}function F0b(a){var b;b=A0b(a,a.g,67);b!=a.g&&(a.g=
b);a.g=new E1b(67,1,a.g)}function G0b(a){var b;b=A0b(a,a.g,38);b!=a.g&&(a.g=b);a.g=new E1b(38,1,a.g)}function L0b(a){var b;b=A0b(a,a.g,37);b!=a.g&&(a.g=b);a.g=new E1b(37,1,a.g)}function S0b(a){var b;b=A0b(a,a.g,30);b!=a.g&&(a.g=b);a.g=new E1b(30,1,a.g)}function mXb(a,b){ke(q0b(a),a);ke(JXb(b),b);return new d1b((m5b(),u2b),a,b)}function uXb(a,b){ke(JXb(a),a);ke(JXb(b),b);return new d1b((m5b(),Z2b),a,b)}function NXb(a){oe(thc(a,Nhc(46))==-1,yzc,a);return new _1b((m5b(),g4b),a)}function mkc(a,b){var c,
d;c=b.xe();d=a.yj(c);return!!d&&Mtc(d.ye(),b.ye())}function Qtc(a,b){var c;c=Fbb(a.a,b);if(c==null)throw QT(new Ktc);return c}function S8b(a,b){var c;c=new _1b((m5b(),g4b),"");c.k=b;P_b(a.b,c);return c}function c6(a,b,c,d){var e;b.j==c&&d.add(b);for(e=b.b;e;e=e.d)c6(a,e,c,d)}function x8(a,b,c){var d;u8.call(this,a,b,c);d=h0b(c);d!=null&&Qic(a.i,d,b)}function Msb(){Msb=pU;Lsb=new Nsb("","",(Gm(),Gm(),Fm),(null,Fm),(Sw(),Rw))}function glb(){flb(this);this.d=(ub(),ub(),tb);this.e=this;this.c=(null,tb)}
function Bx(a,b,c){Ip.call(this,nnc(de(a),de(b)));this.b=a;this.c=b;this.a=c}function ecb(){this.c=new Ulc;this.a=new Ulc;this.d="$singleton$";this.b=-1}function Vlc(a){Hlc(this);$wc(a>=0,"Initial capacity must not be negative")}function ncc(a){var b;if(!a.a)return null;b=a.a.Ui();return!b?null:b.Xi()}function gxc(a,b){if(a<0||a>b)throw QT(new lfc("Index: "+a+", Size: "+b));}function jxc(a,b,c){if(a<0||b>c||b<a)throw QT(new hic(lGc+a+mGc+b+kGc+c));}function oe(a,b,c){if(!a)throw QT(new sgc(te(b,vC(qC(yR,
1),Uxc,1,5,[c]))));}function ae(a,b,c){if(!a)throw QT(new xcb(te(b,vC(qC(yR,1),Uxc,1,5,[c]))));}function sC(a,b,c,d,e,f){var g;g=tC(e,d);e!=10&&vC(qC(a,f),b,c,e,g);return g}function UXb(a,b){je(a.j==(m5b(),R4b));je(!a.b);je(JXb(b));Q_b(a,b);return a}function UV(a,b){var c;b.j==(m5b(),k3b)?(c=b0b(b),0!=c&&nW(azc+c,b)):sV(a,b)}function w5(a,b){t5();var c;c=b;while(c.e.j==(m5b(),V3b))c=c.e;O_b(c.e,a,c)}function Iwb(a,b){Rvb();if(!a)return b;else if(!b)return a;return Cwb(a,b)}function sYb(a,b){if(PYb(a).isEmpty()){BZb(a,
b,Iyc);return true}return false}function l_b(a,b,c){if(wYb(a.a,b,c)){a.d=true;return true}else return false}function u_b(a,b,c){if(zYb(a.a,b,c)){a.d=true;return true}else return false}function x_b(a,b,c){if(rYb(a.a,b,c)){a.d=true;return true}else return false}function x6b(a,b,c,d){if(!B5b(a.b,b.b,c,d))return false;return y6b(a,b,c,d)}function duc(a,b){var c;c=new Guc;c.c=true;c.d=b.ye();return euc(a,b.xe(),c)}function T8(a){this.c=new $8(this);this.a=a;this.b=!a.i?new btc:new dtc(a.i)}function Asc(a){Wic.call(this,
a,0);ssc(this);this.b.b=this.b;this.b.a=this.b}function Fuc(a,b){ikc.call(this,a,b);this.a=sC(nT,oyc,184,2,0,1);this.b=true}function dxc(a,b){if(a<0||a>=b)throw QT(new lfc("Index: "+a+", Size: "+b));}function U1b(a){if(!a.a)throw QT(new Ltc);try{return a.a}finally{a.a=a.a.d}}function $T(a){var b;if(XT(a)){b=0-a;if(!isNaN(b))return b}return TT(QC(a))}function $_(a){var b,c;for(c=new pmc(a.a);c.a<c.c.a.length;){b=nmc(c);b.cg()}}function thb(a,b,c){var d;b.nh(a);if(c.Gd(a))for(d=a.b;d;d=d.d)thb(d,b,
c)}function Onb(a,b,c){var d,e,f;d=c.ci();e=gfb(b);f=e.xh(d);return xrc(a.a.f,f)}function PEb(a){var b;while(a.Dd()){b=a.Ed();if(b.b==2)return b}return null}function xGb(a,b){if(b==(SHb(),xHb)){a.i=(uHb(),sHb);return b}return wGb(a,b)}function aqb(a,b){if(b.Ni())return iec(b.Ni(),a.b.bh((wac(),vac)));return b}function Eac(a,b){return Kac(a,vC(qC(BQ,1),Uxc,19,0,[b,Oac(a,(wac(),P9b))]))}function y2(){t2();return vC(qC(DI,1),Zxc,118,0,[k2,l2,m2,n2,o2,p2,q2,r2,s2])}function VY(a){return a==95||a==36||
/[A-Z\d]/i.test(String.fromCharCode(a))}function Zvb(a){return a.Vh()==2&&a.Wh().size()==1?Zzb(Yr(a.Wh().Ld())):null}function lD(a){return a!=null&&(typeof a===zxc||typeof a===Cxc)&&!(a.Ej===tU)}function HA(a,b,c){a.a+=",\n";a.a+='"';a.a+=""+b;a.a+='"';a.a+=":";a.a+=""+c}function sSb(a,b,c,d){jSb.call(this,(EVb(),YTb),a);this.a=b;this.b=c;this.c=d}function KSb(a,b,c,d){jSb.call(this,(EVb(),nUb),a);this.a=b;this.b=c;this.c=d}function GSb(a,b,c,d){jSb.call(this,(EVb(),jUb),a);this.c=b;this.b=c;this.a=
d}function WSb(a,b,c,d){jSb.call(this,(EVb(),AUb),a);this.c=b;this.b=c;this.a=d}function XSb(a,b,c,d){jSb.call(this,(EVb(),BUb),a);this.c=b;this.b=c;this.a=d}function ISb(a,b,c,d){jSb.call(this,(EVb(),lUb),a);this.a=b;this.c=c;this.b=d}function wTb(a,b,c,d){jSb.call(this,(EVb(),IUb),a);this.a=b;this.c=c;this.b=d}function VVb(a,b,c,d){jSb.call(this,(EVb(),qVb),a);this.a=b;this.b=c;this.c=d}function aWb(a,b,c,d){jSb.call(this,(EVb(),xVb),a);this.b=b;this.c=c;this.a=d}function cWb(a,b,c,d){jSb.call(this,
(EVb(),yVb),a);this.c=b;this.a=c;this.b=d}function Wbb(a,b,c,d){Vbb.call(this,a,b,b?i1b(b.i):-1,b?h1b(b.i):-1,c,null,d)}function $Xb(a,b){var c;je(JXb(b));c=new _1b((m5b(),R4b),a);Q_b(c,b);return c}function j0b(a,b){var c;for(c=a.b;c;c=c.d)if(b==c)return true;return false}function th(a,b){var c,d;c=tv(a.a,b);if(!c)return null;d=b;return ug(a.b,d,c)}function Md(a,b,c){var d,e;d=(e=new Rd,a.c=a.c.b=e,e);d.c=c;d.a=de(b);return a}function tub(a){var b;b=new btc;Xc(b,a.A.keySet());Xc(b,new Kjc(a.B));return b}
function dGb(a,b){var c;c=mEb(a.a,(m5b(),W3b),b.a);xEb(c,b.b.b,b.b.a);return c}function Xsc(a){dqc(a.c.a.c,a);cxc(a.b!=a.c.a.b);a.a=a.b;a.b=a.b.a;return a.a}function c_b(a){if(cZb(a.a))return false;else{vZb(a.a);a.d=true;return true}}function m_b(a){if(dZb(a.a))return false;else{yZb(a.a);a.d=true;return true}}function C_b(a){if(gZb(a.a))return false;else{DZb(a.a);a.d=true;return true}}function iZb(a,b){if(b.d){!a.d&&(a.d=new PZb);a.d.o|=(!b.d?null:Hgc(b.d.o)).a}}function nGb(a,b,c){a.b.fh("Missing type declaration.",
!a.g?null:a.g.Dg(),b,c)}function G5b(a,b,c){var d;d=c?new j9b(true):new j9b(false);return B5b(a,b,0,d)}function vvc(a,b,c){if(b==null||c==null)throw QT(new Zgc);return Pic(a.a,b,c)}function _1b(a,b){_0b.call(this,a);if(null==b)throw QT(new xcb(SFc));this.a=b}function Db(a){var b;if(!Cb(a))throw QT(new Ltc);a.i=1;b=a.g;a.g=null;return b}function Zf(a){var b;if(!Yf(a))throw QT(new Ltc);a.d=1;b=a.c;a.c=null;return b}function Dp(a){var b;a=a>2?a:2;b=zgc(a);if(a>b){b<<=1;return b>0?b:lyc}return b}function wC(a,
b){rC(b)!=10&&vC(pb(b),b.Dj,b.__elementTypeId$,rC(b),a);return a}function M_(a,b){a.X=new d3(vC(qC(eM,1),Uxc,173,0,[new $nb((l4(),Cn(k4))),b]))}function DU(){DU=pU;AU=new EU("NONE",0);CU=new EU("OTI",1);BU=new EU("NTI",2)}function R2(){R2=pU;P2=new S2(_yc,0);O2=new S2("CHECK",1);Q2=new S2("STRIP",2)}function Xuc(){Xuc=pU;Tuc=new Yuc("All",0);Uuc=new avc;Vuc=new cvc;Wuc=new fvc}function dfb(){dfb=pU;new q4("JSC_NODE_TRAVERSAL_ERROR",(lX(),iX),new Hic(cBc))}function Cnb(a){if(a.length<=100)return a;
return Hhc(a,Dnb(a,0),Dnb(a,97))+Qzc}function _k(a){$k();Yk(a,"size");return eU(YT(ZT(a,8),lyc)?ZT(a,8):lyc),new eic}function hx(a,b){var c;ee(a,"set1");ee(b,"set2");c=cx(b,a);return new mx(a,c,b)}function lnc(a){gnc();$wc(a.d.c+a.e.c==0,"map is not empty");return new Nnc(a)}function WPb(a){switch(a){case 48:return 0;case 49:return 1;default:return-1}}function B_b(a,b){if(!a.a.j){a.d=true;CZb(a.a,b);return true}else return false}function X0b(a,b){w0b(a,40,g0b(b,40));P0b(a,g0b(b,51));a.i=b.i;a.c=b.c;
return a}function MXb(a){var b;je(a.j==(m5b(),y3b));b=new _1b(b4b,tBc);P_b(b,a);return b}function Lmc(a,b,c,d){var e;d=(_pc(),!d?$pc:d);e=a.slice(b,c);Mmc(e,a,b,c,-b,d)}function gHb(a,b,c,d,e){var f,g;if(d){g=a.j.g;f=YHb(a.j);v$b(a.e,d,b,c,g,f,e)}}function qe(a,b,c,d){if(!a)throw QT(new sgc(te(b,vC(qC(yR,1),Uxc,1,5,[c,d]))));}function be(a,b,c,d){if(!a)throw QT(new xcb(te(b,vC(qC(yR,1),Uxc,1,5,[c,d]))));}function v_(a){if(!a.f)return vC(qC(SJ,1),qzc,67,0,[]);return qW(a.f,(lX(),iX))}function F_(a){if(!a.f)return vC(qC(SJ,
1),qzc,67,0,[]);return qW(a.f,(lX(),kX))}function r$b(a){return a.d&&((a.a.a&4096)!=0||(a.a.a&xAc)!=0||(a.a.a&yAc)!=0)}function Au(a){return iD(a,112)?Im(a):iD(a,163)?a.a:iD(a,76)?new Yu(a):new Nu(a)}function rC(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function I5(a){this.e=a;this.c=new zsc;this.b=new Ts;this.a=new Ap;this.d=new Ts}function Px(a){this.d=a;this.c=new Zsc(new Qsc(this.d.a));this.a=(Mr(),Mr(),Lr)}function AB(a){lz(this);this.f=!a?null:pz(a,a.mf());this.e=
a;mz(this);this.nf()}function idb(a,b,c){gdb(this);this.e=false;this.g=a;b?this.f=this:this.f=c.f}function BJb(a,b,c,d,e,f){Ne.call(this,a,b);this.d=c;this.c=d;this.b=e;this.a=f}function lMb(a,b){var c,d;for(d=b.b.Ld();d.Dd();){c=d.Ed();!c.b&&yMb(a,b.a,c.c)}}function ljc(a){var b;dqc(a.e,a);cxc(a.b);a.c=a.a;b=a.a.Ed();a.b=kjc(a);return b}function Ihc(a){var b,c;c=a.length;b=sC(rD,Gxc,46,c,15,1);shc(a,0,c,b,0);return b}function Nlc(a,b,c){for(;c<a.a.length;++c)if(Mtc(b,a.a[c]))return c;return-1}function Hz(a){if(ST(a,
Exc)>0)return Exc;if(ST(a,Iyc)<0)return Iyc;return eU(a)}function VC(a){if(NC(a,(bD(),aD))<0)return-JC(QC(a));return a.l+a.m*Tyc+a.h*Uyc}function ZBb(a){je(a.a!=(dCb(),cCb));if(a.a==aCb)return null;a.a=aCb;return a.c}function Cub(a){je(a.d!=(Rub(),Qub));if(a.d==Oub)return null;a.d=Oub;return a.e}function wMb(a){var b;b=null;AOb(a,(bSb(),oQb))&&(b=(nMb(a,oQb),nOb(a)));return b}function dsb(){bsb();return vC(qC(dM,1),Zxc,138,0,[Yrb,Zrb,$rb,Wrb,_rb,asb,Xrb])}function Rmb(a){Fmb();Kmb.call(this,afc());
this.a=(Dic(),Cic).a;!!a&&(this.a=a.a)}function OPb(a,b,c,d){this.b=new otc;this.c=a;this.a=b;this.e=c;this.d=d;this.f=0}function Abb(a,b,c){de(a);Xd(a.j==(m5b(),E3b)||Qgb(a));this.a=a;this.c=b;this.b=c}function Zd(a,b,c){if(!a)throw QT(new xcb(te(b,vC(qC(yR,1),Uxc,1,5,[Kfc(c)]))));}function $d(a,b,c){if(!a)throw QT(new xcb(te(b,vC(qC(yR,1),Uxc,1,5,[Hgc(c)]))));}function le(a,b,c){if(!a)throw QT(new sgc(te(b,vC(qC(yR,1),Uxc,1,5,[Hgc(c)]))));}function _wc(a,b){if(!a)throw QT(new xcb(lxc("Enum constant undefined: %s",
b)));}function z1b(a){var b;if(!a.a.a)throw QT(new Ltc);b=a.a.a;a.a.a=a.a.a.e;return b}function P$b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.d=true;return true}}function Psc(a,b){var c;if(Osc(a,b)){c=b.xe();ysc(a.a,c);return true}return false}function Op(a,b){var c,d;de(b);for(d=b.Ld();d.Dd();){c=d.Ed();a.af(de(c))}return a}function Odb(a,b){var c;Xd(b.indexOf(".")==-1);c=Kdb(a,b,false);return!c?null:c.c}function Rdb(a,b){var c;je(b.indexOf(".")==-1);c=Kdb(a,b,false);return!c?null:c.e}function aeb(a,
b){Xd(b.indexOf(".")==-1);return!Udb(a,b,false)&&!!a.r&&beb(a.r,b)}function pxb(a,b,c,d){if(!b)return null;return Bxb(a,($Bc&b.a)==eCc?b.i:null,c,d)}function $yb(a,b){!!b&&(a.a=b.Vh()==2&&b.Wh().size()==1?Zzb(Yr(b.Wh().Ld())):null)}function kjb(a){while(a.e){a=a.e;if(a.j==(m5b(),y3b)||a.j==K4b)return a}return a}function PFb(a,b){var c;c=hEb(a.a,(m5b(),I4b));!!b.a&&P_b(c,zEb(a.a,b.a));return c}function ZWb(a,b){var c,d;c=VWb(a);b.b=c;if(c==116||c==84){d=VWb(a);b.c=d}return b}function d0b(a,b){var c,
d;d=a.b;c=0;while(d){if(b==d)return c;d=d.d;++c}return-1}function yNb(a){var b,c;c=kPb(a.j,0).b.b;b=oMb(a);return new vTb(new oWb(c,a.g),b)}function INb(a){var b,c;c=kPb(a.j,0).b.b;b=AMb(a);return new CTb(new oWb(c,a.g),b)}function qo(a){fm();var b;if(iD(a,141)&&!iD(a,245)){b=a;return b}return ro(a.Ld())}function i9b(a,b,c,d){var e;e=Mic(a.a,b);!e&&(e=new Krc);Src(e.d,c,d);Pic(a.a,b,e)}function u$b(a,b,c,d,e,f){var g;if(a.b){g=new _Zb;g.d=b;XZb(g,c,d,e,f);RZb(a.b,g)}}function XB(a){var b,c;if(a.a){c=
null;do{b=a.a;a.a=null;c=_B(b,c)}while(a.a);a.a=c}}function YB(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=_B(b,c)}while(a.b);a.b=c}}function We(a,b){var c;exc(b);c=a[":"+b];_wc(!!c,vC(qC(yR,1),Uxc,1,5,[b]));return c}function Eec(a){if(!a.j){a.j=Iec(a);!a.j&&(a.j=new qec(a.i,Om(Fec(a))))}return a.j}function Evb(a){if(a.j);else a.e.a.length==0?Jlc(a.i,a.a.K):Jlc(a.e,a.a.K);return a}function A$b(a){if((a.a.a&37)!=0)return false;else{a.a.a|=1;a.d=true;return true}}function fIb(a){if((a&57296)!=0)return false;
return a==10||a==13||a==8232||a==8233}function isb(){throw QT(new kic("JsFileParser.setIncludeGoogBase not implemented"));}function Jkb(){Kkb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function Jhc(a,b){return b==(Ftc(),Ftc(),Etc)?a.toLocaleLowerCase():a.toLowerCase()}function f0(a,b,c){var d;d=bU(WT(Pwc()),b.a);a.H.md!=(L2(),I2)&&!!a.U&&Xib(a.U,c,d)}function _Mb(a,b){var c;c=(Gm(),new Zp);while(DOb(a))Xp(c,$Mb(a,b));return Om(c.a)}function JGb(a,b,c,d,e,f){var g;f?g=dHb(a,b):g=
aHb(a,b);gHb(a,c,d,g,e);return g}function crc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function O$b(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.d=true;return true}}function j_b(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.d=true;return true}}function jrc(a){var b;++a.a;for(b=a.c.a.length;a.a<b;++a.a)if(a.c.b[a.a])return}function __b(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 RA(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 $0(a,b){var c;c=a.a.Ag(b);if(c){je(c.j==(m5b(),K4b));de(g0b(c,53))}return c}function Zbb(a,b,c){var d;return new Wbb(!a?null:(d=g0b(a,51),!d?null:d.Dg()),a,b,c)}function H8b(a){return new q8b(a.d,null,new E6b(a.d,a.c,a.e,false),a.g,a.f,a.a,a.b)}function ifb(a,b,c){var d;return new Wbb(!a?null:(d=g0b(a,51),!d?null:d.Dg()),a,b,c)}function Pdb(a,b){var c,d;d=(c=Jdb(a,new oBb(b),false),!c?null:c.a);je(!!d);return d}function chb(a){Gfb();switch(a.f){case 63:case 64:return true;
default:return false}}function mdc(a){if(a.b)return Oac(a.d,(wac(),_9b));return new edc(a.d,gr(a.c),a.a)}function Ijb(a){if(a.a)throw QT(new sgc("normalizeNodeType constraints violated"));}function B8(){throw QT(new kic("FunctionInformationMap.newBuilder not implemented"));}function WU(){WU=pU;UU=new XU(_yc,0);VU=new XU("UNMAPPED",1);TU=new XU("MAPPED",2)}function Q1(){Q1=pU;O1=new R1(_yc,0);P1=new R1("ON",1);N1=new R1("AGGRESSIVE",2)}function Trb(){Trb=pU;Srb=new Urb(_yc,0);Rrb=new Urb("LOCAL",1);
Qrb=new Urb("ALL",2)}function pX(){pX=pU;oX=new q4("JSC_MISSING_RETURN_STATEMENT",(lX(),kX),new Hic(uzc))}function bD(){bD=pU;ZC=AC(Qyc,Qyc,524287);$C=AC(0,0,Syc);_C=yC(1);yC(2);aD=yC(0)}function E0b(a,b){var c;c=A0b(a,a.g,78);c!=a.g&&(a.g=c);!!b&&(a.g=new O1b(78,b,a.g))}function P0b(a,b){var c;c=A0b(a,a.g,51);c!=a.g&&(a.g=c);!!b&&(a.g=new O1b(51,b,a.g))}function hqb(a,b){var c,d;c=a;while(c){d=vsc(c.b,b);if(d)return d;c=c.a}return null}function G7b(a){var b;b=a.Ui();while(b){if(b.Ei())return true;
b=b.Ui()}return false}function Os(a){var b;if(iD(a,307)){b=a;return new Ps(b.a)}else return Mr(),new ks(a)}function Rr(a,b){Mr();de(a);de(b);return new Ms(new jl(vC(qC(VS,1),Uxc,28,0,[a,b])))}function Chc(a,b){var c;b=Phc(b);c=new $wnd.RegExp("^(-?)0\\.");return a.replace(c,b)}function Bsc(a){qrc.call(this);ssc(this);this.b.b=this.b;this.b.a=this.b;Ug(this,a)}function c3(a){this.e=new qrc;this.b=new j3(this.e);this.c=new lvc(this.b);$2(this,a)}function Rub(){Rub=pU;Pub=new Sub(ADc,0);Oub=new Sub(BDc,
1);Qub=new Sub("RESOLVED",2)}function dCb(){dCb=pU;bCb=new eCb(ADc,0);aCb=new eCb(BDc,1);cCb=new eCb("RESOLVED",2)}function D2(){D2=pU;A2=new E2("NONE",0);C2=new E2("SENTINEL",1);B2=new E2("NORMAL",2)}function yU(){yU=pU;xU=new q4("JSC_READ_ERROR",(lX(),iX),new Hic("Cannot read: {0}"))}function vic(){tic();return vC(qC(GR,1),Zxc,131,0,[sic,mic,lic,nic,qic,oic,pic,ric])}function Lkb(){Fkb();return vC(qC(_K,1),Zxc,100,0,[Ckb,Dkb,Ekb,Bkb,ykb,xkb,zkb,Akb])}function SDb(){PDb();return vC(qC(bN,1),Zxc,
119,0,[HDb,IDb,JDb,KDb,LDb,NDb,ODb,MDb])}function qhb(a){Gfb();var b;b=a.j==(m5b(),y3b)?a.b?a.b.f:null:a;return Nfb(b,Z4b,Bfb)}function qPb(a,b){if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==46){fPb(a);zPb(a)}return pPb(a,b)}function D$b(a){if((a.a.a&256)!=0)return false;else{a.a.a|=256;a.d=true;return true}}function J$b(a){if((a.a.a&fCc)!=0)return false;else{a.a.a|=fCc;a.d=true;return true}}function K$b(a){if((a.a.a&ZCc)!=0)return false;else{a.a.a|=ZCc;a.d=true;return true}}function M$b(a){if((a.a.a&xAc)!=0)return false;
else{a.a.a|=xAc;a.d=true;return true}}function f_b(a){if((a.a.a&yAc)!=0)return false;else{a.a.a|=yAc;a.d=true;return true}}function D_b(a){if((a.a.a&Hxc)!=0)return false;else{a.a.a|=Hxc;a.d=true;return true}}function Q$b(a){if((a.a.a&Syc)!=0)return false;else{a.a.a|=Syc;a.d=true;return true}}function d_b(a){if((a.a.a&128)!=0)return false;else{a.a.a|=128;a.d=true;return true}}function E5b(a){var b;if(a.t)return false;else{a.t=true;b=a.qi();a.t=false;return b}}function zrb(a){if(a.c)return new X6(a.a);
else{a.b=new Jrb(a);return new Y6(a.a,a.b)}}function wf(a){$d(true,"must be greater than zero: %s",2);return new Df(a.c,a.b,a.d,2)}function pGb(a,b){qGb(a,"msg.bad.fileoverview.visibility.annotation",b,a.j.g,YHb(a.j))}function C0b(a,b){var c;c=A0b(a,a.g,56);c!=a.g&&(a.g=c);b!=0&&(a.g=new E1b(56,b,a.g))}function KV(a,b,c){var d;NV((m5b(),j4b),b);for(d=b.b;d;d=d.d)c?ZU(a,d):aW(a,d,false)}function Wyb(a,b,c){var d;d=new trc(a);nD(b)?Qic(d,b,c):Src(d.d,b,c);return new Yyb(d)}function EXb(a,b,c){je(JXb(a));
je(JXb(b));je(JXb(c));return new e1b((m5b(),H3b),a,b,c)}function m8b(a,b,c){(b._i()||a.o||!!b.Wi())&&(b=new J7b(a.u,a.Zi()+ZBc,b));l8b(a,b,c)}function qYb(a,b){!a.d&&(a.d=new PZb);!a.d.r&&(a.d.r=new Ulc);Jlc(a.d.r,b);return true}function kZb(a,b){!a.d&&(a.d=new PZb);if(a.d.b!=null)return false;a.d.b=b;return true}function IPb(a){if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==92)return EPb(a);fPb(a);return true}function KPb(a){if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==92)return LPb(a);fPb(a);return true}function y3(a,
b){var c;for(c=0;c<a.length;c++)if(a[c].a==b)return true;return false}function mtc(a,b){var c;c=b.c;b.a.b=b.b;b.b.a=b.a;b.a=b.b=null;b.c=null;--a.b;return c}function Tfc(a){var b;b=new Rfc;b.o="Class$"+(a?"S"+a:""+b.j);b.b=b.o;b.k=b.o;return b}function tWb(a){var b;if(Oic(qWb,a))b=Nic(qWb,a);else{b=new vWb;Qic(qWb,a,b)}return b}function fgc(a,b){var c;if(!a)return;b.n=a;var d=_fc(b);if(!d){mU[a]=[b];return}d.Cj=b}function Ddc(a,b){var c;c=Bdc(a,b);return c==-1?Oac(a.b,(wac(),sac)):a.e.getAtIndex(c)}
function Xyb(a,b){var c;c=new trc(a);b==null?Trc(c.d,null):hsc(c.e,b);return new Yyb(c)}function feb(a,b){var c;de(b);a.c=b;c=g0b(a.t,51);!!c&&c.Fh()&&R0b(a.t,Zxb(a.a,cub(b)))}function e0(a,b){je(!a.c);a.b=b;a.c=(a.H.md!=(L2(),I2)&&!!a.U&&Wib(a.U,b,true),new rob)}function rwb(a,b){return a.Wh().isEmpty()?a:Ewb(a.e,a.Vh(),PAb(a.Wh(),b),a.Xh(),a.Uh())}function mvb(a){return!a?null:a.Vh()==2&&a.Wh().size()==1?Zzb(Yr(a.Wh().Ld())):null}function k8b(a){var b;Xd(a.gj()||a.e==2);b=i8b(a).Ui();if(!b)return null;
return b.Si()}function b8(a){switch(a.j.f){case 60:case 62:case 61:return true;default:return false}}function S$b(a){if((a.a.a&8192)!=0)return false;else{a.a.a|=8192;a.d=true;return true}}function iU(){jU();var a=hU;for(var b=0;b<arguments.length;b++)a.push(arguments[b])}function Ib(a,b){var c,d;c=0;for(d=0;d<b.length;d++)ic(a,b.charCodeAt(d))&&++c;return c}function Nr(a,b){Mr();var c;de(a);de(b);c=false;while(b.Dd())c=c|a.add(b.Ed());return c}function Yk(a,b){if(a<0)throw QT(new xcb(b+" cannot be negative but was: "+
a));return a}function se(a,b,c,d,e,f){if(!a)throw QT(new sgc(te(b,vC(qC(yR,1),Uxc,1,5,[c,d,e,f]))));}function Fac(a,b){return Kac(a,vC(qC(BQ,1),Uxc,19,0,[b,Oac(a,(wac(),vac)),Oac(a,P9b)]))}function Adc(a,b){var c;c=Gdc(a,b.e,b.d.size());return Jac(a.b,zdc(b.d,a.d),zdc(c,a.e))}function SA(a,b,c){var d,e;e=QA(a,c.a);d=PA(a,c.a);(a.b<e||a.b==e&&a.a<d)&&UA(a,b,c,e,d)}function Ij(a){var b,c;for(c=a.a.values().Ld();c.Dd();){b=c.Ed();b.a=0}a.a.clear();a.b=0}function o6(a){var b;de(a);this.a=a;this.c=new Ulc;
this.b=new Ulc;this.f=(b=a,new M0(b))}function v5(a){t5();this.c=new up(new zsc,new yp);this.b=new zrc;this.d=new zrc;this.a=a}function Twc(){Twc=pU;Swc=new Xwc;Rwc=new Vwc("ISO-LATIN-1");Qwc=new Vwc("ISO-8859-1")}function a2b(a,b,c,d){a1b.call(this,a,c,d);if(null==b)throw QT(new xcb(SFc));this.a=b}function gub(a,b,c,d,e,f,g,h,i){!h&&(h=(Gm(),Gm(),Fm));return new fub(a,b,c,d,e,f,g,h,i)}function fNb(a){var b;b=kPb(a.j,0).b.b;nMb(a,(bSb(),ARb));return new QSb(new oWb(b,a.g))}function Xdb(a){var b;b=
a;while(b.r){if(Udb(a,yCc,false))return false;b=b.r}return true}function B_(a,b,c){var d;if(c<1)return null;d=A_(a,b);if(d)return Hmb(d,c);return null}function PT(a){var b;if(iD(a,38))return a;b=a&&a[Eyc];if(!b){b=new FB(a);cC(b)}return b}function eC(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&c[1]||Nyc}function T0(a){return a.c.a.length>Gyc.length&&qhc(Gyc,efc(a.c,a.c.a.length-Gyc.length))}function Ysb(a){Wsb();typeof console!==EBc&&typeof console.log!==EBc&&console.log(a)}
function lU(a,b){typeof window===zxc&&typeof window["$gwt"]===zxc&&(window["$gwt"][a]=b)}function xWb(a,b){yB.call(this,"ConvertionType = "+String.fromCharCode(a)+" class = "+b)}function JSb(a,b,c,d,e){jSb.call(this,(EVb(),mUb),a);this.d=b;this.b=c;this.c=d;this.a=e}function YSb(a,b,c,d,e){jSb.call(this,(EVb(),CUb),a);this.d=b;this.b=c;this.c=d;this.a=e}function wSb(a,b,c,d,e){jSb.call(this,(EVb(),aUb),a);this.c=b;this.b=c;this.a=d;this.d=e}function HSb(a,b,c,d,e){jSb.call(this,(EVb(),kUb),a);this.d=
b;this.c=c;this.a=d;this.b=e}function uTb(a,b,c,d,e){jSb.call(this,(EVb(),GUb),a);this.c=b;this.b=c;this.d=d;this.a=e}function ATb(a,b,c,d,e){jSb.call(this,(EVb(),MUb),a);this.c=b;this.b=c;this.d=d;this.a=e}function xTb(a,b,c,d,e){jSb.call(this,(EVb(),JUb),a);this.a=b;this.b=c;this.d=d;this.c=e}function r7b(a,b,c,d){Z6b.call(this,a);this.d=b;this.c=iD(b,55)?b:null;this.b=c;this.a=d}function Bdb(a,b,c,d,e){Xd(b.indexOf(".")==-1);d&&wrc(a.b,b);e?a.e.put(b,c):wsc(a.o,b,c)}function bkb(a,b,c){var d;d=
new Wjb;wfb(a.c,b,d);if(d.a)return;a.e=c;a.i=c;wfb(a.c,b,a)}function w0b(a,b,c){var d;d=A0b(a,a.g,b);d!=a.g&&(a.g=d);c!=null&&(a.g=new O1b(b,c,a.g))}function _Wb(a,b,c){var d;b.p=c;d=a.b<a.c?lhc(a.a,a.b):-1;return d==46?$Wb(a,b):ZWb(a,b)}function scb(a,b){var c,d;if(a==b)return 0;c=a.b;d=b.b;return c<d?-1:d==c?mhc(a.d,b.d):1}function Zqc(a,b){var c;exc(b);c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function $Db(a,b){var c;c=null;while(!!a.b&&a.b.a.a.c<=b.b.c){c=a.b;a.b=PEb(a.k)}return c}
function gEb(a,b,c,d){b.p==(EVb(),bVb)&&(c.a&$Bc)==eCc&&(d=iEb(a,(m5b(),T2b),d));return d}function fe(a,b,c){if(a==null)throw QT(new _gc(te(b,vC(qC(yR,1),Uxc,1,5,[c]))));return a}function fHb(a,b){var c;if(a.e.c){c=zGb(a,b,a.f?0:2,false);b=c.b}else b=wGb(a,b);return b}function qOb(a){var b,c;b=kPb(a.j,0).b.b;c=pMb(a);return new XVb(new oWb(b,a.g),kMb(a,c))}function BOb(a){switch(kPb(a.j,0).c.f){case 63:case 64:return true;default:return false}}function POb(a){switch(kPb(a.j,0).c.f){case 68:case 69:return true;
default:return false}}function wgb(a){Gfb();switch(a.j.f){case 153:case 106:return true;default:return Ygb(a)}}function Cb(a){je(a.i!=3);switch(a.i){case 0:return true;case 2:return false}return Eb(a)}function Yf(a){je(a.d!=3);switch(a.d){case 2:return false;case 0:return true}return $f(a)}function n$b(a,b){var c;c=IYb(a.a);c==null&&(c="");sZb(a.a,c+(""+b));a.d=true;return true}function Ug(a,b){var c,d;exc(b);for(d=b.ne().Ld();d.Dd();){c=d.Ed();a.put(c.xe(),c.ye())}}function a8(a,b){var c,d,e;e=a;
for(c=a,d=c.e;d!=b;c=d,d=c.e)b8(d)&&c!=d.b&&(e=d);return e}function mV(a,b,c){var d;aV(a,c);d=c.b;d.j==(m5b(),g4b)?HV(d):d.j==s2b?_U(a,b,d):TV(a,b,d)}function kcb(a,b,c){var d;d=Mic(a.a,b);if(!d){d=ocb(a,b);Pic(a.a,b,d)}return d.contains(c)}function ncb(a){var b,c,d;d=new qrc;for(c=a.b.Ld();c.Dd();){b=c.Ed();Qic(d,b.d,b)}return d}function Dgc(a){var b,c;if(a==0)return 32;else{c=0;for(b=1;(b&a)==0;b<<=1)++c;return c}}function Ykc(a,b,c){var d,e,f;f=a.a.length-1;for(e=a.b,d=0;d<c;e=e+1&f,++d)b[d]=a.a[e]}
function ljb(a,b,c){var d;if(a.o){d="AST hashCode after "+b+": "+wxc(j0(a.a,c));j_(a.a,d)}}function Hjb(a,b,c){if(a.a)Gjb(a,c);else{!!b&&wfb(a.b,b,new Mjb);!!c&&wfb(a.b,c,new Mjb)}}function iib(a,b){if(a.a)throw QT(new sgc("Normalize constraints violated:\n"+b));$_(a.b)}function C8(){throw QT(new kic("FunctionInformationMap.Entry.newBuilder not implemented"));}function Xtb(){Xtb=pU;Wtb=new q4("JSC_USELESS_BLOCK",(lX(),jX),new Hic("Useless block."))}function Vjb(){Vjb=pU;Ujb=new q4("JSC_COMMONJS_MODULE_LOAD_ERROR",
(lX(),iX),new Hic(aDc))}function Wsb(){Wsb=pU;Vsb=new M3(vC(qC(TI,1),Uxc,5,0,[new q4(YBc,(lX(),iX),new Hic(""))]))}function t5(){t5=pU;r5=Yqc((m5b(),j5b),vC(qC(jQ,1),Zxc,10,0,[w3b,x3b,i3b,y3b]));s5=new C5}function GGb(a,b,c,d){var e;e=V_b(new a2b((m5b(),Q4b),b,c,d),a.n);J0b(e,b.length);return e}function tYb(a,b){if(!hZb(a))return true;!a.b.a&&(a.b.a=new Ulc);Jlc(a.b.a,b);return true}function uYb(a,b){if(!hZb(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}function xYb(a,b){if(!hZb(a))return true;
!a.b.g&&(a.b.g=new Ulc);Jlc(a.b.g,b);return true}function yYb(a,b){if(!hZb(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function AYb(a,b){if(!hZb(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function vvb(a,b){var c;if(!a)return b;if(!b)return a;c=Fwb(a,b);return 0==c.Vh()?null:c}function C5b(a,b){var c;if(iD(b,143)){c=b.b;if(!!c&&c.yi())return C5b(a,c)}return b.Zi()}function dEb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&xAc)!=0&&(a.c=true);return true}return false}function _Hb(a){var b;
b=XHb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function Er(a){var b;b=Xgc(a.a.b.size(),a.b);return new yoc(Coc(a.a,b,a.a.b.size()).b.Ld())}function Kvb(a){je(!a.c);je(Uic(a.f.c)==0);return gub(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.n,a.b)}function Clc(a){ixc(a.c>=0);if(flc(a.d,a.c)<0){a.a=a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}function nnc(a,b){gnc();var c;c=new rrc(1);nD(a)?Qic(c,a,b):Src(c.d,a,b);return new apc(c)}function as(a,b){var c;de(b);c=false;while(a.Dd())if(ve(b,a.Ed())){a.Fd();
c=true}return c}function e1(a,b,c){this.e=new Ulc;this.d=new Ulc;this.a=a;this.f=b;!!a.Gg()&&Jmb(a.Gg(),c)}function PZ(a,b){this.i=new eic;je(!!b);this.o=a<=0?Exc:a;this.j=false;this.p=b;this.g=null}function WZ(a){if(a.n>0){a.e=a.i.a.length;a.f=a.b;Uhc(a.i,10);a.n=0;++a.k;a.b=a.i.a.length}}function JEb(a){if(a>=48&&a<=49)return a-48;throw QT(new sgc(tEc+String.fromCharCode(a)));}function OEb(a){if(a>=48&&a<=55)return a-48;throw QT(new sgc(tEc+String.fromCharCode(a)));}function rcb(a,b){var c,d;for(d=
new pmc(b.a);d.a<d.c.a.length;){c=nmc(d);a.add(c);rcb(a,c)}}function v$b(a,b,c,d,e,f,g){var h;if(a.b){h=new c$b;h.d=b;h.a=g;XZb(h,c,d,e,f);UZb(a.b,h)}}function Cdb(a,b,c){Xd(b.length!=0);Xd(b.indexOf(".")==-1);Xd(!Udb(a,b,false));wsc(a.j,b,c)}function i3(a,b,c){var d;d=b.Jg()-c.Jg();if(d!=0)return d;return Mic(a.a,c).a-Mic(a.a,b).a}function xOb(a){var b,c;c=kPb(a.j,0).b.b;b=wOb(a,1);sMb(a);return new dWb(new oWb(c,a.g),b)}function i6(a){var b,c;c=z0b(a.d);b=z0b(a.d);if(Mgb(b)){a.d=b;j6(a,c.ci())}else Q_b(a.j,
b)}function Wvb(a){var b;b=a.Vh()==2&&a.Wh().size()==1?Yr(a.Wh().Ld()):null;return!b?null:b.b}function H5b(a){return!a.Ei()&&!a.Li()&&!a.Ki()&&!a.Ji()&&a.Ai()?"!"+a.Oi(true):a.Oi(true)}function Mnb(a,b){return!!b&&(b.j==(m5b(),Q2b)||b.j==m4b)&&!!b.b&&(Unb(a,b.b)||Tnb(a,b.b))}function huc(a,b){var c,d;c=1-b;d=a.a[c];a.a[c]=d.a[b];d.a[b]=a;a.b=true;d.b=false;return d}function ww(a){var b,c,d;d=0;for(c=a.ne().Ld();c.Dd();){b=c.Ed();d=RT(d,b.ve())}return Hz(d)}function Obb(a,b,c){var d;d=new dic;d.a+=
"@";d.a+=b;d.a+=" {";Nbb(a,d,c);d.a+="}";return d.a}function ohb(a){Gfb();var b;b=nhb(a);if(b==null)throw QT(new nfc("Unknown op "+a));return b}function bc(a,b){var c;c=tmc(a.c,b);if(c>=0)return true;else{c=~c-1;return c>=0&&b<=a.b[c]}}function z$b(a){if((a.a.a&262144)!=0)return false;else{a.a.a|=262144;a.d=true;return true}}function Gz(a){if(!a)throw QT(new jfc("mode was UNNECESSARY, but rounding was necessary"));}function CX(){CX=pU;BX=new q4("JSC_USELESS_CODE",(lX(),kX),new Hic("Suspicious code. {0}"))}
function KX(){KX=pU;JX=new q4("JSC_UNREACHABLE_CODE",(lX(),kX),new Hic("unreachable code"))}function Vtb(){Vtb=pU;Utb=new q4("JSC_UNUSED_LABEL",(lX(),jX),new Hic("Unused label {0}."))}function Ebb(){Ebb=pU;Cbb=zwc("^(\\w+(\\.\\w+)*)\\s*[:= ]");Dbb=zwc("^\\s*(.*?)(\\\\?)$")}function ZIb(a,b){var c;a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[b]),zEc+m2b(XEc,c)),a.b.Dg(),a.d,a.c)}function $Ib(a,b){var c;a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[b]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c)}function _Ib(a,b){var c;a.a.fh((c=vC(qC(yR,
1),Uxc,1,5,[b]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c)}function aJb(a,b){var c;a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[b]),zEc+m2b(WEc,c)),a.b.Dg(),a.d,a.c)}function kV(a,b){var c;NV((m5b(),N2b),b);e0b(b,38)!=0||nW(ezc,b);for(c=b.b;c;c=c.d)$V(a,c)}function AXb(a,b,c){je(a.j==(m5b(),g4b));je(b.j==y4b);je(c.j==N2b);return new e1b(y3b,a,b,c)}function G_b(a){var b;b=nYb(a,false);b.j==(j$b(),e$b)&&(b.j=null);return new E_b(b,a.c,true)}function xNb(a){var b;b=(Gm(),new Zp);while(!AOb(a,(bSb(),yQb)))Xp(b,eOb(a));return Om(b.a)}
function fec(a){var b,c;for(c=a.b.Ld();c.Dd();){b=c.Ed();if(b.Ni()){oec(a);break}}return a.a}function gec(a){var b,c;for(c=a.b.Ld();c.Dd();){b=c.Ed();if(b.Ni()){oec(a);break}}return a.b}function ex(a){var b,c,d;b=0;for(d=a.Ld();d.Dd();){c=d.Ed();b+=c!=null?rb(c):0;b=~~b}return b}function Y8(a,b){var c,d;for(d=fec(b).Ld();d.Dd();){c=d.Ed();Knc(a.a,c)&&c.Pi(a)}return a.b.b}function Jub(a){var b,c;for(c=a.Ld();c.Dd();){b=c.Ed();if(awb(b.a))return true}return false}function Kub(a){var b,c;for(c=a.Ld();c.Dd();){b=
c.Ed();if(bwb(b.a))return true}return false}function Bwb(a){var b,c;for(c=a.Ld();c.Dd();){b=c.Ed();if(b==b.a.d)return false}return true}function Qgb(a){Gfb();switch(a.j.f){case 89:case 84:case 85:case 96:return true}return false}function cg(a,b,c){var d,e;d=(e=a.f,!e?a.f=new wh(a,a.c):e).oe(b);return!!d&&d.contains(c)}function mfb(a,b,c,d){var e,f;e=new Wbb(!b?null:(f=g0b(b,51),!f?null:f.Dg()),b,c,d);Z_(a.d,e)}function yDb(a,b,c,d){var e;this.a=ADb(a);this.d=b;this.b=0;this.e=(fm(),e=c,qo(e));this.c=
d}function bu(a){this.e=a;this.d=new Arc(pv(dg(this.e).size()));this.c=this.e.a;this.b=this.e.c}function knc(a){gnc();var b,c;c=new Ulc;for(b=0;b<a;++b)c.a[c.a.length]="";return new Tpc(c)}function mec(a){var b,c;for(c=a.b.Ld();c.Dd();){b=c.Ed();if(b.Ei())return true}return false}function Fdc(a,b){var c,d;for(d=a.d.Ld();d.Dd();){c=d.Ed();if(c==b)return true}return false}function Xc(a,b){var c,d,e;exc(b);c=false;for(e=b.Ld();e.Dd();){d=e.Ed();c=c|a.add(d)}return c}function Np(a,b){var c,d,e,f;de(b);
for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Iq(a,de(c))}return a}function BA(a,b){var c,d;c=vsc(a.g,b);if(c)d=c.a;else{d=Uic(a.g.c);wsc(a.g,b,Hgc(d))}return d}function H0b(a,b){var c;c=A0b(a,a.g,29);c!=a.g&&(a.g=c);!!b&&(a.g=new O1b(29,b,a.g));return a}function iub(a){var b,c,d;d=null;for(c=a.Ld();c.Dd();){b=c.Ed();!d?d=b:d=hub(d,b)}return d}function ge(a,b,c,d){if(a==null)throw QT(new _gc(te(b,vC(qC(yR,1),Uxc,1,5,[c,d]))));return a}function x_(a){if(a.s.isEmpty())throw QT(new sgc("No inputs"));return $0(a.s.getAtIndex(0),
a)}function MYb(a){var b;if(!a.d||!a.d.n)return fm(),$w(),Zw;return fm(),b=new Kjc(a.d.n),qo(b)}function zxb(a,b,c,d){var e;e=Axb(a,b,c,d);return e.Vh()==34&&e.Wh().size()==1?jwb(e,a.a.k):e}function _Db(a,b){var c;c=$Db(a,b);return!!c&&c.c.indexOf("@")==-1?rEb(a,b,qEb(a,c)):bEb(a,c)}function beb(a,b){Xd(b.indexOf(".")==-1);return Udb(a,b,false)||qhc(b,a.p)||!!a.r&&beb(a.r,b)}function Rxb(a,b){Xd(!!a||!!b);if(a){this.c=a;this.b=null}else{this.c=null;this.b=MYb(b).Ld()}}function zuc(a,b,c,d,e,f){var g;
this.c=a;g=new Ulc;Ztc(a,g,b,a.b,c,d,e,f);this.a=new yjc(g,0)}function Ysc(a){ixc(!!a.a);dqc(a.c.a.c,a);Lsc(a.a);Ric(a.c.a.c,a.a.d);eqc(a.c.a.c,a);a.a=null}function v3(a,b){a.f=b;a.d="";a.b=0;a.a=u3(a,o3);a.c=u3(a,p3);Pmc(a.a,null);Pmc(a.c,null);s3(a)}function nZ(a,b){var c;DY(a.c,"{");for(c=b.b;c;c=c.d){c!=b.b&&DY(a.c,",");a.xg(c,5)}DY(a.c,"}")}function kec(a){var b,c;for(c=a.b.Ld();c.Dd();){b=c.Ed();if(!b.Ai())return false}return true}function Vvb(a){var b,c,d;for(d=a.Wh().Ld();d.Dd();){c=d.Ed();
b=c.b;if(b)return b}return null}function Hfb(a){var b;for(b=a.b.d;b;b=b.d)if(!Qfb(b,(ue(),_e(),Xe)))return false;return true}function Nub(a,b){if(a.isEmpty())return b;if(b.isEmpty()||dx(a,b))return a;return kx(hx(a,b))}function _$b(a){if((a.a.a&33554432)!=0)return false;else{a.a.a|=33554432;a.d=true;return true}}function e_b(a){if((a.a.a&67108864)!=0)return false;else{a.a.a|=67108864;a.d=true;return true}}function p_b(a){if((a.a.a&16777216)!=0)return false;else{a.a.a|=16777216;a.d=true;return true}}
function xBb(a,b,c,d){je(!a.e);if(GBb(a,b))return;a.b=Wyb(a.b,b,new _Ab(d,c,null,(kBb(),jBb)))}function oyb(a,b){je(!a.T);de(b);a.T=b;a.V=Cwb(a.r,a.T);a.U=Yr(b.Wh().Ld());!!a.X&&Cwb(a.V,a.Z)}function ryb(a,b){je(!a.X);de(b);a.X=b;a.Z=Cwb(a.u,a.X);a.Y=Yr(b.Wh().Ld());!!a.T&&Cwb(a.V,a.Z)}function v0b(a,b,c){var d;d=A0b(a,a.g,b);d!=a.g&&(a.g=d);(c?1:0)!=0&&(a.g=new E1b(b,c?1:0,a.g))}function O0b(a,b){var c;c=A0b(a,a.g,58);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new E1b(58,b?1:0,a.g))}function T0b(a,b){var c;
c=A0b(a,a.g,62);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new E1b(62,b?1:0,a.g))}function cx(a,b){var c;ee(a,"set1");ee(b,"set2");c=(ue(),new Ge(new we(b)));return new ux(a,c,b)}function mcb(a,b,c){if(c==b||kcb(a,c,b))return b;else if(kcb(a,b,c))return c;return lcb(a,b,c)}function ieb(a,b){if(Udb(a,b,false))return;while(a){if(Udb(a,b,false)){a.d.add(b);return}a=a.r}}function Sy(a,b){var c;if(b==a.length)return a;else{c=sC(qD,Cyc,46,b,15,1);iic(a,c,b);return c}}function fzb(a,b){var c;if(b==null)return false;
je(iD(b,231));c=b;return a.a==c.a&&Mtc(a.b,c.b)}function dBb(a,b){if(a==(kBb(),iBb)||b==iBb)return iBb;if(a==jBb||b==jBb)return jBb;return hBb}function eBb(a,b){if(a==(kBb(),hBb)||b==hBb)return hBb;if(a==jBb||b==jBb)return jBb;return iBb}function rEb(a,b,c){if(!!c&&(c.a&$Bc)!=0){a.i=true;a.e.c&&a.d.eh(lDc,a.r,b.b.b+1,b.b.a)}return c}function Pw(a,b){var c,d,e;e=0;for(d=es(new yoc(a.b.b.Ld()));d.Dd();){c=d.Ed();b[e++]=c}return b}function Mvb(a){this.i=new Ulc;this.e=new Ulc;this.f=new zsc;this.n=(Gm(),
Gm(),Fm);this.a=de(a)}function a1b(a,b,c){this.j=a;this.e=null;this.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|Vyc:b<<12|c&Vyc}function c1b(a,b,c,d){b1b.call(this,a,b);this.i=c<0||d<0?-1:(d&-4096)!=0?c<<12|Vyc:c<<12|d&Vyc}function FV(a){var b;b=false;b=!!a.b;b||nW("Expected at least 1 children, but was "+b0b(a),a)}function WT(a){if(Wyc<a&&a<Uyc)return a<0?$wnd.Math.ceil(a):$wnd.Math.floor(a);return TT(OC(a))}function NEb(a){switch(a.j.f){case 72:case 99:case 70:case 71:return true;default:return false}}function eMb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;
default:return false}}function SPb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function F$b(a,b){if(b!=null&&CYb(a.a)==null){lZb(a.a,b);a.d=true;return true}else return false}function a_b(a,b){if(b!=null&&JYb(a.a)==null){tZb(a.a,b);a.d=true;return true}else return false}function TT(a){var b;b=a.h;if(b==0)return a.l+a.m*Tyc;if(b==Ryc)return a.l+a.m*Tyc-Uyc;return a}function cwc(){var a;if(!$vc){$vc=new bwc;a=new pwc("");lwc(a,(Kvc(),Hvc));_vc($vc,a)}return $vc}
function r7(a,b){var c;if(!u0b(b,_Bc,_Bc.length))return false;c=gfb(a).xh(_Bc);return!c||c.Bh()}function Ofb(a){Gfb();var b;b=vC(qC(sD,1),Kyc,46,15,[0]);thb(a,new Fhb(b),new Ihb(b));return b[0]}function IOb(a){switch(kPb(a.j,0).c.f){case 65:case 94:case 67:return true;default:return false}}function QOb(a){switch(kPb(a.j,0).c.f){case 25:case 30:case 38:return true;default:return false}}function MOb(a){switch(kPb(a.j,0).c.f){case 70:case 71:case 72:return true;default:return false}}function cU(a){var b,
c,d,e;e=a;d=0;if(e<0){e+=Uyc;d=Ryc}c=pD(e/Tyc);b=pD(e-c*Tyc);return AC(b,c,d)}function eeb(a,b){var c,d;for(d=a.n.values().Ld();d.Dd();){c=d.Ed();c.a==(dCb(),cCb)||Kxb(b,c,a)}}function fW(a,b){var c;NV((m5b(),N2b),b);e0b(b,38)!=0||nW(ezc,b);for(c=b.b;c;c=c.d)aW(a,c,false)}function oz(a,b){var c,d,e;e=b.length;c=sC(AR,Uxc,133,e,0,1);for(d=0;d<e;++d)c[d]=kxc(b[d]);a.g=c}function b6(a,b,c){var d;d=new Ulc;c6(a,b,c,d);ke(d.a.length==1,d);return dxc(0,d.a.length),d.a[0]}function xub(a,b){var c;c=bh(Tg(a.B,
b,false));if(!c)return false;je(c.a!=(kBb(),iBb));return true}function mjb(a,b,c){if(a.s){$lb(H0(a.a),b,c);a.e&&!qhc(a.c.b,KAc)&&!qhc(a.c.b,LAc)&&shb(a.k,a.f)}}function ZAb(a,b){if(b.isEmpty())return a;return new _Ab(a.c,mwb(a.d,b),!a.b?null:mwb(a.b,b),a.a)}function qGb(a,b,c,d,e){var f;a.b.fh((f=vC(qC(yR,1),Uxc,1,5,[c]),m2b(b,f)),!a.g?null:a.g.Dg(),d,e)}function Hac(a,b){return iD(b,193)||b.ri()?b:Kac(a,vC(qC(BQ,1),Uxc,19,0,[b,Oac(a,(wac(),vac))]))}function Lwc(a,b){var c=!b&&console.groupCollapsed||
console.group||console.log;c.call(console,a)}function K0b(a,b){var c;c=h1b(a.i);c==-1&&(c=0);a.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|Vyc:b<<12|c&Vyc}function qV(a){var b,c;NV((m5b(),s3b),a);c=b0b(a);(c<1||c>2)&&nW(hzc+c,a);for(b=a.b;b;b=b.d)HV(b)}function xV(a){var b,c;NV((m5b(),L3b),a);c=b0b(a);(c<1||c>2)&&nW(hzc+c,a);for(b=a.b;b;b=b.d)HV(b)}function YV(a){var b,c;NV((m5b(),F4b),a);c=b0b(a);(c<1||c>2)&&nW(hzc+c,a);for(b=a.b;b;b=b.d)cW(b)}function jHb(a){while(DGb(a,(SHb(),EHb))){!a.o?ZHb(a.j):vGb(a);
DGb(a,QHb)&&(!a.o?ZHb(a.j):vGb(a))}}function $Bb(a,b){de(b);if(a.a==(dCb(),cCb))return;oe(a.a==aCb,zDc,Me(a.a));a.a=cCb;a.c=null;a.b=b}function yXb(a,b,c){je(a.j==(m5b(),g5b)||JXb(a));je(JXb(b));je(c.j==N2b);return new e1b(w3b,a,b,c)}function zSb(a,b,c,d,e,f){jSb.call(this,(EVb(),dUb),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function SSb(a,b,c,d,e,f){jSb.call(this,(EVb(),vUb),a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function FTb(a,b,c,d,e,f){jSb.call(this,(EVb(),RUb),a);this.e=b;this.d=
c;this.c=d;this.a=e;this.b=f}function MVb(a,b,c,d,e,f){jSb.call(this,(EVb(),hVb),a);this.d=b;this.b=c;this.c=d;this.e=e;this.a=f}function Ldc(a,b){var c,d;for(d=new Dlc(a.d);d.a!=d.b;){c=Blc(d);if(c==b)return true}return false}function qd(a,b){var c,d;for(c=0,d=a.size();c<d;++c)if(Mtc(b,a.getAtIndex(c)))return c;return-1}function wu(a){var b,c,d;b=1;for(d=a.Ld();d.Dd();){c=d.Ed();b=31*b+(c==null?0:rb(c));b=~~b}return b}function cp(a,b){var c;if(iD(b,58)){c=b;return Sd(a.a.xe(),c.xe())&&Sd(a.a.ye(),
c.ye())}return false}function _v(a,b){var c;if(b===a)return true;if(iD(b,121)){c=b;return nb(a.Wd(),c.Wd())}return false}function pv(a){nv();if(a<3){Yk(a,"expectedSize");return a+1}if(a<lyc)return pD(a/.75+1);return Exc}function bhb(a){Gfb();switch(a.j.f){case 78:return true;case 29:return qhc(a.ci(),EBc)}return false}function TPb(a){switch(a){case 47:return false;case 92:case 91:return true;default:return!SPb(a)}}function Bzb(a,b){czb();if(!a)return b;if(!b)return a;if(tzb(a,b))return a;return tzb(b,
a)?b:null}function $fb(a){Gfb();while(!!a&&a.j!=(m5b(),K4b))a=a.e;return!!a&&a.j==(m5b(),K4b)?g0b(a,53):null}function GMb(a){if(AOb(a,(bSb(),RQb)))return ENb(a);if(AOb(a,EQb))return kNb(a,true);return EMb(a)}function VNb(a){var b;if(zOb(a,0,(bSb(),hRb))){nMb(a,hRb);b=nOb(a);nMb(a,mQb)}else b=bOb(a);return b}function sOb(a){var b,c;b=kPb(a.j,0).b.b;c=qOb(a);if(!AOb(a,(bSb(),fRb)))return c;return pOb(a,b,c)}function eGb(a,b,c){var d,e,f;d=hEb(a.a,b);for(f=c.Ld();f.Dd();){e=f.Ed();P_b(d,zEb(a.a,e))}return d}
function u5b(a,b){var c;!!b&&(c=A0b(a,a.g,78),c!=a.g&&(a.g=c),!!b&&(a.g=new O1b(78,b,a.g)));return a}function Wcb(a,b){var c;c=new dic;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function Lnb(a,b){var c,d;c=b.b;while(c)if(Pnb(a,c.ci())){d=c.d;x0b(b,c);c=d;$_(a.a.a)}else c=c.d}function Up(a){var b,c;for(c=de(a).ne().Ld();c.Dd();){b=c.Ed();de(b.xe());de(b.ye())}return new Tp(a)}function vYb(a,b){a.a|=4096;if(!hZb(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}
function vC(a,b,c,d,e){e.Cj=a;e.Dj=b;e.Ej=tU;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}function YA(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 hhb(a,b,c){var d,e;b.j==(m5b(),y3b)&&a.put(b,c);e=b.b;d=c.b;while(e){hhb(a,e,d);e=e.d;d=d.d}}function $lb(a,b,c){kV(a.a,b);kV(a.a,c);bmb(a,b,c);_lb(a,c);zU(a.b.Y)&&Arb(new Brb(a.b),b,c);amb(a,b)}function ocb(a,b){var c;c=Mic(a.a,b);if(c)return c;c=new lvc(new tcb);rcb(c,b);Pic(a.a,b,c);return c}
function uAb(a,b,c){if(Tg(a,c,false))return bh(Tg(a,c,false));else if(b)return mzb(b,c);return null}function DMb(a){var b,c;c=kPb(a.j,0).b.b;nMb(a,(bSb(),tQb));b=EMb(a);return new lSb(new oWb(c,a.g),b)}function LC(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 AC(c&Qyc,d&Qyc,e&Ryc)}function UC(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 AC(c&Qyc,d&Qyc,e&Ryc)}function zMb(a,b){if(b){a.d=SJb(a.d,(NKb(),KKb).a);a.b.e&&rIb(a.c,b.b.b,mDc,vC(qC(yR,1),Uxc,1,5,
[]))}}function zZb(a,b){var c;!a.d&&(a.d=new PZb);if(a.d.p)return false;a.d.p=(fm(),c=b,qo(c));return true}function uZb(a,b){var c;!a.d&&(a.d=new PZb);if(a.d.k)return false;a.d.k=(fm(),c=b,qo(c));return true}function kjc(a){if(a.a.Dd())return true;if(a.a!=a.d)return false;a.a=new Wrc(a.e.d);return a.a.Dd()}function Xkc(a,b){if(b==null)return false;while(a.a!=a.b)if(nb(b,Blc(a)))return true;return false}function b_b(a,b){if(!((a.a.a&xCc)!=0||WYb(a.a))&&uZb(a.a,b)){a.d=true;return true}else return false}
function hsc(a,b){var c;c=a.a.get(b);if(c===undefined)++a.d;else{a.a[lFc](b);--a.c;fqc(a.b)}return c}function lYb(a){var b;if(!hZb(a))return null;!a.b.d&&(a.b.d=new Ulc);b=new VZb;Jlc(a.b.d,b);return b}function iwc(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 Kvc(),Hvc}function Kfc(a){var b;if(a<128){b=(Mfc(),Lfc)[a];!b&&(b=Lfc[a]=new yfc(a));return b}return new yfc(a)}function Kb(a,b){var c;for(c=b.length-1;c>=0;c--)if(!Cc(a,b.charCodeAt(c)))return false;return true}
function twc(a){a.e=vU(a.d,Ghc(a.c,a.a));a.b=true;if(a.e){a.a+=a.e[0].length;return true}return false}function Mgb(a){Gfb();switch(a.j.f){case 72:case 99:case 71:case 70:return true;default:return false}}function fhb(a,b){Gfb();var c;je(n0b(a,b,false,true,false));c=new qrc;Src(c.d,a,b);hhb(c,a,b);return c}function jgb(a){Gfb();var b,c;c=null;while(c==null&&!!a){c=(b=g0b(a,51),!b?null:b.Dg());a=a.e}return c}function Qib(a){var b;je(a.j==(m5b(),K4b));b=g0b(a,51);if(iD(b,161))return Gmb(b),b.e.length;
return 0}function zGb(a,b,c,d){if(b==(SHb(),CHb)||b==EHb||b==DHb)return new qHb("",b);return yGb(a,b,c,true,d)}function Aub(a,b,c){this.A=(Sw(),Rw);this.C=Rw;this.B=(Uyb(),Uyb(),Tyb);this.v=b;this.s=a;this.t=de(c)}function Mdc(a,b){this.f=lnc((nv(),new Krc));this.e=a;this.g=false;this.c=b;this.d=new klc;this.b=true}function _1(){_1=pU;Y1=new a2(_yc,0);Z1=new a2("USE_GLOBAL_TEMP",1);$1=new a2("USE_IIFE",2)}function kBb(){kBb=pU;hBb=new lBb("CONSTANT",0);iBb=new lBb("OPTIONAL",1);jBb=new lBb("REQUIRED",
2)}function Vxb(){Vxb=pU;Txb=new Wxb("REQUIRED",0);Sxb=new Wxb("OPTIONAL",1);Uxb=new Wxb("REST",2)}function Htb(){Htb=pU;Gtb=new q4("JSC_MISSING_SEMICOLON",(lX(),jX),new Hic("Missing semicolon"))}function A5b(){A5b=pU;z5b=(Gm(),new Vw(Ym(vC(qC(yR,1),Uxc,1,5,[wCc,"IArrayLike",jCc]))));y5b=new d9b}function nMb(a,b){var c;c=AMb(a);if(c.c!=b){ROb(a,c,uFc,vC(qC(yR,1),Uxc,1,5,[b]));return null}return c}function Qlc(a,b){var c;c=Nlc(a,b,0);if(c==-1)return false;dxc(c,a.a.length);Hwc(a.a,c,1);return true}
function clc(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 xfc(a){if(qhc(typeof a,Dxc))return true;return a!=null&&a.$implements__java_lang_CharSequence}function qgc(a,b){if(a<b)return-1;if(a>b)return 1;if(a==b)return 0;return isNaN(a)?isNaN(b)?0:1:-1}function Wic(a,b){$wc(a>=0,"Negative initial capacity");$wc(b>=0,"Non-positive load factor");Tic(this)}function YLb(a){SLb();switch(a){case kAc:case jAc:case GAc:case iAc:return true;default:return false}}
function xab(a,b){if(b.j==(m5b(),g4b)&&qhc(b.ci(),yCc)&&Xdb(a.a)){Edb(a.b.k,b);return true}return false}function DBb(a,b){var c;c=GBb(a,b);if(!c)return null;else if(!c.b&&!!a.n)return nzb(a.n,b);return c.b}function s6(a){var b,c;b=xXb(new J1b(a));c=A0b(b,b.g,66);c!=b.g&&(b.g=c);b.g=new E1b(66,1,b.g);return b}function T_(a,b){var c,d;d=Lmb(vAc+ ++a.T+"] ",b);Gm();new Gx(d);c=new g1(d);W_(a,c.f,c);return $0(c,a)}function DA(a,b,c,d){var e,f;je(b>=0);je(c>=0);a.f=new Sz(b,c);e=new $z;f=iB(d);Wz(e,f);
Zz(e,new JA(a))}function sp(a,b,c){var d,e;return b!=null&&c!=null&&(e=tv((d=a.c,!d?a.c=new iy(a):d),b),!!e&&sv(e,c))}function xEb(a,b,c){var d,e;if(i1b(a.i)==-1){e=b.b+1;K0b(a,e);d=b.a;a.i=n1b(i1b(a.i),d);J0b(a,c.c-b.c)}}function jOb(a){var b,c;c=kPb(a.j,0).b.b;nMb(a,(bSb(),DRb));b=OMb(a,1);return new NVb(new oWb(c,a.g),b)}function Lic(a,b,c){var d,e;for(e=c.Ld();e.Dd();){d=e.Ed();if(a.tj(b,d.ye()))return true}return false}function inc(a){gnc();var b,c,d;d=0;for(c=a.Ld();c.Dd();){b=c.Ed();d=d+(b!=
null?rb(b):0);d=d|0}return d}function QC(a){var b,c,d;b=~a.l+1&Qyc;c=~a.m+(b==0?1:0)&Qyc;d=~a.h+(b==0&&c==0?1:0)&Ryc;return AC(b,c,d)}function zf(a,b){var c,d;de(b);c=Ff(a.c,a,b);d=new Ulc;while(Cb(c))Jlc(d,Db(c));return gnc(),new Tpc(d)}function H3(a,b){var c,d;for(d=b.b.Ld();d.Dd();){c=d.Ed();if(!a.b.contains(c))return false}return true}function ve(b,c){try{return b.a.contains(c)}catch(a){a=PT(a);if(iD(a,66))return false;else throw QT(a);}}function uuc(a,b,c,d,e,f){var g;this.c=a;g=new Ulc;Ztc(a,
g,b,a.b,c,d,e,f);this.a=new yjc(g,g.a.length)}function vwb(a,b){Rvb();return Ewb(a.a,2,(fm(),new Jx(FAb(a.a,b,null,a,null,a.c,(Pzb(),Nzb)))),null,Ovb)}function X_b(a,b){g0b(a,40)==null&&w0b(a,40,g0b(b,40));if(!g0b(a,51)){P0b(a,g0b(b,51));a.i=b.i}return a}function zBb(a,b){_hc(b,a.v);a.o.isEmpty()||_hc(_hc((b.a+="<",b),Pc(new Sc(","),a.o.Ld())),">");return b}function _7(a){var b,c,d;b=$7(a);de(b);c=b;d=c.e;while(d.j==(m5b(),V3b)){c=d;d=c.e}je(Xgb(c.e));return c}function ak(a){var b,c;b=a.b.ye();if(!b||
b.a==0){c=a.a.a.a.oe(a.b.xe());if(c)return c.a}return!b?0:b.a}function $tb(a,b){var c;c=a.f.size();return b<c?a.f.getAtIndex(b):b<c+a.d.size()?a.d.getAtIndex(b-c):a.g}function fx(a,b){de(b);iD(b,372)&&(b=b.ue());return iD(b,33)&&b.size()>a.size()?_r(a.Ld(),b):gx(a,b.Ld())}function _d(a,b){if(!a)throw QT(new xcb(te("too many occurrences: %s",vC(qC(yR,1),Uxc,1,5,[Tgc(b)]))));}function mB(){mB=pU;lB=vC(qC(rD,1),Gxc,46,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function GU(){GU=pU;fm();
so(vC(qC(yR,1),Uxc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function o7(a,b){Z_(a.a,Zbb(b,g7,vC(qC(DR,1),Fxc,2,6,["Computed property with non-qualified-name key"])))}function $kb(a){Ykb();var b;b=Zkb(Xkb,a);if(b!=null)return b;throw QT(new yB("Resource not found: "+a));}function HC(a){var b,c;c=Cgc(a.h);if(c==32){b=Cgc(a.m);return b==32?Cgc(a.l)+32:b+20-10}else return c-12}function zgc(a){var b;if(a<0)return Iyc;else if(a==0)return 0;else{for(b=lyc;(b&a)==0;b>>=1);return b}}function wBb(a,
b){je(!a.e);je(!a.n);if(KBb(b.a,a))return false;a.n=b;vBb((je(!b.a.e),b.a),a);return true}function Mxb(a,b){jxb();var c,d;if(!a)return false;d=NYb(a,b);c=!d?null:d.a;return!!c&&c.j==(m5b(),j3b)}function jp(a,b,c){var d,e;return!b||c==null?null:(e=tv((d=a.c,!d?a.c=new iy(a):d),b),!e?null:tv(e,c))}function bYb(a,b){var c;je(a.j==(m5b(),N2b));je(b.j==U2b);c=Z0b(new b1b(N2b,b),b);return new d1b(a5b,a,c)}function W6b(a,b){var c;for(c=a;c;c=c.Ui()){c.Mi();if(B5b(c,b,0,new j9b(true)))return true}return false}
function EOb(a){switch(kPb(a.j,0).c.f){case 59:case 60:case 61:case 62:return true;default:return false}}function MEb(a){switch(a.j.f){case 72:case 99:case 70:case 71:case 67:return true;default:return false}}function tv(b,c){nv();de(b);try{return b.oe(c)}catch(a){a=PT(a);if(iD(a,66))return null;else throw QT(a);}}function PNb(a){var b;b=(Gm(),new Zp);while(!AOb(a,(bSb(),lQb))&&!AOb(a,yQb))Xp(b,eOb(a));return Om(b.a)}function buc(a,b,c){var d,e;d=new Fuc(b,c);e=new Guc;a.b=_tc(a,a.b,d,e);e.b||++a.c;
a.b.b=false;return e.d}function gkb(a){akb();this.d=new zsc;this.g=new qrc;this.b=new zrc;this.k=new zrc;this.a=new zrc;this.c=a}function BB(a){lz(this);mz(this);this.backingJsObject=a;a!=null&&oxc(a,Eyc,this);this.f=a==null?Mxc:sU(a)}function xz(a){var b;if(a!=null){b=a[Eyc];if(b)return b}return mD(a,$wnd.TypeError)?new $gc(a):new BB(a)}function Vz(a,b){var c;do{if(b==0)return null;--b}while(Mlc(a.c,b)==null);c=Mlc(a.c,b);return Uz(a,yr(c))}function k0(a,b,c){var d;d=new MZ(b);LZ(d,a.V);GZ(d,a.H);
JZ(d,c&&a.H.wb);KZ(d,c&&w2(z1(a.H)));return FZ(d)}function DC(a,b,c,d,e){var f;f=SC(a,b);c&&GC(f);if(e){a=FC(a,b);d?xC=QC(a):xC=AC(a.l,a.m,a.h)}return f}function aV(a,b){var c,d;d=o5b(b.j);d!=-1&&(c=b0b(b),d!=c&&nW(bzc+d+czc+c,b));bV(b.b);sV(a,b.b?b.b.f:null)}function GC(a){var b,c,d;b=~a.l+1&Qyc;c=~a.m+(b==0?1:0)&Qyc;d=~a.h+(b==0&&c==0?1:0)&Ryc;a.l=b;a.m=c;a.h=d}function R4(a){var b,c;this.b=a;b=new zrc;this.c=new Z7(a,(c=a,new M0(c)),b,new hmb(new _0b((m5b(),K4b))))}function rX(){rX=pU;qX=new q4("JSC_MISSING_PROVIDE",
(lX(),kX),new Hic("missing goog.provide(''{0}'')"))}function Oz(){Oz=pU;var a;Nz=sC(sD,Kyc,46,256,15,1);Bmc(Nz);for(a=0;a<64;a++)Nz[Byc.charCodeAt(a)]=a}function Kdb(a,b,c){var d;Xd(b.indexOf(".")==-1);d=Mdb(a,b,c);if(d)return d;return!a.r?null:Kdb(a.r,b,c)}function Sac(a,b,c){Yd(c.indexOf("<")==-1,"Type names cannot contain template annotations.");Qic(a.g,c,b)}function bz(a,b){this.b=de(a);ae(!b||!Wy(a,b.a),"Padding character %s was already in alphabet",b);this.c=b}function qsb(a,b,c,d){de(b);de(c);
de(d);this.d=d;this.a=a;this.c=rsb(b);this.b=tsb(Br(Br(c,msb),d),this.c)}function Vbb(a,b,c,d,e,f,g){this.g=e;this.e=b;this.c=Gic(e.b,g);this.d=c;this.a=d;this.f=a;this.b=!f?e.d:f}function fqb(a,b,c,d){var e;je(b!=null&&b.length!=0);e=new Yqb(b,c,a,(Uic(a.b.c),d));wsc(a.b,b,e);return e}function Imb(a,b,c){c&&b!=null&&qhc(b.substr(0,1),"\ufeff")?a.b=b.substr(1,b.length-1):a.b=b;a.e=null}function hlc(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 ilc(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 fZ(a,b){var c,d;c=false;for(d=b;d;d=d.d){d!=b&&a.c.qg();hZ(a,d,1,5);c=d.j==(m5b(),k3b)}c&&a.c.qg()}function $c(a,b){var c,d;exc(b);for(d=b.Ld();d.Dd();){c=d.Ed();if(!a.contains(c))return false}return true}function jnc(a){gnc();var b,c,d;d=1;for(c=a.Ld();c.Dd();){b=c.Ed();d=31*d+(b!=null?rb(b):0);d=d|0}return d}function hnc(a,b){gnc();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 Llc(a,b){var c,d;c=b.toArray();d=c.length;if(d==0)return false;Gwc(a.a,a.a.length,c);return true}function oFb(a,b){var c,d;d=hEb(a.a,(m5b(),P2b));if((!b.a?null:b.a.a)!=null){c=dGb(a,b.a);P_b(d,c)}return d}function rFb(a,b){var c,d;d=hEb(a.a,(m5b(),_2b));if((!b.a?null:b.a.a)!=null){c=dGb(a,b.a);P_b(d,c)}return d}function r6(){var a,b;a=new _0b((m5b(),P2b));b=A0b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new E1b(67,1,a.g);return a}function vab(a){var b;a.j==(m5b(),u2b)?(b=A0b(a,a.g,76),
b!=a.g&&(a.g=b),a.g=new E1b(76,1,a.g)):je(a.j==u3b)}function $db(a,b){if(b.j==(m5b(),g4b))return _db(a,b.ci());if(b.j!=E3b)return false;return Zdb(a,pBb(b))}function Dnb(a,b){if(b>0&&b<a.length)if(Efc(a.charCodeAt(b-1))&&Ffc(a.charCodeAt(b)))return b-1;return b}function UOb(a,b){switch(b.p.f){case 28:case 29:a.g=b.o.b,vPb(a.j,a.g.c);return WNb(a,1);default:return b}}function v2(a){je(a!=s2);switch(a.f){case 6:case 7:case 3:case 4:case 5:return true;default:return false}}function w2(a){je(a!=s2);switch(a.f){case 6:case 7:case 2:case 4:case 5:return true;
default:return false}}function Xtc(a,b){var c,d,e;e=a.b;while(e){c=a.a.He(b,e.d);if(c==0)return e;d=c<0?0:1;e=e.a[d]}return null}function Jb(a,b,c){var d,e;e=b.length;he(c,e);for(d=c;d<e;d++)if(ic(a,b.charCodeAt(d)))return d;return-1}function pec(a){var b,c,d;b=new Jec(a.u);for(d=a.b.Ld();d.Dd();){c=d.Ed();Dec(b,c.Gi(),false)}return Eec(b)}function $U(a,b){var c,d;NV((m5b(),r2b),b);for(c=b.b;c;c=c.d)c.j==k3b?(d=b0b(c),0!=d&&nW(azc+d,c)):sV(a,c)}function ST(a,b){var c;if(XT(a)&&XT(b)){c=a-b;if(!isNaN(c))return c}return NC(XT(a)?
cU(a):a,XT(b)?cU(b):b)}function A_(a,b){var c;if(b!=null){c=Mic(a.t,new fYb(b));if(c)return c.a.Gg();return uvc(a.P,b)}return null}function a6(a,b){var c,d;for(d=new pmc(a.c);d.a<d.c.a.length;){c=nmc(d);if(qhc(b,c.c))return c}return null}function qv(a,b){nv();var c;if(a===b)return true;else if(iD(b,48)){c=b;return dx(vn(a),c.ne())}return false}function YEb(a){var b;if(!a)return false;b=a.j;return b==(m5b(),u3b)&&a.b.j==Q4b&&Ix((XDb(),TDb),a.b.ci())}function efb(a,b,c){if(!c)return"  "+b+": NULL";
return"  "+b+"("+V0b(c,false,false,false)+"): "+ffb(a,c)}function Q7(a,b,c,d){if(!b||b==c)return;je(!Qgb(b));Q7(a,b.d,c,d);if(W7(a,b,d.b)){d.b=true;d.a=U7(a,b,d.a)}}function occ(a){var b;if(!a.a)return Gm(),Gm(),Fm;b=a.a.Ti();if(zr(b))return Gm(),Gm(),Fm;return Br(b,icc)}function jec(a,b,c,d){var e,f;for(f=gec(a).Ld();f.Dd();){e=f.Ed();if(B5b(e,b,c,d))return true}return false}function I5b(a,b){return b?!a.Ei()&&!a.Li()&&!a.Ki()&&!a.Ji()&&a.Ai()?"!"+a.Oi(true):a.Oi(true):a.Oi(false)}function pb(a){return nD(a)?
DR:kD(a)?kR:jD(a)?hR:hD(a)?a.Cj:uC(a)?a.Cj:a.Cj||Array.isArray(a)&&qC(KH,1)||KH}function RPb(a){switch(a){case 36:case 95:return true;default:return/[A-Z]/i.test(String.fromCharCode(a))}}function p0b(a){switch(a.j.f){case 29:return a.ci().length!=0;case 26:return p0b(a.b);default:return false}}function Tgb(a){Gfb();var b;if(a.j!=(m5b(),y3b))return false;b=a.e;if(b.j!=u2b)return false;return Vgb(b.e)}function Ugb(a){var b;if(a.j!=(m5b(),E3b))return false;b=a.b;return b.j==E3b&&qhc((b.b?b.b.f:null).ci(),
Hzc)}function e6(a){var b,c;if(!a.d.b)return;c=z0b(a.d);Q_b(a.j,c);for(b=z0b(a.d);b;b=z0b(a.d)){N_b(a.j,b,c);c=b}}function ZV(a,b,c){var d,e;NV((m5b(),G4b),c);e=o5b(c.j);e!=-1&&(d=b0b(c),e!=d&&nW(bzc+e+czc+d,c));CV(a,b,c.b)}function et(a,b,c){var d,e;this.g=a;this.c=b;this.a=this;this.d=this;e=Dp(c);d=sC(MF,oyc,225,e,0,1);this.b=d}function mjc(a){var b;this.e=a;this.d=new ksc(this.e.e);this.a=this.d;this.b=kjc(this);b=a[cGc];this[cGc]=b}function Eub(a,b,c,d,e){var f;Aub.call(this,a,b,c);de(d);this.d=
(Rub(),Pub);this.e=d;this.c=(fm(),f=e,qo(f))}function Mc(a,b,c){de(b);if(c.Dd()){Xhc(b,a.Kd(c.Ed()));while(c.Dd()){Xhc(b,a.c);Xhc(b,a.Kd(c.Ed()))}}return b}function N_(a){var b,c,d;d=new Vlc(1);for(c=es(new tjc(a.a));c.Dd();){b=c.Ed();Jlc(d,new h1(b,true))}return d}function NAb(a){var b,c,d;b=(fm(),new Mq);for(d=a.Ld();d.Dd();){c=d.Ed();Jq(b,iAb(c))}return ro(new pmc(b.a))}function HBb(a,b){var c;je(a.f==0);c=FBb(a,b);if(c)return c;if(a.n){c=mzb(a.n,b);if(c)return c}return null}function zZ(a,b){var c,
d;d=0;c=a.b;for(;!!c&&d<b;c=c.d)c.j==(m5b(),N2b)?d+=zZ(c,b-d):c.j==k3b||++d;return d}function Z_(a,b){var c,d;c=b.b;if(a.X){d=b3(a.X,b);!!d&&(c=d)}if(c!=(lX(),jX)){!a.H&&L_(a,new D1);pW(a.f,c,b)}}function UZ(a,b){var c;_hc(a.i,b);a.n+=b.length;c=Ib(new jc(10),b);if(c>0){a.k+=c;a.n=b.length-whc(b,Nhc(10))}}function _cb(a,b){var c,d,e;for(d=new Dlc(a.a);d.a!=d.b;){c=Blc(d);e=c.lh(b);if(e!=null)return e}return null}function iqb(a,b,c){var d;d=a;while(true){if(usc(d.b,b))return true;if(!!d.a&&c){d=d.a;
continue}return false}}function nFb(a,b){var c,d,e;e=hEb(a.a,(m5b(),N2b));for(d=b.a.Ld();d.Dd();){c=d.Ed();P_b(e,zEb(a.a,c))}return e}function P_b(a,b){var c;Xd(!b.e);Xd(!b.d);Xd(!b.f);if(!a.b){b.f=b;a.b=b}else{c=a.b.f;c.d=b;b.f=c;a.b.f=b}b.e=a}function EV(a){var b;b=false;b=!(!!a.b&&!!a.b.d);b||nW("Expected no more than 1 children, but was "+b0b(a),a)}function W0(b){var c;try{return b.yg()}catch(a){a=PT(a);if(iD(a,40)){c=a;throw QT(new AB(c));}else throw QT(a);}}function uv(b,c){nv();de(b);try{return b.remove(c)}catch(a){a=
PT(a);if(iD(a,66))return null;else throw QT(a);}}function bl(b,c){$k();de(b);try{return b.remove(c)}catch(a){a=PT(a);if(iD(a,66))return false;else throw QT(a);}}function oB(b,c){mB();var d;try{nB(c,b)}catch(a){a=PT(a);if(iD(a,94)){d=a;throw QT(new AB(d));}else throw QT(a);}}function yy(a,b){var c;if(b===a)return true;else if(iD(b,552)){c=b;return Hh(a.Ee(),c.Ee())}else return false}function Ubb(a,b,c){switch(b.f){case 0:return Scb(c,a,false);case 1:return Scb(c,a,true);default:return null}}function kbb(a,
b,c){var d,e,f;f=pBb(b);d=Jdb(a.a,f,false);if(d){e=d.c;if(iD(e,75))return JBb(e,c)}return null}function u3(a,b){var c,d;d=sC(NI,Uxc,296,b.length,0,1);for(c=0;c<b.length;c++)d[c]=Mic(a.e,Kfc(b[c]));return d}function Irb(a){var b,c;for(c=new pmc(a.a);c.a<c.c.a.length;){b=nmc(c);if(b.e){je(!!b.e);x0b(b.e,b);$_(a.b.a)}}}function igb(a){Gfb();var b;for(b=a;true;b=b.b){if(b.j==(m5b(),g4b)||b.j==Z4b||b.j==U4b)return b;je(b.j==E3b)}}function bEb(a,b){var c;if(b){c=ZDb(a,b);wrc(a.n,b);if(!dEb(a,c))return rEb(a,
b.a,p$b(c.e,false))}return null}function dFb(a,b,c){a.a.e=SJb(a.a.e,c.a);fEb(a.a,c)||a.a.d.fh(uEc+RDb(c)+vEc+c,a.a.r,(XDb(),b.o.b.b+1),b.o.b.a)}function xzb(a,b){czb();je(a.d.d.isEmpty()||a.Ve().containsAll(b.o)&&b.o.containsAll(a.Ve()));this.b=a;this.a=b}function vbc(a){A5b();q8b.call(this,a,null,new D6b(a,null,null),null,null,true,true);this.a.b=this;this.j=this}function Rfc(){this.j=Nfc++;this.o=null;this.k=null;this.i=null;this.d=null;this.b=null;this.n=null;this.a=null}function Ts(){Ak.call(this,
new Asc(16));Yk(2,wyc);this.b=2;this.a=new $s(null,null,0,null);Ys(this.a,this.a)}function h2(){h2=pU;d2=new i2(SAc,0);g2=new i2(TAc,1);e2=new i2(_yc,2);f2=new i2("ON",3);c2=new i2("AUTO",4)}function tp(a,b,c){var d,e;return b==null||c==null?null:(e=tv((d=a.c,!d?a.c=new iy(a):d),b),!e?null:tv(e,c))}function Hec(a,b,c){var d,e;e=(a.Mi(),false);d=(b.Mi(),false);return c&&!e&&!d?a.Ci(b):a.Di(b,new m9b(false),0)}function V_(a,b,c){var d,e,f;for(e=b.Ld();e.Dd();){d=e.Ed();d.b=a;f=$0(d,a);if(!f)continue;
bkb(new gkb(a),f,c)}}function v5b(a){var b,c;c=a.Ld();b=NXb(c.Ed());while(c.Dd())b=CXb(b,YXb(c.Ed()));return new i2b((m5b(),h4b),b)}function yIb(a){var b,c,d,e;for(c=DJb(),d=0,e=c.length;d<e;++d){b=c[d];if(qhc(b.d,a))return true}return false}function Zr(a,b){var c,d;ee(b,"predicate");for(d=0;a.a.Dd();d++){c=a.a.Ed().ye();if(b.Gd(c))return d}return-1}function tMb(a,b){var c;c=oMb(a);if(!c||!qhc(c.a,b)){ROb(a,c,uFc,vC(qC(yR,1),Uxc,1,5,[b]));return null}return c}function Plb(a,b){var c,d;for(d=vn(a.b).Ld();d.Dd();){c=
d.Ed();if(vwc(xwc(c.xe(),b)))return c.ye()}return null}function Tnb(a,b){var c;if(!!b&&b.j==(m5b(),E3b)){c=b.b?b.b.f:null;return Pnb(a,c.ci())||Tnb(a,b.b)}return false}function Fab(a,b){var c,d;je(b.j==(m5b(),g4b)||b.j==E3b);c=(Gfb(),d=Tfb(b),!d?null:g0b(d,29));zab(a,b,b,c,false)}function QFb(a,b){var c;Xd(b.c==(bSb(),JRb));c=mEb(a.a,(m5b(),Q4b),pEb(a.a,b,false));xEb(c,b.b.b,b.b.a);return c}function Z0b(a,b){g0b(a,40)==null&&w0b(a,40,g0b(b,40));if(!g0b(a,51)){P0b(a,g0b(b,51));a.i=b.i;a.c=b.c}return a}
function lib(a){ke(a.j==(m5b(),y3b),a);Gfb();if(!(a.j==y3b&&!Ygb(a.e))&&!Ggb(a)){mib(a);return true}return false}function NPb(a){var b;b=false;while(ePb(a,a.d)&&VPb(ePb(a,a.d)?lhc(a.e.a,a.d):0))SPb(fPb(a))&&(b=true);return b}function Ksb(a){Isb();var b;b=uAc.length;if(qhc(a.substr(a.length-b,b),uAc))return Hhc(a,0,a.length-3);return a}function qMb(a){var b;b=kPb(a.j,0);switch(b.c.f){case 101:case 100:return AMb(a);case 2:default:return pMb(a)}}function WMb(a){var b,c;c=kPb(a.j,0).b.b;nMb(a,(bSb(),
gRb));b=iOb(a);nMb(a,lQb);return new tSb(new oWb(c,a.g),b)}function sNb(a){var b,c;c=kPb(a.j,0).b.b;nMb(a,(bSb(),gRb));b=iOb(a);nMb(a,lQb);return new tSb(new oWb(c,a.g),b)}function ofb(a,b){var c;c=b.mf();!!a.g&&(c=b.mf()+Gyc+efb(a,"Node",a.f)+(!a.f?"":efb(a,"Parent",a.f.e)));h0(c,b)}function yqc(a){var b;this.a=(b=a.e&&a.e(),new drc(b,Ewc(b,b.length),0));this.b=sC(yR,Uxc,1,this.a.a.length,5,1)}function Kac(a,b){var c,d,e,f,g;c=new Jec(a);for(e=b,f=0,g=e.length;f<g;++f){d=e[f];Dec(c,d,false)}return Eec(c)}
function Imc(a){var b,c,d,e,f;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+(b!=null?rb(b):0);f=f|0}return f}function Qe(a){var b,c,d,e,f;b={};for(d=a,e=0,f=d.length;e<f;++e){c=d[e];b[":"+(c.e!=null?c.e:""+c.f)]=c}return b}function dq(a,b){var c;if(iD(b,73)){de(b.xe());de(b.ye());c=b;Jlc(a.b,c)}else Jlc(a.b,Fn(b.xe(),b.ye()));return a}function Ox(a){var b;if(!a.a.Dd()){a.b=Xsc(a.c);a.a=a.b.e.ne().Ld()}b=a.a.Ed();return new Cy(a.b.d,b.xe(),b.ye())}function bcb(a){var b,c,d;b=(Gm(),new Zp);for(d=
new pmc(a.a);d.a<d.c.a.length;){c=nmc(d);Xp(b,c.d)}return Om(b.a)}function dcb(a){var b,c;for(c=new pmc(a.c);c.a<c.c.a.length;){b=nmc(c);Xd(true);b.g=null}a.c.a=sC(yR,Uxc,1,0,5,1)}function Q6(a,b,c){var d;a.b=null;!c?a.d=new hmb(b):a.d=new gmb(c,b);V6(a,b);a.b=null;d=a.d;a.d=null;return d}function Jgb(a){Gfb();var b,c,d;d=a.length;for(c=0;c<d;c++){b=a.charCodeAt(c);if(b>127)return false}return true}function al(b,c){$k();de(b);try{return b.contains(c)}catch(a){a=PT(a);if(iD(a,66))return false;else throw QT(a);
}}function C$b(a,b){if(!!b&&(a.a.a&37)==0&&(a.a.a&4)==0&&w_b(a,b)){a.a.a|=4;a.d=true;return true}else return false}function kxb(a,b){if(b.b){ke(b.b.j==(m5b(),N2b),b);wrc(a.i,Zbb(b,cxb,vC(qC(DR,1),Fxc,2,6,["","0",""+b0b(b.b)])))}}function me(a,b,c){if(!a)throw QT(new sgc(te("line=%s, lineCount=%s",vC(qC(yR,1),Uxc,1,5,[Hgc(b),Hgc(c)]))));}function Xhb(a){if(a.a)throw QT(new sgc("Normalize constraints violated:\nDuplicate VAR declaration"));$_(a.b)}function htb(){htb=pU;gtb=new q4("JSC_DUPLICATE_CASE",
(lX(),kX),new Hic("Duplicate case in a switch statement."))}function K1(){K1=pU;H1=new L1(_yc,0);I1=new L1("START",1);J1=new L1("START_AND_END",2);G1=new L1("EVERY_PASS",3)}function tg(a){return iD(a,154)?(gnc(),new Xpc(a)):iD(a,33)?(gnc(),new upc(a)):iD(a,47)?onc(a):(gnc(),new ioc(a))}function W5(a,b){return EXb(WXb(a,(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b((m5b(),g4b),EBc))),b,W_b(a,false))}function wFb(a,b){var c;c=kEb(a.a,(m5b(),w3b),hGb(a,b.d,b),hGb(a,b.b,b),hGb(a,b.c,b));P_b(c,AEb(a.a,b.a));
return c}function nNb(a,b,c){var d,e;nMb(a,(bSb(),PQb));e=BMb(a,1);nMb(a,mQb);d=hOb(a);return new WSb(new oWb(b,a.g),c,e,d)}function p7(a,b){var c,d,e;e=bgb(b);d=(Gfb(),Wfb(b,new Ahb((m5b(),y3b))));if(!d)return;c=new K7(a,e);wfb(a.a,d,c)}function ad(a,b){var c,d,e;exc(b);c=false;for(d=a.Ld();d.Dd();){e=d.Ed();if(!b.contains(e)){d.Fd();c=true}}return c}function _c(a,b){var c,d,e;exc(b);c=false;for(d=a.Ld();d.Dd();){e=d.Ed();if(b.contains(e)){d.Fd();c=true}}return c}function YBb(a,b){var c,d;if(!a)return false;
for(d=a.Ld();d.Dd();){c=d.Ed();if(c.Th(b))return true}return false}function Prc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f<g;++f){d=e[f];if(a.b.tj(b,d.xe()))return d}return null}function Uac(a,b,c){var d;d=Nic(a.k,b);if(!d){d=new Kec(a,3E3);Qic(a.k,b,d)}Dec(d,c,false);zac(a,b,c);Sic(a.d,b)}function ug(a,b,c){return iD(c,154)?new nj(a,b,c):iD(c,33)?new lj(a,b,c):iD(c,47)?vg(a,b,c,null):new yi(a,b,c,null)}function P5(a,b,c,d){!!d&&d.j==(m5b(),g3b)&&(d=d.e);switch(c.j.f){case 91:Q5(a,b,c,d);break;case 92:T5(a,
b,c,d)}}function Ggb(a){Gfb();var b;if(a.j==(m5b(),y3b)&&wgb(a.e)){b=a.e;return b.j==K4b||b.j==e4b||b.e.j==y3b}return false}function Sgb(a){Gfb();var b;if(a.j!=(m5b(),E3b))return false;b=a.e;return b.j==u2b&&b.b==a&&qhc(f0b(b.b).ci(),Hzc)}function kab(a){S9();var b;if(a.j!=(m5b(),E3b))return false;b=a.b;return b.j==E3b&&qhc((b.b?b.b.f:null).ci(),Hzc)}function gwb(a){if(-1==a.Vh())return a;if(Exc==a.Vh())return a.e.g;return Ewb(a.e,a.Vh()&-9&-3,Pvb,a.Xh(),a.Uh())}function RT(a,b){var c;if(XT(a)&&XT(b)){c=
a+b;if(Wyc<c&&c<Uyc)return c}return TT(LC(XT(a)?cU(a):a,XT(b)?cU(b):b))}function ZT(a,b){var c;if(XT(a)&&XT(b)){c=a*b;if(Wyc<c&&c<Uyc)return c}return TT(PC(XT(a)?cU(a):a,XT(b)?cU(b):b))}function bU(a,b){var c;if(XT(a)&&XT(b)){c=a-b;if(Wyc<c&&c<Uyc)return c}return TT(UC(XT(a)?cU(a):a,XT(b)?cU(b):b))}function oNb(a,b,c){var d,e;tMb(a,"of");e=BMb(a,1);nMb(a,(bSb(),mQb));d=hOb(a);return new XSb(new oWb(b,a.g),c,e,d)}function hGb(a,b,c){var d;if(!b){d=hEb(a.a,(m5b(),k3b));i1b(d.i)==-1&&xEb(d,c.o.b,c.o.a);
return d}return zEb(a.a,b)}function wGb(a,b){do{if(b==(SHb(),EHb)||b==CHb||b==DHb){a.i=(uHb(),sHb);return b}b=!a.o?ZHb(a.j):vGb(a)}while(true)}function nW(a,b){throw QT(new sgc(a+". Reference node:\n"+W0b(b)+"\n Parent node:\n"+(b.e?W0b(b.e):" no parent ")));}function IWb(a){if(kD(a.a))throw QT(new yB("Double.toHexString is outside the GWT subset"));else throw QT(DWb(a));}function Qy(b,c){var d;try{return Ry(b,c)}catch(a){a=PT(a);if(iD(a,284)){d=a;throw QT(new zcb(d));}else throw QT(a);}}function sv(b,
c){nv();de(b);try{return b.containsKey(c)}catch(a){a=PT(a);if(iD(a,66))return false;else throw QT(a);}}function g_b(a){if(!((a.a.a&xCc)!=0||WYb(a.a))&&(a.a.a&xCc)==0){a.a.a|=xCc;a.d=true;return true}else return false}function Blc(a){var b;cxc(a.a!=a.b);b=a.d.a[a.a];olc(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}function wlc(a){var b;cxc(a.a!=a.b);a.a=a.a-1&a.d.a.length-1;b=a.d.a[a.a];olc(a.b==a.d.b&&b!=null);a.c=a.a;return b}function jFb(a,b){var c,d,e,f;f=hEb(a.a,(m5b(),r2b));
for(e=b.a.Ld();e.Dd();){d=e.Ed();c=zEb(a.a,d);P_b(f,c)}return f}function sXb(a,b){var c,d;c=cYb((m5b(),T2b),a);d=A0b(c,c.g,29);d!=c.g&&(c.g=d);!!b&&(c.g=new O1b(29,b,c.g));return c}function s1(a,b){var c,d;r1(a,b,null);Xd(b.j==(m5b(),K4b));c=g0b(b,89);if(c){d=TJb(c);qhc(d,HAc)||buc(a.b,"lang",d)}}function Iic(a,b){var c,d;for(c=0;c<b.length;c++){d="{"+c+"}";while(a.indexOf(d)!=-1)a=Ahc(a,d,Qhc(b[c]))}return a}function uh(a,b){var c,d;c=a.a.remove(b);if(!c)return null;d=a.b.ge();d.addAll(c);a.b.d-=
c.size();c.clear();return d}function C6(a,b){var c,d;this.c=a;this.a=b;c=new zrc;this.b=new Z7(b,(d=b,new M0(d)),c,new hmb(new _0b((m5b(),K4b))))}function q6(a){return QXb(vC(qC(hQ,1),zzc,7,0,[UXb(new _1b((m5b(),R4b),IBc),a),UXb(new _1b(R4b,NBc),new _0b(_4b))]))}function q9b(){q9b=pU;n9b=new r9b("MATCH",0,true);o9b=new r9b("NOT_MATCH",1,false);p9b=new r9b("PROCESSING",2,true)}function $W(){$W=pU;ZW=new q4("JSC_USED_GLOBAL_THIS",(lX(),kX),new Hic("dangerous use of the global 'this' object"))}function MX(){MX=
pU;LX=new q4("JSC_UNUSED_PRIVATE_PROPERTY",(lX(),jX),new Hic("Private property {0} is never read"))}function mYb(a){!a.d&&(a.d=new PZb);!a.d.p?a.d.p=(fm(),new Jx(lBc)):a.d.p=ro(new pmc(Jq(Lq(new Mq,a.d.p),lBc).a))}function pwb(a){if(a.Wh().isEmpty()){je(!a.Uh().isEmpty());return a}return Ewb(a.e,a.Vh(),NAb(a.Wh()),a.Xh(),a.Uh())}function sU(a){if(Array.isArray(a)&&a.Ej===tU)return Qfc(pb(a))+"@"+(rb(a)>>>0).toString(16);return a.toString()}function fsb(a,b){var c,d;if(xrc(a.a,b))return;wrc(a.a,b);
for(d=og(a.d,b).Ld();d.Dd();){c=d.Ed();fsb(a,c)}Jlc(a.c,b)}function YAb(a,b){var c;if(b==null)return false;if(a===b)return true;Xd(iD(b,45));c=b;return Tvb(a.d,c.d)&&a.a==c.a}function CA(a,b){var c;if(b!=a.c){a.c=b;c=vsc(a.k,b);if(c)a.d=c.a;else{a.d=Uic(a.k.c);wsc(a.k,b,Hgc(a.d))}}return a.d}function z6b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=iD(b.k,19)?b.k:null;if(!!c&&E5b(c))return true}return false}function G6(a,b,c){var d,e;while(b.b!=(b.b?b.b.f:null)){d=$_b(b.b?b.b.f:null);e=X0b(wXb(d,b.j),
b);N_b(c,e,b);$_(a.a)}}function IV(a,b,c){var d;FV(c);for(d=c.b;d;d=d.d)d.j==(m5b(),g4b)?CV(a,b,d):d.j==g3b?CV(a,b,d.b):nW(mzc+b+" node",d)}function fmb(a){var b;b=a;while(b){if(b.wh().j==(m5b(),y3b)||b.Ah()||b.Bh()||b.wh().j==e4b)return b;b=b.e}return null}function nHb(a){mGb();var b,c;b=new zDb(new zrc,new zrc,(PDb(),HDb));c=new mHb(new cIb(a),a,0,null,b,new gIb);return c}function Hmc(a){var b,c,d,e,f;if(a==null)return 0;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+b;f=f|0}return f}function dlc(a){var b;
b=a.a[a.c-1&a.a.length-1];if(b==null)return null;a.c=a.c-1&a.a.length-1;a.a[a.c]=null;return b}function Klc(a,b,c){var d,e;gxc(b,a.a.length);d=c.toArray();e=d.length;if(e==0)return false;Gwc(a.a,b,d);return true}function vwc(a){var b;a.e=vU(a.d,a.c);a.b=true;a.a=0;if(a.e){b=a.e[0];if(qhc(b,a.c))return true;a.e=null}return false}function sqc(a,b){var c,d;for(d=new mrc(a.a);d.a<d.c.a.length;){c=lrc(d);if(Mtc(b,a.b[c.f]))return true}return false}function q7b(a,b){var c;c=a.d.ni(b);return c.xi()||c.vi()||
c.wi()||Oac(c.u,(wac(),L9b))==c?null:new r7b(a.u,c,a.b,a.a)}function Qz(a,b){var c;b=b<0?(-b<<1)+1:b<<1;do{c=b&31;b>>>=5;b>0&&(c|=32);Thc(a,(Oz(),Byc.charCodeAt(c)))}while(b>0)}function Jac(a,b,c){!b&&(b=(Gm(),Gm(),Fm));!c&&(c=(Gm(),Gm(),Fm));return b.isEmpty()&&c.isEmpty()?a.c:new Idc(a,b,c)}function xo(a){fm();switch(a.size()){case 0:return $w(),Zw;case 1:return new Jx(a.Ld().Ed());default:return new _w(a)}}function ceb(a,b){var c;c=a;while(c.r)c=c.r;if(c.u.contains(b))return new Ytb(a.a.K,null,
null,null,false);return null}function Nc(b,c,d){var e;try{Mc(b,c,d)}catch(a){a=PT(a);if(iD(a,94)){e=a;throw QT(new qfc(e));}else throw QT(a);}return c}function Kd(b,c,d){var e;try{Jd(b,c,d)}catch(a){a=PT(a);if(iD(a,94)){e=a;throw QT(new qfc(e));}else throw QT(a);}return c}function UA(a,b,c,d,e){je(a.b<=d);je(a.b<d||a.a<e);if(a.b==d&&a.a==e)throw QT(new rgc);b.uf(c,a.b,a.a,d,e);a.b=d;a.a=e}function hXb(a){if(a.b==116||a.b==84)throw QT(new jXb(gD(a.b)+""+gD(a.c)));throw QT(new jXb(String.fromCharCode(a.b)));
}function hlb(a,b){flb(this);this.d=new pf(de(b));this.e=e0b(b,60)!=0?a.e:this;this.c=e0b(b,61)!=0?new pf(de(this)):a.c}function wZ(a,b){bZ(this);this.c=a;this.f=b.oc;this.j=b.nd;this.g=b.rc;this.i=b.zc;this.k=false;this.e=new Tbb(this.k)}function vZ(a){bZ(this);this.c=a;this.f=false;this.j=true;this.g=false;this.i=false;this.k=false;this.e=new Tbb(false)}function tc(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==a&&/[A-Z]/i.test(String.fromCharCode(a))}function wfc(a,b){tfc();
return nD(a)?mhc(a,b):kD(a)?qgc((exc(a),a),(exc(b),b)):jD(a)?vfc((exc(a),a),(exc(b),b)):a.Qd(b)}function NFb(a,b){var c,d,e;e=new h2b((m5b(),E4b));for(d=b.a.Ld();d.Dd();){c=d.Ed();P_b(e,zEb(a.a,c))}return YDb(a.a,e)}function gGb(a,b,c){var d;if(!b){d=hEb(a.a,(m5b(),k3b));i1b(d.i)==-1&&xEb(d,c.o.b,c.o.a);return d}return FFb(a,b,false)}function Hgc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(Jgc(),Igc)[b];!c&&(c=Igc[b]=new tgc(a));return c}return new tgc(a)}function tjb(a){var b,c;for(c=new pmc(a.b);c.a<
c.c.a.length;){b=nmc(c);if(cn((ijb(),fjb),b.b))return true}return false}function ygb(a){Gfb();var b;if(a.j!=(m5b(),N2b))return false;for(b=a.b;b;b=b.d)if(b.j!=k3b)return false;return true}function X9(a,b){var c;Xd(b.j==(m5b(),y3b));if(usc(a.b,b))return vsc(a.b,b);c=bgb(b);je(!!c);je(c.j==g4b);return c.ci()}function Bdc(a,b){var c,d;d=Xgc(a.d.size(),a.e.size());for(c=d-1;c>=0;c--)if(a.d.getAtIndex(c)==b)return c;return-1}function Vmb(a,b){var c;b.length!=0&&g0b(a,40)==null&&(c=A0b(a,a.g,40),c!=a.g&&
(a.g=c),b!=null&&(a.g=new O1b(40,b,a.g)))}function Z_b(a,b,c){var d;N0b(b,a.i);J0b(b,a.c);R0b(b,a.k);M0b(b,a.g);if(c){d=g0b(a,29);!!d&&H0b(a,nYb(d,true))}return b}function w5b(a,b){var c,d,e;if(zr(b))return a;c=new i2b((m5b(),x4b),a);for(e=b.Ld();e.Dd();){d=e.Ed();P_b(c,d)}return c}function zdc(a,b){var c;if(a.isEmpty())return b;if(b.isEmpty())return a;c=(Gm(),new Zp);Op(c,a);Op(c,b);return Om(c.a)}function Edc(a){var b,c,d,e;if(a.c!=null)for(c=a.c,d=0,e=c.length;d<e;++d){b=c[d];if(E5b(b))return true}return false}
function hSb(a){var b;b=a;while(b.p==(EVb(),bVb))b=b.a;switch(b.p.f){case 59:case 61:return true;default:return false}}function Ygb(a){Gfb();je(!!a);switch(a.j.f){case 83:case 109:case 80:case 81:case 158:return true;default:return false}}function yr(a){var b;if(iD(a,47)){b=a;if(b.isEmpty())throw QT(new Ltc);return b.getAtIndex(b.size()-1)}return Wr(a.Ld())}function Jwc(b,c){function d(a){if(!a||a.length==0)return"";return"\t"+a.join("\n\t")}return c&&(c.stack||d(b[Oyc]))}function f8(a,b){var c,d,
e;if(b0b(b)!=3)return;d=b.b;c=d.d;e=c.d;if(c.j!=(m5b(),Q4b))return;Jlc(a.f,new x8(a,c.ci(),e))}function c7(a){var b,c;b=lXb(vC(qC(hQ,1),zzc,7,0,[]));for(c=a.b;c;c=c.d)c.j==(m5b(),Q4b)&&P_b(b,YXb(g0b(c,71)));return b}function Sdb(a){var b,c;if(a.t.j!=(m5b(),y3b))return false;b=(Gfb(),c=Tfb(a.t),!c?null:g0b(c,29));return!!b&&(b.a&2)!=0}function Tab(a){var b,c;c=a.e;if(c.j==(m5b(),o3b)||c.j==M4b){b=c.b==a?c.b.d:c.b;return bhb(b)}return c.j==o4b&&c.e.j==I3b}function Q_b(a,b){var c;Xd(!b.e);Xd(!b.d);Xd(!b.f);
b.e=a;b.d=a.b;if(!a.b)b.f=b;else{c=a.b.f;b.f=c;b.d=a.b;a.b.f=b}a.b=b}function p$b(a,b){var c;if(a.d||b){je(!!a.a);c=a.a;a.a=null;!c.j&&CZb(c,(j$b(),e$b));a.d=false;return c}else return null}function q0b(a){switch(a.j.f){case 90:case 116:case 29:case 26:case 27:case 91:case 92:return true;default:return false}}function XPb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return a-48;default:return-1}}function l8b(a,b,c){if(!b)return false;if(a.gj()&&b==(oe(a.gj()||a.e==
2,ZFc,a),J5b(a.j)))return false;return n8b(a,b,c)}function oub(a,b,c,d,e){je(!a.w);!d&&e&&(d=a.s.K);a.B=Wyb(a.B,b,e?new _Ab(c,d,d,(kBb(),hBb)):new _Ab(c,d,d,(kBb(),jBb)))}function bMb(a,b,c){var d,e;return new oWb((e=_Lb(a,b),new mWb(a.b,b,e,b-a.a[e])),(d=_Lb(a,c),new mWb(a.b,c,d,c-a.a[d])))}function cAb(a,b){var c;c=Yzb(a,b);return!!c&&(b.a.size()==1||iwb(c.d,(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size())))))}function CFb(a,b){var c;c=hEb(a.a,(m5b(),I3b));P_b(c,zEb(a.a,b.a));P_b(c,AEb(a.a,b.c));
!!b.b&&P_b(c,AEb(a.a,b.b));return c}function _Fb(a,b){var c,d,e;e=(Gm(),new Zp);for(d=b.a.Ld();d.Dd();){c=d.Ed();Xp(e,zEb(a.a,c))}return YDb(a.a,x5b(Om(e.a)))}function xIb(a,b){var c,d;K0b(b,i1b(b.i)+a.d);for(d=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();d.Dd();){c=d.Ed();xIb(a,c)}}function lZ(a,b,c,d,e){var f,g;for(g=b;g;g=g.d){f=g==b;if(f)hZ(a,g,c?1:0,d);else{FY(a.c,e,true);hZ(a,g,c?1:0,d==4?4:5)}}}function Jmc(a,b,c,d){var e,f,g;for(e=b+1;e<c;++e)for(f=e;f>b&&d.He(a[f-1],a[f])>0;--f){g=a[f];a[f]=
a[f-1];a[f-1]=g}}function Kmc(a,b,c,d,e,f,g,h){var i;i=c;while(f<g)i>=d||b<c&&h.He(a[b],a[i])<=0?e[f++]=a[b++]:e[f++]=a[i++]}function Nsb(a,b,c,d,e){Msb();this.e=a;this.b=b;this.c=c?Om(c):(Gm(),Gm(),Fm);this.d=d?Om(d):(Gm(),Gm(),Fm);this.a=Cn(e)}function rjb(a,b,c){ijb();this.a=a;this.f=a.u;this.u=b;this.n=new Ulc;this.q=c;this.e=false;this.b=false;this.t=this.i=0}function kob(a){this.a=new fYb(a);this.c=new Kmb(a);this.b=new _0b((m5b(),K4b));w0b(this.b,53,this.a);P0b(this.b,this.c)}function Kmb(a){Fmb();
if(!a)throw QT(new xcb("a source must have a name"));qhc("/",_ec)?this.c=a:this.c=Ahc(a,_ec,"/")}function Gfc(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==a&&/[A-Z]/i.test(String.fromCharCode(a))}function SJb(a,b){return a.b>=b.b&&(a.d||!b.d)&&(a.a||!b.a)&&(a.c||!b.c)?a:new UJb(Wgc(a.b,b.b),a.d||b.d,a.a||b.a,a.c||b.c)}function Ux(a){if(!!(!a.a||a.a.isEmpty()&&usc(a.c.a,a.b)?a.a=vsc(a.c.a,a.b):a.a)&&a.a.isEmpty()){ysc(a.c.a,a.b);a.a=null}}function vi(a){var b;if(a.b){vi(a.b);
if(a.b.d!=a.c)throw QT(new gqc);}else if(a.d.isEmpty()){b=a.f.c.oe(a.e);!!b&&(a.d=b)}}function T_b(a,b){var c,d,e;if(!b)return;for(c=b;c;c=c.d){Xd(!c.e);c.e=a}e=b.f;if(a.b){d=a.b.f;b.f=d;e.d=a.b;a.b.f=e}a.b=b}function VHb(a,b){var c,d;c=a.p;if(c==a.o.length){d=sC(rD,Gxc,46,a.o.length*2,15,1);iic(a.o,d,c);a.o=d}a.o[c]=b&Kxc;a.p=c+1}function fMb(a){var b,c;c=sC(sD,Kyc,46,a.a.length,15,1);for(b=0;b<c.length;b++)c[b]=(dxc(b,a.a.length),a.a[b]).a;return c}function UFb(a,b){var c,d,e;e=iEb(a.a,(m5b(),V4b),
zEb(a.a,b.b));for(d=b.a.Ld();d.Dd();){c=d.Ed();P_b(e,zEb(a.a,c))}return e}function Eab(a,b){var c,d,e;je(b.j==(m5b(),g4b)||b.j==E3b);c=(Gfb(),d=Tfb(b),!d?null:g0b(d,29));e=hgb(b);zab(a,e,b,c,false)}function eV(a,b){var c,d;NV((m5b(),U2b),b);d=o5b(b.j);d!=-1&&(c=b0b(b),d!=c&&nW(bzc+d+czc+c,b));HV(b.b);cV(a,b.b?b.b.f:null)}function gsc(a,b,c){var d;d=a.a.get(b);a.a.set(b,c===undefined?null:c);if(d===undefined){++a.c;fqc(a.b)}else++a.d;return d}function mZb(a,b){!a.d&&(a.d=new PZb);!a.d.d&&(a.d.d=new zrc);
if(xrc(a.d.d,b))return false;else{wrc(a.d.d,b);return true}}function Y9(a,b,c){while(nzb(b,c)){Xd(b.a.e);Xd(b.a.f==0);if(jp(a.o,b.a,c)!=null)return jp(a.o,b.a,c);b=lzb(b)}return null}function GPb(a){switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 92:return EPb(a);case 91:return HPb(a);default:fPb(a);return true}}function bn(a){Gm();var b;switch(a.size()){case 0:return Fm;case 1:return new Gx(a.Ld().Ed());default:b=a;return new Vw(b)}}function ahb(a){Gfb();switch(a.f){case 24:case 78:case 25:case 21:case 22:case 20:case 19:return true;
default:return false}}function FBb(a,b){var c;c=bh(Tg(a.b,b,false));if(c)return c;c=bh(Tg(a.j,b,false));if(c)return c;return bh(Tg(a.i,b,false))}function lbb(a,b,c){var d;if(!a||!(d=!a.d?null:a.d.p,!d?(gnc(),gnc(),fnc):d).contains(lBc))return false;return!b||Tvb(b,c)}function Hs(a){de(a.b);if(a.b.Dd())return true;while(a.a.Dd()){de(a.b=a.ff(a.a.Ed()));if(a.b.Dd())return true}return false}function pBb(a){if(!a||!o0b(a))return null;return a.j==(m5b(),g4b)?new oBb(a.ci()):new nBb(Nm(yf(Ef(new jc(46)),
h0b(a))))}function hwb(a){if(-1==a.Vh())return a;if(Exc==a.Vh())return a.e.F;return Ewb(a.e,a.Vh()&-33&-17&-257,a.Wh(),a.Xh(),a.Uh())}function eFb(a,b){if(q5b(b.ci())){a.a.e=SJb(a.a.e,(NKb(),tKb).a);a.a.a.c==(PDb(),HDb)&&a.a.d.fh(kDc,a.a.r,i1b(b.i),h1b(b.i))}}function zFb(a,b){var c,d,e;e=iEb(a.a,(m5b(),Q2b),zEb(a.a,b.b));for(d=b.a.a.Ld();d.Dd();){c=d.Ed();P_b(e,zEb(a.a,c))}return e}function OXb(a,b){var c,d,e,f,g;g=new b1b((m5b(),m4b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];je(JXb(c));P_b(g,c)}return g}
function zEb(a,b){var c,d;c=cEb(a,b);d=iFb(a.u,b);if(c){d=gEb(a,b,c,d);w0b(d,29,c)}i1b(d.i)==-1&&xEb(d,b.o.b,b.o.a);return d}function x5(a,b,c){t5();var d,e,f;e=g0b(a,29);if(!e){e=g0b(b,29);f=A0b(b,b.g,29);f!=b.g&&(b.g=f)}d=H_b(e);H0b(c,p$b(d,false))}function CC(a,b){if(a.h==Syc&&a.m==0&&a.l==0){b&&(xC=AC(0,0,0));return zC((bD(),_C))}b&&(xC=AC(a.l,a.m,a.h));return AC(0,0,0)}function WNb(a,b){a.d=SJb(a.d,(NKb(),hKb).a);switch(kPb(a.j,0).c.f){case 49:return LMb(a,b);case 45:default:return SNb(a,b)}}
function kYb(a,b){!a.d&&(a.d=new PZb);!a.d.f&&(a.d.f=new Vlc(2));if(Nlc(a.d.f,b,0)!=-1)return false;Jlc(a.d.f,b);return true}function jYb(a,b){!a.d&&(a.d=new PZb);!a.d.e&&(a.d.e=new Vlc(2));if(Nlc(a.d.e,b,0)!=-1)return false;Jlc(a.d.e,b);return true}function zYb(a,b,c){if(!hZb(a))return true;!a.b.j&&(a.b.j=new zsc);if(!usc(a.b.j,b)){wsc(a.b.j,b,c);return true}return false}function yZ(a){var b,c;for(b=a.b;b;b=b.d)if(b.j==(m5b(),N2b)){c=yZ(b);if(c)return c}else if(b.j!=k3b)return b;return null}function A6b(a){var b,
c;if(a.a)for(b=a.a.b;b;b=b.d){c=iD(b.k,19)?b.k:null;if(!c||c.Ei())return true}return!a.b||a.b.Ei()}function CMb(a){var b,c,d,e;e=kPb(a.j,0).b.b;b=NNb(a);while(BOb(a)){c=AMb(a);d=NNb(a);b=new sSb(new oWb(e,a.g),b,c,d)}return b}function NNb(a){var b,c,d,e;e=kPb(a.j,0).b.b;b=jNb(a);while(IOb(a)){c=AMb(a);d=tOb(a);b=new sSb(new oWb(e,a.g),b,c,d)}return b}function gOb(a){var b,c,d,e;e=kPb(a.j,0).b.b;b=CMb(a);while(MOb(a)){c=AMb(a);d=CMb(a);b=new sSb(new oWb(e,a.g),b,c,d)}return b}function o0(a){var b,
c;for(c=new pmc(a);c.a<c.c.a.length;){b=nmc(c);b.c.a.length==0&&acb(b,new g1(Lmb(b.d+"$fillFile","")))}}function Ry(a,b){var c,d;b=(!a.c?(yc(),xc):new jc(a.c.a)).Id(b);d=sC(qD,Cyc,46,az(a,b.length),15,1);c=iz(a,d,b);return Sy(d,c)}function $Wb(a,b){var c;VWb(a);c=a.b<a.c?lhc(a.a,a.b):-1;if(c>=48&&c<=57){fXb(b,XWb(a));return ZWb(a,b)}else throw QT(aXb(a));}function oYb(a,b,c){!a.d&&(a.d=new PZb);!a.d.n&&(a.d.n=new zsc);if(usc(a.d.n,c))return false;else{wsc(a.d.n,c,b);return true}}function Inb(a,b,
c,d,e){Gnb();this.a=a;this.e=new Brc(b);this.c=new Brc(c);this.d=new Brc(d);this.b=new Brc(e);this.f=new zrc}function FA(){this.e=new Ulc;this.k=new zsc;this.j=new zsc;this.g=new zsc;this.f=new Sz(0,0);this.i=new Sz(0,0);this.a=new zsc}function Lxb(a,b,c,d){jxb();this.i=new btc;this.g=new zsc;de(a);this.a=a;this.e=new Nxb(null,lub(a));this.b=b;this.d=c;this.f=d}function rdb(a,b,c,d,e,f){this.b=new qrc;this.a=a;this.f=b;Xd(c.length!=0);this.d=c;this.e=d;e?this.c=this:this.c=f.kh()}function gmb(a,b){emb(this);
de(a);de(b);be(b!=a.f,"Root node: %s\nParent's root node: %s",b,a.f);this.e=a;this.f=b;this.d=a.d+1}function nU(){mU={};!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==="[object Array]"})}function j$b(){j$b=pU;g$b=new k$b(gEc,0);f$b=new k$b(fEc,1);h$b=new k$b(hEc,2);i$b=new k$b(iEc,3);e$b=new k$b("INHERITED",4)}function pTb(){pTb=pU;mTb=new qTb("DECLARATION",0);nTb=new qTb("EXPRESSION",1);oTb=new qTb("MEMBER",2);lTb=new qTb("ARROW",3)}function Pzb(){Pzb=pU;Nzb=
new Qzb(0);Mzb=new Qzb(1);Lzb=new Qzb(2);Kzb=new Qzb(3);Ozb=vC(qC(NM,1),Uxc,195,0,[Nzb,Mzb,Lzb,Kzb])}function jtb(){jtb=pU;itb=new q4("JSC_USELESS_EMPTY_STATEMENT",(lX(),jX),new Hic("Useless empty statement. Remove semicolon."))}function qXb(a,b){var c,d,e,f,g;g=new b1b((m5b(),Q2b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];ke(JXb(c),c);P_b(g,c)}return g}function HXb(a,b){var c,d;c=cYb((m5b(),P3b),a);d=A0b(c,c.g,32);d!=c.g&&(c.g=d);(b?1:0)!=0&&(c.g=new E1b(32,b?1:0,c.g));return c}function Pz(a){var b,
c,d,e,f;e=0;f=0;do{b=lhc(a.a,a.b++);d=(Oz(),Nz[b]);c=(d&32)!=0;d&=31;e=e+(d<<f);f=f+5}while(c);return Rz(e)}function Oab(a){var b,c,d,e;for(d=(e=(new Kjc(a.b.a)).a.ne().Ld(),new Qjc(e));d.a.Dd();){c=(b=d.a.Ed(),b.xe());bbb(a,c)}a.b=null}function YDb(a,b){var c,d;!!b.g||V_b(b,a.t);for(d=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();d.Dd();){c=d.Ed();YDb(a,c)}return b}function iOb(a){var b;b=(Gm(),new Zp);while(zOb(a,0,(bSb(),JQb))||NOb(a)||AOb(a,VQb)||zOb(a,0,jQb))Xp(b,hOb(a));return Om(b.a)}function kOb(a){var b;
b=(Gm(),new Zp);while(zOb(a,0,(bSb(),JQb))||NOb(a)||AOb(a,VQb)||zOb(a,0,jQb))Xp(b,hOb(a));return Om(b.a)}function pXb(a){var b,c,d,e,f,g;c=(b=new _0b((m5b(),N2b)),b);for(e=a,f=0,g=e.length;f<g;++f){d=e[f];je(KXb(d));P_b(c,d)}return c}function KOb(a,b){var c;c=kPb(a.j,b).c;switch(c.f){case 2:case 101:case 100:return true;default:return SLb(),SLb(),!!Yn(tLb,c)}}function OOb(a){switch(kPb(a.j,0).c.f){case 9:case 26:case 24:case 63:case 64:case 77:case 76:return true;default:return false}}function o0b(a){switch(a.j.f){case 29:return a.ci().length!=
0;case 33:return true;case 26:return o0b(a.b);default:return false}}function dgb(a){Gfb();switch(a.j.f){case 89:case 84:case 85:case 96:return a.ci()}throw QT(new sgc("Unexpected node type: "+a));}function hxc(a,b,c){if(a<0||b>c)throw QT(new lfc(lGc+a+mGc+b+", size: "+c));if(a>b)throw QT(new xcb(lGc+a+" > toIndex: "+b));}function Ym(a){Gm();var b,c,d;for(c=0,d=a.length;c<d;c++)if(a[c]==null)throw QT(new _gc("at index "+c));b=a;return new Zmc(b)}function Yc(a,b,c){var d,e;for(e=a.Ld();e.Dd();){d=e.Ed();
if(oD(b)===oD(d)||b!=null&&nb(b,d)){c&&e.Fd();return true}}return false}function v_b(a,b){if(!!b&&!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)){qYb(a.a,b);a.d=true;return true}return false}function Qdb(a,b){var c;ee(a.s,"Failed to preserve namespaces post-finalization");c=a.s.oe(b);if(iD(c,75))return c.p;return null}function A0b(a,b,c){var d;if(!b)return null;else if(b.mi()==c)return b.ki();else{d=A0b(a,b.ki(),c);return d!=b.ki()?b.ii(d):b}}function OAb(a,b,c){var d,e,f;d=(fm(),new Mq);
for(f=a.Ld();f.Dd();){e=f.Ed();Jq(d,jAb(e,b,c,false,false))}return ro(new pmc(d.a))}function z7(a,b){var c,d;for(d=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();d.Dd();){c=d.Ed();if(c.j==(m5b(),Z2b)){A7(a,b);return}}}function Yqc(a,b){var c,d,e,f,g;c=(d=(e=Pfc((f=a.Cj,g=f.f,g==lR?f:g)),new drc(e,Ewc(e,e.length),0)),Zqc(d,a),d);hnc(c,b);return c}function Shc(a,b,c){var d,e,f,g;f=b+c;jxc(b,f,a.length);g="";for(e=b;e<f;){d=e+1E4<f?e+1E4:f;g+=Mhc(a.slice(e,d));e=d}return g}function p8(a){var b,c,d;d=zf(Ef(new jc(46)),
a);c=new Ulc;for(b=0;b<d.b.size();b++)Jlc(c,Pc(new Sc("."),Hr(Ar(d,b+1))));return c}function Gec(a){if(a.e)return Oac(a.i,(wac(),t9b));else if(a.f)return a.b?Oac(a.i,(wac(),z9b)):Oac(a.i,(wac(),sac));return null}function ivb(a){if(a.c)return a;if(a==a.a.A||a==a.a.i)return a.a.i;return new jvb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,true,a.b)}function Uvb(a,b){if(Exc==a.Vh())return a.e.K;je(!a.Wh().isEmpty()||!a.Uh().isEmpty());return Iwb(WBb(a.Wh(),b),WBb(a.Uh(),b))}function ulb(a){var b;if(!o0b(a))return false;
b=h0b(a);return qhc(b.substr(0,11),"goog.string")||qhc(b.substr(0,10),"goog.array")}function Wab(a,b,c){var d;je(c.e||c.f==0);if((c.g.a&1)==0)return true;d=b.e;return(d.j==(m5b(),u2b)&&b==d.b||d.j==u3b)&&Sdb(a.a)}function Rnb(a,b,c){var d,e,f;d=b.b;if(Tnb(a,d)||(f=h0b(d),Vnb(a,f))){if(c.j==(m5b(),u3b)){e=c.e;rhb(e,c)}else rhb(c,b);$_(a.a.a)}}function t1b(a,b,c){var d,e;for(e=0;e!=b;++e)c.a+="    ";Xhc(c,V0b(a,true,true,true));c.a+=Gyc;for(d=a.b;d;d=d.d)t1b(d,b+1,c)}function $4(a,b,c){var d,e;for(e=
c.Ld();e.Dd();){d=e.Ed();d.j==(m5b(),Q4b)&&Z4(a,b,d);$4(a,b,!d.b?(gnc(),gnc(),fnc):new V1b(d.b))}}function PAb(a,b){var c,d,e;c=(fm(),new Mq);for(e=a.Ld();e.Dd();){d=e.Ed();Jq(c,jAb(d,b,null,false,false))}return ro(new pmc(c.a))}function jzb(a){var b,c,d;d=(fm(),new Mq);for(c=EBb(a.a).Ld();c.Dd();){b=c.Ed();MBb(b.a)&&Jq(d,qzb(b,a.b))}return ro(new pmc(d.a))}function kzb(a){var b,c,d;je(a.a.e);d=(fm(),new Mq);for(c=EBb(a.a).Ld();c.Dd();){b=c.Ed();Jq(d,qzb(b,a.b))}return ro(new pmc(d.a))}function Zgb(a){var b,
c;b=a.b;if(b.j==(m5b(),E3b)||b.j==D3b){c=b.b?b.b.f:null;return c.j==Q4b&&qhc("toString",c.ci())}return false}function F7b(a,b,c,d,e){var f,g;if(!!mcc(a.r,b)&&(g=a.$i(b),!!g&&!g.b))return false;f=new fcc(b,c,d,e);qcc(a.r,b,f);return true}function cOb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=gOb(a);while(LOb(a,b)){d=AMb(a);e=gOb(a);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function NMb(a,b){var c,d;Vkc(a.e,(tfc(),tfc(),false));AOb(a,(bSb(),gRb))?c=sNb(a):c=OMb(a,b);d=dlc(a.e);cxc(d!=null);return c}function lXb(a){var b,
c,d,e,f;b=new _0b((m5b(),r2b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];je(c.j==k3b||JXb(c));P_b(b,c)}return b}function Or(a,b){var c,d;de(a);Yd(b>=0,"numberToAdvance must be nonnegative");for(d=0;d<b&&a.a.Dd();d++){c=a.a.Ed();c.xe()}return d}function hsb(a){this.f=new Ulc;this.c=new Ulc;this.a=new zrc;this.e=new zsc;this.b=new qrc;this.d=new Ts;Llc(this.f,a);gsb(this)}function wYb(a,b,c){if(!hZb(a))return true;!a.b.e&&(a.b.e=new zsc);if(usc(a.b.e,b))return false;else{wsc(a.b.e,b,c);return true}}function k9b(a,
b,c){!a.a&&(a.a=new up(new zsc,new yp));if(sp(a.a,b,c))return tp(a.a,b,c);else{l9b(a,b,c,(q9b(),p9b));return null}}function vw(a,b,c,d){var e;Yk(c,"oldCount");Yk(d,"newCount");e=tv(a.a,b);if((!e?0:e.a)==c){Mj(a,b,d);return true}else return false}function OZ(a,b,c,d){var e,f;if(a.j)for(f=new pmc(a.g);f.a<f.c.a.length;){e=nmc(f);e.b=QZ(e.b,b,c,d);!!e.a&&(e.a=QZ(e.a,b,c,d))}}function uZ(a,b,c,d,e,f,g,h){var i,j;j=b.b;while(j.j==c)j=j.b;hZ(a,j,g,e);i=j;do{i=i.e;FY(a.c,d,true);hZ(a,i.b.d,h,f)}while(i!=
b)}function L2(){L2=pU;G2=new M2("ALL",0);J2=new M2("RAW_SIZE",1);H2=new M2("AST_SIZE",2);K2=new M2("TIMING_ONLY",3);I2=new M2(_yc,4)}function uHb(){uHb=pU;sHb=new vHb("SEARCHING_ANNOTATION",0);tHb=new vHb("SEARCHING_NEWLINE",1);rHb=new vHb("NEXT_IS_ANNOTATION",2)}function mGb(){mGb=pU;lGb=(fm(),so(vC(qC(yR,1),Uxc,1,5,[Zzc,rBc])));kGb=so(vC(qC(yR,1),Uxc,1,5,[xEc,yEc,"stable","mapped","xid"]))}function NWb(a){var b;if(a.a==null)b=Mxc;else throw QT(new yB("Integer.toHexString is outside the GWT subset"));
return GWb(a,b,0)}function g8b(a){var b,c;c=a.gj()?k8b(a):null;if(!c)return a.c;b=(Gm(),new Zp);Yp(b,a.c);while(c){Yp(b,c.c);c=k8b(c)}return Om(b.a)}function Qw(a,b){var c,d;c=a.b.b.size();b.length<c&&(b=(d=(bxc(0),xmc(b,0)),d.length=c,d));Pw(a,b);b.length>c&&(b[c]=null);return b}function kFb(a,b){var c,d,e;dFb(a,b,(NKb(),hKb));e=hEb(a.a,(m5b(),s2b));for(d=b.a.Ld();d.Dd();){c=d.Ed();P_b(e,BEb(a.a,c))}return e}function LFb(a,b){var c,d,e;dFb(a,b,(NKb(),hKb));e=hEb(a.a,(m5b(),u4b));for(d=b.a.Ld();d.Dd();){c=
d.Ed();P_b(e,BEb(a.a,c))}return e}function _xb(a,b){var c,d,e;if(!a.M)return a.K;e=a.M.o;c=a.M.p;if(e.size()==1){d=Yr(e.Ld());c=mwb(c,(Xk(d,b),new Ax(d,b)))}return c}function ZFb(a,b){var c,d;d=b.a.Oe();c=mEb(a.a,(m5b(),g4b),d.Ed());while(d.Dd())c=CXb(c,YXb(d.Ed()));return YDb(a.a,new i2b(b5b,c))}function iNb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=cOb(a,b);while(EOb(a)){d=AMb(a);e=cOb(a,b);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function oOb(a){var b,c,d;d=kPb(a.j,0).b.b;nMb(a,(bSb(),URb));b=oMb(a);
nMb(a,AQb);c=nOb(a);sMb(a);return new WVb(new oWb(d,a.g),b,c)}function gr(a){var b,c,d;b=er(a.a);for(d=new pmc(a.b);d.a<d.c.a.length;){c=nmc(d);fr(b,c)}return _q(),new ar((gnc(),new Upc(b)),a.a)}function GA(a,b){var c,d,e,f;e=0;for(d=new Zsc(new Qsc(b));d.b!=d.c.a.b;){c=Xsc(d);f=c.d;e!=0&&(a.a+=",",a);Xhc(a,(mB(),pB(f)));++e}}function oW(a){var b,c,d,e;for(e=(c=(new Jkc(a.d.a)).a.ne().b.xj(),new Pkc(c));e.a.Dd();){d=(b=e.a.Ed(),b.xe());a.Lf(d.b,d.a)}a.Kf()}function iec(a,b){var c,d,e;c=new Jec(a.u);
for(e=a.b.Ld();e.Dd();){d=e.Ed();(d.Ei()||d.wi()||!d.Ci(b))&&Dec(c,d,false)}return Eec(c)}function TXb(a){var b,c,d,e,f;f=new _0b((m5b(),y4b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];je(b.j==g4b||b.j==G4b);P_b(f,b)}return f}function zV(a){var b,c,d;NV((m5b(),T3b),a);for(b=a.b;b;b=b.d){NV(h4b,b);c=o5b(b.j);c!=-1&&(d=b0b(b),c!=d&&nW(bzc+c+czc+d,b));HV(b.b)}}function m6(a){var b;b=z0b(a.d);while(b){!!b.b&&P_b(a.e,xXb(mXb(b,z0b(b))));N_b(a.i.e,wXb(W_b(b,false),(m5b(),g5b)),a.i);b=z0b(a.d)}}function DOb(a){var b;
b=kPb(a.j,0);switch(b.c.f){case 2:case 65:case 43:case 49:case 52:return true;default:return SLb(),!!ULb(b.c)}}function Mm(a){var b,c;b=a.toArray();switch(b.length){case 0:return Fm;case 1:c=new Gx(b[0]);return c;default:return new Vw(Ym(b))}}function rXb(a,b){var c;je(JXb(a));je(b.j==(m5b(),N2b));c=A0b(b,b.g,38);c!=b.g&&(b.g=c);b.g=new E1b(38,1,b.g);return new d1b(S2b,a,b)}function wXb(a,b){ke(a.j==(m5b(),g4b)||a.j==u4b||a.j==s2b||a.j==g3b,a);(a.j==u4b||a.j==s2b)&&(a=new b1b(g3b,a));return new b1b(b,
a)}function cvb(a,b){if(!b||b==b.a.t||b==b.a.A||b==b.a.i||Yub(a,b)||!a.c)return a;return a==a.a.A||a==a.a.i||a==a.a.t?ivb(b):rvb(a,b)}function N5(a,b,c){var d,e,f;d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29));!!d&&LYb(d,c)!=null?f=LYb(d,c):f=GBc+a.b++;je(r5b(f));return f}function wsc(a,b,c){var d,e,f;e=Mic(a.c,b);if(!e){d=new Nsc(a,b,c);Pic(a.c,b,d);Ksc(d);return null}else{f=bkc(e,c);xsc(a,e);return f}}function LZb(a,b){var c,d,e;e=null;if(a){e=new Vlc(a.a.length);for(d=new pmc(a);d.a<d.c.a.length;){c=nmc(d);
Jlc(e,HZb(c,b))}}return e}function Nh(a,b){var c,d,e;if(iD(b,58)){c=b;d=c.xe();e=tv(a.re(),d);return Sd(e,c.ye())&&(e!=null||a.re().containsKey(d))}return false}function OB(){var a;if(JB!=0){a=IB();if(a-KB>2E3){KB=a;LB=$wnd.setTimeout(UB,10)}}if(JB++==0){XB((WB(),VB));return true}return false}function k_b(a,b,c){if(!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)&&oYb(a.a,c,b)){a.d=true;return true}else return false}function ydc(a,b,c,d,e){var f;f=false;if(!a.a&&!b.a){a.a=true;b.a=true;f=Jdc(c,
a,b,d,e)&&Jdc(c,b,a,d,e);a.a=false;b.a=false}return f}function vmc(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(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function wmc(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(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function Wdb(a,b){var c,d;Xd(b.indexOf(".")==-1);je(a.g);c=Kdb(a,b,false);if(!c||!c.a||!c.d)return false;return d=$vb(c.d),!!d&&!!d.e}function CGb(a,b){var c,d;d=false;while(true){c=WHb(a.j);
if(c==32)continue;else if(c==b){d=true;break}else break}aIb(a.j,c);return d}function IFb(a,b){var c,d,e;e=iEb(a.a,(m5b(),m4b),zEb(a.a,b.b));if(b.a)for(d=b.a.a.Ld();d.Dd();){c=d.Ed();P_b(e,zEb(a.a,c))}return e}function XBb(a,b){var c,d,e,f;if(!a)return null;c=null;for(e=a.Ld();e.Dd();){d=e.Ed();if(d.Th(b)){f=d.Sh(b);c=!c?f:Cwb(c,f)}}return c}function Ytc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.He(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 egc(a,b){var c=0;
while(!b[c]||b[c]=="")c++;var d=b[c++];for(;c<b.length;c++){if(!b[c]||b[c]=="")continue;d+=a+b[c]}return d}function shb(a,b){Gfb();var c,d;d=a;c=bh(Rrc(d.d,b));e0b(b,56)>e0b(c,56)?je(!Bgb(b,c)):je(Bgb(b,c));thb(b,new Dhb(d),(ue(),_e(),Ye))}function K3(a,b){G3();var c,d,e,f,g;g=(fm(),new Mq);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Lq(g,c.b)}this.a=a;this.b=ro(new pmc(g.a))}function gC(){if(Error.stackTraceLimit>0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return"stack"in new Error}
function HU(a,b){switch(b.f){case 0:return IU(a,Zyc,(QU(),MU));case 1:return IU(a,$yc,(QU(),PU));default:return b.e!=null?b.e:""+b.f}}function Hh(a,b){var c;if(b===a)return true;if(!iD(b,33))return false;c=b;if(c.size()!=a.size())return false;return a.containsAll(c)}function lgb(a,b,c){var d;if(b.Gd(a))return true;if(!c.Gd(a))return false;for(d=a.b;d;d=d.d)if(lgb(d,b,c))return true;return false}function a$b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return Mtc(a.d,b.d)&&a.f==b.f&&
a.e==b.e&&a.c==b.c&&a.b==b.b}function qwb(a,b,c){Xd(!!c);if(Exc==a.Vh()||0==a.Vh()||a.Wh().isEmpty())return a;return Ewb(a.e,a.Vh(),OAb(a.Wh(),b,c),a.Xh(),a.Uh())}function hgc(a){var b;b=typeof a;if(qhc(b,Axc)||qhc(b,Bxc)||qhc(b,Dxc))return true;return a!=null&&a.$implements__java_lang_Comparable}function Ndb(a,b){var c;c=Odb(a,b.a.getAtIndex(0));return!c||b.a.size()==1?c:wub(c,(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size()))))}function hab(a,b){S9();var c;c=a.e;return a.j==(m5b(),E3b)&&a.b.j==Z4b&&
(c.j==u2b&&nb(c.b,a)||c.j==u3b)&&(Sdb(b)||(Xd(!!b.t),Tgb(b.t)))}function i0b(a){var b,c,d,e;b=0;for(e=a.g;e;e=e.ki())++b;c=sC(sD,Kyc,46,b,15,1);for(d=a.g;d;d=d.ki()){--b;c[b]=d.mi()}Nmc(c);return c}function ng(a){var b,c,d,e;for(c=(e=(new Ujc(a.c)).a.ne().Ld(),new Zjc(e));c.a.Dd();){b=(d=c.a.Ed(),d.ye());b.clear()}a.c.clear();a.d=0}function b7(a){var b,c,d;b=lXb(vC(qC(hQ,1),zzc,7,0,[]));for(c=a.b;c;c=c.d)if(c.j==(m5b(),Q4b)){d=YXb(a7(g0b(c,71)));P_b(b,d)}return b}function uFb(a,b){var c,d,e;e=FFb(a,
b.b,true);Q0b(e,(m5b(),g4b));d=iEb(a.a,s3b,e);if(b.a){c=FFb(a,b.a,true);Q0b(c,g4b);P_b(d,c)}return d}function XMb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;b&&nMb(a,(bSb(),_Qb));c=xMb(a);d=rNb(a,1);e=wMb(a);return new wSb(new oWb(f,a.g),b,c,d,e)}function gNb(a){var b,c,d;d=kPb(a.j,0).b.b;nMb(a,(bSb(),zQb));c=oMb(a);nMb(a,gRb);b=hNb(a);nMb(a,lQb);return new RSb(new oWb(d,a.g),c,b)}function XWb(a){var b;b=0;while(a.b<a.c&&cXb(lhc(a.a,a.b))){b=RT(ZT(10,b),lhc(a.a,a.b++)-48);if(ST(b,Exc)>0)return WWb(a)}return eU(b)}
function Tgc(a){var b,c;if(ST(a,-129)>0&&ST(a,128)<0){b=eU(a)+128;c=(Vgc(),Ugc)[b];!c&&(c=Ugc[b]=new Kgc(a));return c}return new Kgc(a)}function Brb(a){yrb();this.e=new zrc;this.a=a;this.d=t_(a,new Vbb("",null,0,0,trb,null,vC(qC(DR,1),Fxc,2,6,[])))==(lX(),iX);this.c=true}function UHb(){SHb();return vC(qC(kN,1),Zxc,70,0,[DHb,EHb,GHb,MHb,RHb,JHb,PHb,HHb,NHb,IHb,OHb,AHb,zHb,xHb,KHb,QHb,CHb,LHb,BHb,yHb,FHb])}function LOb(a,b){switch(kPb(a.j,0).c.f){case 54:case 55:case 57:case 56:case 17:return true;
case 16:return b==1;default:return false}}function B$b(a){if(!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)&&!YYb(a.a)){a.a.a|=2;a.d=true;return true}else return false}function MBb(a){var b,c;if(SBb(a.v,tCc,a.t))return true;if(a.d)for(c=a.d.Ld();c.Dd();){b=c.Ed();if(MBb(b.a))return true}return false}function AZ(b){var c;if(DZ(b))try{c=mgc(b);if(YT(c,{l:0,m:0,h:512}))return dU(c)}catch(a){a=PT(a);if(!iD(a,96))throw QT(a);}return NaN}function axc(a,b){if(0>a)throw QT(new xcb("fromIndex: 0 > toIndex: "+
a));if(a>b)throw QT(new mfc("fromIndex: 0, toIndex: "+a+kGc+b));}function fub(a,b,c,d,e,f,g,h,i){Xd(!e||0!=e.Vh());de(a);this.a=a;this.f=b;this.d=c;this.g=d;this.i=e;this.c=f;this.e=g;this.j=h;this.b=i}function sGb(a,b,c,d){var e;a.b.fh((e=vC(qC(yR,1),Uxc,1,5,[b]),zEc+m2b("msg.jsdoc.type.record.duplicate",e)+AEc),!a.g?null:a.g.Dg(),c,d)}function qub(a,b,c,d){je(!a.w);if(!!Tg(a.B,b,false)&&Exc!=bh(Tg(a.B,b,false)).d.Vh())return;a.B=Wyb(a.B,b,new _Ab(c,d,null,(kBb(),jBb)))}function wxc(a){uxc();var b,
c,d;c=":"+a;d=txc[c];if(!(d===undefined))return d;d=rxc[c];b=d===undefined?vxc(a):d;xxc();txc[c]=b;return b}function bfb(a,b){var c,d;d=(c=g0b(b.e,51),!c?null:c.Dg());if(d!=null&&qhc(d.substr(0,11)," [synthetic")||(Rvb(),false))return;Z_(a.a,b)}function kMb(a,b){var c;c=(Gm(),new Zp);Xp(c,b?b.a:"");while(AOb(a,(bSb(),nRb))){nMb(a,nRb);b=oMb(a);if(!b)break;Xp(c,b.a)}return Om(c.a)}function oxb(a,b,c){var d,e,f;f=c.size();if(f==b)return c;d=(Gm(),new Zp);for(e=0;e<b;e++)Xp(d,e<f?c.getAtIndex(e):a.a.K);
return Om(d.a)}function MZb(a,b){var c,d,e,f;e=null;if(a){e=new zsc;for(d=new Zsc(new Qsc(a));d.b!=d.c.a.b;){c=Xsc(d);f=c.e;wsc(e,c.d,HZb(f,b))}}return e}function flc(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;olc(c<e);if(c>=f){hlc(a,b);return-1}else{ilc(a,b);return 1}}function nYb(a,b){var c;c=new EZb;c.d=!a.d?null:KZb(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=HZb(a.i,b);c.g=HZb(a.g,b);c.c=a.c;c.f=a.f;return c}function S0(a,b){var c,d;_hc(a.c,b);c=-1;d=c;while((c=uhc(b,Nhc(10),c+1))>=
0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function XNb(a,b){var c,d,e;e=kPb(a.j,0).b.b;c=YNb(a,b);if(AOb(a,(bSb(),AQb))){nMb(a,AQb);d=OMb(a,1);c=new OSb(new oWb(e,a.g),c,d)}return c}function RWb(a,b){b.a=b.a.substr(0,0)+"("+Ghc(b.a,1);if(a.b.k){gXb(a.b,a.b.p-1);b=GWb(a,b,1);b.a+=")"}else{b.a+=")";b=GWb(a,b,0)}return b}function rhc(a,b){exc(a);if(b==null)return false;if(qhc(a,b))return true;return a.length==b.length&&qhc(a.toLowerCase(),b.toLowerCase())}function tgb(a,b){Gfb();var c;
if(e0b(a,43)!=0)return true;if(a.j!=(m5b(),g4b)||!b)return false;c=b.xh(a.ci());return!!c&&(c.Oh()||c.Mh())}function mhb(a,b){Gfb();var c,d;c=(oe(thc(a,Nhc(46))==-1,yzc,a),new _1b((m5b(),g4b),a));if(b){P_b(c,b);X0b(c,b)}d=X0b(wXb(c,g5b),c);return d}function wo(a,b,c,d,e,f,g){fm();var h,i;i=g.length+6;h=new Vlc(i);hnc(h,vC(qC(yR,1),Uxc,1,5,[a,b,c,d,e,f]));hnc(h,g);return ro(new pmc(h))}function kW(a,b){var c;Gfb();!!b&&(b.j==(m5b(),g5b)||b.j==$3b||b.j==$2b)?IV(a,b.j,b):b.j==(m5b(),k3b)?(c=b0b(b),0!=
c&&nW(azc+c,b)):sV(a,b)}function Kgb(a){var b;b=a.e;if(b.j==(m5b(),u4b)||b.j==s2b||b.j==R4b&&b.e.j==u4b){if(a.j==R4b&&!!a.b)return false;return true}return false}function O0(a){var b,c,d,e;e=P_(a.a);try{b=new U0;if(a.a.u){c=0;for(d=a.a.u.b;d;d=d.d)i0(a.a,b,c++,d)}return b.c.a}finally{f0(a.a,e,zAc)}}function r3(a){var b,c,d,e,f;a.e=(nv(),new rrc(pv(p3.length)));f=0;for(c=p3,d=0,e=c.length;d<e;++d){b=c[d];Pic(a.e,Kfc(b),new A3(b,f));++f}}function ADb(a){var b,c,d;b=new fq;eq(b,vn((vDb(),uDb)));for(d=
a.Ld();d.Dd();){c=d.Ed();c.length!=0&&!Xn(uDb,c)&&cq(b,c,VCb)}return In(b.b)}function Iac(a,b,c){var d,e,f;d=new T8b(a);f=c.length-1;for(e=0;e<=f;e++)b&&e==f?R8b(d,c[e]):Q8b(d,vC(qC(BQ,1),Uxc,19,0,[c[e]]));return d.b}function uNb(a,b,c){var d;Vkc(a.e,(tfc(),c?true:false));dTb(iTb(cTb(fTb((b.f=c,b),xMb(a)),rNb(a,0)),wMb(a)),sNb(a));d=dlc(a.e);cxc(d!=null)}function Ifc(a,b,c){Zwc(a>=0&&a<=Lyc);if(a>=Hxc){b[c++]=Ixc+(a-Hxc>>10&Jxc)&Kxc;b[c]=Lxc+(a-Hxc&Jxc)&Kxc;return 2}else{b[c]=a&Kxc;return 1}}function Mt(b,
c){var d;d=b.Od(c);try{return d.Ed()}catch(a){a=PT(a);if(iD(a,64))throw QT(new lfc("Can't get element "+c));else throw QT(a);}}function Tib(a){var b,c,d;for(d=U_b(a.n).Ld();d.Dd();){b=d.Ed();a.k+=1;a.j+=Qib(b)}for(c=U_b(a.u).Ld();c.Dd();){b=c.Ed();a.v+=1;a.t+=Qib(b)}}function ckb(a,b,c,d){if(c.j==(m5b(),K3b)){a.i=true;ekb(a,b,c,d)}else if(c.j==r3b){a.i=true;dkb(a,b,c,d)}else if(c.j==K4b){++a.j;fkb(a,b,c)}}function Gvb(a,b){if(a.e.a.length!=0||!!a.j)throw QT(new Nvb("Cannot add required formal after optional or rest args"));
Jlc(a.i,b);return a}function XLb(a){SLb();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 PPb(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 ghb(a){switch(a){case 5:case 1:case 3:case 2:return false;case 6:case 4:case 0:return true;default:throw QT(new sgc("unexpected"));}}function HOb(a){var b;b=kPb(a.j,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;
default:return SLb(),!!ULb(b.c)}}function $Ob(a){this.d=a==5;this.b=a==7||a==6||a==3||a==4||a==5;this.a=this.b||a==1||a==2;this.c=a==2||a==4||a==5||a==6||a==7;this.e=!this.a}function pe(a,b,c){if(!a)throw QT(new sgc(te('Bad binary operator "%s": expected 2 arguments but got %s',vC(qC(yR,1),Uxc,1,5,[b,Hgc(c)]))));}function FZ(a){if(!a.g)throw QT(new sgc("Cannot build without root node being specified"));return EZ(a.g,b$(a.c,a.d,a.e),a.c,a.i,a.j,a.b,a.a)}function wub(a,b){var c,d;d=b.a.getAtIndex(0);
c=a.A.oe(d);return!c||b.a.size()==1?c:wub(c,(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size()))))}function cBb(a,b){var c,d,e;d=a.b;e=b.b;!d||!e?c=null:Tvb(d,e)?c=d:c=null;return new _Ab(a.c==b.c?a.c:null,Cwb(a.d,b.d),c,dBb(a.a,b.a))}function qEb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new mHb(new dIb(d.substr(3,d.length-3),e,c+3),d,b.a.b.c,a.q,a.a,a.d);return TGb(f)}function MFb(a,b){var c,d,e,f;e=(Gm(),new Zp);for(d=b.a.Ld();d.Dd();){c=d.Ed();Xp(e,zEb(a.a,c))}f=zEb(a.a,b.b);return YDb(a.a,w5b(f,
Om(e.a)))}function WBb(a,b){var c,d,e,f;if(!a)return null;d=null;for(f=a.Ld();f.Dd();){e=f.Ed();if(e.Th(b)){c=e.Rh(b);!!c&&(d=!d?c:Cwb(d,c))}}return d}function I_(a,b,c,d){var e,f,g,h;g=new ecb;for(f=es(new tjc(c.a));f.Dd();){e=f.Ed();acb(g,new g1(e))}h=new Vlc(1);h.a[h.a.length]=g;K_(a,b,h,d)}function bOb(a){var b,c;b=kPb(a.j,0).b.b;if(AOb(a,(bSb(),gRb))){nMb(a,gRb);c=new JVb(new oWb(b,a.g),GNb(a));nMb(a,lQb)}else c=rOb(a);return c}function $Gb(a,b){var c;c=_Gb(a,b);if(c)if(DGb(a,(SHb(),KHb))){!a.o?
ZHb(a.j):vGb(a);jHb(a);b=!a.o?ZHb(a.j):vGb(a);return eHb(a,b,c)}return c}function Gdc(a,b,c){var d,e,f;f=c-b.size();if(f>0){d=(Gm(),new Zp);Op(d,b);for(e=0;e<f;e++)Xp(d,Oac(a.b,(wac(),sac)));return Om(d.a)}return b}function APb(a){if(Afc(ePb(a,a.d)?lhc(a.e.a,a.d):0,16)<0){nPb(a,"Hex digit expected",vC(qC(yR,1),Uxc,1,5,[]));return false}fPb(a);return true}function WIb(a,b){var c;if(b.j!=(m5b(),g4b)){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["name"]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);return false}return true}
function xgb(a){Gfb();var b;if(!!a&&(a.j==(m5b(),g5b)||a.j==$3b||a.j==$2b))for(b=a.b;b;b=b.d)if(b.j==(m5b(),g3b))return true;return false}function jW(a,b){var c;Gfb();if(!!b&&(b.j==(m5b(),g5b)||b.j==$3b||b.j==$2b)){c=b0b(b);1!=c&&nW(fzc+c,b);IV(a,b.j,b)}else q0b(b)||nW(dzc+b.j,b)}function WFb(a,b){var c;Xd(b.c==(bSb(),cRb)||b.c==MRb||b.c==NRb||b.c==ORb);c=nEb(a.a,pEb(a.a,b,true));w0b(c,71,b.a);xEb(c,b.b.b,b.b.a);return c}function t_b(a,b){if(!!b&&!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==
oCc)&&!a.a.g){AZb(a.a,b);a.d=true;return true}else return false}function dhb(a){Gfb();switch(a.j.f){case 65:case 83:case 109:return true;case 80:if(!a.e||!(!a.e?null:a.e.e))return true;default:return false}}function htc(a,b){var c,d;gxc(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;c<b;++c)d=d.a}return new utc(a,b,d)}function B6b(a){var b,c,d;b=0;!!a.b&&(b+=a.b.yd());a.c&&(b+=1);if(a.a){c=a.a.b;while(c){d=iD(c.k,19)?c.k:null;!!d&&(b+=d.yd());c=c.d}}return b}function zsb(a){return Isb(),
OCc+Ahc(zhc(zhc(zhc(zhc(zhc(Ahc(Bhc(Ksb(a.a),BBc+Awc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),wBc,"_")}function UWb(a,b,c,d,e){if(b==-2&&!e)throw QT(new BWb("<"));if(b>=a.length)throw QT(new BWb(Hhc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function zXb(a,b,c,d){je(a.j==(m5b(),g5b)||a.j==k3b||JXb(a));je(b.j==k3b||JXb(b));je(c.j==k3b||JXb(c));je(d.j==N2b);return new f1b(w3b,a,b,c,d)}function Tlc(a,b){var c,d,e;e=a.a.length;b.length<e&&(b=(d=new Array(e),wC(d,b)));for(c=0;c<e;++c)b[c]=
a.a[c];b.length>e&&(b[e]=null);return b}function Ymc(a,b){var c,d,e;e=a.a.length;b.length<e&&(b=(d=new Array(e),wC(d,b)));for(c=0;c<e;++c)b[c]=a.a[c];b.length>e&&(b[e]=null);return b}function Z2(a,b){var c;if(iD(b,200)){c=b;c.a&&(a.a=c.a);$2(a,new Wlc(new mvc(c.c.a.wj())))}else{++a.d;Pic(a.e,b,Hgc(a.d));ivc(a.c,b);hvc(a.c,b)}}function G7(a,b){l7();return q_(a,"es6/util/"+Jhc("makeIterator",(Ftc(),Dtc)),false),qXb(lhb(a,"$jscomp.makeIterator"),vC(qC(hQ,1),zzc,7,0,[b]))}function yAb(a,b,c){if(b.a==
(kBb(),iBb)){if(!!a&&!cwb(a.d,b.d,c))return false}else if(!a||a.a==iBb||!cwb(a.d,b.d,c))return false;return true}function FIb(a,b){if(!wIb(a,b,(AJb(),fJb)))return false;if(!VIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)))){_Ib(a,fJb.d);return false}return true}function MIb(a,b){if(!wIb(a,b,(AJb(),qJb)))return false;if(!VIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)))){_Ib(a,qJb.d);return false}return true}function x$b(a,b){if(!!b&&!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)&&!VYb(a.a)){jZb(a.a,
b);a.d=true;return true}else return false}function zIb(a){return yIb(a)&&CJb(a.toLocaleUpperCase()).a==2||yIb(a)&&CJb(a.toLocaleUpperCase()).a==3||yIb(a)&&CJb(a.toLocaleUpperCase()).a==4}function dOb(a,b){var c;c=YNb(a,b);AOb(a,(bSb(),AQb))&&TOb(a,"A default value cannot be specified after '...'",vC(qC(yR,1),Uxc,1,5,[]));return c}function fD(a,b){if(nD(a))return!!eD[b];else if(a.Dj)return!!a.Dj[b];else if(kD(a))return!!dD[b];else if(jD(a))return!!cD[b];return false}function Nb(a){var b,c;c=vC(qC(rD,
1),Gxc,46,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=Qxc.charCodeAt(a&15);a=a>>4&Kxc}return Shc(c,0,c.length)}function oHb(a){var b,c;c=0;while(c<a.length){b=lhc(a,a.length-c-1);if(/\s/.test(b))++c;else break}if(c==0)return a;return Hhc(a,0,a.length-c)}function Tx(a){var b,c;c=!a.a||a.a.isEmpty()&&usc(a.c.a,a.b)?a.a=vsc(a.c.a,a.b):a.a;if(!c)return Mr(),Mr(),Lr;b=c.ne().Ld();return new ay(a,b)}function DV(a){var b,c;NV((m5b(),W3b),a);a.ci()==null&&nW(kzc,a);a.ci().length==0&&nW(lzc,a);c=o5b(a.j);
c!=-1&&(b=b0b(a),c!=b&&nW(bzc+c+czc+b,a))}function HV(a){var b,c;NV((m5b(),g4b),a);a.ci()==null&&nW(kzc,a);a.ci().length==0&&nW(lzc,a);c=o5b(a.j);c!=-1&&(b=b0b(a),c!=b&&nW(bzc+c+czc+b,a))}function IBb(a,b){var c,d,e;je(a.f!=0);e=FBb(a,b);if(e)return e;if(a.d)for(d=a.d.Ld();d.Dd();){c=d.Ed();e=mzb(c,b);if(e)return e}return null}function wIb(a,b,c){var d;d=(ae(b.j==(m5b(),Q2b),OEc,b),b0b(b)-1);if(d<c.c){aJb(a,c.d);return false}if(d>c.b){ZIb(a,c.d);return false}return true}function HEb(a,b){var c;if(b.j==
(m5b(),I4b)){c=b;while(c=c.e)if(c.j==y3b)return;a.d.eh("return must be inside function",a.r,i1b(b.i),h1b(b.i))}}function Zkc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=zgc(8>d?8:d)<<1;if(a.b!=0){b=Ewc(a.a,c);Ykc(a,b,d);a.a=b;a.b=0}else Iwc(a.a,c);a.c=d}function uwc(a,b){if(a.b)if(!a.e)throw QT(new sgc("regex did not match"));else return a.e[b];else throw QT(new sgc("regex not executed yet"));}function Xk(a,b){if(a==null)throw QT(new _gc("null key in entry: null="+b));else if(b==null)throw QT(new _gc("null value in entry: "+
a+"=null"));}function Ywc(a){switch(typeof a){case Dxc:return wxc(a);case Bxc:return pD(a);case Axc:return tfc(),a?1231:1237;default:return a==null?0:qxc(a)}}function rb(a){return nD(a)?wxc(a):kD(a)?pD((exc(a),a)):jD(a)?(exc(a),a)?1231:1237:hD(a)?a.yd():uC(a)?qxc(a):!!a&&!!a.hashCode?a.hashCode():qxc(a)}function ne(a,b,c){if(!a)throw QT(new sgc(te("Bad GETELEM node: Expected 2 children but got %s. For node: %s",vC(qC(yR,1),Uxc,1,5,[Hgc(b),c]))));}function g0(a,b,c,d,e){var f;hwc(g_,"Strip code");
e0(a,"stripCode");f=new Inb(a,b,c,d,e);a.H.od==(R2(),Q2)&&wrc(f.e,"goog.tweak");Hnb(f,a.u);p_(a)}function aab(a,b){var c,d,e;return d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29)),!!d&&(d.a&1)!=0&&(d.a&2)==0||(c=g0b(b,51),!(!!c&&c.Fh())&&sgb(a.f,dab(b)))}function mib(a){var b,c,d,e;c=a.b;b=c.ai(false);e=X0b(wXb(b,(m5b(),g5b)),a);c.hi("");d=a.e;if(d.j==V3b)B0b(d,a,e);else{x0b(d,a);Q_b(d,e)}Q_b(b,a)}function JPb(a,b){var c,d,e;d=a.d;while(ePb(a,a.d)&&!SPb(ePb(a,a.d)?lhc(a.e.a,a.d):0))fPb(a);c=bMb(a.e.b,d,a.d);
e=Hhc(a.e.a,d,a.d);YOb(a.a,b,c,e)}function x5b(a){var b,c,d;Yd(!zr(a),"union must have at least one option");b=new h2b((m5b(),e5b));for(d=a.Ld();d.Dd();){c=d.Ed();P_b(b,c)}return b}function og(a,b){var c;c=a.c.oe(b);!c&&(c=a.he(b));return iD(c,154)?new nj(a,b,c):iD(c,33)?new lj(a,b,c):iD(c,47)?vg(a,b,c,null):new yi(a,b,c,null)}function RV(a,b){var c,d;NV((m5b(),R4b),b);SV(b);v2(a.a.v)?(d=b0b(b),(d<0||d>1)&&nW(jzc+d,b)):(c=b0b(b),1!=c&&nW(fzc+c,b));!!b.b&&!b.b.d&&sV(a,b.b)}function z5(a,b,c,d){t5();
var e;if(a.j==(m5b(),$2b)&&(Gfb(),!(b.j==w3b&&b0b(b)==3&&a==b.b))){x5(a,c,d);e=H_b(g0b(d,29));A$b(e);H0b(d,p$b(e,false))}}function pfb(b,c){var d;try{nfb(b,$fb(c),"");b.f=c;kfb(b,c);qfb(b,c,null);jfb(b,false)}catch(a){a=PT(a);if(iD(a,40)){d=a;ofb(b,d)}else throw QT(a);}}function Xib(a,b,c){var d;d=glc(a.f);je(qhc(b,d.j));Jlc(a.w,d);d.n=c;d.a=0;d.k=1;a.d.a&&(d.d=1);qhc(b,BAc)?Vib(a,d):a.d.a&&a.D!=(L2(),K2)&&Uib(a,d)}function pzb(a,b){var c,d,e;e=a.a.o;je(b.size()==e.size());d=new zsc;for(c=0;c<e.size();c++)wsc(d,
e.getAtIndex(c),b.getAtIndex(c));return qzb(a,d)}function DJb(){AJb();return vC(qC(pN,1),Zxc,63,0,[cJb,dJb,eJb,gJb,hJb,iJb,jJb,kJb,fJb,mJb,lJb,nJb,oJb,pJb,qJb,tJb,sJb,rJb,uJb,vJb,wJb,xJb,yJb,zJb])}function VPb(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:return true;default:return false}}function ddc(a,b,c,d){if(h6b(a,b,c,d))return true;if(Oac(a.u,(wac(),_9b)).Di(b,c,d))return true;if(!b.Ki())return false;return X6b(a,b.Ki(),c,d)}function $gb(a,
b){var c,d;if(a.j==(m5b(),Q4b))return true;if(b.Df().sd){d=a.k;if(d){c=b.Ff().bh((wac(),iac));if(d.Yh(c))return true}}return false}function nAb(a){var b,c,d,e;for(e=(c=(new Ujc(a)).a.ne().Ld(),new Zjc(c));e.a.Dd();){d=(b=e.a.Ed(),b.ye());if(0==d.d.Vh())return true}return false}function NGb(a,b){var c,d;switch(b.f){case 4:d=a.j.n;c=V_b(new a2b((m5b(),R4b),d,a.j.g,YHb(a.j)),a.n);J0b(c,d.length);return c;default:return null}}function AGb(a){var b,c,d;bIb(a.j);d=a.j.g;b=YHb(a.j)+1;c=Lhc(BGb(a));c.length>
0&&u$b(a.e,c,d,b,d,b+c.length);return new qHb(c,!a.o?ZHb(a.j):vGb(a))}function H$(a){var b,c,d;b=a.b;if((u0b(b,oAc,oAc.length)||u0b(b,pAc,pAc.length))&&b0b(a)==3){c=b.d;d=c.d;return new x$((A$(),c),d)}else return null}function Hfc(a){Zwc(a>=0&&a<=Lyc);return a>=Hxc?vC(qC(rD,1),Gxc,46,15,[Ixc+(a-Hxc>>10&Jxc)&Kxc,Lxc+(a-Hxc&Jxc)&Kxc]):vC(qC(rD,1),Gxc,46,15,[a&Kxc])}function nb(a,b){return nD(a)?qhc(a,b):kD(a)?(exc(a),a===b):jD(a)?(exc(a),a===b):hD(a)?a.wd(b):uC(a)?a===b:!!a&&!!a.equals?a.equals(b):
oD(a)===oD(b)}function Ty(a,b){if(b>127||a.e[b]==-1)throw QT(new Az("Unrecognized character: "+(bc((gc(),fc),b)?"0x"+(b>>>0).toString(16):Kfc(b))));return a.e[b]}function kZ(a,b){var c,d,e;d=b.ci();e=e0b(b,54)!=0;if(e)dZ(a,pZ(a,b.ci(),e));else{c=Nic(a.d,d);if(c==null){c=pZ(a,b.ci(),e);Qic(a.d,d,c)}DY(a.c,c)}}function TMb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=iNb(a,b);while(AOb(a,(bSb(),ZPb))){d=nMb(a,ZPb);e=iNb(a,b);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function JNb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;
c=UMb(a,b);while(AOb(a,(bSb(),_Pb))){d=nMb(a,_Pb);e=UMb(a,b);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function UMb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=VMb(a,b);while(AOb(a,(bSb(),cQb))){d=nMb(a,cQb);e=VMb(a,b);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function VMb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=TMb(a,b);while(AOb(a,(bSb(),fQb))){d=nMb(a,fQb);e=TMb(a,b);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function KNb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=JNb(a,b);while(AOb(a,(bSb(),jRb))){d=nMb(a,jRb);e=JNb(a,
b);c=new sSb(new oWb(f,a.g),c,d,e)}return c}function p_(a){ke(!!a.c,"Tracer should not be null at the end of a pass.");f0(a,a.c,a.b);a.b=null;a.c=null;a.H._==(K1(),G1)&&$lb(new cmb(a),a.n,a.u)}function Dub(a,b){de(b);if(a.d==(Rub(),Qub))return;oe(a.d==Oub,zDc,Me(a.d));a.d=Qub;a.e=null;a.a=b;a.b=(Rvb(),Ewb(a.s,4,Pvb,null,(fm(),new Jx(a))))}function o_b(a,b){if(!!b&&!OYb(a.a)&&!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)){BZb(a.a,b,lyc);a.d=true;return true}else return false}function E7(a,
b){return q_(a,"es6/util/"+Jhc("arrayFromIterable",(Ftc(),Dtc)),false),qXb(lhb(a,"$jscomp.arrayFromIterable"),vC(qC(hQ,1),zzc,7,0,[b]))}function F7(a,b,c){var d,e;d=e0b(a,58)!=0?b:c;d=W_b(d,false);if(a.j==(m5b(),Z2b))return BXb(d,z0b(a));else{e=a.b.b;return CXb(d,X0b(YXb(a.ci()),e))}}function gfb(a){var b,c;c=_kc(a.n)?null:alc(a.n);if(_kc(a.k))return c;b=new xlc(a.k);while(b.a!=b.b){c=a.j.Lg(wlc(b),c);Ukc(a.n,c)}Wkc(a.k);return c}function Hnb(a,b){var c,d,e,f;for(f=(d=(new Kjc(a.e.a)).a.ne().Ld(),
new Qjc(d));f.a.Dd();){e=(c=f.a.Ed(),c.xe());wrc(a.d,e+".")}wfb(a.a,b,new Ynb(a))}function deb(a,b){var c,d,e,f;for(d=(f=(new Kjc(a.i.a)).a.ne().Ld(),new Qjc(f));d.a.Dd();){c=(e=d.a.Ed(),e.xe());c.d==(Rub(),Qub)||Jxb(b,c,a)}a.i=null}function _zb(a){var b,c,d,e;for(e=(c=(new Kjc(a.g)).a.ne().Ld(),new Qjc(c));e.a.Dd();){d=(b=e.a.Ed(),b.xe());if(!qhc(d,Hzc))return true}return!!a.e}function EA(a){var b,c,d,e,f;TA(new VA(a),new WA);c=0;f=0;for(e=new pmc(a.e);e.a<e.c.a.length;){d=nmc(e);if(d.f){++c;b=d.a.b;
f=f>b?f:b}}return f+a.i.b}function ctb(){ctb=pU;new q4("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(lX(),iX),new Hic("Rename prototypes and inline variables cannot be used together."))}function qec(a,b){A5b();var c,d,e;K5b.call(this,a);this.b=b;e=new Jec(a);for(d=b.Ld();d.Dd();){c=d.Ed();Dec(e,c,true)}this.a=Fec(e);this.c=rb(this.b)}function iic(a,b,c){var d,e;fxc(a,"src");fxc(b,"dest");pb(a);pb(b);e=a.length;d=b.length;if(c<0||c>e||c>d)throw QT(new kfc);c>0&&Dwc(a,0,b,0,c,true)}function jvb(a,b,c,d,e,f,g,
h,i,j,k){de(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;Xub(this)}function dIb(a,b,c){this.o=sC(rD,Gxc,46,128,15,1);this.q=sC(sD,Kyc,46,3,15,1);de(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function Wzb(a,b){var c;if(b==null)return false;if(a===b)return true;Xd(iD(b,130));c=b;return Mtc(a.b,c.b)&&Mtc(a.e,c.e)&&Mtc(a.d,c.d)&&Mtc(a.g,c.g)}function WZb(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return a$b(a.a,
b.a)&&a$b(a.c,b.c)&&$Zb(a.d,b.d)&&a$b(a.b,b.b)&&d$b(a.e,b.e)}function tBb(a,b,c){je(!a.e);if(!!Tg(a.b,b,false)||!!Tg(a.i,b,false))return;a.g==(Pzb(),Nzb)&&(a.j=Wyb(a.j,b,new _Ab(null,!c?a.s.K:c,c,(kBb(),jBb))))}function ZEb(a){var b,c;Xd(a.j==(m5b(),K4b));if(!a.b)return false;c=a.b;if(c.j!=u3b)return false;b=c.b;if(b.j!=Q2b)return false;return t0b(b.b,Fzc)}function HGb(a,b,c,d){var e,f;if(c!=-1&&d==0){f=YHb(a.j)-c;for(e=0;e<f;e++)b.a+=" "}else b.a.length>0&&(bfc(b,b.a.length-1)!=10||d==0)&&(b.a+=
" ",b)}function zhc(a,b,c){var d,e,f;d=(b>>>0).toString(16);e="\\u"+Ghc("0000",d.length)+d;f=String.fromCharCode(c);return a.replace(new $wnd.RegExp(e,"g"),f)}function qdb(a,b){if(b.length==0)return b;b.indexOf(lCc)!=-1&&(b=Hhc(b,0,b.lastIndexOf(lCc)));a.a.$f(b)&&(b="JSCompiler_"+b);return b+lCc+a.d+a.f.Ad()}function aFb(a,b,c){var d;if(c){rEb(a.a,c.o,g0b(b,29));d=(gFb(a,c,(NKb(),MKb)),zEb(a.a,c));d.j==(m5b(),Q4b)&&(d=YDb(a.a,new j2b(Q4b,d.ci())));E0b(b,d)}}function P8b(a,b){var c,d,e,f,g;c=f0b(a.b);
if(!!c&&e0b(c,30)!=0)return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];L0b(S8b(a,Hac(a.a,d)))}return true}function rYb(a,b,c){!a.d&&(a.d=new PZb);if(eZb(a,b))return false;if(!a.d.s)a.d.s=new zsc;else if(usc(a.d.s,b))return false;wsc(a.d.s,b,c);return true}function Iec(a){var b,c;c=Gec(a);if(c)return a.c?null:c;b=a.a.a.length;return b>a.g?Oac(a.i,(wac(),sac)):b>1?null:b==1?Mlc(a.a,0):Oac(a.i,(wac(),O9b))}function Lhc(a){var b,c,d;c=a.length;d=0;while(d<c&&a.charCodeAt(d)<=32)++d;b=c;while(b>d&&a.charCodeAt(b-
1)<=32)--b;return d>0||b<c?a.substr(d,b-d):a}function Mj(a,b,c){var d,e;Yk(c,"count");if(c==0){d=a.a.remove(b);e=Sj(d,c)}else{d=a.a.oe(b);e=Sj(d,c);!d&&a.a.put(b,new ml(c))}a.b=RT(a.b,c-e);return e}function FC(a,b){var c,d,e;if(b<=22){c=a.l&(1<<b)-1;d=e=0}else if(b<=44){c=a.l;d=a.m&(1<<b-22)-1;e=0}else{c=a.l;d=a.m;e=a.h&(1<<b-44)-1}return AC(c,d,e)}function s8(a){var b,c,d;Xd(a.j==(m5b(),y3b));for(c=U_b((Gfb(),Xd(a.j==y3b),a.b.d)).Ld();c.Dd();){b=c.Ed();d=A0b(b,b.g,29);d!=b.g&&(b.g=d)}H0b(a.b,null)}
function dab(a){if(a.j==(m5b(),E3b))return a.b?a.b.f:null;if(a.j==g4b||a.j==R4b||a.j==F3b||a.j==L4b)return a;throw QT(new yB("Unknown defsite: "+a.j));}function $zb(a,b){var c;c=Yzb(a,b);if(b.a.size()==1)return!c?a.a.G:c.d;else{je(!!c);return _vb(c.d,(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size()))))}}function vMb(a){if(a.b.d&&arc(Yqc((bSb(),uRb),vC(qC(DN,1),Zxc,13,0,[tRb,sRb])),kPb(a.j,0).c)){a.d=SJb(a.d,(QJb(),PJb));return AMb(a).c}else return null}function iSb(a){var b;b=a;while(b.p==(EVb(),bVb))b=
b.a;switch(b.p.f){case 26:case 46:case 55:case 59:case 61:case 73:return true;default:return false}}function H$b(a,b){var c,d;for(d=new yoc(b.b.Ld());d.b.Dd();){c=d.b.Ed();if((XYb(a.a,c)||qhc(c,"*"))&&mZb(a.a,c))a.d=true;else return false}return true}function Tr(a,b){Mr();var c,d;while(a.Dd()){if(!b.Dd())return false;c=a.Ed();d=b.Ed();if(!(oD(c)===oD(d)||c!=null&&nb(c,d)))return false}return!b.Dd()}function Sfb(a){Gfb();var b;if(a.j!=(m5b(),y3b))return false;if(g0b(a.b,29))return true;b=a.b.d.b;while(b){if(g0b(b,
29))return true;b=b.d}return false}function Knb(a,b,c){var d;d=r_(a.a.a).Uf(c);if(d){if(Vnb(a,d.a))return true;Vnb(a,d.b)&&mfb(b,c,(Gnb(),Fnb),vC(qC(DR,1),Fxc,2,6,[d.a,d.b]))}return false}function Ztc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&Ztc(a,b,c,i,e,f,g,h);$tc(a,c,d.d,e,f,g,h)&&b.add(d);j=d.a[1];!!j&&Ztc(a,b,c,j,e,f,g,h)}function Dwc(a,b,c,d,e,f){var g,h,i;if(a===c){a=a.slice(b,b+e);b=0}for(h=b,i=b+e;h<i;){g=h+1E4<i?h+1E4:i;e=g-h;Bwc(c,d,f?e:0,a.slice(h,g));h=g;d+=e}}function REb(a){XDb();
switch(a.f){case 98:return m5b(),_4b;case 99:return m5b(),v3b;default:throw QT(new sgc(!a?Mxc:a.a==null?(SLb(),Yn(tLb,a)).b:a.a));}}function UEb(a){XDb();switch(a.f){case 68:return m5b(),P3b;case 69:return m5b(),b3b;default:throw QT(new sgc(!a?Mxc:a.a==null?(SLb(),Yn(tLb,a)).b:a.a));}}function W0b(b){var c,d;try{d=new dic;t1b(b,0,d);return d.a}catch(a){a=PT(a);if(iD(a,94)){c=a;throw QT(new yB("Should not happen\n"+c));}else throw QT(a);}}function Q8b(a,b){var c,d,e,f,g;c=f0b(a.b);if(!!c&&(e0b(c,37)!=
0||e0b(c,30)!=0))return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];S8b(a,d)}return true}function tC(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c}for(var e=0;e<b;++e)c[e]=d;return c}function lV(a,b){var c;NV((m5b(),Z2b),b);sV(a,b.b);if(e0b(b,75)!=0){c=b0b(b);1!=c&&nW(fzc+c,b)}else{c=b0b(b);2!=c&&nW(gzc+c,b);uV(a,b.b?b.b.f:null,false)}}function DZ(a){var b,c,d;d=a.length;if(d==0)return false;for(c=0;c<d;c++){b=a.charCodeAt(c);if(b<48||b>
57)return false}return d==1||a.charCodeAt(0)!=48}function zub(a){var b,c;if(!a.w){de(a.s);for(c=a.A.values().Ld();c.Dd();){b=c.Ed();if(a.u)return null;a.u=true;zub(b);a.u=false}a.w=de(a.Qh())}return a.w}function vNb(a){var b,c,d,e;d=kPb(a.j,0).b.b;e=null;if(GOb(a)){b=rNb(a,0);nMb(a,(bSb(),aQb));c=nOb(a);e=new sTb(new oWb(d,a.g),b,c)}else e=MMb(a);return e}function L7b(a,b,c,d,e){$6b.call(this,a,e);this.r=new scc;rcc(this.r,this);this.k=b;this.o=d;d||!!c?(je(!this.fj()),this.n=c):H7b(this,Nac(a,(wac(),
_9b)))}function Phc(a){var b;b=0;while(0<=(b=a.indexOf("\\",b)))a.charCodeAt(b+1)==36?a=a.substr(0,b)+"$"+Ghc(a,++b):a=a.substr(0,b)+(""+Ghc(a,++b));return a}function gz(a){var b;bz.call(this,a,null);this.a=sC(rD,Gxc,46,512,15,1);Xd(a.c.length==16);for(b=0;b<256;++b){this.a[b]=a.c[b>>>4];this.a[b|256]=a.c[b&15]}}function Z4(a,b,c){var d,e,f;f=c.ci();d=gfb(b);while(d){e=tp(a.a,d.wh(),f);if(e!=null){c.hi(e);$_(b.d);return}else if(d.zh(f,false))return;else d=d.vh()}}function e8(a,b){var c,d,e,f;if(b0b(b)!=
4)return;e=b.b;d=e.d;c=d.d;f=c.d;if(!o0b(d))return;if(c.j!=(m5b(),Q4b))return;Jlc(a.f,new v8(a,h0b(d),c.ci(),f))}function Ptb(){Ptb=pU;Otb=new q4("JSC_ILLEGAL_PROTOTYPE_MEMBER",(lX(),jX),new Hic("Prototype property {0} should be a primitive, not an Array or Object."))}function BBb(a){var b;je(a.f==0);je(a.e);if(!a.a){b=(fm(),new Mq);!!a.n&&Lq(b,BBb(a.n.a));a.a=ro(new pmc(Lq(Lq(b,new Kjc(a.b)),new Kjc(a.i)).a))}return a.a}function EDb(){EDb=pU;DDb=new FDb("TYPES_ONLY",0);BDb=new FDb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",
1);CDb=new FDb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)}function DEb(a,b){var c,d,e;e=new klc;while(b){GEb(a,b);EEb(a,b);HEb(a,b);FEb(a,b);d=b.d;c=b.b;if(c){!!d&&Ukc(e,d);b=c}else d?b=d:b=clc(e)}je(e.b==e.c)}function Nt(b,c){var d,e;d=b.Od(c);try{e=d.Ed();d.Fd();return e}catch(a){a=PT(a);if(iD(a,64))throw QT(new lfc("Can't remove element "+c));else throw QT(a);}}function Olb(a,b,c,d,e,f){var g;g=Plb(a,b);if(g)return new Vbb(c,null,d,e,g,null,vC(qC(DR,1),Fxc,2,6,[b]));return $bb(c,d,e,f,Ilb,vC(qC(DR,
1),Fxc,2,6,[b]))}function osb(a,b){var c;return new Asb(a,ssb((Isb(),c=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(b,58,45),92,47)," ",wBc),"[",xBc),"]",yBc),"<",zBc),">",ABc),Jsb(c)),a.c))}function nIb(){var a;if(jIb)return;a=Stc(NEc);jIb=mIb(Qtc(a,"jsdoc.annotations"));kIb=mIb(Qtc(a,"jsdoc.suppressions"));mIb(Qtc(a,"compiler.reserved.vars"))}function KC(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&Qyc;a.m=d&Qyc;a.h=e&Ryc;return true}function y5(a,b){t5();
var c,d;while(!!a.b&&!!a.b.d){c=a.b?a.b.f:null;d=X0b(wXb($_b(c),(m5b(),g5b)),a);z5(a,b,c,d);N_b(b,d,a)}z5(a,b,a.b,a);Q0b(a,(m5b(),g5b))}function fbb(a,b){var c,d;if(!b)return null;if(b.c)return null;if(b.d)return b.d;d=b.a;if(d){c=d.c;if(!c)return null;return Zxb(a.c.d,cub(c))}return null}function qgb(a){Gfb();if(a.j==(m5b(),g4b))switch(a.e.j.f){case 98:case 86:case 77:return true;case 94:return a.e.b==a;case 65:return rgb(a.e)}return false}function U$b(a){if((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&
$Bc)==oCc||(a.a.a&2)!=0||ZYb(a.a)||(a.a.a&UDc)!=0)return false;a.a.a|=512;a.d=true;return true}function E6b(a,b,c,d){A5b();K5b.call(this,a);this.a=!b?Iac(a,true,vC(qC(BQ,1),Uxc,19,0,[D5b(this,(wac(),sac))])):b;this.b=!c?D5b(this,(wac(),sac)):c;this.c=d}function $tc(a,b,c,d,e,f,g){var h,i;if(b.Aj()&&(i=a.a.He(c,d),i<0||!e&&i==0))return false;if(b.Bj()&&(h=a.a.He(c,f),h>0||!g&&h==0))return false;return true}function re(a,b,c,d){if(!a)throw QT(new sgc(te("Trying to update property %s on type %s, but sub-property %s does not exist",
vC(qC(yR,1),Uxc,1,5,[b,c,d]))));}function q3(){q3=pU;o3=Ihc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");p3=Ihc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function iab(a){S9();var b,c,d;if(a.j!=(m5b(),g4b)&&a.j!=E3b)return false;b=(Gfb(),c=Tfb(a),!c?null:g0b(c,29));d=hgb(a);return!!b&&(b.a&2)!=0&&!!d&&d.j==Q2b}function s$b(a,b,c,d){var e,f;e=lYb(a.a);if(e){f=new b$b;Yd(b.charCodeAt(0)!=32&&lhc(b,b.length-1)!=32,LFc);f.d=b;XZb(f,c,d,c,d+b.length);e.a=f;a.d=true}a.b=
e}function ct(a){var b,c,d,e,f;if(Ep(a.f,a.b.length)){d=sC(MF,oyc,225,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.gf()){f=c;b=f.d&e;f.a=d[b];d[b]=f}}}function lY(a,b,c){var d,e,f;e=null;Gfb();if(b.j==(m5b(),u3b)&&b.b.j==Q2b){d=a.b;if(!!d&&d.j==E3b&&u0b(d,c,c.length)){f=d.d;!!f&&f.j==Q4b&&(e=f.ci())}}return e}function BZ(a){var b,c,d;if(Jgb(a))return a;d=new dic;for(c=0;c<a.length;c++){b=a.charCodeAt(c);b>31&&b<127?(d.a+=String.fromCharCode(b),d):oB(d,b)}return d.a}function $ab(a,b){var c,
d;c=g0b(b,51);if(!!c&&c.Fh())return false;d=hgb(b);if(!d){bfb(a.c.t,Zbb(b,(S9(),t9),vC(qC(DR,1),Fxc,2,6,[])));return true}return false}function R8b(a,b){var c;c=f0b(a.b);if(!!c&&e0b(c,30)!=0)return false;b.xi()||b.vi()||b.wi()||Oac(b.u,(wac(),L9b))==b||(b=Hac(a.a,b));S0b(S8b(a,b));return true}function wAb(a,b){var c,d,e,f;for(f=(d=(new Kjc(a.g)).a.ne().Ld(),new Qjc(d));f.a.Dd();){e=(c=f.a.Ed(),c.xe());if(!cAb(b,new oBb(e)))return false}return true}function yBb(a,b,c){je(!a.e);if(!Tg(a.i,b,false)||
!bh(Tg(a.i,b,false)).b){a.i=Wyb(a.i,b,new _Ab(c,a.s.K,null,(kBb(),jBb)));!!Tg(a.j,b,false)&&(a.j=Xyb(a.j,b))}}function Y6b(a){var b,c,d;if(a.s){b=a.Ui();if(!b||b.aj()){a.s=false;for(d=a.Ti().Ld();d.Dd();){c=d.Ed();if(c.Ei()){a.s=true;break}}}else a.s=b.Ei()}return a.s}function tw(a,b){var c,d,e;if(b.isEmpty())return false;if(iD(b,229)){e=b;for(d=pj(e).Ld();d.Dd();){c=d.Ed();Hj(a,c.b.xe(),ak(c))}}else Nr(a,b.Ld());return true}function i8b(a){var b;if(!a.f){b=a.Zi();b==null?n8b(a,Nac(a.u,(wac(),sac)),
null):l8b(a,new K7b(a.u,a.Zi()+ZBc,Nac(a.u,(wac(),_9b)),a.o,null),null)}return a.f.e}function UT(a,b){var c;if(XT(a)&&XT(b)){c=a/b;if(Wyc<c&&c<Uyc)return c<0?$wnd.Math.ceil(c):$wnd.Math.floor(c)}return TT(BC(XT(a)?cU(a):a,XT(b)?cU(b):b,false))}function bob(a,b){var c,d;ke(b.j==(m5b(),g4b),b);c=w_(a.a,a.b);d=b.ci();a.e.zh(d,false)||a.e.Ch()&&qhc(d,rBc)?a.d.oh(a.e,d,b,c):a.c?fqb(a.e,d,b,c):a.e.qh(d,b,c)}function kvb(a,b){de(a);this.a=a;this.i=null;this.e=null;this.j=null;this.k=null;this.d=null;this.g=
null;this.f=null;this.n=(Gm(),Gm(),Fm);this.c=b;this.b=false}function Cvb(a,b){if(a.j)throw QT(new Nvb("Cannot add optional formal after rest args"));if(!b)Jlc(a.e,null);else{Xd(0!=b.Vh());Jlc(a.e,Cwb(b,a.a.G))}return a}function $nb(a){var b,c;this.a=new qrc;for(c=vn(a).Ld();c.Dd();){b=c.Ed();Qic(this.a,b.xe(),new P3(b.ye(),(lX(),jX)))}Qic(this.a,nBc,new P3((l4(),g4),(lX(),jX)))}function Dob(){Dob=pU;Aob=new Gob;zob=new Oob;uob=new Qob;xob=new Sob;vob=new Uob;wob=new Wob;new Yob;yob=new $ob;tob=new apb;
sob=new Iob;Bob=new Kob;Cob=new Mob}function aGb(a,b){var c,d,e;e=BEb(a.a,b.c);d=e.j==(m5b(),u4b)||e.j==s2b?iEb(a.a,g3b,e):e;if(b.b){c=zEb(a.a,b.b);P_b(d,c);uEb(d,b.o.b,b.o.a)}aFb(a,d,b.a);return d}function tNb(a){var b,c,d;d=kPb(a.j,0).b.b;nMb(a,(SLb(),lLb).a);c=!!rMb(a,(bSb(),ERb));b=gTb(new kTb((pTb(),mTb)),oMb(a));uNb(a,b,c);return _Sb(b,new oWb(d,a.g))}function Rg(a,b){var c,d,e;c=b.xe();e=b.ye();d=a.oe(c);if(!(oD(e)===oD(d)||e!=null&&nb(e,d)))return false;if(d==null&&!a.containsKey(c))return false;
return true}function oZ(a,b){var c,d;d=b.ci();if(!b.ei()&&!(a.i&&q5b(d))&&r5b(d)&&Jgb(d))DY(a.c,d);else{c=AZ(d);isNaN(c)?kZ(a,b):EY(a.c,c)}if(b.b){DY(a.c,":");hZ(a,b.b,1,5)}}function Fmb(){Fmb=pU;Emb=new q4("JSC_DUPLICATE_ZIP_CONTENTS",(lX(),kX),new Hic("Two zip entries containing the same relative path.\nEntry 1: {0}\nEntry 2: {1}"))}function n3(){n3=pU;m3=new q4("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(lX(),kX),new Hic("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}
function Ixb(a,b,c,d,e){var f;if(!b)return null;switch(b.j.f){case 142:c=(Vxb(),Sxb);b=b.b;break;case 140:c=(Vxb(),Uxb);b=b.b}f=Axb(a,b,d,e);return new Yxb(f,c)}function Xzb(a,b){var c;c=Yzb(a,b);if(!c)return null;else if(b.a.size()==1)return c.b?c.b:null;return Uvb(c.d,(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size()))))}function Zdb(a,b){var c;if(!b)return false;c=b.a.getAtIndex(0);return _db(a,c)&&(b.a.size()==1||!!wub(Odb(a,c),(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size())))))}function TJb(a){if(a.c)return"ts";
else if(a.b>6)return"es"+a.b;else if(a.d||a.a)return"es6";else if(a.b>5)return gDc;else if(a.b>3)return"es5";return HAc}function T$b(a){if(!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)&&!ZYb(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=nCc;a.d=true;return true}else return false}function eec(a,b,c,d){var e,f,g;g=gec(b);if(c==0&&gec(a).size()!=g.size())return false;for(f=g.Ld();f.Dd();){e=f.Ed();if(!jec(a,e,c,d))return false}return true}function LBb(a,b){var c,d;je(b.f!=0);if(a==b)return true;else if(!a.d)return false;
else{for(d=a.d.Ld();d.Dd();){c=d.Ed();if(LBb(c.a,b))return true}return false}}function nCb(a,b){var c,d;if(a.indexOf("#")!=-1)return b.contains(a)?a:null;for(d=b.Ld();d.Dd();){c=d.Ed();if(qhc(a,Hhc(c,0,thc(c,Nhc(35)))))return c}return null}function ro(a){fm();var b,c;if(!a.Dd())return $w(),Zw;c=a.Ed();if(!a.Dd())return new Jx(c);b=new btc;wrc(b,de(c));do wrc(b,de(a.Ed()));while(a.Dd());return xo(b)}function NC(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 VZ(a){var b;if(a.n>a.o)if(a.d>a.b&&a.d<a.b+a.n){b=a.d;cic(a.i,b,String.fromCharCode(10));a.e=b;OZ(a,a.k,b-a.b,true);++a.k;a.n-=b-a.b;a.b=b+1}else WZ(a)}function L_(a,b){var c,d;a.H=b;a.v=b.Ub;!a.f&&__(a,new Xcb((c=a.H.L,d=new Ucb(a),d.b=c,d),g_));X_(a);if(!b.B){b.cb=false;b.f=false;b.Gb=false;b.sd=false}M_(a,b.ud)}function B6(a,b){if(b.e.j==(m5b(),u3b))return;if(O7(a.b,b)!=0){R7(a.b,b);$_(a.a)}else Z_(a.a,Zbb(b,(l7(),g7),vC(qC(DR,1),
Fxc,2,6,["Undecomposable expression"])))}function lNb(a){var b,c,d;d=kPb(a.j,0).b.b;c=pMb(a);b=null;if(zOb(a,0,(bSb(),LQb))&&qhc(kPb(a.j,0).a,"as")){tMb(a,"as");b=pMb(a)}return new TSb(new oWb(d,a.g),c,b)}function Afc(a,b){if(b<2||b>36)return-1;if(a>=48&&a<48+(b<10?b:10))return a-48;if(a>=97&&a<b+97-10)return a-97+10;if(a>=65&&a<b+65-10)return a-65+10;return-1}function d$(a,b){var c,d;if(a.n==0)for(c=0;c<a.a;c++){_hc(a.i,"  ");a.n+=2}_hc(a.i,b);a.n+=b.length;d=Ib(new jc(10),b);if(d>0){a.k+=d;a.n=
b.length-whc(b,Nhc(10))}}function z_(a,b){var c,d,e,f;for(d=U_b(a.u).Ld();d.Dd();){e=d.Ed();f=g0b(e,51);if((!f?null:f.Dg())!=null&&phc((c=g0b(e,51),!c?null:c.Dg()),b))return e}return null}function zAb(a,b,c){var d,e,f,g,h;for(f=a.Ld();f.Dd();){e=f.Ed();d=false;for(h=b.Ld();h.Dd();){g=h.Ed();if(bAb(e,g,c)){d=true;break}}if(!d)return false}return true}function vXb(a,b,c){if(a.j==(m5b(),g4b))je(!a.b);else{je(a.j==s2b||a.j==u4b);a=new b1b(g3b,a)}oe(JXb(b),"%s can't be an expression",b);P_b(a,b);return new b1b(c,
a)}function DXb(a,b,c){var d,e,f,g,h;je(JXb(a));je(b.j==(m5b(),Q4b));h=new d1b(E3b,a,b);for(e=c,f=0,g=e.length;f<g;++f){d=e[f];je(d.j==Q4b);h=new d1b(E3b,h,d)}return h}function mnc(a){var d;gnc();var b,c;for(c=0,b=a.a.length-1;c<b;++c,--b){d=(dxc(c,a.a.length),a.a[c]);Rlc(a,c,(dxc(b,a.a.length),a.a[b]));dxc(b,a.a.length);a.a[b]=d}}function Ahc(a,b,c){var d,e;d=Bhc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=Bhc(Bhc((exc(c),c),"\\\\","\\\\\\\\"),"\\$","\\\\$");return Bhc(a,d,e)}function ogb(a){Gfb();
switch(a.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return true}return false}function ugb(a){Gfb();switch(a.j.f){case 72:case 99:case 71:case 70:case 76:case 66:case 81:case 44:case 77:case 67:case 68:case 69:return true;default:return false}}function _gb(a){Gfb();var b,c;if(a.j==(m5b(),g5b)||a.j==g4b&&a.e.j==g5b||a.j==E3b&&a.e.j==u3b){b=(c=Tfb(a),!c?null:g0b(c,29));return!!b&&(b.a&$Bc)==Iyc}return false}function BEb(a,b){var c,d,e;
c=_Db(a,b.o);d=iFb(a.u,b);!!c&&(e=A0b(d,d.g,29),e!=d.g&&(d.g=e),!!c&&(d.g=new O1b(29,c,d.g)),d);i1b(d.i)==-1&&xEb(d,b.o.b,b.o.a);return d}function WEb(a,b){var c,d;if(b.a.p==(EVb(),eUb)){c=b.a.a;d=yr(c);d.p==fVb&&a.a.d.eh("A rest parameter must be in a parameter list.",a.a.r,(XDb(),d.o.b.b+1),d.o.b.a)}}function G$b(a){if((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc||(a.a.a&bCc)!=0||(a.a.a&Tyc)!=0||(a.a.a&aCc)!=0)return false;a.a.a|=bCc;a.d=true;return true}function q_b(a){if((a.a.a&$Bc)==
eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc||(a.a.a&bCc)!=0||(a.a.a&Tyc)!=0||(a.a.a&aCc)!=0)return false;a.a.a|=Tyc;a.d=true;return true}function w$b(a){if(!((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)&&!ZYb(a.a)&&(a.a.a&UDc)==0&&a.a.j!=(j$b(),g$b)){a.a.a|=UDc;a.d=true;return true}return false}function cc(a,b){var c;this.a="CharMatcher.invisible()";this.c=a;this.b=b;Xd(a.length==b.length);for(c=0;c<a.length;c++){Xd(a[c]<=b[c]);c+1<a.length&&Xd(b[c]<a[c+1])}}function vfb(a,b,c){dfb();this.n=
new klc;this.k=new klc;this.c=new otc;this.b=new klc;this.a=b;iD(b,866)&&(this.i=b);this.d=a;nfb(this,null,"");this.j=c;this.p=c.Mg()}function nnb(b){var c;if(!b.a)if(!b.a){b.a=new $z;try{Xz(b.a,b.b.b)}catch(a){a=PT(a);if(iD(a,94)||iD(a,124)){c=a;kwc(lnb,(Kvc(),Jvc),c)}else throw QT(a);}}return b.a}function W_b(a,b){var c,d,e,f,g;g=a.ai(b);c=null;d=null;if(a.b){for(e=a.b;e;e=e.d){f=W_b(e,b);f.e=g;if(!c){c=f;d=c}else{d.d=f;f.f=d;d=f}}c.f=d;d.d=null;g.b=c}return g}function Vg(a){var b,c,d;d=new Utc("{",
"}");for(c=a.ne().Ld();c.Dd();){b=c.Ed();Ttc(d,Wg(a,b.xe())+"="+Wg(a,b.ye()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function Uz(a,b){var c;if(b.sf()==-1)return null;else{c=sB(uB(vB(new wB,a.e[b.sf()]),b.tf()+1),b.rf()+1);b.qf()!=-1&&tB(c,a.d[b.qf()]);return new qB(c.d,c.c,c.a,c.b)}}function X8(a,b){var c,d,e,f;if(b.Ki())for(f=b.Vi().Ld();f.Dd();){e=f.Ed();c=g0b((d=b.$i(e),!d?null:d.d),51);if(!!c&&c.Fh()){wrc(a.b.b,e);Z8(a,b.Yi(e))}}return a.b.b}function bmb(a,b,c){var d,e;d=new z8;i_(a.b,
d);Hjb(new Kjb(a.b,true),null,c);if(zU(a.b.Y)){Whb(new Yhb(a.b,true),b,c);if(a.b.Y==1){e=new Bib(a.b);Aib(e,b,c)}}Y_(a.b,d)}function b8b(a,b,c,d){!!c.Ni()&&(c=iec(c.Ni(),Oac(a.u,(wac(),vac))));_hc(_hc(b,d?!c.Ei()&&!c.Li()&&!c.Ki()&&!c.Ji()&&c.Ai()?"!"+c.Oi(true):c.Oi(true):c.Oi(false)),"=")}function c8b(a,b,c,d){!!c.Ni()&&(c=iec(c.Ni(),Oac(a.u,(wac(),vac))));_hc((b.a+=Qzc,b),d?!c.Ei()&&!c.Li()&&!c.Ki()&&!c.Ji()&&c.Ai()?"!"+c.Oi(true):c.Oi(true):c.Oi(false))}function kU(b,c,d,e){jU();var f=hU;$moduleName=
c;$moduleBase=d;OT=e;function g(){for(var a=0;a<f.length;a++)f[a]()}if(b)try{yxc(g)()}catch(a){b(c,a)}else yxc(g)()}function pbb(a,b,c){var d,e,f,g,h;Xd(b.j==(m5b(),y3b));f=X9(a.c,b);e=Pdb(a.a,f);g=(Gfb(),h=Tfb(b),!h?null:g0b(h,29));d=e.c;if(!d){d=Mab(a,g,f,b,c,a.a);feb(e,d)}return e}function njb(a,b,c){var d,e;a.p=0;a.r=0;if(a.q){a.r=(a.q.b-a.q.a)/a.n.a.length;a.p=a.q.a}for(e=new pmc(a.n);e.a<e.c.a.length;){d=nmc(e);d.Jf(b,c);if(a.a.f.c>0)return}}function Fec(a){var b,c;b=Iec(a);if(b)return Gm(),
new Gx(b);c=Gec(a);if(!!c&&a.c)return Gm(),new Vw(Ym(vC(qC(yR,1),Uxc,1,5,[c,Oac(a.i,(wac(),vac))])));return onc(a.a)}function Tg(a,b,c){var d,e,f;for(e=a.ne().Ld();e.Dd();){d=e.Ed();f=d.xe();if(oD(b)===oD(f)||b!=null&&nb(b,f)){if(c){d=new ikc(d.xe(),d.ye());e.Fd()}return d}}return null}function _U(a,b,c){var d,e;NV((m5b(),s2b),c);for(d=c.b;d;d=d.d)d==(c.b?c.b.f:null)&&Ngb(c.e)?sV(a,d):d.j==G4b?ZV(a,b,d):d.j==k3b?(e=b0b(d),0!=e&&nW(azc+e,d)):CV(a,b,d)}function gBb(a,b){var c,d;c=null;if(!!a.b&&!!b.b){c=
Lwb(a.b,b.b);if(!c)return null}d=Lwb(a.d,b.d);if(!d)return null;return new _Ab(a.c==b.c?a.c:null,d,c,eBb(a.a,b.a))}function xu(a,b){var c,d;d=a.size();if(b==null)for(c=0;c<d;c++){if(a.getAtIndex(c)==null)return c}else for(c=0;c<d;c++)if(nb(b,a.getAtIndex(c)))return c;return-1}function Kz(){var a,b,c;c=sC(qD,Cyc,46,128,15,1);Dmc(c,c.length);for(b=0;b<=9;b++)c[48+b]=b<<24>>24;for(a=0;a<=26;a++){c[65+a]=10+a<<24>>24;c[97+a]=10+a<<24>>24}return c}function dC(a){var b,c,d,e;b="cC";c="wz";e=Xgc(a.length,
5);for(d=e-1;d>=0;d--)if(qhc(a[d].d,b)||qhc(a[d].d,c)){a.length>=d+1&&(a.splice(0,d+1),undefined);break}return a}function amb(a,b){var c;c=a.b.i;if(!c)return;S8(new T8(a.b),b);if(!dx(a.b.i,c)){Z_(a.b,new Vbb(null,null,-1,-1,Xlb,null,vC(qC(DR,1),Fxc,2,6,[])));throw QT(new sgc(pDc));}}function Tvb(a,b){var c;if(b==null)return false;if(a===b)return true;Xd(iD(b,129));c=b;return a.Vh()==c.Vh()&&Mtc(a.Wh(),c.Wh())&&Mtc(a.Uh(),c.Uh())&&Mtc(a.Xh(),c.Xh())}function dNb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;c=
KNb(a,b);if(AOb(a,(bSb(),vRb))){nMb(a,vRb);d=OMb(a,b);nMb(a,oQb);e=OMb(a,b);return new KSb(new oWb(f,a.g),c,d,e)}return c}function pYb(a,b){!a.d&&(a.d=new PZb);if(fZb(a,b)||(a.a&$Bc)==Iyc)return false;if(!a.d.q)a.d.q=new Ulc;else if(Nlc(a.d.q,b,0)!=-1)return false;Jlc(a.d.q,b);return true}function R5(a,b){var c,d;d=GBc+a.b++;c=b.d;B0b(b.e,b,(oe(thc(d,Nhc(46))==-1,yzc,d),new _1b((m5b(),g4b),d)));Q_b(c,vXb(b,(oe(thc(d,Nhc(46))==-1,yzc,d),new _1b(g4b,d)),$3b))}function Jfb(a){var b,c,d,e;c=a.b;e=new dic;
for(d=c;d;d=d.d){b=d.j==(m5b(),p4b)||bhb(d)||d.j==k3b?"":kgb(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function gFb(a,b,c){a.a.a.c!=(PDb(),MDb)&&a.a.d.fh("type syntax is only supported in ES6 typed mode: "+c,a.a.r,(XDb(),b.o.b.b+1),b.o.b.a);a.a.e=SJb(a.a.e,c.a);sEb(a.a,b.o)}function QU(){QU=pU;MU=new RU(Zyc,0,"\u001b[31m");PU=new RU($yc,1,"\u001b[35m");NU=new RU("NO_COLOR",2,"\u001b[39m");LU=new RU("BOLD",3,"\u001b[1m");OU=new RU("UNBOLD",4,"\u001b[0m")}function dvb(a,b){var c,
d,e;if(a.n.isEmpty()||tyb(a.a.j,b))return evb(a,b);c=new fq;for(e=b.ne().Ld();e.Dd();){d=e.Ed();a.n.contains(d.xe())||dq(c,d)}return evb(a,In(c.b))}function ZDb(a,b){var c,d,e,f,g;d=b.c;f=b.a.b.b+1;c=b.a.b.a;g=b.a.b.c;e=new mHb(new dIb(d.substr(3,d.length-3),f,c+3),d,g,a.q,a.a,a.d);hHb(e,a.f);iHb(e,a.g);IGb(e);return e}function CEb(a,b){var c,d,e,f;f=oEb(a,b);c=nEb(a,""+f);d=bEb(a,$Db(a,b.b));!!d&&(e=A0b(c,c.g,29),e!=c.g&&(c.g=e),!!d&&(c.g=new O1b(29,d,c.g)),c);xEb(c,b.b.b,b.b.a);return c}function IMb(a){var b,
c,d;b=wOb(a,0);for(d=b.b.Ld();d.Dd();){c=d.Ed();!!c.b&&TOb(a,"Ambient variable declaration may not have initializer",vC(qC(yR,1),Uxc,1,5,[]))}return b}function $9(a,b){switch(b){case Axc:return a.d.a;case Bxc:return a.d.r;case Dxc:return a.d.u;case Mxc:return a.d.k;case EBc:case fAc:return a.d.G;default:return Qdb(a.k,b)}}function pMb(a){var b;b=AMb(a);if(b.c==(bSb(),LQb))return b;else{SLb();if(ULb(b.c))return new TKb(b.b,ULb(b.c).b);else ROb(a,b,uFc,vC(qC(yR,1),Uxc,1,5,[LQb]))}return null}function x0b(a,
b){var c,d,e;je(b.e==a);je(!!b.f);c=a.b.f;e=b.f;d=b.d;if(a.b==b){a.b=d;!!d&&(d.f=c)}else if(b==c){a.b.f=e;e.d=null}else{e.d=d;d.f=e}b.d=null;b.f=null;b.e=null}function kgc(a){igc==null&&(igc=/^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/);if(!igc.test(a))throw QT(new ghc(aGc+a+'"'));return parseFloat(a)}function bsc(){function b(){try{return(new Map).entries().next().done}catch(a){return false}}if(typeof Map===Cxc&&Map.prototype.entries&&b())return Map;else return csc()}
function h0(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new zB(d,b);!!b&&oz(c,(b.g==null&&(b.g=(bC(),e=aC.xf(b),dC(e))),b.g));throw QT(c);}function g8(a,b){var c,d,e,f,g;wfb(a.b,b,a);g=new lvc(new k8);Xc(g,a.f);for(f=(d=(new Jkc(g.a)).a.ne().b.xj(),new Pkc(d));f.a.Dd();){e=(c=f.a.Ed(),c.xe());n8(e,e.Ng(),t8(e))}}function Uab(a,b,c){var d,e;Xd(b.j==(m5b(),E3b));if(!o0b(b))return false;e=b.b;if(!Ydb(c,h0b(e)))return false;return d=Jdb(a.a,pBb(e),false),!!(!d?null:
iD(d.c,75)?d.c:null)}function Wnb(a,b,c,d){var e,f,g,h;g=null;for(f=c.b;f;f=g){g=f.d;e=f.ci();if(Pnb(a,e)||Mnb(a,f.b)){h=gfb(b);wrc(a.a.f,h.xh(e));x0b(c,f);$_(a.a.a)}}if(!c.b){rhb(d,c);$_(a.a.a)}}function Ytb(a,b,c,d,e){this.d=a;this.e=b;this.c=c;this.a=d;this.b=e;!!this.d&&je(!this.e);!!this.e&&je(!this.d&&!this.c&&!this.a);!!this.c&&je(!this.e);!!this.a&&je(!this.e)}function BFb(a,b){var c,d,e,f,g;f=hEb(a.a,(m5b(),C3b));for(e=new Zsc(new Qsc(b.a));e.b!=e.c.a.b;){d=Xsc(e);g=mEb(a.a,B3b,d.d.a);c=
d.e;!!c&&P_b(g,zEb(a.a,c));P_b(f,g)}return f}function tGb(a,b){var c,d;for(d=new pmc(b);d.a<d.c.a.length;){c=nmc(d);ZYb(a.e.a)?L$b(a.e,c.c)||oGb(a,"msg.jsdoc.extends.duplicate",c.b,c.a):x$b(a.e,c.c)||rGb(a,BEc,c.b,c.a)}}function R_b(a,b,c){var d,e,f;if(!b)return;Xd(!c||c.e==a);je(!!b.f);if(!c){T_b(a,b);return}for(d=b;d;d=d.d){Xd(!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 yhc(a,b,c,d,e,f){var g,h;exc(d);if(c<0||e<0||f<=0)return false;if(c+f>a.length||e+f>d.length)return false;
g=a.substr(c,f);h=d.substr(e,f);return b?rhc(g,h):qhc(g,h)}function SV(b){if(b.ei())try{b.ci()}catch(a){a=PT(a);if(iD(a,20))nW("getString failed for"+b.j,b);else throw QT(a);}else{b.ci()==null&&nW(kzc,b);b.ci().length==0&&nW(lzc,b)}}function khb(a,b){var c,d;c=(oe(thc(b,Nhc(46))==-1,yzc,b),new _1b((m5b(),g4b),b));J0b(c,b.length);r_(a).Yf(b)&&(d=A0b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new E1b(43,1,c.g));return c}function Qnb(a,b,c,d){var e,f,g;f=c.b;if(Tnb(a,f)||(g=h0b(f),Vnb(a,g)))if(d.j==(m5b(),u3b)){e=
d.e;rhb(e,d);$_(a.a.a)}else mfb(b,c,(Gnb(),Enb),vC(qC(DR,1),Fxc,2,6,[h0b(f)]))}function Fub(a,b,c){var d,e,f,g;f=a.Uh();if(!f)return true;g=b.Uh();for(e=f.Ld();e.Dd();){d=e.Ed();if(!!g&&g.contains(d))continue;if(!cwb(d.a,b,c))return false}return true}function EPb(a){fPb(a);if(SPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)){nPb(a,"New line not allowed in regular expression literal",vC(qC(yR,1),Uxc,1,5,[]));return false}fPb(a);return true}function z_b(a){if((a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc||ZYb(a.a)||
(a.a.a&bCc)!=0||(a.a.a&Tyc)!=0||(a.a.a&aCc)!=0)return false;a.a.a|=aCc;a.d=true;return true}function lcc(a,b,c){var d,e,f;if(c.contains(a))return;c.add(a);b.addAll(a.b.keySet());f=ncc(a);!!f&&lcc(f,b,c);for(e=occ(a).Ld();e.Dd();){d=e.Ed();!!d&&lcc(d,b,c)}c.remove(a)}function bd(a){var b,c,d;d=new Utc("[","]");for(c=a.Ld();c.Dd();){b=c.Ed();Ttc(d,b===a?"(this Collection)":b==null?Mxc:sU(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function Vr(a,b){Mr();var c,d;Pr(b);d=Or(a,b);if(!a.a.Dd())throw QT(new lfc(vyc+
b+") must be less than the number of elements that remained ("+d+")"));return c=a.a.Ed(),c.xe()}function _db(a,b){var c,d,e;Xd(b.indexOf(".")==-1);c=Kdb(a,b,false);if(!c)return false;e=c.d;return!!c.c||!!e&&(d=e.Vh()==2&&e.Wh().size()==1?Yr(e.Wh().Ld()):null,!!d&&!!d.e)}function hzb(a){var b,c,d,e;if(NBb(a.a,tCc))return Yn(a.b,a.a.o.getAtIndex(0));d=a.a.s.b;for(c=jzb(a).Ld();c.Dd();){b=c.Ed();e=hzb(b);!!e&&(d=Cwb(d,e))}return 0==d.Vh()?null:d}function mNb(a){var b,c;b=(Gm(),new Zp);nMb(a,(bSb(),gRb));
while(c=kPb(a.j,0).c,LQb==c||(SLb(),SLb(),!!Yn(tLb,c))){Xp(b,lNb(a));AOb(a,lQb)||nMb(a,pQb)}nMb(a,lQb);return Om(b.a)}function CNb(a){var b,c;b=(Gm(),new Zp);nMb(a,(bSb(),gRb));while(c=kPb(a.j,0).c,LQb==c||(SLb(),SLb(),!!Yn(tLb,c))){Xp(b,BNb(a));AOb(a,lQb)||nMb(a,pQb)}nMb(a,lQb);return Om(b.a)}function sr(a,b){var c,d;de(a);if(!b.b.Dd())return de(a),nr==a?mr:new ax(new lvc(a));c=new lvc(a);while(b.b.Dd()){d=b.b.Ed();de(d);c.a.put(d,(tfc(),rfc))==null}return new ax(c)}function yu(a,b){var c;if(b==
null)for(c=a.size()-1;c>=0;c--){if(a.getAtIndex(c)==null)return c}else for(c=a.size()-1;c>=0;c--)if(nb(b,a.getAtIndex(c)))return c;return-1}function iW(a,b){var c,d;a.a.v==(t2(),p2)||nW("Feature 'type alias' is only allowed in ES6 Typed mode.",b);NV((m5b(),c5b),b);d=o5b(b.j);d!=-1&&(c=b0b(b),d!=c&&nW(bzc+d+czc+c,b))}function m0(a){var b,c;c=(a.H.md!=(L2(),I2)&&!!a.U&&Wib(a.U,DAc,true),new rob);try{!a.K&&(a.K=new dtb);gnc();wnc()}finally{b=bU(WT(Pwc()),c.a);a.H.md!=I2&&!!a.U&&Xib(a.U,DAc,b)}}function u5(a){var b,
c,d,e;if(a.b.a.size()!=0){for(d=(e=(new Kjc(a.b.a)).a.ne().Ld(),new Qjc(e));d.a.Dd();){c=(b=d.a.Ed(),b.xe());c.j==(m5b(),$2b)&&y5(c,c.e);Q0b(c,g5b)}$_(a.a)}}function jlb(){jlb=pU;ilb=new q4("JSC_INSUFFICIENT_OUTPUT_VERSION",(lX(),jX),new Hic("Built-in ''{0}'' not supported in output version {1}: set --language_out to at least {2}"))}function COb(a){switch(kPb(a.j,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 _z(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=(dxc(f,a.a.length),a.a[f]).pf()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d<c)return d}}}function U4(a,b,c,d){var e,f,g;for(f=htc(a.a,0);f.b!=f.d.c;){e=ttc(f);if(c!=e.a&&s0b(c,e.a)){g=gfb(b).xh(c.ci());if(!!g&&g.Ih()==e.a){B0b(d,c,X0b(NXb(e.b),c));$_(a.b.b);return}}}}function Yib(a,b,c){this.d=new Rkb;this.f=new klc;this.w=new Ulc;Yd(c!=(L2(),I2),"PerformanceTracker can't work without tracer data.");this.H=WT(Pwc());
this.n=a;this.u=b;this.D=c}function H_(a){var b,c,d,e,f;f=false;for(d=a.s.Ld();d.Dd();){c=d.Ed();e=$0(c,a);if(!e)continue;b=g0b(e,29);if(!!b&&(b.a&yAc)!=0){ccb(c.g,c);f=true}}f&&(o0(a.D),a.s=p0(a.D),J_(a))}function $Sb(a){jSb.call(this,(EVb(),DUb),a.k);this.k=a.n;this.d=a.d;this.i=a.i;this.f=a.f;this.g=a.g;this.a=a.a;this.j=de(a.j);this.b=de(a.b);this.n=a.o;this.c=de(a.c);this.e=a.e}function Nhc(a){var b,c;if(a>=Hxc){b=Ixc+(a-Hxc>>10&Jxc)&Kxc;c=Lxc+(a-Hxc&Jxc)&Kxc;return String.fromCharCode(b)+(""+
String.fromCharCode(c))}else return String.fromCharCode(a&Kxc)}function fgb(a){Gfb();var b;if(a.j!=(m5b(),E3b))return null;if(qhc((a.b?a.b.f:null).ci(),Hzc))return a.b;b=a.b;if(b.j==E3b&&qhc((b.b?b.b.f:null).ci(),Hzc))return b.b;return null}function Yvb(a){var b,c,d,e;if((a.Vh()&2)==0)return null;d=a.e.b;for(c=a.Wh().Ld();c.Dd();){b=c.Ed();e=izb(!b.d?gyb(b.a):b.d);if(!e)return null;d=Cwb(d,e)}return 0==d.Vh()?null:d}function QXb(a){var b,c,d,e,f;b=new _0b((m5b(),t4b));for(d=a,e=0,f=d.length;e<f;++e){c=
d[e];je(c.j==R4b||c.j==b4b||c.j==F3b||c.j==L4b);c.j==R4b||je(!!c.b&&!c.b.d);P_b(b,c)}return b}function awc(a,b){var c,d,e,f;c=Nic(a.a,b);if(!c){d=new pwc(b);e=d.c;f=Hhc(e,0,Wgc(0,whc(e,Nhc(46))));mwc(d,awc(a,f));d.c.length==0&&gwc(d,new swc);Qic(a.a,d.c,d);return d}return c}function Lj(a,b,c){var d,e,f,g;if(c==0)return e=tv(a.a,b),!e?0:e.a;$d(c>0,jyc,c);d=a.a.oe(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=bU(a.b,f);return g}function OV(b){var c,d;NV((m5b(),r4b),b);d=o5b(b.j);
d!=-1&&(c=b0b(b),d!=c&&nW(bzc+d+czc+c,b));try{b.bi()}catch(a){a=PT(a);if(iD(a,20))nW("Invalid NUMBER node.",b);else throw QT(a);}}function cW(b){var c,d;NV((m5b(),Q4b),b);d=o5b(b.j);d!=-1&&(c=b0b(b),d!=c&&nW(bzc+d+czc+c,b));try{b.ci()}catch(a){a=PT(a);if(iD(a,20))nW("Invalid STRING node.",b);else throw QT(a);}}function dW(a,b){var c,d;NV((m5b(),V4b),b);FV(b);sV(a,b.b);d=0;for(c=b.b.d;c;c=c.d){eW(a,b.b?b.b.f:null);c.j==d3b&&++d}d>1&&nW("Expected at most 1 'default' in switch but was "+d,b)}function a3(a,
b){var c,d,e,f;for(f=(d=(new Jkc(a.c.a)).a.ne().b.xj(),new Pkc(d));f.a.Dd();){e=(c=f.a.Ed(),c.xe());if(e.Ig(b))return true;else if(e.Hg(b))return false}return false}function X7(a,b,c){var d;if(b.j==(m5b(),u2b)){d=b.b;switch(d.j.f){case 29:return true;case 26:return!W7(a,d.b,c);case 27:return!W7(a,d.b,c)&&!W7(a,d.b?d.b.f:null,c)}}return false}function XAb(a,b){switch(a.a.f){case 0:return Uhc(nwb(a.d,b),94);case 2:return nwb(a.d,b);case 1:return Uhc(nwb(a.d,b),61);default:throw QT(new yB("Unknown Attribute value "+
a.a));}}function MPb(a){while(ePb(a,a.d))switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 96:return;case 92:LPb(a);break;case 36:if((ePb(a,a.d+1)?lhc(a.e.a,a.d+1):0)==123)return;default:fPb(a)}}function tfb(b,c,d){var e,f;try{e=c.e;de(e);nfb(b,$fb(e),"");b.f=e;kfb(b,e);qfb(b,c,e);je(d.e==e);qfb(b,d,e);jfb(b,false)}catch(a){a=PT(a);if(iD(a,40)){f=a;ofb(b,f)}else throw QT(a);}}function ssb(a,b){nsb();var c,d,e;for(d=b.Ld();d.Dd();){c=d.Ed();if(qhc(a.substr(0,c.length),c)){e=Ghc(a,c.length);if(qhc(e.substr(0,
1),"/"))return e.substr(1,e.length-1)}}return a}function BZb(a,b,c){if((a.a&$Bc)!=0)throw QT(new sgc("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 e8b(a){var b,c;a.s=true;if(a.i)for(c=new pmc(a.i);c.a<c.c.a.length;){b=nmc(c);e8b(b)}if(!a.o){(a.gj()||a.e==2)&&(oe(a.gj()||a.e==2,ZFc,a),J5b(a.j)).Ri();!!a.f&&a.f.e.Ri()}}function In(a){var b,c,d;d=a.a.length;switch(d){case 0:return Sw(),Rw;case 1:b=Yr(new pmc(a));
return On(b.xe(),b.ye());default:c=Tlc(a,sC(fT,oyc,58,a.a.length,0,1));return new Yw(c)}}function rv(a){nv();var b,c;if(a.a.c==0)return Sw(),Rw;else{for(c=new Qqc((new Kqc(a)).a);krc(c.a);){b=(c.b=lrc(c.a),new Uqc(c.c,c.b));de(b.a);de(b.b.b[b.a.f])}return Up(new Aqc(a))}}function dx(b,c){var d;if(b===c)return true;if(iD(c,33)){d=c;try{return b.size()==d.size()&&b.containsAll(d)}catch(a){a=PT(a);if(iD(a,66))return false;else throw QT(a);}}return false}function t2(){t2=pU;k2=new x2(UAc,0);l2=new x2(VAc,
1);m2=new x2(WAc,2);n2=new x2(XAc,3);o2=new x2(YAc,4);p2=new x2(ZAc,5);q2=new x2($Ac,6);r2=new x2(_Ac,7);s2=new x2("NO_TRANSPILE",8)}function lcb(a,b,c){var d,e,f,g,h,i;g=b.b;h=c.b;for(d=(g<h?g:h)-1;d>=0;d--){i=Mlc(a.c,d);for(e=i.size()-1;e>=0;e--){f=i.getAtIndex(e);if(kcb(a,b,f)&&kcb(a,c,f))return f}}return null}function M7(a,b,c,d,e){this.g=a;this.d=QXb(vC(qC(hQ,1),zzc,7,0,[]));this.e=QXb(vC(qC(hQ,1),zzc,7,0,[]));this.j=new zsc;this.i=new zsc;this.b=new zsc;this.f=b;this.a=c;this.c=d;this.k=e}function sgb(a,
b){Gfb();var c;c=b.e;if(c.j==(m5b(),E3b)&&b==(c.b?c.b.f:null))return a.Zf(b.ci());else if(Qgb(b))return a.Zf(b.ci());else if(b.j==g4b)return a.Yf(b.ci());return false}function Vib(a,b){var c,d;Tib(a);if(a.D==(L2(),K2))return;b.c=a.q=a.b=(Gfb(),Ofb(a.u));if(!(a.D==J2||a.D==G2))return;c=djb((d=a.u,a.D==G2,d));b.o=a.r=a.e=c.b;a.D==G2&&(b.g=a.s=a.o=0)}function nlb(a,b,c){var d,e,f,g,h;h=b.b;while(!!h&&h!=c){g=h.d;Gfb();if(h.j==(m5b(),u3b)&&h.b.j==Q2b){d=h.b;e=d.b;if(u0b(e,hDc,hDc.length)){f=YJb(e.d.d.d.ci());
mlb(a,f)&&rhb(b,h)}}h=g}}function zNb(a){var b,c,d,e;e=kPb(a.j,0).b.b;nMb(a,(bSb(),MQb));nMb(a,hRb);b=BMb(a,1);nMb(a,mQb);d=hOb(a);c=null;if(AOb(a,xQb)){nMb(a,xQb);c=hOb(a)}return new wTb(new oWb(e,a.g),b,d,c)}function Xvb(a){var b,c,d,e,f;if(a.Vh()!=2)return null;e=a.e.v;b=false;for(d=a.Wh().Ld();d.Dd();){c=d.Ed();f=hzb(!c.d?gyb(c.a):c.d);if(!f)return null;b=true;e=Fwb(e,f)}return b?e:null}function izb(a){var b,c,d,e,f;if(NBb(a.a,tCc))return Yn(a.b,a.a.o.getAtIndex(1));e=a.a.s.v;b=false;for(d=jzb(a).Ld();d.Dd();){c=
d.Ed();f=izb(c);if(f){b=true;e=Fwb(e,f)}}return b?e:null}function _vb(a,b){if(0==a.Vh()||Exc==a.Vh()||512==a.Vh())return a.e.K;qe(!a.Wh().isEmpty()||!a.Uh().isEmpty(),"Can't getProp %s of type %s",b,a);return Iwb(XBb(a.Wh(),b),XBb(a.Uh(),b))}function xFb(a,b){var c,d,e,f;f=hEb(a.a,(m5b(),y4b));if(VEb(a,b.a))for(d=b.a.Ld();d.Dd();){c=d.Ed();e=BEb(a.a,c);je(e.j==g4b||e.j==G4b||e.j==s2b||e.j==u4b||e.j==e3b);P_b(f,e)}return f}function zac(a,b,c){var d,e,f,g;if(iD(c,55)&&c._i()){g=vsc(a.b,b);if(!g){g=
new zsc;wsc(a.b,b,g)}f=c;g.put(f.Zi(),f)}else if(c.Ni())for(e=fec(c.Ni()).Ld();e.Dd();){d=e.Ed();zac(a,b,d)}}function vV(a,b){var c,d,e;NV((m5b(),E3b),b);d=o5b(b.j);d!=-1&&(c=b0b(b),d!=c&&nW(bzc+d+czc+c,b));sV(a,b.b);e=b.b?b.b.f:null;NV(Q4b,e);e.ci()==null&&nW(kzc,e);e.ci().length==0&&nW(lzc,e)}function QW(){QW=pU;PW=new q4("JSC_DEBUGGER_STATEMENT_PRESENT",(lX(),jX),new Hic("Using the debugger statement can halt your application if the user has a JavaScript debugger running."))}function y_(a){var b,
c,d,e;!a.K&&(a.K=new dtb);e=new zrc;if(a.u)for(d=U_b(a.u).Ld();d.Dd();){c=d.Ed();e0b(c,93)!=0&&wrc(e,A_(a,(b=g0b(c,51),!b?null:b.Dg())))}return v_(a),F_(a),new alb}function oec(a){var b,c,d,e;e=new Jec(a.u);for(d=a.b.Ld();d.Dd();){b=d.Ed();Dec(e,b,false)}a.b=Fec(e);e=new Jec(a.u);for(c=a.b.Ld();c.Dd();){b=c.Ed();Dec(e,b,true)}a.a=Fec(e);a.c=rb(a.b)}function fuc(a,b,c,d){var e,f;f=b;e=f.d==null||a.a.He(c.d,f.d)>0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.He(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 dHb(a,b){var c;if(b==(SHb(),HHb)){jHb(a);c=cHb(a,!a.o?ZHb(a.j):vGb(a));if(c){jHb(a);DGb(a,NHb)?!a.o?ZHb(a.j):vGb(a):(rGb(a,DEc,a.j.g,YHb(a.j)),null)}return c}else return cHb(a,b)}function Pfb(a){Gfb();switch(a.j.f){case 80:if(e0b(a,38)!=0||!a.e||!(!a.e?null:a.e.e)||a.e.j==(m5b(),U2b))return false;return true;case 72:case 99:case 67:case 94:return true}return false}function Dgb(a){Gfb();if(a.j!=(m5b(),E3b))return false;if(a.j==E3b&&u0b(a,Bzc,Bzc.length)||
a.j==E3b&&u0b(a,Czc,Czc.length))return true;return a.b.j==y3b&&qhc((a.b?a.b.f:null).ci(),"bind")}function Vhb(){Vhb=pU;Uhb=new q4("JSC_CATCH_BLOCK_VAR_ERROR",(lX(),iX),new Hic("The use of scope variable {0} is not allowed within a catch block with a catch exception of the same name."))}function DIb(a,b){var c,d;b.j==(m5b(),o4b)?d=CIb(a,b.b):d=CIb(a,b.b)&&CIb(a,b.b.d);if(!d){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[Axc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function MNb(a,b,c,d,e,f){var g;
g=dTb(iTb(cTb(fTb(aTb(hTb(eTb(jTb(gTb(new kTb((pTb(),oTb)),c),d),e),false),f),xMb(a)),rNb(a,1)),wMb(a)),new QSb(new oWb(b,a.g)));return _Sb(g,new oWb(b,a.g))}function XOb(a,b,c,d,e){this.a=new ZOb(this);this.e=new klc;this.d=(QJb(),GJb);this.b=a;this.c=b;this.i=true;this.j=new OPb(b,this.a,c,d);Vkc(this.e,(tfc(),e?true:false));this.g=cPb(this.j)}function Amc(a,b){var c;if(oD(a)===oD(b))return true;if(a==null||b==null)return false;if(a.length!=b.length)return false;for(c=0;c<a.length;++c)if(a[c]!==
b[c])return false;return true}function Sg(a,b){var c,d,e;if(b===a)return true;if(!iD(b,48))return false;e=b;if(a.size()!=e.size())return false;for(d=e.ne().Ld();d.Dd();){c=d.Ed();if(!a.me(c))return false}return true}function pqc(){pqc=pU;nqc=vC(qC(DR,1),Fxc,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);oqc=vC(qC(DR,1),Fxc,2,6,["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function b3(a,b){var c,d,e,f,g;for(f=(d=(new Jkc(a.c.a)).a.ne().b.xj(),new Pkc(d));f.a.Dd();){e=
(c=f.a.Ed(),c.xe());g=e.Kg(b);if(g){if(a.a&&g==(lX(),iX))return lX(),kX;return g}}return null}function qW(a,b){var c,d,e,f,g;e=new Vlc(a.d.a.size());for(g=(d=(new Jkc(a.d.a)).a.ne().b.xj(),new Pkc(d));g.a.Dd();){f=(c=g.a.Ed(),c.xe());f.b==b&&Jlc(e,f.a)}return Tlc(e,sC(SJ,qzc,67,0,0,1))}function QAb(a,b){var c,d,e;c=false;for(d=0;d<a.a.a.length;d++){e=Mlc(a.a,d);if(yzb(!e.d?gyb(e.a):e.d,!b.d?gyb(b.a):b.d)){c=true;a.b==0?Rlc(a.a,d,AAb(e,b)):Rlc(a.a,d,IAb(e,b))}}c||Jlc(a.a,b)}function rBb(a,b,c,d,e){je(!a.e);
!d&&e&&(d=a.s.K);a.b=Wyb(a.b,b,e?new _Ab(c,d,d,(kBb(),hBb)):new _Ab(c,d,d,(kBb(),jBb)));!!Tg(a.i,b,false)&&uBb(a,b,c,d,e);!!Tg(a.j,b,false)&&(a.j=Xyb(a.j,b))}function oIb(a){switch(a.f){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 7:return 5;case 5:return 6;case 6:return 7;default:throw QT(new sgc(EAc+a));}}function YJb(a){QJb();switch(a){case HAc:return GJb;case "es5":return HJb;case gDc:return JJb;case "es6":return IJb;case "ts":return PJb;default:throw QT(new xcb("No such FeatureSet: "+
a));}}function GNb(a){var b,c;c=(Gm(),new Zp);while(HOb(a)){Xp(c,FNb(a));AOb(a,(bSb(),lQb))||(b=kPb(a.j,0).b.b.b>a.g.b,b||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb)?sMb(a):nMb(a,pQb))}return Om(c.a)}function cwb(a,b,c){var d,e,f;if(a==b)return true;f=b;return e=a.Wh(),e.size()==1&&Yr(e.Ld()).c||(d=f.Wh(),d.size()==1&&Yr(d.Ld()).c)?a.e.S?zwb(Svb(a),Svb(f)):dwb(Svb(a),Svb(f),c):dwb(a,f,c)}function Rmc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Ttc(f,
String.fromCharCode(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function bgb(a){Gfb();var b,c,d;je(a.j==(m5b(),y3b)||a.j==V2b);d=a.e;switch(d.j.f){case 29:return d;case 47:b=d.b;return o0b(b)?b:null;default:c=a.b;return c.j==k3b||c.ci().length==0?null:c}}function Uib(a,b){var c,d,e;e=(Gfb(),Ofb(a.u));b.b=a.b-e;a.b=b.c=e;if(!(a.D==(L2(),J2)||a.D==G2))return;c=djb((d=a.u,a.D==G2,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==G2){e=0;b.f=a.o-e;a.o=b.g=e}}function aub(a,b){var c,d,e;e=nCb(b,a.j);if(e!=
null)return e;if(a.e){d=Zvb(a.e);if(!!d&&!d.a.o.isEmpty()&&d.b.d.d.isEmpty()){c=(je(!d.a.e),d.a);e=nCb(b,c.o);if(e!=null)return e}}return null}function Yfb(a,b){Gfb();var c,d;je(a.j==(m5b(),t4b)||a.j==W2b);for(d=(!a.b?(gnc(),gnc(),fnc):new V1b(a.b)).Ld();d.Dd();){c=d.Ed();if((c.j==R4b||c.j==b4b)&&qhc(c.ci(),b))return c.b}return null}function Yub(a,b){var c;if(b==null)return false;if(a===b)return true;ae(iD(b,188),"obj is: %s",b);c=b;return Mtc(a.i,c.i)&&Mtc(a.e,c.e)&&Mtc(a.j,c.j)&&Mtc(a.k,c.k)&&Mtc(a.d,
c.d)&&Mtc(a.g,c.g)}function Yzb(a,b){var c,d;d=b.a.getAtIndex(0);c=bh(Tg(a.g,d,false));if(c)return c;if(a.e){c=vub(a.e,d);if(c)return c}if(a.d)return mzb(a.d,d);if(gyb(a.a))return mzb(gyb(a.a),d);return null}function PIb(a,b,c){var d,e;for(e=0;e<c;e++)if(!AIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,e+1)))){a.a.fh((d=vC(qC(yR,1),Uxc,1,5,[Axc]),zEc+m2b(SEc,d)),a.b.Dg(),a.d,a.c);return false}return true}function UIb(a,b,c){var d,e;for(e=0;e<c;e++)if(!VIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,e+1)))){a.a.fh((d=
vC(qC(yR,1),Uxc,1,5,[Axc]),zEc+m2b(SEc,d)),a.b.Dg(),a.d,a.c);return false}return true}function XIb(a,b,c){var d,e;for(e=0;e<c;e++)if(!WIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,e+1)))){a.a.fh((d=vC(qC(yR,1),Uxc,1,5,[Axc]),zEc+m2b(SEc,d)),a.b.Dg(),a.d,a.c);return false}return true}function pcc(a,b){var c,d,e,f;if(a.b.containsKey(b))return a.b.oe(b);e=ncc(a);if(e){f=pcc(e,b);if(f)return f}for(d=occ(a).Ld();d.Dd();){c=d.Ed();if(c){f=pcc(c,b);if(f)return f}}return null}function hec(a,b){var c,d,e;if(!b.Ei()&&
!b.Ni())for(d=a.b.Ld();d.Dd();){c=d.Ed();if(!c.Ei()&&b.Ci(c))return a}return e=B5b(a,b,0,new j9b(true)),e?a:N5b(Kac(a.u,vC(qC(BQ,1),Uxc,19,0,[a,b])))}function _B(b,c){var d,e,f,g;for(e=0,f=b.length;e<f;e++){g=b[e];try{g[1]?g[0].Fj()&&(c=$B(c,g)):g[0].Fj()}catch(a){a=PT(a);if(iD(a,38)){d=a;MB();SB(iD(d,254)?d.vf():d)}else throw QT(a);}}return c}function RC(a,b){var c,d,e;b&=63;if(b<22){c=a.l<<b;d=a.m<<b|a.l>>22-b;e=a.h<<b|a.m>>22-b}else if(b<44){c=0;d=a.l<<b-22;e=a.m<<b-22|a.l>>44-b}else{c=0;d=0;e=
a.l<<b-44}return AC(c&Qyc,d&Qyc,e&Ryc)}function OBb(a,b){var c,d;if(a==b||SBb(b.v,wCc,b.t))return true;if(b.f!=0)for(d=(!a.d?(fm(),$w(),Zw):a.d).Ld();d.Dd();){c=d.Ed();if(uzb(c,b.q))return true}return a.f==0&&!!a.n&&uzb(a.n,b.q)}function GFb(a,b){var c,d,e,f;gFb(a,b,(NKb(),yKb));f=HFb(a,b.b);c=hEb(a.a,(m5b(),j4b));i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);for(e=b.a.Ld();e.Dd();){d=e.Ed();P_b(c,zEb(a.a,d))}return jEb(a.a,i4b,f,c)}function rU(a,b){var c=$wnd;if(a==="")return c;var d=a.split(".");!(d[0]in c)&&
c.execScript&&c.execScript("var "+d[0]);for(var e;d.length&&(e=d.shift());)c=c[e]=c[e]||!d.length&&b||{};return c}function Hj(a,b,c){var d,e,f,g;if(c==0)return e=tv(a.a,b),!e?0:e.a;$d(c>0,jyc,c);d=a.a.oe(b);if(!d){g=0;a.a.put(b,new ml(c))}else{g=d.a;f=RT(g,c);_d(ST(f,Exc)<=0,f);d.a+=c}a.b=RT(a.b,c);return g}function Xfb(a,b){Gfb();var c,d;je(a.j==(m5b(),t4b));for(d=(!a.b?(gnc(),gnc(),fnc):new V1b(a.b)).Ld();d.Dd();){c=d.Ed();if(c.j==Z2b&&c.b.di(b,false,true,false))return c.b?c.b.f:null}return null}
function d8b(a,b,c,d){if(a.gj()){if(b.gj())return a==b;return false}if(a.e==2){if(b.e==2)return qhc(a.Zi(),b.Zi());return false}if(b.e==2)return false;return B5b(a.j,b.j,c,d)&&x6b(a.a,b.a,c,d)}function lec(a,b,c,d){var e,f;if(b.Ei()||mec(a))return true;if(b.ri())return true;for(f=a.b.Ld();f.Dd();){e=f.Ed();if(d==1&&(e.zi()||e.Fi()))continue;if(!e.Di(b,c,d))return false}return true}function LA(a,b,c){var d,e,f,g;Qz(a.b,c-a.c);a.c=c;if(b){e=CA(a.j,b.d);Qz(a.b,e-a.g);a.g=e;g=b.c.b;f=b.c.a;Qz(a.b,g-a.i);
a.i=g;Qz(a.b,f-a.f);a.f=f;if(b.b!=null){d=BA(a.j,b.b);Qz(a.b,d-a.e);a.e=d}}}function EB(a){var b;if(a.c==null){b=oD(a.b)===oD(CB)?null:a.b;a.d=b==null?Mxc:lD(b)?b==null?null:b.name:nD(b)?Myc:Qfc(pb(b));a.a=a.a+": "+(lD(b)?b==null?null:b.message:b+"");a.c="("+a.d+") "+a.a}}function TBb(a){var b;if(!a)return false;if(a.j==(m5b(),y3b))return true;b=a.e;if(a.j==Q2b)return b.j==g4b||b.j==u2b;if(a.j==g4b)return b.j==g5b&&!a.b;if(a.j==E3b)return b.j==u3b;return false}function yEb(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=KEb(a);if(b.p==(EVb(),bVb))return false;return true;default:return true}}function LWb(a){var b,c;if(a.a==null)return a.b.k=false,GWb(a,Mxc,0);b=null;if(iD(a.a,150))b=new hqc(a.a.a);else if(iD(a.a,266))b=a.a;else throw QT(DWb(a));c=new dic;c.a+=""+b;return GWb(a,c,0)}function CZ(a){var b;if(a.j==(m5b(),V3b)){b=a.b?a.b.f:null;return b.j==N2b?zZ(a,2)==1&&CZ(yZ(a)):CZ(b)}else switch(a.j.f){case 98:case 86:case 65:case 94:case 71:return true;default:return false}}
function R6(a,b,c){var d,e,f;for(e=new pmc((Gfb(),Yd(!!c&&(c.j==(m5b(),g5b)||c.j==$3b||c.j==$2b)||c.j==(m5b(),y4b)||c.j==(m5b(),U2b),c),f=new Ulc,agb(c,f),f));e.a<e.c.a.length;){d=nmc(e);S6(a,b,d)}}function dMb(a){var b,c,d;d=new Ulc;Jlc(d,Hgc(0));for(c=0;c<a.length;c++){b=a.charCodeAt(c);if(eMb(b)){c+1<a.length&&b==13&&a.charCodeAt(c+1)==10&&++c;Jlc(d,Hgc(c+1))}}Jlc(d,Hgc(Exc));return fMb(d)}function _0(a){!a.c&&(a.c=Z0(a));if(a.e.a.length!=0||a.d.a.length!=0){a.c=new Nsb(a.f.a,a.f.a,i1(a.c.Eg(),
a.d),i1(a.c.Fg(),a.e),a.c.Cg());a.e.a=sC(yR,Uxc,1,0,5,1);a.d.a=sC(yR,Uxc,1,0,5,1)}return a.c}function OIb(a,b){var c;if(!wIb(a,b,(AJb(),rJb)))return false;for(c=0;c<(ae(b.j==(m5b(),Q2b),OEc,b),b0b(b)-1);c++)if(!NIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,c+1)))){_Ib(a,rJb.d);return false}return true}function JOb(a,b){var c;c=kPb(a.j,0).c;if(arc(Yqc((bSb(),LQb),vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),c)||!a.b.c&&XLb(c)||AOb(a,DRb))return true;if(b!=2)return AOb(a,iRb)||AOb(a,gRb);return false}function rzb(a){var b,
c,d;if(a.b.d.d.isEmpty())return true;for(d=a.a.o.Ld();d.Dd();){c=d.Ed();qe(Xn(a.b,c),_Dc,c,a.b.Ve());b=Yn(a.b,c);if(Exc!=b.Vh()&&!Tvb(b,xwb(a.a.s,c)))return false}return true}function pub(a,b,c){var d,e;je(!yub(a,b));je(!a.w);e=b.a.size()==1?a:wub(a,(Xd(b.a.size()!=1),new nBb(b.a.Qe(0,b.a.size()-1))));e.C.isEmpty()&&(e.C=new zsc);d=b.a.getAtIndex(b.a.size()-1);e.C.put(d,c)}function rAb(a,b){var c,d,e,f;e=(Uyb(),Uyb(),Tyb);for(d=new Zsc(new Qsc(b));d.b!=d.c.a.b;){c=Xsc(d);f=c.e;if(0==f.b.Vh())return a.d;
e=Wyb(e,c.d,f)}return new kAb(a,null,e,null,null,false,(Pzb(),Nzb))}function sFb(a,b){var c,d,e,f;gFb(a,b,(NKb(),iKb));f=FFb(a,b.b,false);c=hEb(a.a,(m5b(),m3b));i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);for(e=b.a.Ld();e.Dd();){d=e.Ed();P_b(c,zEb(a.a,d))}return jEb(a.a,l3b,f,c)}function hPb(a){var b;b=(kPb(a,0),ktc(a.b));(!ePb(a,a.d)||b.c!=(bSb(),lQb))&&mPb(a,dPb(a,a.d),"Expected '}' after expression in template literal",vC(qC(yR,1),Uxc,1,5,[]));return iPb(a,(bSb(),ORb),NRb)}function $n(a){var b,c,d,e,f,g,
h;b=(nv(),new zsc);for(d=a,e=0,f=d.length;e<f;++e){c=d[e];g=de(c.xe());h=wsc(b,g,de(c.ye()));if(h!=null)throw QT(new xcb("duplicate key: "+g));}this.d=(gnc(),new apc(b))}function nu(a,b,c){var d,e;this.f=a;d=Mic(a.b,b);e=!d?0:d.a;he(c,e);if(c>=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++<e)lu(this)}else{this.c=!d?null:d.b;while(c-- >0)ku(this)}this.b=b;this.a=null}function TC(a,b){var c,d,e,f;b&=63;c=a.h&Ryc;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 AC(d&Qyc,e&Qyc,f&Ryc)}function r8(a){var b,c,d;d=QXb(vC(qC(hQ,1),zzc,7,0,[]));I0b(d,iD(a.k,19)?a.k:null);H0b(d,p$b(new F_b(false),true));c=1;for(b=a.b;b;b=b.d)b.j==(m5b(),R4b)&&P_b(d,UXb(ZXb(b.ci()),new J1b(c++)));return d}function mlb(a,b){switch(TJb(b)){case "ts":return llb(a,(t2(),p2));case "es6":case gDc:return llb(a,(t2(),n2));case "es5":return llb(a,(t2(),l2));case HAc:return llb(a,(t2(),k2));default:return false}}function lFb(a,b){var c,d,e,f;f=
hEb(a.a,(m5b(),K4b));for(d=b.b.Ld();d.Dd();){c=d.Ed();P_b(f,zEb(a.a,c))}hFb(f);if(ZEb(f)){e=hEb(a.a,e4b);i1b(e.i)==-1&&xEb(e,b.o.b,b.o.a);S_b(e,y0b(f));P_b(f,e)}return f}function oMb(a){var b;b=kPb(a.j,0).c;if(arc(Yqc((bSb(),LQb),vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),b)||!a.b.c&&XLb(b))return pMb(a);else{ROb(a,kPb(a.j,0),uFc,vC(qC(yR,1),Uxc,1,5,[LQb]));return null}}function wt(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=Ric(a.b,b.a);c.a=0;++a.c}else{c=Mic(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 Yab(a,b,c,d,e){var f,g,h;f=(Gfb(),g=Tfb(d),!g?null:g0b(g,29));h=DBb(b,c);if(!!FBb(b,c)&&!!h&&!lbb(f,e,h)){bfb(a.c.t,Zbb(d,(S9(),L9),vC(qC(DR,1),Fxc,2,6,[c,"type "+b])));return true}return false}function Mfb(a){var b;ae(a.j==(m5b(),m4b),"Expected NEW node, got %s",a.j);if((e0b(a,42)&15)==15)return false;if((e0b(a,42)&15&11)==11&&Hfb(a))return false;b=a.b;return b.j!=g4b||!zfb.contains(b.ci())}function Czb(a,b){czb();var c;if(!a||!b)return null;
if(tzb(a,b))return b;if(OBb(a.a,b.a))return c=b.a.q,qzb(c,b.a.s.j);if(tzb(b,a))return a;if(OBb(b.a,a.a))return c=a.a.q,qzb(c,a.a.s.j);return null}function VFb(a,b){var c,d,e,f;dFb(a,b,(NKb(),JKb));f=hEb(a.a,(m5b(),X4b));i1b(f.i)==-1&&xEb(f,b.o.b,b.o.a);e=!b.b?f:jEb(a.a,W4b,zEb(a.a,b.b),f);for(d=b.a.Ld();d.Dd();){c=d.Ed();P_b(f,zEb(a.a,c))}return e}function h9b(a,b,c){!a.a&&(a.a=new Krc);if(Jic(a.a,b)&&Jic(Mic(a.a,b),c))return Mic(Mic(a.a,b),c);else if(Jic(a.a,c)&&Jic(Mic(a.a,c),b))return Mic(Mic(a.a,
c),b);else{i9b(a,b,c,(q9b(),p9b));return null}}function Wd(a,b,c){if(a<0||a>c)return Vd(a,c,"start index");if(b<0||b>c)return Vd(b,c,"end index");return te("end index (%s) must not be less than start index (%s)",vC(qC(yR,1),Uxc,1,5,[Hgc(b),Hgc(a)]))}function Src(a,b,c){var d,e,f,g;g=b==null?0:a.b.uj(b);e=(d=a.a.get(g),d==null?[]:d);if(e.length==0)a.a.set(g,e);else{f=Prc(a,b,e);if(f)return f.ze(c)}e[e.length]=new ikc(b,c);++a.c;fqc(a.b);return null}function rg(a,b){var c,d;c=a.c.remove(b);if(!c)return a.ie();
d=a.ge();d.addAll(c);a.d-=c.size();c.clear();return iD(d,154)?(gnc(),new Xpc(d)):iD(d,33)?(gnc(),new upc(d)):iD(d,47)?onc(d):(gnc(),new ioc(d))}function QWb(a,b){var c,d;d=a.b.n;d=0==d?1:d;fXb(a.b,d);c=ngc(a.a);if(c==0){--d;fXb(a.b,d);$hc(b,a.a);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;fXb(a.b,d);JWb(a,b);return}$hc(b,a.a)}function V6b(a,b){var c;c=a.$i(b);if(!c){if(a.wi()||a.si())return D5b(a,(wac(),z9b));else if(a.xi()||a.vi()||a.wi()||Oac(a.u,(wac(),L9b))==a)return D5b(a,
(wac(),O9b));return D5b(a,(wac(),sac))}return c.e}function hZ(a,b,c,d){var e;if(d==4&&b.j==(m5b(),O3b)||(Gfb(),ahb(b.j)&&(e=b.e,!!e&&e.j==(m5b(),q3b)&&e.b==b)||b.j==(m5b(),t4b)&&e0b(b.e,60)!=0||phb(b.j)<c)){DY(a.c,"(");a.xg(b,5);DY(a.c,")")}else a.xg(b,d)}function O5(a,b,c,d){var e,f;f=(oe(thc(d,Nhc(46))==-1,yzc,d),new _1b((m5b(),g4b),d));H0b(f,g0b(c,29));B0b(c.e,c,f);e=vXb(c,(oe(thc(d,Nhc(46))==-1,yzc,d),new _1b(g4b,d)),g5b);N_b(a.b?a.b.f:null,e,b);return e}function jfb(a,b){var c;!b&&!!a.i&&a.i.hh(a);
_kc(a.k)?c=glc(a.n).wh():c=glc(a.k);if(dhb(c)){je(!_kc(a.b));je(oD(glc(a.b))===oD(c));itc(a.c)}!(_kc(a.n)&&_kc(a.k))&&d0(a.d,_kc(a.k)?alc(a.n).wh():alc(a.k))}function ujb(a){var b,c,d,e,f;d=new Ulc;for(f=es(new yoc((ijb(),gjb).a.b.Ld()));f.Dd();){e=f.Ed();for(c=new pmc(a.b);c.a<c.c.a.length;){b=nmc(c);if(qhc(b.b,e)){d.a[d.a.length]=b;break}}}_c(a.b,d);Llc(a.b,d)}function Rgc(a,b){var c,d,e,f,g;g=1<<b;if(ST(Iyc,a)<=0&&ST(a,Exc)<=0)return Ggc(eU(a),g);e=g-1;d=(64/b|0)+1;c=sC(rD,Gxc,46,d,15,1);f=d;do{c[--f]=
Cfc(eU(a)&e);a=aU(a,b)}while(ST(a,0)!=0);return Shc(c,f,d-f)}function Ud(a,b){if(a<0)return te(Wxc,vC(qC(yR,1),Uxc,1,5,[Xxc,Hgc(a)]));else if(b<0)throw QT(new xcb(Yxc+b));else return te("%s (%s) must be less than size (%s)",vC(qC(yR,1),Uxc,1,5,[Xxc,Hgc(a),Hgc(b)]))}function DNb(a){var b,c,d,e,f;f=kPb(a.j,0).b.b;nMb(a,(bSb(),iRb));d=pMb(a);nMb(a,oQb);c=qOb(a);nMb(a,nQb);nMb(a,oQb);b=nOb(a);e=new FTb(new oWb(f,a.g),d,false,false,null,c);return new zTb(new oWb(f,a.g),e,b)}function G8b(a,b){A5b();q8b.call(this,
a,b,new D6b(a,Gac(a,vC(qC(BQ,1),Uxc,19,0,[Oac(a,(wac(),t9b)),Oac(a,t9b),Oac(a,t9b)])),null),null,null,true,true);this.a.b=(oe(this.e==1||this.e==2,ZFc,this),J5b(this.j))}function Jd(a,b,c){var d,e;de(b);if(c.Dd()){e=c.Ed();Xhc(b,Uc(a.a,e.xe()));Xhc(b,a.b);Xhc(b,Uc(a.a,e.ye()));while(c.Dd()){Xhc(b,a.a.c);d=c.Ed();Xhc(b,Uc(a.a,d.xe()));Xhc(b,a.b);Xhc(b,Uc(a.a,d.ye()))}}return b}function O_(a,b,c){var d,e;d=new kob(b);if(Jic(a.t,d.a))throw QT(new xcb("Conflicting externs name: "+b));e=new f1(d,true);
W_(a,e.f,e);if(c==0){Q_b(a.n,d.b);Ilc(a.j,0,e)}else{P_b(a.n,d.b);Jlc(a.j,e)}return e}function ffb(a,b){var c,d,e,f,g;f=!b?a.o:(d=g0b(b,51),!d?null:d.Dg());if(f==null)return"[source unknown]\n";e=i1b(b.i);c=h1b(b.i);g=B_(a.d,f,e);g==null&&(g="[source unknown]");return f+":"+e+":"+c+Gyc+g+Gyc}function Crb(a,b){var c,d;c=(oe(thc(b,Nhc(46))==-1,yzc,b),new _1b((m5b(),g4b),b));r_(a).Yf(b)&&(d=A0b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new E1b(43,1,c.g));P_b($0((!a.R&&(a.R=O_(a,wAc,0)),a.R),a),wXb(c,g5b));$_(a)}
function e1b(a,b,c,d){Xd(!b.e);Xd(!b.d);Xd(!b.f);Xd(!c.e);Xd(!c.d);Xd(!c.f);Xd(!d.e);Xd(!d.d);Xd(!d.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=d;b.e=this;c.d=d;c.f=b;c.e=this;d.d=null;d.f=c;d.e=this;this.i=-1}function TV(a,b,c){var d,e;NV((m5b(),u4b),c);for(d=c.b;d;d=d.d)d==(c.b?c.b.f:null)&&Ngb(c.e)?sV(a,d):d.j==R4b?(NV(R4b,d),SV(d),e=b0b(d),(e<0||e>1)&&nW(jzc+e,d),!!d.b&&!d.b.d&&CV(a,b,d.b),undefined):CV(a,b,d)}function CY(a,b){BY();var c,d;ke(b.j==(m5b(),K4b),b);d=g0b(b,48);if(!!d&&d.contains(Lzc))mfb(a,
b,zY,vC(qC(DR,1),Fxc,2,6,[]));else if(!d)w0b(b,48,AY);else{c=Jq(new Mq,Lzc);Lq(c,d);w0b(b,48,ro(new pmc(c.a)))}}function Iab(a,b){var c,d;d=_9(a.b,b,a.a);if(!Udb(a.a,yCc,false)){Bdb(a.a,yCc,d,false,true);return}c=!d?null:d.Vh()==2&&d.Wh().size()==1?Zzb(Yr(d.Wh().Ld())):null;!!c&&qhc(c.a.v,vCc)&&Bdb(a.a,yCc,d,false,true)}function IGb(a){var b,c;a.i=(uHb(),sHb);jHb(a);c=!a.o?ZHb(a.j):vGb(a);if(a.e.c){b=yGb(a,c,a.f?0:1,false,false);c=b.b;b.a.length==0||y$b(a.e,b.a)}else c!=(SHb(),xHb)&&c!=CHb&&y$b(a.e,
"");return RGb(a,c,new Ulc)}function QZ(a,b,c,d){var e,f;f=a.b;e=a.a;if(d)return f==b&&e>=c?new Sz(f+1,e-c):a;else if(f==b)return new Sz(f-1,e+c);else if(f>b)throw QT(new sgc("Cannot undo line cut on a previous line."));else return a}function Gdb(a,b,c){var d,e;if(b.j==(m5b(),g4b)){je(!a.n.containsKey(b.ci()));a.n.put(b.ci(),c)}else{je(!Tdb(a,b));e=pBb(b);d=Odb(a,e.a.getAtIndex(0));pub(d,(Xd(e.a.size()!=1),new nBb(e.a.Qe(1,e.a.size()))),c)}}function gib(a,b){var c,d,e,f,g;if(b.b.j==(m5b(),g4b)){e=
b.b;Q0b(b,egb(b));f=b.e;d=new _0b(k3b);B0b(f,b,d);c=X0b(mXb(X0b(e.ai(false),e),b),b);H0b(c,g0b(b,29));g=A0b(b,b.g,29);g!=b.g&&(b.g=g);B0b(f,d,c);$_(a.b)}}function rsb(a){var b,c,d,e;b=(Gm(),new Zp);for(e=es(a.Re().Ld());e.Dd();){d=e.Ed();Xp(b,(Isb(),c=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(d,58,45),92,47)," ",wBc),"[",xBc),"]",yBc),"<",zBc),">",ABc),Jsb(c)))}return Om(b.a)}function XGb(a,b){var c,d;d=FGb(a,(m5b(),Y3b));c=PGb(a,b);if(!c)return rGb(a,GEc,a.j.g,YHb(a.j)),null;jHb(a);if(!DGb(a,(SHb(),NHb)))return rGb(a,
DEc,a.j.g,YHb(a.j)),null;!a.o?ZHb(a.j):vGb(a);P_b(d,c);return d}function Mmc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){Jmc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);Mmc(b,a,i,j,-e,f);Mmc(b,a,j,h,-e,f);if(f.He(a[j-1],a[j])<=0){while(c<d)b[c++]=a[i++];return}Kmc(a,i,j,h,b,c,d,f)}function vxc(a){var b,c,d,e;b=0;d=a.length;e=d-4;c=0;while(c<e){b=a.charCodeAt(c+3)+31*(a.charCodeAt(c+2)+31*(a.charCodeAt(c+1)+31*(a.charCodeAt(c)+31*b)));b=b|0;c+=4}while(c<d)b=b*31+lhc(a,c++);b=b|0;return b}function JV(a,b,c){var d,
e;a.a.v==(t2(),p2)||nW("Feature 'namespace' is only allowed in ES6 Typed mode.",b);NV((m5b(),i4b),b);e=o5b(b.j);e!=-1&&(d=b0b(b),e!=d&&nW(bzc+e+czc+d,b));LV(a,b.b);KV(a,b.b?b.b.f:null,c)}function oPb(a,b){rIb(a.c,dPb(a,a.b.b==0?a.d:kPb(a,0).b.b.c),"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.",b)}function Vd(a,b,c){if(a<0)return te(Wxc,vC(qC(yR,1),Uxc,1,5,[c,Hgc(a)]));else if(b<0)throw QT(new xcb(Yxc+
b));else return te("%s (%s) must not be greater than size (%s)",vC(qC(yR,1),Uxc,1,5,[c,Hgc(a),Hgc(b)]))}function vub(a,b){var c,d;if(a.A.containsKey(b)){d=a.A.oe(b);je(!!d.w);return new _Ab(d.t,d.w,d.w,(kBb(),jBb))}if(Tg(a.B,b,false))return bh(Tg(a.B,b,false));if(iD(a,279)){c=a.a;if(c)return mzb(c,b)}return null}function O_b(a,b,c){var d;Yd(!!c&&c.e==a,"The existing child node of the parent should not be null.");Yd(!b.d,MFc);Yd(!b.f,NFc);Yd(!b.e,OFc);if(a.b==c){d=a.b.f;b.e=a;b.d=a.b;b.f=d;a.b.f=b;
a.b=b}else N_b(a,b,c.f)}function Wac(){new btc;this.k=new qrc;this.b=new zsc;this.d=new qrc;new Ts;new Vk;new Vk;this.j=new qrc;this.c=new Idc(this,(Gm(),Gm(),Fm),(null,Fm));this.i=sC(BQ,Uxc,19,yac().length,0,1);this.g=new qrc;Vac(this)}function Qmc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Smc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[",
"]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Tmc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Umc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,
""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Wmc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Xmc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function _ab(a,b,c){var d,e,
f;Xd(b.j==(m5b(),y3b));if(c.j==u2b&&c.b.j==D3b){f=c.b.b;if(f.j==E3b&&qhc((f.b?f.b.f:null).ci(),Hzc)){e=pBb(f.b);if(e)return d=Jdb(a.a,e,false),!d?null:iD(d.c,75)?d.c:null}}return null}function Agb(a){Gfb();var b,c;if(a.j==(m5b(),g5b)||a.j==g4b&&a.e.j==g5b||a.j==E3b&&a.e.j==u2b&&(!a.e?null:a.e.e).j==u3b||a.j==u2b&&a.e.j==u3b){b=(c=Tfb(a),!c?null:g0b(c,29));return!!b&&(b.a&$Bc)==oCc}return false}function AEb(a,b){var c,d,e;c=zEb(a,b);if(c.j!=(m5b(),N2b)){if(c.j==k3b)Q0b(c,N2b);else{d=iEb(a,N2b,c);K0b(d,
i1b(c.i));D0b(d,h1b(c.i));J0b(d,c.c);c=d}e=A0b(c,c.g,39);e!=c.g&&(c.g=e);c.g=new E1b(39,1,c.g)}return c}function cgb(a){Gfb();var b,c,d;if(a.j!=(m5b(),y3b))return null;b=(c=bgb(a),!c?null:h0b(c));if(b!=null)return b;d=a.e;switch(d.j.f){case 96:case 85:case 84:case 89:return d.ci();case 30:return kgb(d)}return null}function Nnb(a,b,c,d){var e,f,g,h;f=c.b;if(!f||f.j!=(m5b(),E3b))return false;if(!!d&&d.j==(m5b(),g4b)){g=d.e;if(!!g&&g.j==(m5b(),g5b))return false}e=f.b;return Tnb(a,e)||Tnb(a,f)||(h=h0b(f),
Vnb(a,h))||Knb(a,b,c)}function KAb(a,b,c){var d,e,f,g,h,i,j;f=new RAb(1);for(j=c.Ld();j.Dd();){i=j.Ed();for(h=b.Ld();h.Dd();){g=h.Ed();if(mAb(g.d,i.d)){if(a){e=dAb(g,i);if(!e)continue}else e=IAb(g,i);QAb(f,e)}}}return fm(),d=f.a,qo(d)}function FFb(a,b,c){var d,e,f;if(c)e=mEb(a.a,(m5b(),Q4b),b.a);else{d=aEb(a.a,b);fFb(a,b);e=mEb(a.a,(m5b(),g4b),b.a);!!d&&(f=A0b(e,e.g,29),f!=e.g&&(e.g=f),!!d&&(e.g=new O1b(29,d,e.g)),e)}xEb(e,b.b.b,b.b.a);return e}function rwc(a){var b,c,d;b=window.console?new Owc:null;
if(!b)return;Kvc();if(Iyc>a.a.sj())return;c=(d=a.a.sj(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");Mwc(c,a.b);!!a.c&&Nwc(b,c,a.c,"Exception: ",true)}function S6(a,b,c){var d,e,f;oe(c.j==(m5b(),g4b)||c.j==R4b,"Invalid node for declareVar: %s",c);e=c.ci();f=b.uh(e);if(!!f&&f.Jh()==c)return;d=w_(a.a,a.b);!!f||_6(b,e)||b.Ch()&&qhc(e,rBc)?a.c.oh(b,e,c,d):b.qh(e,c,d)}function dbb(a,b){var c,d;je(b.j==(m5b(),w4b)||b.j==o2b);c=gbb(a,b.b);if(!c)return null;d=gbb(a,b.b.d);if(!d)return null;if(Tvb(c,
d))return c;if(b.j==o2b)return Cwb(kwb(c,a.c.d.g),d);return Cwb(kwb(c,a.c.d.F),d)}function FEb(a,b){var c,d;if(b.j==(m5b(),V3b)){c=b.b;for(d=b.e;!!d&&d.j!=y3b;d=d.e)if(d.j==V3b&&qhc(d.b.ci(),c.ci())){a.d.eh(TWb('Duplicate label "%s"',vC(qC(yR,1),Uxc,1,5,[c.ci()])),a.r,i1b(b.i),h1b(b.i));break}}}function y7(a,b,c){var d,e;if(!u0b(c,hCc,hCc.length))return;if(r7(b,c.b)){q_(a.a,OBc,false);e=(Gfb(),Wfb(c,Ffb));d=xXb(qXb(lhb(a.a,"$jscomp.initSymbolIterator"),vC(qC(hQ,1),zzc,7,0,[])));O_b(e.e,Y0b(d,e),e);
$_(a.a)}}function sfb(a,b,c,d){var e,f;de(c);!a.g&&nfb(a,$fb(b),(f=(e=g0b(b,51),!e?null:e.Dg()),f==null?"":f));if(!!d&&gfb(a)!=d){a.f=b;je(!!a.f);Ukc(a.n,d);lfb(a,d.f);!!a.i&&a.i.gh(a);qfb(a,b,c);jfb(a,false)}else qfb(a,b,c)}function Hgb(a){Gfb();var b;switch(a.j.f){case 31:case 30:case 32:case 35:case 34:return true;case 90:case 19:case 78:case 22:return Hgb(a.b);case 29:b=a.ci();return qhc(EBc,b)||qhc(WCc,b)||qhc("NaN",b)}return false}function klb(a,b){var c,d,e,f,g,h;h=new vlb(a);wfb(a.a,b,h);
if(h.a.a.size()!=0){d=null;for(f=(g=(new Kjc(h.a.a)).a.ne().Ld(),new Qjc(g));f.a.Dd();){e=(c=f.a.Ed(),c.xe());d=q_(a.a,e,false)}!!d&&nlb(a,d.e,d.d);$_(a.a)}}function bHb(a,b){var c,d,e;d=$Gb(a,b);if(!d)return null;e=(c=new _0b((m5b(),N2b)),c);P_b(e,d);while(DGb(a,(SHb(),AHb))){!a.o?ZHb(a.j):vGb(a);jHb(a);d=$Gb(a,!a.o?ZHb(a.j):vGb(a));if(!d)return null;P_b(e,d)}return e}function pOb(a,b,c){var d,e;nMb(a,(bSb(),fRb));++a.j.f;e=(Gm(),new Zp);d=nOb(a);Jlc(e.a,de(d));while(AOb(a,pQb)){nMb(a,pQb);d=nOb(a);
!!d&&(Jlc(e.a,de(d)),e)}nMb(a,kQb);--a.j.f;return new PTb(new oWb(b,a.g),c,Om(e.a))}function Vmc(a){var b,c,d,e,f;if(a==null)return Mxc;f=new Utc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new gic(f.d):_hc(f.a,f.b);Yhc(f.a,""+fU(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function p0(a){var b,c,d,e,f,g,h;f=new Ulc;d=new qrc;for(h=new pmc(a);h.a<h.c.a.length;){g=nmc(h);for(c=new pmc(g.c);c.a<c.c.a.length;){b=nmc(c);e=b.f.a;f.a[f.a.length]=b;e==null?Src(d.d,null,g):gsc(d.e,e,
g)}}return f}function fFb(a,b){var c,d;c=b.a;d=false;if(q5b(c)){a.a.e=SJb(a.a.e,(NKb(),jKb).a);d=a.a.a.c==(PDb(),HDb)}!!a.a.o&&a.a.o.contains(c)&&(d=true);d&&a.a.d.eh("identifier is a reserved word",a.a.r,(XDb(),b.b.b.b+1),b.b.b.a)}function ONb(a,b){var c,d,e,f,g;e=kPb(a.j,0).b.b;!rMb(a,(bSb(),ZQb))&&nMb(a,$Qb);d=(f=kPb(a.j,0).b.b,g=oMb(a),new ITb(new oWb(f,a.g),kMb(a,g)));nMb(a,gRb);c=b?HMb(a):PNb(a);nMb(a,lQb);return new HTb(new oWb(e,a.g),d,c)}function h0b(a){var b,c;switch(a.j.f){case 29:c=a.ci();
return c.length==0?null:c;case 26:b=h0b(a.b);if(b==null)return null;return b+"."+(a.b?a.b.f:null).ci();case 33:return Zzc;case 97:return $zc;default:return null}}function gzb(a,b){var c,d,e,f;f=a.a;if(f==b.a)return a;if(b.a.f!=0)for(d=(!f.d?(fm(),$w(),Zw):f.d).Ld();d.Dd();){c=d.Ed();e=gzb(qzb(c,a.b),b);if(e)return e}if(a.a.f==0&&!!f.n)return gzb(qzb(f.n,a.b),b);return null}function CBb(a){var b,c,d;if(!a.e)return null;if(a.f==0){je(qhc(a.v,wCc));return BBb(a)}if(!a.a){b=(fm(),new Mq);if(a.d)for(d=
a.d.Ld();d.Dd();){c=d.Ed();Lq(b,CBb(c.a))}a.a=ro(new pmc(Lq(b,new Kjc(a.i)).a))}return a.a}function RDb(a){PDb();var b,c,d,e;for(c=vC(qC(bN,1),Zxc,119,0,[HDb,IDb,JDb,KDb,LDb,NDb,ODb,MDb]),d=0,e=c.length;d<e;++d){b=c[d];if(RJb(b.a,a.a))return b}throw QT(new sgc("No input language mode supports feature: "+a));}function YGb(a){jHb(a);if(!DGb(a,(SHb(),zHb)))return FGb(a,(m5b(),k3b));!a.o?ZHb(a.j):vGb(a);jHb(a);if(DGb(a,RHb)&&qhc(fAc,a.j.n)){!a.o?ZHb(a.j):vGb(a);return FGb(a,(m5b(),h5b))}else return _Gb(a,
!a.o?ZHb(a.j):vGb(a))}function $Hb(a){var b,c,d;for(;;){b=WHb(a);switch(b){case 42:if((d=WHb(a),a.q[a.r++]=d,--a.b,d)!=47){VHb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=(c=Shc(a.o,0,a.p),exc(c),c);a.p=0;return a.n;default:VHb(a,b)}}}function QKb(){NKb();return vC(qC(rN,1),Zxc,43,0,[jKb,pKb,tKb,FKb,HKb,KKb,$Jb,aKb,AKb,cKb,dKb,lKb,mKb,nKb,uKb,vKb,DKb,EKb,GKb,IKb,JKb,fKb,hKb,zKb,CKb,gKb,xKb,kKb,_Jb,ZJb,bKb,eKb,iKb,oKb,qKb,rKb,sKb,wKb,yKb,BKb,LKb,MKb])}function HMb(a){var b;b=(Gm(),new Zp);while(zOb(a,
0,(bSb(),YRb))||zOb(a,0,VQb)||zOb(a,0,qQb)||zOb(a,0,JQb)||zOb(a,0,jQb)||zOb(a,0,RQb)||zOb(a,0,zQb)||zOb(a,0,ZQb)||zOb(a,0,$Qb)||zOb(a,0,EQb))Xp(b,GMb(a));return Om(b.a)}function tic(){tic=pU;sic=new uic("UP",0);mic=new uic("DOWN",1);lic=new uic("CEILING",2);nic=new uic("FLOOR",3);qic=new uic("HALF_UP",4);oic=new uic("HALF_DOWN",5);pic=new uic("HALF_EVEN",6);ric=new uic("UNNECESSARY",7)}function fr(a,b){_q();var c,d,e,f;d=de(b.xe());f=de(b.ye());c=d;if(Xtc(a,c)){e=(new Ekc(new Kuc(a,(Xuc(),Wuc),d))).b.xj().Ed();
throw QT(new xcb("Duplicate keys in mappings "+e.xe()+"="+e.ye()+" and "+d+"="+f));}buc(a,d,f)}function Vfb(a){switch(a.j.f){case 66:case 70:return a.b;case 71:return a.b?a.b.f:null;case 72:return a.j==(m5b(),w3b)&&b0b(a)==3?null:a.b.d;case 99:case 68:return null}throw QT(new xcb(a+" does not have a condition."));}function LXb(a){switch(a.j.f){case 79:case 65:return true;case 80:case 73:case 86:case 74:case 87:case 71:case 82:case 72:case 66:case 81:case 67:case 39:case 44:case 75:case 70:case 76:return true;
default:return false}}function p6(a,b){var c,d,e,f,g;c=$5++;f=xXb(mXb(W_b(a,false),new J1b(c)));g=xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b((m5b(),g4b),MBc)),new J1b(b)));e=s6(c);d=pXb(vC(qC(hQ,1),zzc,7,0,[f,g,r6()]));P_b(d,e);return d}function rgb(a){var b;if(!(a.j==(m5b(),y3b)&&wgb(a.e)))return false;b=a.e;while(b)switch(b.j.f){case 80:return b.e.j!=y3b;case 65:case 83:case 153:case 106:case 109:return false;default:je(b.j==V3b);b=b.e}return false}function Zub(a,b){var c;Xd(!(a==a.a.A||
a==a.a.i));c=a.i.size();if(b<c){je(null!=a.i.getAtIndex(b));return a.i.getAtIndex(b)}else if(b<c+a.e.size()){je(null!=a.e.getAtIndex(b-c));return a.e.getAtIndex(b-c)}else return a.j}function Exb(a){var b,c;if(!a||a.j!=(m5b(),z4b))return false;for(c=(!a.b?(gnc(),gnc(),fnc):new V1b(a.b)).Ld();c.Dd();){b=c.Ed();if(b.j==(m5b(),h5b)||b.j==Q4b&&(qhc(b.ci(),fAc)||qhc(b.ci(),EBc)))return true}return false}function KEb(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 TGb(a){var b,c,d,e,f;jHb(a);e=!a.o?ZHb(a.j):vGb(a);c=a.j.g;d=YHb(a.j);f=VGb(a,e);gHb(a,c,d,f,e==(SHb(),HHb));b=!f?null:new J_b(f,!a.g?null:a.g.Dg());if(b){w_b(a.e,b);a.e.a.e=true;return p$b(a.e,false)}return null}function Yr(a){Mr();var b,c,d;b=a.Ed();if(!a.Dd())return b;d=$hc(_hc(new dic,"expected one element but was: <"),b);for(c=0;c<4&&a.Dd();c++)$hc((d.a+=Sxc,d),a.Ed());
a.Dd()&&(d.a+=", ...",d);d.a+=">";throw QT(new xcb(d.a));}function hib(a,b){var c,d,e;Xd(b.j==(m5b(),V3b));e=b.b?b.b.f:null;switch(e.j.f){case 81:case 80:case 72:case 70:case 71:return;default:d=(c=new _0b(N2b),c);Z0b(d,e);B0b(b,e,d);Q_b(d,e);iib(a,"LABEL normalization");return}}function FAb(a,b,c,d,e,f,g){if(!c)c=(Uyb(),Uyb(),Tyb);else if(nAb(c)||!(!d||d!=d.a.c))return a.d;!!d&&!Tg(c,Hzc,false)&&(!e||!vub(e,Hzc))&&(c=Wyb(c,Hzc,new _Ab(null,d.a.K,null,(kBb(),jBb))));return new kAb(a,b,c,d,e,f,g)}
function tEb(a,b){var c,d,e;e=p$b(a.f,false);!!e&&(d=A0b(b,b.g,29),d!=b.g&&(b.g=d),!!e&&(b.g=new O1b(29,e,b.g)),b);if(a.g){if(!!g0b(b,29)&&IYb(g0b(b,29))!=null){c=G_b(a.g);$$b(c,IYb(g0b(b,29)));a.g=p$b(c,false)}H0b(b,a.g)}}function mFb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){e=c;c=iEb(a.a,QEb(b.b.c),zEb(a.a,b.c));i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);!!e&&Q_b(e,c);if(iD(b.a,103))b=b.a;else{d=zEb(a.a,b.a);Q_b(c,d);b=null}!f&&(f=c)}return f}function OGb(a,b){var c,d,e;c=NGb(a,b);if(!c)return null;
jHb(a);if(!DGb(a,(SHb(),zHb)))return c;!a.o?ZHb(a.j):vGb(a);jHb(a);e=_Gb(a,!a.o?ZHb(a.j):vGb(a));if(!e)return null;d=FGb(a,(m5b(),X2b));P_b(d,c);P_b(d,e);return d}function sMb(a){var b;if(zOb(a,0,(bSb(),ARb))&&kPb(a.j,0).b.b.b==a.g.b){nMb(a,ARb);return}b=kPb(a.j,0).b.b.b>a.g.b;if(b||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb))return;TOb(a,"Semi-colon expected",vC(qC(yR,1),Uxc,1,5,[]))}function BNb(a){var b,c,d;d=kPb(a.j,0).b.b;c=pMb(a);b=null;if(zOb(a,0,(bSb(),LQb))&&qhc(kPb(a.j,0).a,"as")){tMb(a,"as");
b=oMb(a)}else WLb(c.a)&&ROb(a,null,uFc,vC(qC(yR,1),Uxc,1,5,["as"]));return new yTb(new oWb(d,a.g),c,b)}function qg(a,b,c){var d;d=a.c.oe(b);if(!d){d=a.he(b);if(d.add(c)){++a.d;a.c.put(b,d);return true}else throw QT(new qfc("New Collection violated the Collection spec"));}else if(d.add(c)){++a.d;return true}else return false}function TIb(a,b){var c;if(!wIb(a,b,(AJb(),xJb)))return false;if((ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)).j!=Q4b){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["name"]),zEc+m2b(PEc,c)),a.b.Dg(),
a.d,a.c);_Ib(a,xJb.d);return false}return true}function dt(a,b){var c,d,e,f;f=xyc*Egc((b==null?0:rb(b))*yyc,15);c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Sd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;Zs(d.c,d.f);Ys(d.b,d.e);--a.f;++a.e;return true}return false}function R_(a){var b,c,d,e,f;G_(a);f=false;if(a.H.$.b){for(c=a.s.Ld();c.Dd();){b=c.Ed();for(e=_0(b).Eg().Ld();e.Dd();){d=e.Ed();wrc(a.o,d)}}a.s=pcb(!a.B?new qcb(a.D):a.B,a.H.$,a.s);f=true}H_(a);f&&(o0(a.D),a.s=p0(a.D),J_(a))}function nub(a,
b,c){var d,e;je(!yub(a,b));je(!a.w);e=b.a.size()==1?a:wub(a,(Xd(b.a.size()!=1),new nBb(b.a.Qe(0,b.a.size()-1))));e.A.isEmpty()&&(e.A=new zsc);d=b.a.getAtIndex(b.a.size()-1);je(!e.A.containsKey(d));e.A.put(d,c)}function Lvb(a){var b;if(a.i.a.length==0&&a.e.a.length==0&&!!a.j&&Exc==a.j.Vh()&&!!a.k&&Exc==a.k.Vh()&&!a.d&&!a.g&&a.n.isEmpty()&&Uic(a.f.c)==0)return a.a.t;b=uvb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,a.c,a.b);Xub(b);return b}function DY(a,b){var c;JY(a);if(b.length==0)return;c=b.charCodeAt(0);
(c==95||c==36||/[A-Z\d]/i.test(String.fromCharCode(c))||c==92)&&VY(a.pg())?a.dg(" "):c==47&&a.pg()==47?a.dg(" "):(c==34||c==39)&&VY(a.pg())&&a.sg();a.dg(b)}function b1b(a,b){Yd(!b.e,"new child has existing parent");Yd(!b.d,"new child has existing next sibling");Yd(!b.f,"new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=null;b.f=this.b;b.e=this;this.i=-1}function m_(a,b,c,d){var e,f;je(!a.u);try{I_(a,b,c,d);if(a.f.c>0)return y_(a);return W0(new K0(a))}finally{f=(a.H.md!=(L2(),
I2)&&!!a.U&&Wib(a.U,sAc,true),new rob);oW(a.f);e=bU(WT(Pwc()),f.a);a.H.md!=I2&&!!a.U&&Xib(a.U,sAc,e)}}function ysb(a,b){var c,d;d=uAc.length;qhc(b.substr(b.length-d,d),uAc)||(b+=uAc);c=xsb(a,b);!a.b.b.contains(c)&&!!a.b.a&&Z_(a.b.a,(lX(),new Vbb(null,null,-1,-1,(nsb(),ksb),null,vC(qC(DR,1),Fxc,2,6,[b]))));return new Asb(a.b,c)}function tab(a,b,c){var d,e;e=null;if(!c||c.j!=(m5b(),g4b)||c.e.j==(m5b(),u2b)){e=zCc+t3(a.b.j);wsc(a.b.b,b,e)}else if(Udb(a.a,c.ci(),false)){d=c.ci();je(d.indexOf(".")==-1);
e=zCc+t3(a.b.j);wsc(a.b.b,b,e)}else e=c.ci();return e}function wab(a,b){var c,d,e;if(!o0b(b))return false;d=pBb(b);je(!Zdb(a.a,d));c=Jdb(a.a,d,false);if(!(!c?null:c.a))return false;b.j==(m5b(),E3b)&&vab(!b.e?null:b.e.e);b.j==g4b?e=Pdb(a.a,b.ci()).r:e=a.a;Adb(e,b);return true}function EMb(a){var b;switch(kPb(a.j,0).c.f){case 14:b=FMb(a);sMb(a);break;case 29:b=ZMb(a,false,true);break;case 31:b=gNb(a);break;case 110:case 111:b=ONb(a,true);break;default:case 25:case 38:case 30:b=IMb(a);sMb(a)}return b}
function yOb(a,b){var c,d,e,f;f=kPb(a.j,0).b.b;nMb(a,(bSb(),aSb));d=false;c=null;e=kPb(a.j,0).b.b.b>a.g.b;if(!(e||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb))){d=!!rMb(a,ERb);FOb(a)&&(c=OMb(a,b))}return new gWb(new oWb(f,a.g),d,c)}function B0b(a,b,c){var d,e,f;Yd(!c.d,MFc);Yd(!c.f,NFc);Yd(!c.e,OFc);je(b.e==a);X_b(c,b);c.e=a;e=b.d;f=b.f;d=a.b.f;if(b==f){a.b=c;a.b.f=c}else{b==a.b?a.b=c:f.d=c;b==d?a.b.f=c:e.f=c;c.f=f}c.d=e;b.d=null;b.f=null;b.e=null}function Kuc(a,b,c){this.c=a;switch(b.f){case 2:if(a.a.He(null,
c)<0)throw QT(new xcb("subMap: null less than "+c));break;case 1:a.a.He(null,null);break;case 3:a.a.He(c,c)}this.f=b;this.b=c;this.a=true;this.e=null;this.d=false}function t3(a){var b,c,d;do{c=a.d;b=a.b;if(c.length==0){d=b%a.a.length;c=String.fromCharCode(a.a[d].a);b=b/a.a.length|0}while(b>0){--b;d=b%a.c.length;c+=gD(a.c[d].a);b=b/a.c.length|0}++a.b}while(q5b(c)||a.f.contains(c));return c}function Gnb(){Gnb=pU;Fnb=new q4("JSC_STRIP_TYPE_INHERIT_ERROR",(lX(),iX),new Hic("Non-strip type {0} cannot inherit from strip type {1}"));
Enb=new q4("JSC_STRIP_ASSIGNMENT_ERROR",iX,new Hic("Unable to strip assignment to {0}"))}function bsb(){bsb=pU;Yrb=new csb("MAX",0,1);Zrb=new csb("MIN",1,100);$rb=new csb("STRICT",2,100);Wrb=new csb(uDc,3,50);_rb=new csb("SUPPRESS_BY_WHITELIST",4,40);asb=new csb("SUPPRESS_DOC",5,20);Xrb=new csb("FILTER_BY_PATH",6,1)}function Z7b(a,b,c,d){var e,f,g,h;for(h=b.r.b.keySet().Ld();h.Dd();){g=h.Ed();if(!(a.xi()||a.vi()||a.wi()||Mac(a.u,(wac(),L9b))==a||Y6b(a)||!!a.$i(g)))return false;e=a.Yi(g);f=V6b(b,g);
if(!e.Di(f,c,d))return false}return true}function n6(a,b,c){var d;d=FXb(XXb((oe(thc(UBc,Nhc(46))==-1,yzc,UBc),new _1b((m5b(),g4b),UBc)),(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b(g4b,EBc))),oXb(aYb((oe(thc(UBc,Nhc(46))==-1,yzc,UBc),new _1b(g4b,UBc)))));N_b(c,d,b);$_(a.a)}function yab(a,b,c){switch(b){case ACc:nyb(a.b.d,c);break;case wCc:pyb(a.b.d,c);break;case BCc:oyb(a.b.d,c.p);break;case Myc:ryb(a.b.d,c.p);break;case CCc:myb(a.b.d,c.p);break;case DCc:qyb(a.b.d,c.p);break;case jCc:lyb(a.b.d,c)}}function PDb(){PDb=
pU;HDb=new QDb(UAc,0,(QJb(),GJb),1);IDb=new QDb(VAc,1,HJb,1);JDb=new QDb(WAc,2,HJb,0);KDb=new QDb(XAc,3,KJb,1);LDb=new QDb(YAc,4,KJb,0);NDb=new QDb($Ac,5,MJb,0);ODb=new QDb(_Ac,6,OJb,0);MDb=new QDb(ZAc,7,PJb,0)}function hFb(a){var b,c,d,e;c=null;while(YEb(a.b)){b=z0b(a).b.ci();!c&&(c=new Mq);Jlc(c.a,de(b))}if(c){e=ro(new pmc(c.a));e.size()==1&&e.contains(Lzc)&&(e=(XDb(),WDb));d=A0b(a,a.g,48);d!=a.g&&(a.g=d);!!e&&(a.g=new O1b(48,e,a.g))}}function Cgc(a){var b,c,d;if(a<0)return 0;else if(a==0)return 32;
else{d=-(a>>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-xCc;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function iZ(a,b,c,d,e){var f,g;f=e==2;f&&DY(a.c,"(");dZ(a,e0b(b,61)!=0?lAc:Cxc);if(e0b(b,59)!=0){DY(a.c,"*");c.ci().length==0||a.c.sg()}a.xg(c,5);g=g0b(c,81);!!g&&a.xg(g,5);a.xg(c.d,5);rZ(a,b);a.xg(d,3);a.c.lg(e==0);f&&DY(a.c,")")}function FMb(a){var b,c,d,e;e=kPb(a.j,0).b.b;nMb(a,(SLb(),lLb).a);c=!!rMb(a,(bSb(),ERb));d=oMb(a);return b=
dTb(iTb(cTb(fTb(eTb(gTb(new kTb((pTb(),mTb)),d),c),xMb(a)),rNb(a,1)),wMb(a)),new QSb(new oWb(e,a.g))),_Sb(b,new oWb(e,a.g))}function BMb(a,b){var c,d,e;e=kPb(a.j,0).b.b;d=OMb(a,b);if(AOb(a,(bSb(),pQb))&&!zOb(a,1,DRb)){c=(Gm(),new Zp);Jlc(c.a,de(d));while(AOb(a,pQb)&&!zOb(a,1,DRb)){nMb(a,pQb);Xp(c,OMb(a,b))}return new ASb(new oWb(e,a.g),Om(c.a))}return d}function fwc(a,b){var c,d,e,f,g,h,i;for(d=Tlc(a.a,sC(xT,iGc,260,a.a.a.length,0,1)),f=0,h=d.length;f<h;++f)rwc(b);i=a.e?a.d:null;while(i){for(c=Tlc(i.a,
sC(xT,iGc,260,i.a.a.length,0,1)),e=0,g=c.length;e<g;++e)rwc(b);i=i.e?i.d:null}}function uw(a,b){var c,d,e;if(b===a)return true;if(iD(b,372)){e=b;if(a.size()!=e.size()||a.ne().size()!=e.ne().size())return false;for(d=e.ne().Ld();d.Dd();){c=d.Ed();if(a.te(c.we())!=c.ve())return false}return true}return false}function ZU(a,b){switch(b.j.f){case 75:case 98:case 86:IV(a,b.j,b);break;case 65:uV(a,b,true);break;case 94:hV(a,b,true),HV(b.b);break;case 149:nV(a,b);break;case 157:JV(a,b,true);break;case 152:iW(a,
b);break;case 106:pV(a,b,true)}}function jab(a){S9();var b,c,d;b=g0b(a,51);if(!(!!b&&b.Fh()))return false;c=(Gfb(),d=Tfb(a),!d?null:g0b(d,29));if(!c||(c.a&2)==0)return false;if(a.j==(m5b(),g4b))return a.e.j==g5b&&!a.b;if(a.j==E3b)return a.e.j==u3b;return false}function X6b(a,b,c,d){var e,f;Xd(!a.Ni());Xd(!b.Ni());ae(b.Bi(),"isStructuralSubtype should be called with structural supertype. Found %s",b);e=k9b(c,a,b);if(e)return e.a;f=k7b(a,b,c,d);l9b(c,a,b,f?(q9b(),n9b):(q9b(),o9b));return f}function pd(a,
b){var c,d,e,f,g;if(b===a)return true;if(!iD(b,47))return false;g=b;if(a.size()!=g.size())return false;f=g.Ld();for(d=a.Ld();d.Dd();){c=d.Ed();e=f.Ed();if(!(oD(c)===oD(e)||c!=null&&nb(c,e)))return false}return true}function mHb(a,b,c,d,e,f){var h;mGb();var g;this.j=a;this.g=d;g=e.d!=(EDb(),DDb);this.e=new F_b(g);if(b!=null){i_b(this.e,b);h_b(this.e,c)}this.a=e.a;this.k=e.e;this.f=e.d==CDb;this.b=f;this.n=(h=new _0b((m5b(),K4b)),P0b(h,this.g),h)}function gW(a,b){var c,d,e,f;v2(a.a.v)||nW(izc,b);NV((m5b(),
X4b),b);if(!b.b)return;d=0;for(c=b.b;c;c=c.d,d++)d==0&&c.j!=Q4b?sV(a,c):c.j==Q4b?cW(c):(NV(Y4b,c),e=o5b(c.j),e!=-1&&(f=b0b(c),e!=f&&nW(bzc+e+czc+f,c)),sV(a,c.b),undefined)}function l_(a){a.L=new rjb(a,a.U,new Bjb(a.M));a.H._==(K1(),G1)&&ojb(a.L,a.O);a.H.q&&(a.L.o=true);jjb(a.L,(!a.K&&(a.K=new dtb),new Ulc));njb(a.L,a.n,a.u);if(a.f.c>0)return;a.H.od==(R2(),Q2)&&g0(a,a.H.gd,a.H.ed,a.H.fd,a.H.dd);a.L=null}function vAb(a){var b,c,d,e;if((new ejc(a.g.a)).a.size()!=1)return null;b=ljc(new mjc((new ejc(a.g.a)).a));
c=new oBb(b.xe());d=$vb(b.ye().d);if(!d)return c;e=vAb(d);if(!e)return c;return new nBb(Om(Yp(Yp((Gm(),new Zp),c.a),e.a).a))}function DFb(a,b){var c,d,e,f,g;gFb(a,b,(NKb(),sKb));f=FFb(a,b.c,false);_Eb(a,f,b.b);g=fGb(a,(m5b(),T3b),b.d);c=hEb(a.a,U3b);i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);for(e=b.a.Ld();e.Dd();){d=e.Ed();P_b(c,zEb(a.a,d))}return kEb(a.a,S3b,f,g,c)}function TFb(a,b){var c,d,e,f,g;f=hEb(a.a,(m5b(),d3b));c=hEb(a.a,N2b);g=A0b(c,c.g,38);g!=c.g&&(c.g=g);c.g=new E1b(38,1,c.g);i1b(c.i)==-1&&xEb(c,
b.o.b,b.o.a);if(b.a)for(e=b.a.Ld();e.Dd();){d=e.Ed();P_b(c,zEb(a.a,d))}P_b(f,c);return f}function $Zb(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.di(b.d,false,true,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function EZ(a,b,c,d,e,f,g){var h,i,j;je(!!c._c);j=b==0?new XZ(f,c.nc,c.Xb,c._c):new f$(c.Xb,c._c);h=b==2?new bqb(j,g.a.c,g.a.f):new wZ(j,g.a.c);d&&DY(h.c,"/** @externs */\n");e&&DY(h.c,
"'use strict';");h.xg(a,5);j.kg();i=j.i.a;return i}function ihb(a,b){Gfb();var c,d,e,f,g,h,i;d=!(a.j==(m5b(),E3b)||a.j==D3b);c=qXb(a,vC(qC(hQ,1),zzc,7,0,[]));i=A0b(c,c.g,50);i!=c.g&&(c.g=i);(d?1:0)!=0&&(c.g=new E1b(50,d?1:0,c.g));for(f=b,g=0,h=f.length;g<h;++g){e=f[g];P_b(c,e)}return c}function cub(a){var b,c,d,e;b=new Mvb(a.a);for(e=a.f.Ld();e.Dd();){c=e.Ed();Gvb(b,!c?a.a.K:c)}for(d=a.d.Ld();d.Dd();){c=d.Ed();Cvb(b,!c?a.a.K:c)}Hvb(b,a.g);Ivb(b,!a.i?a.a.K:a.i);Bvb(b,a.c);Fvb(b,a.e);Jvb(b,a.j);zvb(b,
a.b);return Lvb(b)}function dzb(a,b){var c,d,e,f,g;if(a.b.d.d.isEmpty())return zBb(a.a,b);_hc(b,a.a.v);g=a.a.o;je(a.b.Ve().containsAll(g));d=true;b.a+="<";for(f=g.Ld();f.Dd();){e=f.Ed();d?d=false:(b.a+=",",b);c=Yn(a.b,e);nwb(de(c),b)}b.a+=">";return b}function Trc(a,b){var c,d,e,f,g;f=b==null?0:a.b.uj(b);d=(c=a.a.get(f),c==null?[]:c);for(g=0;g<d.length;g++){e=d[g];if(a.b.tj(b,e.xe())){if(d.length==1){d.length=0;a.a[lFc](f)}else d.splice(g,1);--a.c;fqc(a.b);return e.ye()}}return null}function nsb(){nsb=
pU;lsb=new q4("JSC_MODULE_CONFLICT",(lX(),kX),new Hic("File has both goog.module and ES6 modules: {0}"));ksb=new q4("JSC_ES6_MODULE_LOAD_WARNING",kX,new Hic(aDc));msb=new usb;jsb=new psb(null,(Gm(),Gm(),Fm),(null,Fm))}function RFb(a,b){var c,d,e,f,g,h;g=b.a;d=QFb(a,g);h=d.ci();if(thc(h,Nhc(11))!=-1){f=g.b.b.c;c=g.b.a.c;f<a.a.s.length&&Hhc(a.a.s,f,Xgc(a.a.s.length,c)).indexOf("\\v")!=-1&&(e=A0b(d,d.g,54),e!=d.g&&(d.g=e),d.g=new E1b(54,1,d.g))}return d}function rOb(a){var b,c,d;c=kPb(a.j,0).b.b;if(AOb(a,
(bSb(),VRb))){nMb(a,VRb);d=oMb(a);b=(Gm(),new Zp);!!d&&Xp(b,d.a);while(AOb(a,nRb)){nMb(a,nRb);d=oMb(a);if(!d)break;Xp(b,d.a)}return new YVb(new oWb(c,a.g),Om(b.a))}else return sOb(a)}function tzb(a,b){var c,d,e;e=a.a;if(e==b.a)return ezb(a,b);if(NBb(b.a,wCc))return true;if(b.a.f!=0)for(d=(!e.d?(fm(),$w(),Zw):e.d).Ld();d.Dd();){c=d.Ed();if(tzb(qzb(c,a.b),b))return true}return a.a.f==0&&!!e.n&&tzb(qzb(e.n,a.b),b)}function aHb(a,b){var c;if(b==(SHb(),HHb)){jHb(a);c=$Gb(a,!a.o?ZHb(a.j):vGb(a));if(c){jHb(a);
DGb(a,NHb)?!a.o?ZHb(a.j):vGb(a):(rGb(a,DEc,a.j.g,YHb(a.j)),null)}return c}else{rGb(a,"msg.jsdoc.missing.braces",a.j.g,YHb(a.j));return _Gb(a,b)}}function ibb(a,b){var c,d,e,f,g;je(b.j==(m5b(),D3b));f=b.b;d=b.b?b.b.f:null;if(d.j==Q4b){e=jbb(a,f,d.ci());if(e)return e}g=gbb(a,f);if(g){c=Xvb(g);if(c){e=gbb(a,d);if(!!e&&cwb(e,c,new VBb((Uyb(),Uyb(),Tyb))))return Yvb(g)}}return null}function jib(a,b){var c,d,e,f;for(c=b.b;c;c=f){f=c.d;if(c.j==(m5b(),g5b)){if(a.a&&!c.b)throw QT(new sgc("Empty VAR node."));
while(c.b!=(c.b?c.b.f:null)){d=c.b;x0b(c,d);e=X0b(wXb(d,g5b),b);O_b(b,e,c);iib(a,"VAR with multiple children")}}}}function gAb(a,b,c,d,e,f){var g,h,i,j,k;for(i=c.Ld();i.Dd();){h=i.Ed();j=new oBb(h);k=Yzb(a,j);g=Yzb(b,j);if(k.a==(kBb(),iBb)){if(!!g&&!owb(k.d,g.d,d,e,f))return false}else if(!g||g.a==iBb||!owb(k.d,g.d,d,e,f))return false}return true}function GEb(a,b){var c,d;if(b.j==(m5b(),y4b)){c=b.b;for(;c;c=c.d){if(c.j!=g4b)continue;d=c.d;for(;d;d=d.d)d.j==g4b&&qhc(c.ci(),d.ci())&&a.d.fh(TWb('Duplicate parameter name "%s"',
vC(qC(yR,1),Uxc,1,5,[c.ci()])),a.r,i1b(b.i),h1b(b.i))}}}function cbc(a,b){var c,d,e,f,g,h,i,j;h=false;j=new Ulc;for(f=fec(b).Ld();f.Dd();){e=f.Ed();i=e.Pi(a);i!=e&&(h=true);j.a[j.a.length]=i}if(h){g=new Jec(a.e);for(d=new pmc(j);d.a<d.c.a.length;){c=nmc(d);Dec(g,c,false)}return Eec(g)}return b}function C_(a,b,c,d){var e,f,g;if(b==null)return null;g=uvc(a.r,b);if(!g)return null;f=Tz(nnb(g),c,d+1);if(!f)return null;e=Fic().Fj().Fj().Fj().Fj().Fj();wvc(a.P,e,z0(e));return rB(sB(vB(tB(sB(uB(vB(new wB,
f.d),f.c),f.a),f.b),e),f.a-1))}function Gmb(b){var c,d;if(b.e!=null)return;try{d=Dhc(b.Eh(),Gyc,-1);b.e=sC(sD,Kyc,46,d.length,15,1);for(c=1;c<d.length;++c)b.e[c]=b.e[c-1]+d[c-1].length+1}catch(a){a=PT(a);if(iD(a,94)){b.e=sC(sD,Kyc,46,1,15,1);b.e[0]=0}else throw QT(a);}}function VOb(a,b){var c;switch(b.p.f){case 62:c=b;break;case 26:c=new ZSb(b.o,(Gm(),new Gx(b)));break;case 48:case 56:a.g=b.o.b;vPb(a.j,a.g.c);c=rNb(a,0);break;default:SOb(a,b,vC(qC(yR,1),Uxc,1,5,[]));c=new ZSb(b.o,(Gm(),Gm(),Fm))}return c}
function Dz(a,b){var c,d,e;Fz(a);switch(b.f){case 7:Gz(a>0&(a&a-1)==0);case 1:case 3:return 31-Cgc(a);case 0:case 2:return 32-Cgc(a-1);case 5:case 4:case 6:d=Cgc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw QT(new pfc);}}function hW(a,b){var c,d,e;NV((m5b(),a5b),b);d=b0b(b);(d<2||d>3)&&nW(ozc+d,b);cV(a,b.b);e=false;c=b.b.d;NV(N2b,c);EV(c);if(c.b){eV(a,c.b);e=true}if(b0b(b)==3){cV(a,b.b?b.b.f:null);e=true}e||nW("Missing catch or finally for try statement.",b)}function heb(a){var b,
c,d,e,f,g,h;if(!a.r)return;f=a.r;e=a.q;while(f.t.j==(m5b(),y3b)){b=false;for(h=(d=(new Kjc(e.a)).a.ne().Ld(),new Qjc(d));h.a.Dd();){g=(c=h.a.Ed(),c.xe());if(!Udb(f,g,false)){b=true;wrc(f.q,g)}}if(!b)break;e=f.q;f=f.r}}function SC(a,b){var c,d,e,f,g;b&=63;c=a.h;d=(c&Syc)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=d?Ryc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?Ryc:0;f=d?Qyc:0;e=c>>b-44}return AC(e&Qyc,f&Qyc,g&Ryc)}function uab(a,b){var c,d,e,f;f=hgb(b);if(!f||
!o0b(f))return false;d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29));return!d?(c=g0b(b,51),!!c&&c.Fh()&&(b.e.j==(m5b(),g5b)||b.j!=g4b)&&!!Ndb(a.a,pBb(f))):(d.a&2)!=0||(d.a&512)!=0||(d.a&nCc)!=0||(d.a&1)!=0}function ubb(a,b){var c;bab(a.c,(b.b?b.b.f:null).ci(),b);if(hab(b,a.a))nbb(a,b);else if(kab(b))wbb(a,b);else if(Sgb(b)){c=A0b(b,b.g,76);c!=b.g&&(b.g=c);b.g=new E1b(76,1,b.g);vbb(a,b)}else Uab(a,b,a.a)?obb(a,b):$db(a.a,b.b)?qbb(a,b):tbb(a,b)}function QMb(a){var b,c;c=kPb(a.j,0).b.b;a.d=SJb(a.d,(NKb(),_Jb).a);
tMb(a,Pzc);nMb(a,(bSb(),JQb));if(AOb(a,ERb)){TOb(a,wFc,vC(qC(yR,1),Uxc,1,5,[]));nMb(a,ERb)}b=bTb(gTb(new kTb((pTb(),mTb)),oMb(a)));uNb(a,b,false);return _Sb(b,new oWb(c,a.g))}function SNb(a,b){var c,d;a.d=SJb(a.d,(NKb(),hKb).a);d=kPb(a.j,0).b.b;c=(Gm(),new Zp);nMb(a,(bSb(),gRb));while(KOb(a,0)||kPb(a.j,0).c==iRb){Xp(c,TNb(a,b));if(AOb(a,pQb))nMb(a,pQb);else break}nMb(a,lQb);return new NTb(new oWb(d,a.g),Om(c.a))}function Z$b(a,b){if((a.a.a&2)!=0||ZYb(a.a)||(a.a.a&UDc)!=0||KYb(a.a)>0||(a.a.a&$Bc)==
lyc||VYb(a.a)||FYb(a.a)>0||HYb(a.a)!=null||!!a.a.g||(a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)return false;else{rZb(a.a,b);a.d=true;return true}}function s0b(a,b){if(!b||b.j!=a.j)return false;switch(a.j.f){case 29:return a.ci().length!=0&&qhc(a.ci(),b.ci());case 33:case 97:return true;case 26:return qhc((a.b?a.b.f:null).ci(),(b.b?b.b.f:null).ci())&&s0b(a.b,b.b);default:return false}}function Udb(a,b,c){de(b);je(b.indexOf(".")==-1);if(usc(a.o,b)||a.f.contains(b)||a.k.containsKey(b)||usc(a.j,
b)||qhc(Zzc,b)||a.e.containsKey(b)||a.n.containsKey(b))return true;if(c)return a.u.contains(b)||!!a.c&&aub(a.c,b)!=null;return false}function hgb(a){Gfb();var b;b=a.e;switch(b.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return a.d;case 75:case 98:case 86:case 43:return a.b;case 65:case 94:return b}return null}function Arb(a,b,c){var d,e,f,g,h,i,j;f=zrb(a);if(!a.c){h=new vfb(a.a,new Grb(a),f);pfb(h,b)}g=new vfb(a.a,a,f);tfb(g,b,c);for(j=
(e=(new Kjc(a.e.a)).a.ne().Ld(),new Qjc(e));j.a.Dd();){i=(d=j.a.Ed(),d.xe());Crb(a.a,i);yrc(a.e,i)}!!a.b&&Irb(a.b)}function EAb(a){var b,c,d,e,f;d=a;for(c=new mjc((new ejc(a.a)).a);c.b;){b=ljc(c);f=b.ye().d;e=f.Vh()==2&&f.Wh().size()==1?Yr(f.Wh().Ld()):null;!!e&&!szb(!e.d?gyb(e.a):e.d)&&!e.c&&(d=Wyb(d,b.xe(),new _Ab(null,pwb(f),null,(kBb(),jBb))))}return d}function MMb(a){var b,c,d;c=kPb(a.j,0).b.b;d=VNb(a);while(b=kPb(a.j,0).b.b.b>a.g.b,!(b||zOb(a,0,(bSb(),ARb))||zOb(a,0,(bSb(),lQb))||zOb(a,0,(bSb(),
yQb)))&&zOb(a,0,(bSb(),iRb))){nMb(a,(bSb(),iRb));nMb(a,nQb);d=new pSb(new oWb(c,a.g),d)}return d}function Njb(a){var b,c,d;ke(a.j==(m5b(),Q2b),a);b=a.b;while(b.j==T2b)b=b.b;Gfb();b.j==E3b||b.j==D3b||(d=A0b(a,a.g,50),d!=a.g&&(a.g=d),a.g=new E1b(50,1,a.g));b.j==g4b&&qhc("eval",b.ci())&&(c=A0b(b,b.g,49),c!=b.g&&(b.g=c),b.g=new E1b(49,1,b.g))}function d$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.di(b.d,false,true,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function qFb(a,b){var c,d,e,f,g,h;g=hEb(a.a,(m5b(),Y2b));h=b.a.getAtIndex(0).o.b;d=b.a.getAtIndex(1).o.a;xEb(g,h,d);for(f=b.a.Ld();f.Dd();){e=f.Ed();c=b0b(g);if(c<2)P_b(g,zEb(a.a,e));else{d=e.o.a;g=jEb(a.a,Y2b,g,zEb(a.a,e));xEb(g,h,d)}}return g}function eIb(a){switch(a){case 64:case 42:case 44:case 60:case 62:case 58:case 40:case 41:case 123:case 125:case 91:case 93:case 63:case 33:case 124:case 61:case -1:case 10:return false;
default:return!(a<=127?a==32||a==9||a==12||a==11:a==160)}}function wNb(a,b){var c,d,e,f;tMb(a,"get");if(KOb(a,0)){e=qMb(a);nMb(a,(bSb(),hRb));nMb(a,mQb);f=wMb(a);c=sNb(a);return new uTb(uMb(a,b.d),e,b.c,f,c)}else{d=cNb(a);nMb(a,(bSb(),hRb));nMb(a,mQb);wMb(a);c=sNb(a);return new GSb(uMb(a,b.d),d,b.c,c)}}function y_b(a,b){if(!!b&&!((a.a.a&2)!=0||ZYb(a.a)||(a.a.a&UDc)!=0||KYb(a.a)>0||(a.a.a&$Bc)==lyc||VYb(a.a)||FYb(a.a)>0||HYb(a.a)!=null||!!a.a.g||(a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)&&
sYb(a.a,b)){a.d=true;return true}return false}function K4(a,b,c,d){var e,f,g;de(b);de(c);qhc(c,tBc)?e=b+".call":e=Oc(new Sc(String.fromCharCode(46)),b,Hzc,vC(qC(yR,1),Uxc,1,5,[c,uBc]));g=lhb(a.a,e);f=qXb(g,vC(qC(hQ,1),zzc,7,0,[new _0b((m5b(),Z4b))]));!!d&&R_b(f,d,f.b?f.b.f:null);return f}function rtb(){rtb=pU;ptb=new q4("JSC_INTERFACE_FUNCTION_NOT_EMPTY",(lX(),jX),new Hic("interface functions must have an empty body"));qtb=new q4("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS",jX,new Hic("Interface functions should not take any arguments"))}
function tOb(a){var b,c,d,e,f;d=kPb(a.j,0).b.b;if(OOb(a)){c=AMb(a);b=tOb(a);return new $Vb(new oWb(d,a.g),c,b)}else return zOb(a,0,(bSb(),LQb))&&qhc(kPb(a.j,0).a,"await")?(e=kPb(a.j,0).b.b,tMb(a,"await"),f=tOb(a),new rSb(new oWb(e,a.g),f)):uOb(a)}function $Lb(){SLb();return vC(qC(uN,1),Zxc,37,0,[VKb,WKb,XKb,$Kb,_Kb,bLb,cLb,dLb,eLb,jLb,kLb,lLb,mLb,pLb,qLb,xLb,DLb,GLb,HLb,ILb,KLb,MLb,NLb,OLb,PLb,QLb,YKb,ZKb,fLb,gLb,hLb,oLb,FLb,nLb,rLb,uLb,zLb,ALb,BLb,CLb,ELb,RLb,yLb,JLb,iLb,aLb,LLb,vLb,wLb])}function E_(a){switch(a.F.f){case 0:return a.H.rd?
(!a.Q&&(a.Q=new cab(a,a.o)),a.Q):(!a.V&&(a.V=new Wac),a.V);case 1:return!a.V&&(a.V=new Wac),a.V;case 2:return!a.Q&&(a.Q=new cab(a,a.o)),a.Q;default:throw QT(new yB("Unhandled typechecker "+a.F));}}function mzb(a,b){var c,d;if(NBb(a.a,jCc)&&vwc(xwc(bzb,b))){if(a.b.d.d.isEmpty())return new _Ab(null,a.a.s.K,null,(kBb(),jBb));je(a.b.d.d.size()==1);c=Yr(a.b.We().Ld());return new _Ab(null,c,null,(kBb(),jBb))}d=GBb(a.a,b);return!d?null:ZAb(d,a.b)}function Hmb(b,c){var d,e;Gmb(b);if(c>b.e.length)return null;
c<1&&(c=1);e=b.e[c-1];d="";try{d=b.Eh()}catch(a){a=PT(a);if(iD(a,94))return null;else throw QT(a);}return uhc(d,Nhc(10),e)==-1?e>=d.length?null:Hhc(d,e,d.length):Hhc(d,e,uhc(d,Nhc(10),e))}function XFb(a,b){var c,d,e,f,g;g=iEb(a.a,(m5b(),a5b),AEb(a.a,b.a));c=hEb(a.a,N2b);f=false;d=b.b;if(d){i1b(c.i)==-1&&xEb(c,d.o.b,d.o.a);f=true;P_b(c,zEb(a.a,d))}P_b(g,c);e=b.c;!!e&&P_b(g,AEb(a.a,e));!f&&!!e&&i1b(c.i)==-1&&xEb(c,e.o.b,e.o.a);return g}function yub(a,b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);
d=a}else{c=b.a.getAtIndex(b.a.size()-1);d=wub(a,(Xd(b.a.size()!=1),new nBb(b.a.Qe(0,b.a.size()-1))));if(!d)return false}return d.A.containsKey(c)||d.C.containsKey(c)||!!Tg(d.B,c,false)}function r1(a,b,c){var d,e,f,g;if(b.j==(m5b(),Q2b)){e=a.a.Sf(b,c);e&&buc(a.b,GAc,xzc);g=a.a.Rf(b,c);g!=null&&Jlc(a.d,g);f=a.a.Qf(b,c);f!=null&&Jlc(a.c,f);return}else if(!!c&&c.j!=u3b&&(Gfb(),!(c.j==K4b||c.j==e4b)))return;for(d=b.b;d;d=d.d)r1(a,d,b)}function _9(a,b,c){var d,e,f,g;Xd(b.e.j==(m5b(),g5b));f=b.e;g=W9(a,
g0b(f,29),c);!!f.b&&!!f.b.d&&!!g&&bfb(a.t,Zbb(f,K9,vC(qC(DR,1),Fxc,2,6,[])));e=b.ci();d=W9(a,g0b(b,29),c);if(d){!!g&&bfb(a.t,Zbb(b,w9,vC(qC(DR,1),Fxc,2,6,[e])));return d}else return g}function abb(a,b,c){var d,e,f;if(b.e.j==(m5b(),L4b)){f=c.i;!!f&&Exc!=f.Vh()&&256!=f.Vh()&&bfb(a.c.t,Zbb(b,(S9(),M9),vC(qC(DR,1),Fxc,2,6,[])))}d=c.f.size()+c.d.size();e=b0b(b.b.d);!c.g&&e!=d&&bfb(a.c.t,Zbb(b,(S9(),R9),vC(qC(DR,1),Fxc,2,6,[""+d,""+e])))}function Jbb(){Jbb=pU;Ibb=new q4("JSC_IMPLICITLY_NULLABLE_JSDOC",
(lX(),kX),new Hic("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 $cb(a,b,c,d){var e,f;if(!c||c.j!=(m5b(),y3b)||b==c.b){Gfb();if(b.j==(m5b(),g4b)&&b.e.j==g5b)d.ih(b.ci(),true);else if(qgb(b)&&c.j!=U2b)d.ih(b.ci(),false);else if(b.j==y3b&&wgb(b.e)){f=b.b;d.ih(f.ci(),true)}for(e=b.b;e;e=e.d)$cb(a,e,b,d)}}function pgb(a){Gfb();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 cob(a,b){var c,d,e,f,g;if(b.j==(m5b(),y3b)){!a.b&&(a.b=$fb(b));g=b.b;d=g.d;e=d.d;f=g.ci();f.length!=0&&(Gfb(),b.j==y3b&&!Ygb(b.e))&&bob(a,g);je(d.j==y4b);for(c=d.b;c;c=c.d){je(c.j==g4b);bob(a,c)}dob(a,e)}else{je(b.j==e4b||!a.e.vh());dob(a,b)}}function $Eb(a,b){var c,d;if(b){switch(b.f){case 42:c=(j$b(),i$b);break;case 41:c=(j$b(),h$b);break;case 40:c=(j$b(),g$b);break;default:throw QT(new sgc("Unexpected access modifier type"));}d=A0b(a,a.g,84);d!=a.g&&(a.g=d);!!c&&
(a.g=new O1b(84,c,a.g))}}function Nwc(a,b,c,d,e){var f,g,h,i,j;Lwc(d+pz(c,c.mf()),e);Mwc(b,Jwc(c,c.backingJsObject));f=c.e;!!f&&Nwc(a,b,f,"Caused by: ",false);for(h=(c.i==null&&(c.i=sC(ER,Uxc,38,0,0,1)),c.i),i=0,j=h.length;i<j;++i){g=h[i];Nwc(a,b,g,"Suppressed: ",false)}Kwc()}function oU(a,b,c){var d=mU,h;var e=d[a];var f=e instanceof Array?e[0]:null;if(e&&!f)_=e;else{_=(h=b&&b.prototype,!h&&(h=mU[b]),qU(h));_.Dj=c;_.constructor=_;!b&&(_.Ej=tU);d[a]=_}for(var g=3;g<arguments.length;++g)arguments[g].prototype=
_;f&&(_.Cj=f)}function bgc(a){if(a.pj()){var b=a.c;b.qj()?a.o="["+b.n:!b.pj()?a.o="[L"+b.Dg()+";":a.o="["+b.Dg();a.b=b.nj()+"[]";a.k=b.oj()+"[]";return}var c=a.i;var d=a.d;d=d.split("/");a.o=egc(".",[c,egc("$",d)]);a.b=egc(".",[c,egc(".",d)]);a.k=d[d.length-1]}function YW(){YW=pU;XW=new q4("JSC_UNDEFINED_NAME",(lX(),kX),new Hic("{0} is never defined"));new q4("JSC_NAME_DEFINED_LATE",kX,new Hic("{0} defined before its owner. {1} is defined at {2}:{3}"));WW=new q4("JSC_STRICT_MODULE_DEP_QNAME",jX,new Hic(tzc))}
function M6(){M6=pU;K6=new q4("JSC_INVALID_SUPER_CALL",(lX(),iX),new Hic("super() not allowed except in the constructor of a subclass"));L6=new q4("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION",iX,new Hic("super() not allowed here. Did you mean super.{0}?"))}function Tdb(a,b){var c,d;Xd(o0b(b));if(b.j==(m5b(),g4b))return Udb(a,b.ci(),false);else if(b.j==Z4b)return true;d=pBb(b);c=d.a.getAtIndex(0);if(_db(a,c))return yub(Odb(a,c),(Xd(d.a.size()!=1),new nBb(d.a.Qe(1,d.a.size()))));return!!a.r&&Tdb(a.r,b)}
function Dxb(a,b,c,d,e,f,g){var h,i,j;i=zBb(d,new dic).a;h=gyb(a.a);!e&&!qhc(b,wCc)&&(e=h);!!e&&!wBb(d,e)&&wrc(a.i,Zbb(c,bxb,vC(qC(DR,1),Fxc,2,6,[i])));(d.g.a&2)!=0&&!f.isEmpty()&&wrc(a.i,Zbb(c,Twb,vC(qC(DR,1),Fxc,2,6,[i])));j=sBb(d,f);je(j);Bvb(g,d.p)}function HAb(a,b){var c;c=a.Vh()==2&&a.Wh().size()==1?Yr(a.Wh().Ld()):null;if(!c||!c.c||(new ejc(c.g.a)).a.size()==0||!!c.b||wAb(c,a.e.C)||wAb(c,$vb(_xb(b,b.K))))return a;if(wAb(c,b.U?b.U:b.C))return a.e.r;if(wAb(c,b.Y?b.Y:b.C))return a.e.u;return a}
function HPb(a){fPb(a);while(ePb(a,a.d)&&(ePb(a,a.d)?lhc(a.e.a,a.d):0)!=93&&!SPb(ePb(a,a.d)?lhc(a.e.a,a.d):0))if(!IPb(a))return false;if((ePb(a,a.d)?lhc(a.e.a,a.d):0)!=93){nPb(a,"']' expected",vC(qC(yR,1),Uxc,1,5,[]));return false}fPb(a);return true}function $V(a,b){var c,d,e,f;NV((m5b(),K4b),b);f=(d=g0b(b,51),!d?null:d.Dg());!f&&nW("Missing 'source name' annotation.",b);e=g0b(b,53);!e&&nW("Missing 'input id' annotation.",b);if(!!b.b&&b.b.j==e4b){c=b0b(b);1!=c&&nW(fzc+c,b);GV(a,b.b)}else bW(a,b.b)}
function XDb(){XDb=pU;WDb=(fm(),new Jx(Lzc));TDb=WDb;UDb=wo(Vzc,kBc,hAc,Rzc,Wzc,Uzc,vC(qC(DR,1),Fxc,2,6,[$zc]));VDb=wo(Vzc,kBc,hAc,Rzc,Wzc,Uzc,vC(qC(DR,1),Fxc,2,6,[$zc,Xzc,gAc,"let",mEc,nEc,oEc,pEc,qEc,"yield"]));new zDb(($w(),Zw),(null,Zw),(PDb(),MDb))}function SFb(a,b){var c,d,e,f,g,h;f=b.a;g=iEb(a.a,(m5b(),S2b),zEb(a.a,f));c=hEb(a.a,N2b);h=A0b(c,c.g,38);h!=c.g&&(c.g=h);c.g=new E1b(38,1,c.g);i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);if(b.b)for(e=b.b.Ld();e.Dd();){d=e.Ed();P_b(c,zEb(a.a,d))}P_b(g,c);return g}
function vOb(a,b,c){var d,e,f,g;f=kPb(a.j,0).b.b;g=null;if(zOb(a,0,(bSb(),iRb))||zOb(a,0,gRb))e=WNb(a,0);else{e=yNb(a);AOb(a,oQb)&&(g=(nMb(a,oQb),nOb(a)))}d=null;AOb(a,AQb)?d=(nMb(a,AQb),OMb(a,c)):c!=0&&yMb(a,b,e);return new cWb(new oWb(f,a.g),e,g,d)}function FPb(a){if(!UPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)){nPb(a,"Expected regular expression first char",vC(qC(yR,1),Uxc,1,5,[]));return false}if(!GPb(a))return false;while(ePb(a,a.d)&&TPb(ePb(a,a.d)?lhc(a.e.a,a.d):0))if(!GPb(a))return false;return true}
function JWb(a,b){var c,d,e,f;e=new dic;e.a+="0";if(a.b.n>0){e.a+=".";f=sC(rD,Gxc,46,a.b.n,15,1);Emc(f,f.length,48);e.a+=Shc(f,0,f.length)}e.a+="E+00";c=sU(a.a);_hc(b,zhc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=Hhc(b.a,0,d)+"."+Ghc(b.a,d)}}function Z9(a,b,c){var d,e,f;Xd(b.a.e);Xd(b.a.f!=0||NBb(b.a,wCc));if(!nzb(b,c))return fm(),$w(),Zw;else if(tp(a.o,b.a,c)!=null)return fm(),new Jx(tp(a.o,b.a,c));f=(fm(),new Mq);for(e=kzb(b).Ld();e.Dd();){d=e.Ed();Lq(f,Z9(a,d,c))}return ro(new pmc(f.a))}
function Jdb(a,b,c){var d,e;if(b.a.size()==1)return Kdb(a,b.a.getAtIndex(0),c);e=Odb(a,b.a.getAtIndex(0));if(!e)return ceb(a,Pc(new Sc("."),b.a.Ld()));d=uub(e,(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size()))));return d?d:ceb(a,Pc(new Sc("."),b.a.Ld()))}function ewb(a){if(0==a.Vh()||-1==a.Vh()||Exc==a.Vh()||a.Vh()==64||a.Vh()==128||a.Vh()==32||a.Vh()==256||(a.Vh()&-25)==0&&(a.Vh()&24)!=0||a.Vh()==1||a.Vh()==4&&a.Uh().size()==1||512==a.Vh()||fCc==a.Vh())return false;return!(a.Vh()==2&&a.Wh().size()==
1)}function I$b(a,b){if(!!b&&!((a.a.a&2)!=0||ZYb(a.a)||(a.a.a&UDc)!=0||KYb(a.a)>0||(a.a.a&$Bc)==lyc||VYb(a.a)||FYb(a.a)>0||HYb(a.a)!=null||!!a.a.g||(a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)){BZb(a.a,b,oCc);a.d=true;return true}else return false}function w_b(a,b){if(!!b&&!((a.a.a&2)!=0||ZYb(a.a)||(a.a.a&UDc)!=0||KYb(a.a)>0||(a.a.a&$Bc)==lyc||VYb(a.a)||FYb(a.a)>0||HYb(a.a)!=null||!!a.a.g||(a.a.a&$Bc)==eCc||(a.a.a&$Bc)==Iyc||(a.a.a&$Bc)==oCc)){BZb(a.a,b,eCc);a.d=true;return true}else return false}
function FY(a,b,c){var d,e;JY(a);d=b.charCodeAt(0);e=a.pg();(d==43||d==45)&&e==d?a.dg(" "):/[A-Z]/i.test(String.fromCharCode(d))&&(e==95||e==36||/[A-Z\d]/i.test(String.fromCharCode(e)))?a.dg(" "):(e==45&&d==62||e==60&&d==33)&&a.dg(" ");a.gg(b,c);c&&a.rg()}function JBb(a,b){var c,d,e,f,g,h;if(Tg(a.i,b,false)){h=bh(Tg(a.i,b,false));d=h.c;if(!!d&&d.j==(m5b(),E3b)){e=(Gfb(),f=Tfb(d),!f?null:g0b(f,29));c=h.b;if(!!c&&(g=c.Vh()==2&&c.Wh().size()==1?Yr(c.Wh().Ld()):null,!(!g?null:g.b)||!!e))return c}}return null}
function yMb(a,b,c){if(b==(bSb(),qQb)){a.d=SJb(a.d,(NKb(),fKb).a);TOb(a,"const variables must have an initializer",vC(qC(yR,1),Uxc,1,5,[]))}else if(hSb(c)){a.d=SJb(a.d,(NKb(),hKb).a);TOb(a,"destructuring must have an initializer",vC(qC(yR,1),Uxc,1,5,[]))}}function q8b(a,b,c,d,e,f,g){A5b();K7b.call(this,a,b,Oac(a,(wac(),H9b)),g,e);this.c=(Gm(),Gm(),Fm);this.b=(null,Fm);this.q=true;Xd(true);de(c);this.g=null;if(f){this.e=1;this.j=d?d:new U8b(a,this,g)}else{this.e=0;this.j=d?d:Oac(a,sac)}this.a=c;this.d=
false}function gY(){gY=pU;new q4("JSC_REFLECT_OBJECTLIT_EXPECTED",(lX(),kX),new Hic("Object literal expected as second argument"));DXb((oe(thc(xzc,Nhc(46))==-1,yzc,xzc),new _1b((m5b(),g4b),xzc)),new _1b(Q4b,"reflect"),vC(qC(hQ,1),zzc,7,0,[new _1b(Q4b,"cache")]))}function fAb(a,b){var c,d,e,f,g,h;if(b.isEmpty())return a;e=(Uyb(),Uyb(),Tyb);for(h=new mjc((new ejc(a.g.a)).a);h.b;){g=ljc(h);f=g.xe();d=ZAb(g.ye(),b);e=Wyb(e,f,d)}c=!a.b?null:dvb(a.b,b);return FAb(a.a,!a.d?null:qzb(a.d,b),e,c,a.e,!!c&&c==
c.a.t||a.c,a.f)}function sBb(a,b){var c,d,e;je(!a.e);je(!a.d);de(b);if(a.f!=0)for(e=b.Ld();e.Dd();){c=e.Ed();if(LBb(c.a,a)){a.d=(fm(),$w(),Zw);return false}}for(d=b.Ld();d.Dd();){c=d.Ed();MBb((je(!c.a.e),c.a))&&(a.g=(Pzb(),Nzb));vBb((je(!c.a.e),c.a),a)}a.d=b;return true}function gab(a){var b,c,d;if(!a||!a.c)return false;c=(Gfb(),d=Tfb(a.a),!d?null:g0b(d,29));return!c||(c.a&64)!=0&&(b=(c.a&$Bc)==eCc&&(($Bc&c.a)==eCc?c.i:null).a.j==(m5b(),y3b),!(b||(c.a&$Bc)==lyc||!!c.g||KYb(c)>0||(c.a&2)!=0||(c.a&
xCc)!=0&&(c.a&$Bc)!=eCc))}function fib(a,b){var c,d,e;je(b.e.j==(m5b(),y3b));d=null;c=b.b;while(!!c&&(Gfb(),c.j==y3b&&wgb(c.e))){d=c;c=c.d}while(c){e=c.d;Gfb();if(c.j==y3b&&wgb(c.e)){x0b(b,c);d=(!d?Q_b(b,c):N_b(b,c,d),c);iib(a,"Move function declaration not at top of function")}c=e}}function avb(a,b){var c,d;je(a.c||b.c);if(a==a.a.A||a==a.a.i||b==b.a.A||b==b.a.i)return true;d=Xgc(a.i.size(),b.i.size());for(c=0;c<d;c++)if(!zwb(Zub(a,c),Zub(b,c)))return false;return zwb((Xd(!(a==a.a.A||a==a.a.i)),a.k),
(Xd(!(b==b.a.A||b==b.a.i)),b.k))}function kwb(a,b){var c,d,e,f,g;g=lwb(a,b);if(0==g.Vh()&&(e=a.Wh(),e.size()==1&&Yr(e.Ld()).c||(f=b.Wh(),f.size()==1&&Yr(f.Ld()).c))){g=lwb(Svb(a),Svb(b));if(0!=g.Vh())return a}d=g.Wh();if(d.size()==1&&Yr(d.Ld()).c){c=HAb(g,a.e);if(g!=c)return c}return g}function $Fb(a,b){var c,d;d=TEb(b.b.c);c=zEb(a.a,b.a);if(d==(m5b(),l4b)&&c.j==r4b){c.fi(-c.bi());return c}else{d==f3b&&!(c.j==E3b||c.j==D3b||c.j==g4b)&&a.a.d.eh("Invalid delete operand. Only properties can be deleted.",
a.a.r,i1b(c.i),0);return iEb(a.a,d,c)}}function YNb(a,b){var c;if(zOb(a,0,(bSb(),iRb))||zOb(a,0,gRb))c=WNb(a,b);else{c=HNb(a);iSb(c)||TOb(a,vFc,vC(qC(yR,1),Uxc,1,5,[]));b==0&&c.p!=(EVb(),HUb)&&TOb(a,"Only an identifier or destructuring pattern is allowed here.",vC(qC(yR,1),Uxc,1,5,[]))}return c}function pV(a,b,c){var d;NV((m5b(),r3b),b);if(e0b(b,64)!=0){d=b0b(b);2!=d&&nW(gzc+d,b);NV(k3b,b.b);cW(b.b.d)}else if(e0b(b,63)!=0){d=b0b(b);1!=d&&nW(fzc+d,b);sV(a,b.b)}else{d=b0b(b);(d<1||d>2)&&nW(hzc+d,b);
b.b.j==t3b?rV(b.b):aW(a,b.b,c);b0b(b)==2&&cW(b.b.d)}}function N7(a,b){var c,d,e;c=a.b;e=c.d;Gfb();if(a.j==(m5b(),V2b)&&wgb(a.e))return new M7(a,c.ci(),false,c,e);else if(b.j==u2b&&b.e.j==u3b){d=h0b(b.b);if(d==null)return null;return new M7(b.e,d,true,c,e)}else return b.j==g4b?new M7(b.e,b.ci(),true,c,e):null}function mbb(a,b){var c,d,e,f,g,h,i;c=a.c.f.Xf(b);if(c==null)return;h=c.indexOf(".")!=-1?new nBb(Nm(yf(Ef(new jc(46)),c))):new oBb(c);i=(d=Jdb(a.a,h,false),!d?null:iD(d.c,75)?d.c:null);if(i){g=
i.p;e=Lvb(Ivb(new Mvb(a.c.d),g));f=Zxb(a.c.d,e);a.c.f.Of(i,f,g)}}function Bgb(a,b){Gfb();var c,d;if(!a||!b)return!a&&!b;if(!a.di(b,false,false,false))return false;if(b0b(a)!=b0b(b))return false;d=a.b;c=b.b;while(!!d&&!!c){if(d.j==(m5b(),y3b)||d.j==K4b)return c.j==d.j;if(!Bgb(d,c))return false;d=d.d;c=c.d}return true}function Kxb(a,b,c){var d,e;ke(!!b,"getTypedef should only be called when we know that the typedef is defined");if(b.a==(dCb(),cCb))return;e=ZBb(b);if(!e){wrc(a.i,Zbb((je(b.a==aCb),b.c).a,
Pwb,vC(qC(DR,1),Fxc,2,6,[])));d=a.a.K}else d=Bxb(a,e,c,null);$Bb(b,d)}function YOb(a,b,c,d){var e,f,g,h,i;if(a.b.i){g=xwc((jMb(),iMb),d);if(twc(g)){i=Ghc(d,uwc(g,0).length);if(qhc(i.substr(0,29),"data:application/json;base64,")){e=Qy((Py(),Py(),Oy),i.substr(29,i.length-29));h=ohc((f=e,Dic(),f));a.b.f=h}}}Xp(a.a,new BSb(d,c,b))}function f1b(a,b,c,d,e){Xd(!b.e);Xd(!b.d);Xd(!b.f);Xd(!c.e);Xd(!c.d);Xd(!c.f);Xd(!d.e);Xd(!d.d);Xd(!d.f);Xd(!e.e);Xd(!e.d);Xd(!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 m2b(b,c){var d,e,f;Ftc();f=(Ptc(),Stc(TFc));try{d=Qtc(f,b)}catch(a){a=PT(a);if(iD(a,332))throw QT(new yB("no message resource found for message property "+b));else throw QT(a);}e=new Hic(d);return c!=null?Iic(e.a,c):Iic(e.a,vC(qC(yR,1),Uxc,1,5,[c]))}function vu(a,b){var c,d,e;if(oD(b)===oD(de(a)))return true;if(!iD(b,47))return false;d=b;e=a.size();if(e!=d.size())return false;if(iD(d,76)){for(c=0;c<e;c++)if(!Sd(a.getAtIndex(c),
d.getAtIndex(c)))return false;return true}else return Tr(a.Ld(),d.Ld())}function Stc(a){Ptc();var b,c,d;if(qhc(TFc,a))d="rhino/Messages.properties";else if(qhc(NEc,a))d="parsing/ParserConfig.properties";else throw QT(new yB("ResourceBundle not available: "+a));b=Nic(Otc,d);if(!b){c=$kb(d);b=new Rtc(Hbb(c));Qic(Otc,d,b)}return b}function ijb(){ijb=pU;hjb=qwc((Ofc(SK),SK.o));gjb=(Gm(),new Vw(Ym(vC(qC(yR,1),Uxc,1,5,[MAc,NAc,"deadAssignmentsElimination",JAc,RAc,QAc,PAc,"peepholeOptimizations","minimizeExitPoints",
"removeUnreachableCode"]))));fjb=new Vw(Ym(vC(qC(yR,1),Uxc,1,5,[KAc,LAc])))}function Fjb(a,b){var c,d,e,f;if(ugb(b)&&b.j!=(m5b(),V3b)&&b.j!=(m5b(),V4b))for(d=b.b;d;d=d.d)if(vgb(b,d)&&d.j!=(m5b(),N2b)){e=X0b((c=new _0b((m5b(),N2b)),c),b);B0b(b,d,e);f=A0b(e,e.g,39);f!=e.g&&(e.g=f);e.g=new E1b(39,1,e.g);d.j==k3b||T_b(e,d);d=e;Ijb(a)}}function Fl(a){var b,c,d,e,f,g,h;if(a.d==0)return Ol(),Nl;b=new gq((g=a.f,!g?a.f=new wh(a,a.c):g).size());h=0;for(d=(f=a.f,ph(!f?a.f=new wh(a,a.c):f)).Ld();d.Dd();){c=d.Ed();
e=Om(c.ye());if(!e.isEmpty()){cq(b,c.xe(),e);h+=e.size()}}return new Dl(In(b.b),h)}function wY(a){var b,c,d;c=null;if(a.j==(m5b(),E3b))c=(a.b?a.b.f:null).ci();else if(a.j==g4b){d=a.ci();b=whc(d,Nhc(36));b!=-1&&(c=d.substr(b+1,d.length-(b+1)))}if(c!=null)if(qhc(c,"inherits"))return A$(),y$;else if(qhc(c,"mixin"))return A$(),z$;return null}function yic(a){$wc(a!=null,"Null charset name");a=a.toLocaleUpperCase();if(qhc((Twc(),Qwc).a,a))return Qwc;else if(qhc(Rwc.a,a))return Rwc;else if(qhc(Swc.a,a))return Swc;
if(/^[A-Za-z0-9][\w-:\.\+]*$/.test(a))throw QT(new Eic(a));else throw QT(new Bic(a));}function hNb(a){var b,c,d,e,f;d=uMb(a,kPb(a.j,0).b.b);b=null;e=(Gm(),new Zp);while(f=kPb(a.j,0).c,arc(Yqc((bSb(),LQb),vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),f)||!a.b.c&&XLb(f)){c=yNb(a).a;b=new IVb(d,c,null);Jlc(e.a,de(b));AOb(a,lQb)||nMb(a,pQb)}return Om(e.a)}function Hab(a,b){var c,d,e,f;je(o0b(b));e=A0b(b,b.g,76);e!=b.g&&(b.g=e);b.g=new E1b(76,1,b.g);!!hgb(b)&&bfb(a.b.t,Zbb(b,(S9(),q9),vC(qC(DR,1),Fxc,2,6,[])));
if(Tdb(a.a,b))return;c=(Gfb(),d=Tfb(b),!d?null:g0b(d,29));f=new _Bb(($Bc&c.a)==Iyc?c.i:null);Gdb(a.a,b,f)}function Ewb(a,b,c,d,e){Rvb();de(e).isEmpty()?b&=-5:b|=4;de(c).isEmpty()?b&=-3:b|=2;if(c.isEmpty()&&e.isEmpty()&&d==null&&(b&1)==0)return Dwb(a,b);if(!Bwb(c))return a.b;if(b==2)return new SAb(a,c);if(b==34)return new Fzb(a,c);return new gCb(a,b,c,d,e)}function ydb(a){var b,c;c=(Isb(),OCc+Ahc(zhc(zhc(zhc(zhc(zhc(Ahc(Bhc(Ksb((b=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(a,58,45),92,47)," ",wBc),"[",xBc),"]",yBc),
"<",zBc),">",ABc),Jsb(b))),BBc+Awc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),wBc,"_"));return new xdb(c,c)}function tV(a,b){var c;NV((m5b(),w3b),b);Gfb();if(b.j==w3b&&b0b(b)==3){c=b0b(b);3!=c&&nW("Expected 3 children, but was "+c,b);jW(a,b.b);sV(a,b.b.d)}else{c=b0b(b);4!=c&&nW("Expected 4 children, but was "+c,b);kW(a,b.b);UV(a,b.b.d);UV(a,a0b(b,2))}cV(a,b.b?b.b.f:null)}function gCb(a,b,c,d,e){swb.call(this,a);this.a=de(e);this.c=de(c);d!=null&&(b|=1);this.d=d;this.b=b;if(!fwb(this))throw QT(new sgc(TWb("Cannot create type with bits <<<%x>>>, objs <<<%s>>>, typeVar <<<%s>>>, enums <<<%s>>>",
vC(qC(yR,1),Uxc,1,5,[Hgc(b),c,d,e]))));}function pZ(a,b,c){var d,e,f,g,h,i;h=0;d=0;for(f=0;f<b.length;f++)switch(b.charCodeAt(f)){case 34:++d;break;case 39:++h}if(a.f?h<=d:h<d){g=39;e='"';i="\\'"}else{g=34;e='\\"';i="'"}return String.fromCharCode(g)+tZ(a,b,e,i,"`","\\\\",c,false)+String.fromCharCode(g)}function $sb(){h_();new qrc;this.q=new zsc;this.v=(t2(),k2);this.I=new A0;this.P=new xvc;this.r=new xvc;new qrc;this.d=new dic;this.e=new hY;this.o=new zrc;this.F=(DU(),AU);this.G=(Nlb(),new Tlb(this));
this.O=new I0;this.N=new Rkb;this.a=new Ulc;Sw();i_(this,this.N)}function te(a,b){var c,d,e,f;a=a;c=new eic;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;c.a+=""+a.substr(f,e-f);$hc(c,b[d++]);f=e+2}Zhc(c,a,f,a.length);if(d<b.length){c.a+=" [";$hc(c,b[d++]);while(d<b.length){c.a+=Sxc;$hc(c,b[d++])}c.a+="]"}return c.a}function Wz(a,b){var c;if(b.i!=3)throw QT(new jB("Unknown version: "+b.i));c=b.b;if(c!=null&&c.length==0)throw QT(new jB("File entry is empty"));if(b.f){Yz(a,b,null);return}a.b=
b.c;a.e=b.g;a.d=b.e;a.b>=0?a.c=new Vlc(a.b):a.c=new Ulc;Ug(a.a,b.a);bA(new gA(a,b.d))}function IC(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 Dgc(c);if(b==0&&d!=0&&c==0)return Dgc(d)+22;if(b!=0&&d==0&&c==0)return Dgc(b)+44;return-1}function _V(a){var b,c,d;NV((m5b(),O4b),a);c=o5b(a.j);c!=-1&&(b=b0b(a),c!=b&&nW(bzc+c+czc+b,a));d=a.e;switch(d.j.f){case 28:case 23:a==d.b&&nW("SPREAD node is not callable.",
a);break;case 42:break;default:nW("SPREAD node should not be the child of a "+d.j+" node.",a)}}function qbb(a,b){var c,d,e;Xd(b.j==(m5b(),E3b));if(iab(b)){Mab(a,(Gfb(),c=Tfb(b),!c?null:g0b(c,29)),h0b(b),b.d,null,a.a);return}if(jab(b)){Mab(a,(Gfb(),c=Tfb(b),!c?null:g0b(c,29)),h0b(b),b,null,a.a);return}if(Sab(a,b))return;e=b.b;d=(b.b?b.b.f:null).ci();rbb(a,b,e,d)}function vgb(a,b){Gfb();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 99:case 70:case 81:case 76:case 77:return(a.b?
a.b.f:null)==b;case 66:case 67:case 68:return a.b!=b;case 69:return true;default:je(ugb(a));return false}}function bGb(a,b){var c,d,e,f;switch(b.a.f){case 30:dFb(a,b,(NKb(),fKb));e=(m5b(),$2b);break;case 38:dFb(a,b,(NKb(),uKb));e=(m5b(),$3b);break;case 25:e=(m5b(),g5b);break;default:throw QT(new rgc);}f=hEb(a.a,e);for(d=b.b.Ld();d.Dd();){c=d.Ed();P_b(f,BEb(a.a,c))}return f}function lab(a){S9();var b,c;Gfb();if(a.j==(m5b(),u3b)&&a.b.j==u2b&&kab(a.b.b))return true;if(a.j==t4b){c=a.e;if(c.j==u2b&&c.e.j==
u3b&&c.b.j==E3b&&qhc(f0b(c.b).ci(),Hzc))return true;b=g0b(a,29);return!!b&&(!b.d?null:b.d.g)!=null&&phc(!b.d?null:b.d.g,Hzc)}return false}function Zab(a,b,c){var d;if(b.f!=0&&!!c){d=a.c.f.Tf();c.j==(m5b(),y3b)&&(Gfb(),!(c.j==y3b&&!Ygb(c.e)&&ygb(c.b?c.b.f:null)))?bfb(a.c.t,Zbb(c,(S9(),C9),vC(qC(DR,1),Fxc,2,6,[]))):c.j!=y3b&&!(d!=null&&u0b(c,d,d.length))&&bfb(a.c.t,Zbb(c,(S9(),E9),vC(qC(DR,1),Fxc,2,6,[])))}}function Kfb(a,b,c){Gfb();var d;switch(a.j.f){case 100:case 28:case 23:return true;case 29:return!tgb(a,
c)&&!b.contains(a.ci());case 26:case 27:return true;case 65:je(a.j==(m5b(),y3b)&&!Ygb(a.e));return false}for(d=a.b;d;d=d.d)if(Kfb(d,b,c))return true;return false}function Ntb(){Ntb=pU;Ltb=new q4("JSC_PRIMITIVE_OBJECT",(lX(),kX),new Hic("Explicit creation of a {0} object."));Mtb=new q4("JSC_PRIMITIVE_OBJECT_DECLARATION",kX,new Hic("Declaration of {0} object instead of primitive type."));fm();so(vC(qC(yR,1),Uxc,1,5,[CCc,BCc,Myc]))}function uvb(a,b,c,d,e,f,g,h,i,j,k){var l;!b&&(b=(Gm(),Gm(),Fm));!c&&
(c=(Gm(),Gm(),Fm));!h&&(h=(Sw(),Rw));!i&&(i=(Gm(),Gm(),Fm));if(d)for(l=c.size()-1;l>=0;l--)if(Tvb(d,c.getAtIndex(l)))c.removeAtIndex(l);else break;return new jvb(a,Om(b),Om(c),d,e,f,g,Cn(h),i,j,k)}function fwb(a){if(Exc==a.b||-1==a.b)return true;if((a.b&2)!=0&&de(a.c).isEmpty())return false;if((a.b&2)==0&&!de(a.c).isEmpty())return false;if((a.b&4)!=0&&de(a.a).isEmpty())return false;if((a.b&4)==0&&!de(a.a).isEmpty())return false;return(a.b&1)!=0==(a.d!=null)}function AIb(a,b){var c;if(b.j!=(m5b(),
g4b)&&b.j!=Q4b){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[Dxc]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);return false}if(b.ci().length==0){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["string parameter"]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function XZb(a,b,c,d,e){if(b>d)throw QT(new sgc("Recorded bad position information\nstart-line: "+b+Gyc+"end-line: "+d));else if(b==d&&c>=e)throw QT(new sgc("Recorded bad position information\nline: "+b+Gyc+"start-char: "+c+Gyc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}
function q7(a){var b,c,d,e;d=g0b(a,29);if(d){c=a.j==(m5b(),F3b)||e0b(a,73)!=0;if(c&&!!(($Bc&d.a)==lyc?d.i:null))return($Bc&d.a)==lyc?d.i:null;else{e=MYb(d);if(e.size()==1)return NYb(d,Yr(MYb(d).Ld()))}}return new J_b(new _0b((m5b(),D4b)),(b=g0b(a,51),!b?null:b.Dg()))}function Sab(a,b){var c,d,e;d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29));if(!!d&&(d.a&$Bc)==eCc&&(c=(d.a&$Bc)==eCc&&(($Bc&d.a)==eCc?d.i:null).a.j==(m5b(),y3b),!(c||(d.a&$Bc)==lyc||!!d.g||KYb(d)>0||(d.a&2)!=0||(d.a&xCc)!=0&&(d.a&$Bc)!=eCc)))return false;
return $db(a.a,b)||_gb(b)}function Eob(a,b,c){Dob();var d,e,f,g,h,i,j,k,l;if(v2(a.H.Ub))for(j=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();j.Dd();){i=j.Ed();h=g0b(i,89);if(!!h&&(l=TJb(h),!qhc(l,HAc)&&!qhc(l,"es5")))for(e=c,f=0,g=e.length;f<g;++f){d=e[f];dfb();k=new vfb(a,d,new X6(a));pfb(k,i)}}}function Mub(a,b){var c,d,e,f,g;g=false;for(f=a.Ld();f.Dd();){d=f.Ed();if(cwb(d.a,b,new VBb((Uyb(),Uyb(),Tyb)))){g=true;break}}if(!g)return a;c=(fm(),new Mq);for(e=a.Ld();e.Dd();){d=e.Ed();cwb(d.a,b,new VBb((Uyb(),
Uyb(),Tyb)))||(Jlc(c.a,de(d)),c)}return ro(new pmc(c.a))}function nxb(a,b,c,d,e,f,g,h){var i,j;i=h||c.j!=(m5b(),y3b)?null:g0b(c.b,29);j=!b?null:($Bc&b.a)==lyc?b.i:null;if(d.j==(m5b(),L4b)&&!j)Ivb(g,a.a.G);else if(i){Ivb(g,pxb(a,i,f,e));!!j&&wrc(a.i,Zbb(c,gxb,vC(qC(DR,1),Fxc,2,6,["the return type"])))}else Ivb(g,Bxb(a,j,f,e))}function k5(a,b,c){var d,e,f,g;f=A0b(c,c.g,60);f!=c.g&&(c.g=f);e=A0b(c,c.g,85);e!=c.g&&(c.g=e);c.g=new E1b(85,1,c.g);d=c.b?c.b.f:null;if(d.j!=(m5b(),N2b)){je(!!d.e);x0b(d.e,d);
d=$0b(oXb((je(JXb(d)),new b1b(I4b,d))),d);P_b(c,d)}g=new o5;wfb(a.a,d,g);j5(a,b,g.b,g.a);$_(a.a)}function V9(a,b,c){var d,e;Xd(b.e.j==(m5b(),Q2b));if(b.j==Z4b||b.j!=y3b&&!o0b(b))return null;if(b.j==y3b)return Pdb(c,X9(a,b)).c;je(o0b(b));d=Jdb(c,pBb(b),false);if(!d)return null;if(d.a)return d.a.c;if(d.d){e=Vvb(d.d);if(!!e&&e.n.isEmpty())return gvb(e)}return null}function VGb(a,b){var c,d;c=false;if(b==(SHb(),BHb)){b=!a.o?ZHb(a.j):vGb(a);if(b==NHb){a.o=b;return lHb(a,(m5b(),j3b),new _0b(k3b))}c=true}d=
$Gb(a,b);if(d){jHb(a);if(c)d=lHb(a,(m5b(),j3b),d);else if(DGb(a,FHb)){!a.o?ZHb(a.j):vGb(a);jHb(a);d=lHb(a,(m5b(),p3b),d)}}return d}function YIb(a,b){var c,d,e;if(!wIb(a,b,(AJb(),yJb)))return false;e=(ae(b.j==(m5b(),Q2b),OEc,b),b0b(b)-1);for(d=0;d<e;d++)if(!VIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,d+1)))){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["union type"]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function BIb(a){var b,c,d,e,f;d=new zDb(new zrc,new zrc,(PDb(),KDb));f=pIb(a.b,a.f,d,a.a);c=f.a;if(c.j!=
(m5b(),K4b)||c.b.j!=u3b){a.a.fh((b=vC(qC(yR,1),Uxc,1,5,[QEc]),zEc+m2b(REc,b)),a.b.Dg(),a.d,a.c);return false}e=c.b.b;if(!VIb(a,e))return false;xIb(a,e);a.e=e;return true}function Lbb(){Lbb=pU;Kbb=new q4("JSC_J2CL_REFERENCE_EQUALITY",(lX(),kX),new Hic("Reference equality may not be used with the specified type: {0}"));new Yw(vC(qC(fT,1),oyc,58,0,[(Xk(FCc,GCc),nv(),new Pp(FCc,GCc)),(Xk(HCc,ICc),new Pp(HCc,ICc)),(Xk(JCc,KCc),new Pp(JCc,KCc))]))}function lAb(a,b,c,d,e){var f,g,h;h=d.d;f=a?new _Ab(d.c,
kwb(d.d,e.d),d.b,eBb(d.a,e.a)):new _Ab(d.c==e.c?d.c:null,Fwb(d.d,e.d),null,eBb(d.a,e.a));g=f.d;if(0==g.Vh())return g.e.e;if(Exc!=g.Vh()&&cwb(g,h,new VBb((Uyb(),Uyb(),Tyb)))&&!Tvb(g,h))return Wyb(b,c,f);return Xyb(b,c)}function qNb(a,b,c){var d,e,f;!c&&(c=new LTb(uMb(a,kPb(a.j,0).b.b)));nMb(a,(bSb(),ARb));AOb(a,ARb)?e=new LTb(uMb(a,kPb(a.j,0).b.b)):e=BMb(a,1);nMb(a,ARb);AOb(a,mQb)?f=new LTb(uMb(a,kPb(a.j,0).b.b)):f=BMb(a,1);nMb(a,mQb);d=hOb(a);return new YSb(new oWb(b,a.g),c,e,f,d)}function GOb(b){var c;
if(b.b.d&&AOb(b,(bSb(),hRb))||AOb(b,(bSb(),fRb))){c=new XOb(b.b,new hWb,b.j.e,bPb(b.j),kxc(blc(b.e)));try{xMb(c);rNb(c,2);AOb(c,(bSb(),oQb))&&(nMb(c,oQb),nOb(c));return AOb(c,aQb)}catch(a){a=PT(a);if(iD(a,368))return false;else throw QT(a);}}return false}function Sib(a){var b,c,d,e,f;f=new qrc;for(d=new pmc(a.w);d.a<d.c.a.length;){c=nmc(d);e=c.j;b=e==null?bh(Rrc(f.d,null)):fsc(f.e,e);if(!b){b=new ajb(e,c.i);e==null?Src(f.d,null,b):gsc(f.e,e,b)}b.n=RT(b.n,c.n);b.a=Wgc(b.a,c.a);++b.k;b.d+=c.d;b.b+=
c.b;b.e+=c.e;b.f+=c.f}a.I=Cn(f)}function iAb(a){var b,c,d,e,f,g;if(a.c||!!a.d&&szb(a.d)||!!a.e)return a;b=!a.b?null:ivb(a.b);c=(Uyb(),Uyb(),Tyb);for(g=new mjc((new ejc(a.g.a)).a);g.b;){f=ljc(g);d=f.xe();e=f.ye();c=Wyb(c,d,e.a==(kBb(),jBb)?e:new _Ab(e.c,e.d,e.b,jBb))}return new kAb(a.a,a.d,c,b,null,true,a.f)}function TEb(a){XDb();switch(a.f){case 76:return m5b(),o4b;case 77:return m5b(),K2b;case 63:return m5b(),C4b;case 64:return m5b(),l4b;case 9:return m5b(),f3b;case 24:return m5b(),b5b;case 26:return m5b(),
h5b;default:throw QT(new sgc(!a?Mxc:a.a==null?(SLb(),Yn(tLb,a)).b:a.a));}}function OC(a){var b,c,d,e,f;if(isNaN(a))return bD(),aD;if(a<-9223372036854775808)return bD(),$C;if(a>=0x7fffffffffffffff)return bD(),ZC;e=false;if(a<0){e=true;a=-a}d=0;if(a>=Uyc){d=pD(a/Uyc);a-=d*Uyc}c=0;if(a>=Tyc){c=pD(a/Tyc);a-=c*Tyc}b=pD(a);f=AC(b,c,d);e&&GC(f);return f}function s_(a){var b,c,d,e,f,g,h;f=a.H.ob;if(f.a.a.isEmpty())return W0(new P0(a));else{b=new dic;for(e=es(new yoc(f.a.b.Ld()));e.Dd();){d=e.Ed();g=z_(a,
d);h=g?(c=g0b(g,51),"// "+(!c?null:c.Dg())+Gyc+(!a.H&&L_(a,new D1),k0(a,g,true))):"File '"+d+"' not found";b.a+=h}return b.a}}function G_(a){var b,c,d,e,f;f=false;for(d=a.s.Ld();d.Dd();){c=d.Ed();if(a.H.$.b)if(!_0(c).Eg().isEmpty()||!_0(c).Fg().isEmpty())continue;e=$0(c,a);if(!e)continue;b=g0b(e,29);if(!!b&&(b.a&xAc)!=0){P_b(a.n,e);c1(c);ccb(c.g,c);Jlc(a.j,c);f=true}}f&&(o0(a.D),a.s=p0(a.D),J_(a))}function Q4(a,b,c){var d;d=b.b.j==(m5b(),k3b);Gfb();if(b.j==V2b&&wgb(b.e)||d&&c.j==g4b||d&&c.j==u2b&&
c.e.j==u3b)return false;if(Lfb(b,false,null)||O7(a.c,b)!=1){Z_(a.b,Zbb(b,(l7(),g7),vC(qC(DR,1),Fxc,2,6,["class expression that cannot be extracted"])));return false}return true}function lxc(a,b){var c,d,e,f;a=a;c=new eic;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;_hc(c,a.substr(f,e-f));$hc(c,b[d++]);f=e+2}_hc(c,a.substr(f,a.length-f));if(d<b.length){c.a+=" [";$hc(c,b[d++]);while(d<b.length){c.a+=Sxc;$hc(c,b[d++])}c.a+="]"}return c.a}function Xab(a,b){var c,d,e;d=(Gfb(),e=Tfb(b),
!e?null:g0b(e,29));if(!!d&&(c=(d.a&$Bc)==eCc&&(($Bc&d.a)==eCc?d.i:null).a.j==(m5b(),y3b),c||(d.a&$Bc)==lyc||!!d.g||KYb(d)>0||(d.a&2)!=0||(d.a&xCc)!=0&&(d.a&$Bc)!=eCc))return null;if(aab(a.c,b)&&!$ab(a,b))return Rab(a,b);return null}function p8b(a,b,c){var d,e,f,g,h;e=null;if(y6b(a.a,b.a,0,new j9b(true)))e=a.a.a;else return null;f=c?a.a.b.oi(b.a.b):a.a.b.ni(b.a.b);h=null;if(W5b(a.j,b.j))h=a.j;else{d=c?a.j.oi(b.j):a.j.ni(b.j);h=d}g=a.a.c||b.a.c;return new q8b(a.u,null,new E6b(a.u,e,f,g),h,null,false,
false)}function yac(){wac();return vC(qC(yQ,1),Zxc,30,0,[v9b,u9b,y9b,x9b,w9b,z9b,B9b,A9b,C9b,D9b,E9b,F9b,G9b,H9b,I9b,P9b,V9b,S9b,R9b,_9b,X9b,$9b,aac,bac,cac,dac,fac,eac,hac,gac,iac,kac,lac,oac,pac,sac,tac,uac,vac,mac,jac,W9b,t9b,O9b,M9b,N9b,J9b,qac,rac,L9b,K9b,Q9b,Y9b,Z9b,U9b,T9b,nac])}function d8(a,b,c){var d,e,f,g,h,i,j,k,l;if(c.j!=(m5b(),E3b)||c.b.j!=Z4b)return;f=(l=alc(b.b),l.j==y3b?l:null);d=(Gfb(),g=Tfb(f),!g?null:g0b(g,29));if(!d||(d.a&2)==0)return;e=(h=bgb(f),!h?null:h0b(h));i=(c.b?c.b.f:
null).ci();k=e+ZBc;j=lhb(a.b,"this."+i);Jlc(a.f,new v8(a,k,i,j))}function XEb(a,b,c,d){var e,f;q0b(d)||a.a.d.eh(TWb("Invalid %s %s operand.",vC(qC(yR,1),Uxc,1,5,[c?"postfix":"prefix",b==(m5b(),P3b)?"increment":"decrement"])),a.a.r,i1b(d.i),h1b(d.i));e=iEb(a.a,b,d);f=A0b(e,e.g,32);f!=e.g&&(e.g=f);(c?1:0)!=0&&(e.g=new E1b(32,c?1:0,e.g));return e}function JMb(a){var b,c;c=kPb(a.j,0).b.b;b=(Gm(),new Zp);nMb(a,(bSb(),hRb));while(zOb(a,0,DRb)||FOb(a)){Xp(b,PMb(a));if(!AOb(a,mQb)){nMb(a,pQb);AOb(a,mQb)&&
TOb(a,"Invalid trailing comma in arguments list",vC(qC(yR,1),Uxc,1,5,[]))}}nMb(a,mQb);return new mSb(new oWb(c,a.g),Om(b.a))}function jNb(a){var b,c,d,e;e=kPb(a.j,0).b.b;b=tOb(a);if(AOb(a,(bSb(),GRb))){b.p==(EVb(),vVb)&&TOb(a,"Unary operator '%s' requires parentheses before '**'",vC(qC(yR,1),Uxc,1,5,[b.b]));a.d=SJb(a.d,(NKb(),kKb).a);c=AMb(a);d=jNb(a);return new sSb(new oWb(e,a.g),b,c,d)}else return b}function TA(a,b){var c,d,e,f,g,h,i;g=new klc;for(d=new pmc(a.c.e);d.a<d.c.a.length;){c=nmc(d);while(g.b!=
g.c&&!RA(g.a[g.b],c)){f=glc(g);SA(a,b,f)}e=g.a[g.b];h=QA(a,c.e);i=PA(a,c.e);je(a.b<h||a.a<=i);(a.b<h||a.b==h&&a.a<i)&&UA(a,b,e,h,i);Ukc(g,c)}while(g.b!=g.c){c=glc(g);SA(a,b,c)}}function q8(a){var b,c,d,e,f;f=W_b((Gfb(),Xd(a.j==(m5b(),y3b)),a.b.d),false);e=f.b;while(!!e&&e.j==g4b){d=g0b(e,40);d!=null&&e.hi(d);e=e.d}c=AXb((oe(thc("",Nhc(46))==-1,yzc,""),new _1b(g4b,"")),f,(b=new _0b(N2b),b));if(iD(a.k,19)?a.k:null){I0b(c,iD(a.k,19)?a.k:null);s8(c)}return c}function ikb(a,b,c){var d,e,f,g;e=(b.b?b.b.f:
null).ci();c.e.j==(m5b(),$2b)||Z_(a.a.c,Zbb(c.e,(akb(),$jb),vC(qC(DR,1),Fxc,2,6,[])));if(c.j==u4b)for(d=c.b;d;d=d.d)!!d.b||P_b(d,X0b(NXb(d.ci()),d));f=Y0b(lhb(a.a.c,e),b);B0b(c,b,f);g=c.e;O_b(g.e,Y0b((je(JXb(b)),new b1b(u3b,b)),b),g)}function BAb(a,b,c,d){var e,f,g,h,i,j;f=(Uyb(),Uyb(),Tyb);for(h=lx(hx(new Kjc(a),new Kjc(b)));h.Dd();){g=h.Ed();i=uAb(a,c,g);j=uAb(b,d,g);e=null;!i?e=j.a==(kBb(),iBb)?j:new _Ab(j.c,j.d,j.b,iBb):!j?e=i.a==(kBb(),iBb)?i:new _Ab(i.c,i.d,i.b,iBb):e=cBb(i,j);f=Wyb(f,g,e)}return f}
function Xnb(a,b,c){var d,e,f;e=c;f=b;while(true){if(e.b!=f){B0b(e,f,new _0b((m5b(),p4b)));break}if(e.j==(m5b(),u3b)){d=e.e;rhb(d,e);break}if(e.j==u2b){d=e.e;B0b(d,e,$_b(e.b?e.b.f:null));break}Gfb();if(!(e.j==E3b||e.j==D3b)&&e.j!=Q2b){B0b(e,f,new _0b(p4b));break}f=e;e=e.e}$_(a.a.a)}function nB(a,b){var c;if(a>=Hxc&&a<=Lyc){c=(Zwc(a>=0&&a<=Lyc),a>=Hxc?vC(qC(rD,1),Gxc,46,15,[Ixc+(a-Hxc>>10&Jxc)&Kxc,Lxc+(a-Hxc&Jxc)&Kxc]):vC(qC(rD,1),Gxc,46,15,[a&Kxc]));nB(c[0],b);nB(c[1],b);return}Thc(Thc(Thc(Thc((b.a+=
"\\u",b),lB[a>>>12&15]),lB[a>>>8&15]),lB[a>>>4&15]),lB[a&15])}function _2(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Ld();i.Dd();){h=i.Ed();g=(G3(),Jic(F3,h)||Pic(F3,h,new J3(h)),Mic(F3,h));for(f=(d=(new Jkc(a.c.a)).a.ne().b.xj(),new Pkc(d));f.a.Dd();){e=(c=f.a.Ed(),c.xe());if(e.Hg(g))continue j;else if(e.Ig(g))return false}return false}return true}function Py(){Py=pU;Oy=new kz("base64()",Byc,Kfc(61));new kz("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Kfc(61));new cz("base32()",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",Kfc(61));new cz("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",Kfc(61));new hz}function Ufb(a){Gfb();var b,c;c=a.e;b=a.j==(m5b(),y3b)&&wgb(a.e);if(b)return a.b;else if(c.j==g4b)return c;else if(c.j==u2b)return c.b;else if(Qgb(c))return c;else if(c.j==H3b&&c.b!=a||c.j==w4b||c.j==o2b||c.j==Y2b&&c.b!=a)return Ufb(c);else if(c.j==T2b)return Ufb(c);return null}function rNb(a,b){var c,d,e;d=kPb(a.j,0).b.b;nMb(a,(bSb(),hRb));e=(Gm(),new Zp);while(JOb(a,b)){Xp(e,UNb(a,
b));if(!AOb(a,mQb)){c=nMb(a,pQb);AOb(a,mQb)&&ROb(a,c,"Invalid trailing comma in formal parameter list",vC(qC(yR,1),Uxc,1,5,[]))}}nMb(a,mQb);return new ZSb(new oWb(d,a.g),Om(e.a))}function bFb(a,b){a.a.e=SJb(a.a.e,(NKb(),pKb).a);if(a.a.a.c==(PDb(),HDb)){a.a.d.eh("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,(XDb(),b.o.b.b+1),0);return true}return false}function cFb(a,b){a.a.e=SJb(a.a.e,(NKb(),
FKb).a);if(a.a.a.c==(PDb(),HDb)){a.a.d.eh("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,(XDb(),b.o.b.b+1),0);return true}return false}function wvb(a,b){var c;if(!a)return null;c=a.Vh()==2&&a.Wh().size()==1?Zzb(Yr(a.Wh().Ld())):null;if(!c)return mwb(a,b);if(c.a.o.isEmpty())return!c.a.o.isEmpty()&&!c.b.d.d.isEmpty()?wwb(FAb(c.a.s,c,null,null,null,false,c.a.g)):c.a.p;if(b.isEmpty())return a;
return wwb(qAb(qzb(c,b)))}function Vzb(a,b,c){var d,e,f,g,h,i,j;f=hzb(b);j=izb(b);for(e=new mjc((new ejc(a.g.a)).a);e.b;){d=ljc(e);g=d.xe();h=d.ye().d;if(64==f.Vh()&&(i=Mz(g),!(!i||_T(i.a,eU(i.a))?null:Hgc(eU(i.a)))))return false;if(64!=f.Vh()&&128!=f.Vh())return false;if(!cwb(h,j,c))return false}return true}function xDb(){vDb();return vC(qC(_M,1),Zxc,27,0,[UCb,pCb,qCb,rCb,sCb,tCb,gDb,uCb,vCb,wCb,xCb,yCb,zCb,CCb,DCb,ACb,BCb,ECb,FCb,GCb,HCb,ICb,JCb,KCb,LCb,MCb,NCb,OCb,PCb,QCb,RCb,SCb,TCb,WCb,XCb,YCb,
ZCb,VCb,$Cb,_Cb,aDb,bDb,cDb,dDb,eDb,fDb,hDb,iDb,jDb,kDb,lDb,mDb,nDb,oDb,pDb,qDb,rDb,sDb,tDb])}function PWb(a){var b,c,d;if(!iD(a.a,203))return null;c=a.a;b=ngc(c);d=null;if(isNaN(b))d="NaN";else if(b==Infinity)a.b.d?d="+Infinity":a.b.j?d=" Infinity":d=WCc;else if(b==-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return GWb(a,d,0)}function h8(a){var b,c;this.f=new Ulc;this.b=a;this.c=new qrc;this.g=(b=new _0b((m5b(),N2b)),b);G0b(this.g);this.a=new zrc;this.i=new qrc;
this.e=new Ulc;this.d=new Ulc;c=r_(this.b);Jlc(this.e,c.Wf());Jlc(this.d,c.Vf());Jlc(this.e,"google_exportSymbol");Jlc(this.d,"google_exportProperty")}function _Nb(a){var b,c,d,e,f;e=kPb(a.j,1).c;if(e==(bSb(),JRb)||e==eRb||e==LQb||(SLb(),SLb(),!!Yn(tLb,e)))return aNb(a,new _Ob(kPb(a.j,0).b.b));else{d=kPb(a.j,0).b.b;nMb(a,ERb);c=cNb(a);b=new kTb((pTb(),nTb));uNb(a,b,true);f=_Sb(b,new oWb(d,a.g));return new ISb(new oWb(d,a.g),null,c,f)}}function f6(a){var b,c;if(a.d.b){c=a6(a,z0b(a.d).ci());if(!c){Z_(a.a,
Zbb(a.d,(l7(),h7),vC(qC(DR,1),Fxc,2,6,["Breaking to a label that is not a loop"])));return}b=c.a}else b=Mlc(a.c,0).a;P_b(a.e,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b((m5b(),g4b),MBc)),new J1b(b))));P_b(a.e,r6())}function n8b(a,b,c){var d,e,f,g,h;f=!a.f?null:a.f.e;g=!!f;a.f=new fcc(Hzc,b,true,!c?a.g:c);b.bj(a);!!f&&f.bj(null);if(a.gj()||a.e==2){h=k8b(a);!!h&&(!h.i&&(h.i=new Ulc),Jlc(h.i,a));if(a.e==2)for(e=es(new yoc(a.b.a.b.Ld()));e.Dd();){d=e.Ed();!!d.Si()&&a8b(d.Si(),a)}}g&&e8b(a);return true}
function Od(a){var b,c,d,e,f,g,h;f=a.d;d="";c=Uhc(_hc(new eic,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=Sxc;h.a!=null&&Uhc(_hc(c,h.a),61);if(g!=null&&(pb(g).g&4)!=0){e=vC(qC(yR,1),Uxc,1,5,[g]);b=zmc(e,new zrc);Zhc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function ENb(a){var b,c,d,e,f,g;e=kPb(a.j,0).b.b;nMb(a,(bSb(),RQb));d=oMb(a);c=xMb(a);f=(Gm(),new Zp);if(AOb(a,FQb)){nMb(a,FQb);g=nOb(a);Jlc(f.a,de(g));while(AOb(a,pQb)){nMb(a,pQb);g=nOb(a);!!g&&(Jlc(f.a,de(g)),f)}}nMb(a,
gRb);b=GNb(a);nMb(a,lQb);return new ATb(new oWb(e,a.g),d,c,Om(f.a),b)}function so(a){fm();var b,c,d,e,f,g;g=new btc;hnc(g,a);for(c=(f=(new Kjc(g.a)).a.ne().Ld(),new Qjc(f));c.a.Dd();){b=(d=c.a.Ed(),d.xe());de(b)}switch(g.a.size()){case 0:return $w(),Zw;case 1:return new Jx((e=(new Kjc(g.a)).a.ne().Ld(),d=(new Qjc(e)).a.Ed(),d.xe()));default:return new _w(g)}}function Whb(a,b,c){var d,e,f,g,h,i;tfb(new ufb(a.b,new kib(a.b,a.a)),b,c);e=new adb;f=new ufb(a.b,e);tfb(f,b,c);g=new vib;h=new eob(a.b,new _hb(a));
i=new vfb(a.b,g,h);tfb(i,b,c);pib(new qib(a.b,a.a),b,c);d=new bib;wfb(a.b,c,d);d.a.a.size()==0||wfb(a.b,c,new tib(a,d.a));zU(a.b.Y)||(a.b.Y=1)}function xsb(a,b){var c,d,e,f;f=(Isb(),c=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(b,58,45),92,47)," ",wBc),"[",xBc),"]",yBc),"<",zBc),">",ABc),Jsb(c));nsb();if(qhc(b.substr(0,"./".length),"./")||qhc(b.substr(0,"../".length),"../")){e=a.a;d=whc(e,Nhc(47));f=Jsb(e.substr(0,d+1)+(""+f))}return ssb(f,a.b.c)}function JFb(a,b){var c,d;if(!b)return mEb(a.a,(m5b(),g4b),wEc);else if(b.c==
(bSb(),LQb))d=FFb(a,b,true);else if(b.c==eRb){d=CEb(a.a,b);c=A0b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new E1b(36,1,d.g)}else{d=QFb(a,b);c=A0b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new E1b(36,1,d.g)}je(d.j==(m5b(),Q4b));return d}function OFb(a,b){var c,d,e,f,g,h,i,j,k;i=b.a;f=nEb(a.a,(j=i.a,k=whc(j,Nhc(47)),j.substr(1,k-1)));xEb(f,i.b.b,i.b.a);g=iEb(a.a,(m5b(),F4b),f);h=i.a;e=whc(h,Nhc(47));c="";e<h.length&&(c=h.substr(e+1,h.length-(e+1)));iGb(a,b,c);if(c.length!=0){d=nEb(a.a,c);xEb(d,i.b.b,i.b.a);P_b(g,d)}return g}
function hc(){cc.call(this,Ihc("\x00\u007f\u00ad\u0600\u061c\u06dd\u070f\u1680\u180e\u2000\u2028\u205f\u2066\u2067\u2068\u2069\u206a\u3000\ud800\ufeff\ufff9\ufffa"),Ihc(" \u00a0\u00ad\u0604\u061c\u06dd\u070f\u1680\u180e\u200f\u202f\u2064\u2066\u2067\u2068\u2069\u206f\u3000\uf8ff\ufeff\ufff9\ufffb"))}function Wgb(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 78:case 21:case 22:case 12:return true;
default:return false}}function y6b(a,b,c,d){var e,f,g,h;g=a.a.b;e=b.a.b;while(!!g&&!!e){h=iD(g.k,19)?g.k:null;f=iD(e.k,19)?e.k:null;if(h){if(!!f&&!B5b(h,f,c,d))return false}else if(f)return false;if(e0b(g,37)!=0!=(e0b(e,37)!=0))return false;if(e0b(g,30)!=0!=(e0b(e,30)!=0))return false;g=g.d;e=e.d}return g==e}function _pb(a,b){var c,d,e;c=(Gfb(),d=Tfb(b),!d?null:g0b(d,29));if(!c&&b.j!=(m5b(),y3b))return"";e=iD(b.k,19)?b.k:null;return!e?"":e.Ji()?$pb(a,b):(e.Ii(),!e.Ei()&&!(e.xi()||e.vi()||e.wi()||
Oac(e.u,(wac(),L9b))==e)&&!e.Fi()&&!e.ui()?"/** @type {"+(iD(b.k,19)?b.k:null).Oi(true)+"} */\n":"")}function KIb(a,b){var c;if(!wIb(a,b,(AJb(),oJb)))return false;if((ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)).j!=Q4b){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["message"]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,oJb.d);return false}if(!VIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,2)))){_Ib(a,oJb.d);return false}return true}function k7b(a,b,c,d){var e,f,g,h,i,j;for(j=(f=(new Jkc(U6b(b).a)).a.ne().b.xj(),new Pkc(f));j.a.Dd();){i=
(e=j.a.Ed(),e.xe());h=b.Yi(i);if(!(a.xi()||a.vi()||a.wi()||Mac(a.u,(wac(),L9b))==a||a.Ei()||!!a.$i(i))){if(h.ti())continue;return false}g=a.Yi(i);if(!g.Di(h,c,d))return false}return true}function nec(a,b){var c,d,e,f,g,h;e=new Jec(a.u);for(d=a.b.Ld();d.Dd();){c=d.Ed();c.Ci(b)&&Dec(e,c,false)}if(b.Ni())for(g=b.Ni().b.Ld();g.Dd();){f=g.Ed();f.Ci(a)&&Dec(e,f,false)}else b.Ci(a)&&Dec(e,b,false);h=Eec(e);return h.xi()?kec(a)&&b.Ai()&&!b.xi()?D5b(a,(wac(),M9b)):D5b(a,(wac(),O9b)):h}function hV(a,b,c){var d,
e,f,g,h,i;v2(a.a.v)||nW("Feature 'classes' is only allowed in ES6 mode.",b);NV((m5b(),V2b),b);g=o5b(b.j);g!=-1&&(e=b0b(b),g!=e&&nW(bzc+g+czc+e,b));h=b.b;h.j==k3b?(f=b0b(h),0!=f&&nW(azc+f,h)):HV(h);i=h.d;i.j==k3b?(d=b0b(i),0!=d&&nW(azc+d,i)):sV(a,i);jV(a,b.b?b.b.f:null,c)}function jjb(a,b){var c,d,e,f,g;c=new vjb(a);f=false;for(e=new pmc(b);e.a<e.c.a.length;){d=nmc(e);if(d.a){if(f){Jlc(a.n,c);c=new vjb(a);f=false}Jlc(a.n,new yjb(a,d))}else{g=d.b;ae(!xrc(c.a,g),"Already a pass with name '%s' in this loop",
g);wrc(c.a,g);Jlc(c.b,new yjb(c.d,d));f=true}}f&&Jlc(a.n,c)}function wzb(a,b,c,d,e){var f,g,h,i;b=gzb(b,a);if(!b)return false;if(a.a.o.isEmpty())return true;je(!a.b.d.d.isEmpty());if(b.b.d.d.isEmpty())return true;g=true;for(i=a.a.o.Ld();i.Dd();){h=i.Ed();f=Yn(b.b,h);ge(f,"Type variable %s not found in map %s",h,b.b);g=g&&owb(Yn(a.b,h),f,c,d,e)}return g}function RNb(a){var b,c,d;d=kPb(a.j,0).b.b;c=(Gm(),new Zp);nMb(a,(bSb(),gRb));b=null;while(KOb(a,0)||kPb(a.j,0).c==iRb||AOb(a,ERb)||arc(Yqc(uRb,vC(qC(DN,
1),Zxc,13,0,[tRb,sRb])),kPb(a.j,0).c)){b=null;Xp(c,$Nb(a));b=rMb(a,pQb);if(!b)break}nMb(a,lQb);zMb(a,b);return new MTb(new oWb(d,a.g),Om(c.a))}function XHb(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=lhc(a.k,a.i++);if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{if(b>127)continue;if(fIb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function uOb(a){var b,c,d,e,f;f=kPb(a.j,0).b.b;if(POb(a)){e=AMb(a);
d=tOb(a);return new aWb(new oWb(f,a.g),e,0,d)}else{b=HNb(a);if(POb(a)&&(c=kPb(a.j,0).b.b.b>a.g.b,!(c||zOb(a,0,(bSb(),ARb))||zOb(a,0,(bSb(),lQb))||zOb(a,0,(bSb(),yQb))))){e=AMb(a);return new aWb(new oWb(f,a.g),e,1,b)}else return b}}function N5b(a){var b,c,d,e,f,g;if(a.wi())return D5b(a,(wac(),N9b));else if(a.Ni()){g=a.Ni();f=false;for(d=fec(g).Ld();d.Dd();){b=d.Ed();if(b.wi()){f=true;break}}if(f){e=new Jec(a.u);Dec(e,D5b(a,(wac(),N9b)),false);for(c=fec(g).Ld();c.Dd();){b=c.Ed();b.wi()||Dec(e,b,false)}return Eec(e)}}return a}
function gvb(a){var b,c,d,e;if(a==a.a.t)return lub(a.a);oe(!a.c,"Loose function: %s",a);oe(a.n.isEmpty(),"Generic function: %s",a);b=new Mvb(a.a);for(e=a.i.Ld();e.Dd();){c=e.Ed();Gvb(b,c)}for(d=a.e.Ld();d.Dd();){c=d.Ed();Cvb(b,c)}Hvb(b,a.j);Ivb(b,a.k);Bvb(b,a.d);Fvb(b,a.g);zvb(b,a.b);return Kvb(b)}function tFb(a,b){var c,d,e;dFb(a,b,(NKb(),xKb));c=null;if(b.e)je(!b.a&&!b.b);else if(b.a){je(!b.b);c=zEb(a.a,b.a)}else c=eGb(a,(m5b(),t3b),b.b);!c&&(c=hEb(a.a,(m5b(),k3b)));i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);
d=iEb(a.a,(m5b(),r3b),c);if(b.c){e=QFb(a,b.c);P_b(d,e)}v0b(d,64,b.e);v0b(d,63,b.d);return d}function Vnb(a,b){var c,d,e,f,g,h;if(b!=null){for(h=(e=(new Kjc(a.a.e.a)).a.ne().Ld(),new Qjc(e));h.a.Dd();){f=(c=h.a.Ed(),c.xe());if(qhc(b,f))return true}for(g=(d=(new Kjc(a.a.d.a)).a.ne().Ld(),new Qjc(d));g.a.Dd();){f=(c=g.a.Ed(),c.xe());if(qhc(b.substr(0,f.length),f))return true}}return false}function LIb(a,b){var c;if(!wIb(a,b,(AJb(),pJb)))return false;if((ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)).j!=Q4b){a.a.fh((c=
vC(qC(yR,1),Uxc,1,5,["property name"]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,pJb.d);return false}if(!VIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,2)))){_Ib(a,pJb.d);return false}return true}function hOb(a){var b;if(zOb(a,0,(bSb(),LQb))&&qhc(kPb(a.j,0).a,Pzc)&&(b=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(b||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&zOb(a,1,JQb))return QMb(a);if(zOb(a,0,JQb))return tNb(a);if(zOb(a,0,jQb))return ZMb(a,false,false);if(AOb(a,VQb))return xOb(a);return lOb(a)}function Idc(a,b,c){var d,
e,f,g,h,i,j;de(b);de(c);Xd(c.size()<=b.size());this.b=a;this.d=b;this.e=c;g=new Mdc(a,this);f=this.e.size();e=this.d.size();h=sC(BQ,Uxc,19,e,0,1);for(d=0;d<e;d++)if(d<f){i=this.d.getAtIndex(d);g.a=i;j=this.e.getAtIndex(d);h[d]=j.Pi(g)}else h[d]=Oac(a,(wac(),sac));this.c=h}function Tz(a,b,c){var d,e;--b;--c;if(b<0||b>=a.c.a.length)return null;je(b>=0);je(c>=0);if(Mlc(a.c,b)==null)return Vz(a,b);d=Mlc(a.c,b);je(d.a.length!=0);if((dxc(0,d.a.length),d.a[0]).pf()>c)return Vz(a,b);e=_z(d,c,0,d.a.length-
1);le(e>=0,"unexpected:%s",e);return Uz(a,(dxc(e,d.a.length),d.a[e]))}function _tc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.He(c.d,b.d);if(e==0){d.d=bkc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=_tc(a,b.a[f],c,d);if(auc(b.a[f]))if(auc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else auc(b.a[f].a[f])?b=huc(b,1-f):auc(b.a[f].a[1-f])&&(b=guc(b,1-f))}return b}function Ddb(a,b,c){var d,e,f,g;iD(c,153)&&wrc(a.i,c);if(b.j==(m5b(),g4b)){g=b.ci();je(!a.k.containsKey(g));a.k.put(g,c);d=g0b(b,51);!!d&&
d.Fh()&&!a.e.containsKey(g)&&a.e.put(b.ci(),null)}else{je(!Tdb(a,b));e=pBb(b);f=Odb(a,e.a.getAtIndex(0));nub(f,(Xd(e.a.size()!=1),new nBb(e.a.Qe(1,e.a.size()))),c)}}function KMb(a){var b,c,d;c=kPb(a.j,0).b.b;b=(Gm(),new Zp);nMb(a,(bSb(),iRb));d=null;while(AOb(a,pQb)||AOb(a,DRb)||FOb(a)){d=null;AOb(a,pQb)?Xp(b,new LTb(uMb(a,kPb(a.j,0).b.b))):AOb(a,DRb)?Xp(b,jOb(a)):Xp(b,OMb(a,1));AOb(a,nQb)||(d=nMb(a,pQb))}nMb(a,nQb);zMb(a,d);return new nSb(new oWb(c,a.g),Om(b.a))}function J_(a){var b,c,d,e,f;a.t=
new qrc;for(e=new pmc(a.j);e.a<e.c.a.length;){c=nmc(e);b=c.f;f=W_(a,b,c);!!f&&Z_(a,new Vbb(null,null,-1,-1,b_,null,vC(qC(DR,1),Fxc,2,6,[c.f.a])))}for(d=a.s.Ld();d.Dd();){c=d.Ed();b=c.f;f=W_(a,b,c);!!f&&Z_(a,new Vbb(null,null,-1,-1,c_,null,vC(qC(DR,1),Fxc,2,6,[c.f.a])))}}function tsb(a,b){var c,d,e,f,g;g=new zrc;for(f=ds(a.a.Ld(),a.b);f.b.Dd();){e=As(f,f.b.Ed());if(!wrc(g,ssb((Isb(),c=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(e,58,45),92,47)," ",wBc),"[",xBc),"]",yBc),"<",zBc),">",ABc),Jsb(c)),b)))throw QT(new xcb("Duplicate module path after resolving: "+
e));}return fm(),d=g,qo(d)}function t$b(a,b,c,d,e){var f,g,h,i;if(a.b){h=new b$b;Yd(b.charCodeAt(0)!=32&&lhc(b,b.length-1)!=32,LFc);h.d=b;XZb(h,d,e,d,e+b.length);SZb(a.b,h);g=new ZZb;f=new a2b((m5b(),g4b),b,d,e);J0b(f,b.length);i=A0b(f,f.g,51);i!=f.g&&(f.g=i);!!c&&(f.g=new O1b(51,c,f.g));g.d=f;XZb(g,d,e,d,e+b.length);TZb(a.b,g)}}function geb(a,b,c,d){var e;this.o=new zsc;this.b=new btc;this.d=new btc;this.q=new btc;this.j=new zsc;this.u=(fm(),$w(),Zw);this.n=new zsc;this.k=new zsc;this.i=new btc;
de(d);if(!b){this.p=null;this.e=new zsc}else{e=a.b.ci();this.p=e.length==0?null:e;this.e=(Sw(),Rw)}this.t=a;this.r=b;this.f=c;this.a=d}function Nab(a,b){var c,d,e,f,g,h,i,j;Xd(a.j==(m5b(),y3b));Xd(a.e.j==Q2b);de(b);d=Vvb(b);if(!d||(g=mvb(d.d),!!g&&g.a.f==0)||(f=mvb(d.d),!!f&&f.a.f!=0))return null;c=gvb(d);h=b0b(a.b.d);j=c.f.size();i=c.f.size()+c.d.size();e=!!c.g;if(j==i&&!e)return h==j?c:null;if(h==i&&!e||h==i+1&&e)return c;return null}function E1(a){var b,c,d,e,f;d=new fq;for(c=new mjc((new ejc(a)).a);c.b;){b=
ljc(c);e=b.xe();f=b.ye();if(jD(f))cq(d,e,(Gfb(),(exc(f),f)?new _0b((m5b(),_4b)):new _0b((m5b(),v3b))));else if(iD(f,125))cq(d,e,new J1b(f.a));else if(kD(f))cq(d,e,new J1b((exc(f),f)));else{je(nD(f));cq(d,e,YXb(f))}}return In(d.b)}function Xub(a){var b,c,d;if(a==a.a.A||a==a.a.i||a==a.a.t)return;fe(a.i,"null required formals for function: %s",a);for(d=a.i.Ld();d.Dd();){b=d.Ed();de(b);je(a.c||0!=b.Vh())}fe(a.e,"null optional formals for function: %s",a);for(c=a.e.Ld();c.Dd();){b=c.Ed();de(b);je(0!=b.Vh())}je(!a.j||
0!=a.j.Vh());de(a.k)}function PGb(a,b){var c,d,e,f,g;d=FGb(a,(m5b(),X3b));f=new zrc;do{c=OGb(a,b);if(!c)return null;e=c.j==R4b?c.ci():c.b.ci();g=f.a.put(e,f);g==null?P_b(d,c):sGb(a,e,a.j.g,YHb(a.j));jHb(a);if(!DGb(a,(SHb(),AHb)))break;!a.o?ZHb(a.j):vGb(a);jHb(a);if(DGb(a,NHb))break;b=!a.o?ZHb(a.j):vGb(a)}while(true);return d}function IIb(a,b){var c,d,e,f;if(!wIb(a,b,(AJb(),wJb)))return false;f=(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1));if(f.j!=Q4b){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["native type"]),zEc+m2b(REc,
c)),a.b.Dg(),a.d,a.c);_Ib(a,wJb.d);return false}e=(mGb(),d=nHb(f.ci()),$Gb(d,!d.o?ZHb(d.j):vGb(d)));$_b(f);P_b(b,e);return true}function QNb(a){var b,c,d,e;if(AOb(a,(bSb(),_Qb)))if(zOb(a,1,nRb))return a.d=SJb(a.d,(NKb(),zKb).a),e=kPb(a.j,0).b.b,nMb(a,_Qb),nMb(a,nRb),tMb(a,"target"),new KTb(new oWb(e,a.g));else{d=kPb(a.j,0).b.b;nMb(a,_Qb);c=QNb(a);b=null;AOb(a,hRb)&&(b=JMb(a));return new JTb(new oWb(d,a.g),c,b)}else return LNb(a)}function NIb(a,b){var c,d,e;if(b.j==(m5b(),t4b))for(e=(!b.b?(gnc(),gnc(),
fnc):new V1b(b.b)).Ld();e.Dd();){d=e.Ed();if(d.b){if(!VIb(a,d.b))return false}else{a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["property, missing type"]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);return false}}else if(!VIb(a,b))return false;return true}function U6(a,b){var c,d,e;d=b.e;c=d.e;ke(d.j==(m5b(),N2b)||d.j==w3b||d.j==x3b||d.j==K4b||d.j==e4b||d.j==V3b,d);if(e0b(d,38)!=0&&!!c&&(c.j==S2b||c.j==d3b)){e=c.e;return a.d.f==e}if(d==a.d.f||d.j==K4b||c.j==U2b&&(!d.e?null:d.e.e)==a.d.f)return true;while(d.j==V3b){if(d.e==
a.d.f)return true;d=d.e}return false}function Uzb(a,b,c,d){var e,f,g,h,i,j;for(i=c.Ld();i.Dd();){g=i.Ed();j=new oBb(g);if(!yAb(Yzb(a,j),Yzb(b,j),d))return false}if(b.e)for(h=(f=(new Kjc(tub(b.e).a)).a.ne().Ld(),new Qjc(f));h.a.Dd();){g=(e=h.a.Ed(),e.xe());if(!c.contains(g)){j=new oBb(g);if(!yAb(Yzb(a,j),Yzb(b,j),d))return false}}return true}function abc(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.yi()||iD(b,143)||!b.Ki())return b;if(Lnc(a.f,b))return b;Knc(a.f,b);f=false;e=new ndc(a.e);for(i=b.Vi().Ld();i.Dd();){h=
i.Ed();j=(g=b.$i(h),!g?null:g.d);d=b.Yi(h);c=d.Pi(a);d!=c&&(f=true);e.b=false;hr(e.c,h,new odc(c,j))}Mnc(a.f,b);if(f)return mdc(e);return b}function Pib(a){var b,c,d;if(a.I)return;a.i=WT(Pwc());Sib(a);for(c=vn(a.I).Ld();c.Dd();){b=c.Ed();d=b.ye();a.F=eU(RT(a.F,d.n));a.C=Wgc(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}je(a.D==(L2(),K2)||a.q==a.a+a.b);je(!(a.D==J2||a.D==G2)||a.r==a.g+a.e);je(a.D!=G2||a.s==a.p+a.o)}function _lb(a,b){var c,d,e;if(a.b.f.c>0)return null;
d=j0(a.b,b);c=T_(a.b,d);if(a.b.f.c>0){Z_(a.b,new Vbb(null,null,-1,-1,Wlb,null,vC(qC(DR,1),Fxc,2,6,[Cnb(d)])));throw QT(new sgc(pDc));}e=j0(a.b,c);if(!qhc(d,e)){Z_(a.b,new Vbb(null,null,-1,-1,Ylb,null,vC(qC(DR,1),Fxc,2,6,[d,e])));throw QT(new sgc(pDc));}return c}function mwb(a,b){var c,d,e,f;if(-1==a.Vh()||Exc==a.Vh()||a.Wh().isEmpty()&&a.Xh()==null||b.isEmpty())return a;c=(fm(),new Mq);for(f=a.Wh().Ld();f.Dd();){e=f.Ed();Jq(c,fAb(e,b))}d=Ewb(a.e,a.Vh()&-2,ro(new pmc(c.a)),null,a.Uh());(a.Vh()&1)!=
0&&(d=Cwb(d,b.containsKey(a.Xh())?b.oe(a.Xh()):xwb(a.e,a.Xh())));return d}function dib(a,b,c){var d,e,f,g,h;je(b.j==(m5b(),g4b)||b.j==Q4b||b.j==R4b||b.j==F3b||b.j==L4b);e=Qgb(b);f=e||c.j==E3b&&(c.b?c.b.f:null)==b;if(b.j==g4b||f){d=e0b(b,43)!=0;if(!d&&sgb(r_(a.b),b)){if(a.a){g=b.ci();throw QT(new sgc($Cc+g+Gyc+"  parent:"+W0b(b.e)));}h=A0b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new E1b(43,1,b.g)}}}function KZb(a,b){var c,d,e;e=new PZb;e.a=HZb(a.a,b);e.e=LZb(a.e,b);e.f=LZb(a.f,b);e.n=MZb(a.n,b);e.r=LZb(a.r,
b);e.q=!a.q?null:new Wlc(a.q);e.d=!a.d?null:new Brc(a.d);e.s=!a.s?null:new Bsc(a.s);e.c=a.c;e.j=a.j;e.b=a.b;e.i=a.i;e.p=!a.p?null:(fm(),d=a.p,qo(d));e.k=!a.k?null:(fm(),c=a.k,qo(c));e.g=a.g;e.o=a.o;return e}function Adb(a,b){var c,d,e,f;if(b.j==(m5b(),g4b)){f=b.ci();Xd(Udb(a,f,false));je(!a.k.containsKey(f));e=de(vsc(a.j,f));a.k.put(f,new Uub(a.a,f,e,b))}else{Xd(!$db(a,b));d=pBb(b);c=Odb(a,d.a.getAtIndex(0));e=uub(c,d).a;nub(c,(Xd(d.a.size()!=1),new nBb(d.a.Qe(1,d.a.size()))),new Uub(a.a,Pc(new Sc("."),
d.a.Ld()),e,b))}}function eW(a,b){var c,d,e,f;switch(b.j.f){case 68:NV((m5b(),S2b),b);c=o5b(b.j);c!=-1&&(d=b0b(b),c!=d&&nW(bzc+c+czc+d,b));sV(a,b.b);fW(a,b.b?b.b.f:null);return;case 69:NV((m5b(),d3b),b);e=o5b(b.j);e!=-1&&(f=b0b(b),e!=f&&nW(bzc+e+czc+f,b));fW(a,b.b?b.b.f:null);return;default:nW("Expected switch member but was "+b.j,b)}}function Lab(a,b,c,d){var e,f,g;if(!qhc(b.a.getAtIndex(b.a.size()-1),Hzc)){bfb(a.c.t,Zbb(d,(S9(),G9),vC(qC(DR,1),Fxc,2,6,[c])));return null}g=(Xd(b.a.size()!=1),new nBb(b.a.Qe(0,
b.a.size()-1)));f=(e=Jdb(a.a,g,false),!e?null:iD(e.c,75)?e.c:null);(!f||f.f!=0)&&bfb(a.c.t,Zbb(d,(S9(),G9),vC(qC(DR,1),Fxc,2,6,[c])));return f}function ebb(a,b){var c,d,e,f,g,h;e=b.b;if(u0b(e,ECc,ECc.length))return a.c.d.u;f=hbb(a,e);if(!f)return null;if(!f.n.isEmpty()){d=(Gm(),new Zp);for(c=b.b.d;c;c=c.d){h=gbb(a,c);if(!h)return null;Jlc(d.a,de(h))}f=_ub(f,Om(d.a));if(!f)return null}g=b.j==(m5b(),m4b)?f.g?f.g:f.d:(Xd(!(f==f.a.A||f==f.a.i)),f.k);return g}function qvb(a,b){var c,d,e;if(!a||!b)return null;
c=!a?null:a.Vh()==2&&a.Wh().size()==1?Zzb(Yr(a.Wh().Ld())):null;d=!b?null:b.Vh()==2&&b.Wh().size()==1?Zzb(Yr(b.Wh().Ld())):null;if(!!c&&!!d){e=Czb(c,d);if(e)return!e.a.o.isEmpty()&&!e.b.d.d.isEmpty()?wwb(FAb(e.a.s,e,null,null,null,false,e.a.g)):e.a.p}return Cwb(a,b)}function iPb(a,b,c){var d,e;d=a.d;MPb(a);!ePb(a,a.d)&&mPb(a,aMb(a.e.b,d),BFc,vC(qC(yR,1),Uxc,1,5,[]));e=Hhc(a.e.a,d,a.d);switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 96:fPb(a);return new gMb(b,e,bMb(a.e.b,d-1,a.d));case 36:fPb(a);fPb(a);return new gMb(c,
e,bMb(a.e.b,d-1,a.d));default:return new gMb(b,e,bMb(a.e.b,d-1,a.d))}}function pPb(a,b){switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 101:case 69:fPb(a);switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 43:case 45:fPb(a)}PPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)||nPb(a,"Exponent part must contain at least one digit",vC(qC(yR,1),Uxc,1,5,[]));zPb(a)}return new gMb((bSb(),eRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d))}function t8(a){var b,c,d;d=h0b(a.e);if(d==null)return null;c=Nic(a.d.c,d);if(!c)return null;switch(c.j.f){case 47:b=
c.b?c.b.f:null;break;case 75:b=f0b(c.b?c.b.f:null);break;case 65:Gfb();if(c.j==(m5b(),y3b)&&wgb(c.e))b=c;else return null;break;default:return null}if(b.j!=(m5b(),y3b)&&b.j!=t4b)return null;return b}function sab(a,b,c){var d,e,f,g,h,i;Xd(b.j==(m5b(),y3b));f=new Ulc;i=new Ulc;h=(Gfb(),Xd(b.j==y3b),b.b.d).b;while(h){Mxb(c,h.ci())&&!h.d?Jlc(i,h.ci()):Jlc(f,h.ci());h=h.d}if(c)for(e=MYb(c).Ld();e.Dd();){d=e.Ed();if(Nlc(f,d,0)==-1&&Nlc(i,d,0)==-1){g=cgb(b);bfb(a.b.t,Zbb(b,(S9(),B9),vC(qC(DR,1),Fxc,2,6,
[d,g])))}}return f}function wxb(a,b,c,d){var e;e=b.ci();switch(e){case Axc:kxb(a,b);return a.a.a;case Mxc:kxb(a,b);return a.a.k;case Bxc:kxb(a,b);return a.a.r;case Dxc:kxb(a,b);return a.a.u;case EBc:case fAc:kxb(a,b);return a.a.G;case ACc:kxb(a,b);return Gxb(a,kyb(a.a));case wCc:return Gxb(a,b.b?a.a.w:a.a.B);default:return Fxb(a,e,b,c,d)}}function asc(){if(!Object.create||!Object.getOwnPropertyNames)return false;var a="__proto__";var b=Object.create(null);if(b[a]!==undefined)return false;var c=Object.getOwnPropertyNames(b);
if(c.length!=0)return false;b[a]=42;if(b[a]!==42)return false;if(Object.getOwnPropertyNames(b).length==0)return false;return true}function $hb(a,b,c,d){var e,f;if(b.b){x0b(c,b);f=b.b;x0b(b,f);e=mXb(b,f);H0b(e,g0b(c,29));Z0b(e,c);B0b(d,c,(Gfb(),X0b((je(JXb(e)),new b1b((m5b(),u3b),e)),e)))}else{Gfb();if(d.j==(m5b(),K4b)||d.j==N2b||d.j==e4b)x0b(d,c);else if(d.j==w3b){x0b(c,b);B0b(d,c,b)}else{je(d.j==V3b);throw QT(new sgc("Unexpected LABEL"));}}Xhb(a.b)}function Fob(a,b,c){Dob();var d,e,f,g,h,i,j,k,l,
m;if(A1(a.H))for(k=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();k.Dd();){j=k.Ed();h=g0b(j,89);if(!!h&&(m=TJb(h),!qhc(m,HAc)&&!qhc(m,"es5")))for(e=c,f=0,g=e.length;f<g;++f){d=e[f];i=A0b(j,j.g,93);i!=j.g&&(j.g=i);j.g=new E1b(93,1,j.g);dfb();l=new vfb(a,d,new X6(a));pfb(l,j)}}}function wOb(a,b){var c,d,e;d=kPb(a.j,0).b.b;e=kPb(a.j,0).c;switch(e.f){case 30:case 38:case 25:nMb(a,e);break;default:ROb(a,kPb(a.j,0),"expected declaration",vC(qC(yR,1),Uxc,1,5,[]));return null}c=(Gm(),new Zp);Xp(c,vOb(a,e,b));
while(AOb(a,(bSb(),pQb))){nMb(a,pQb);Xp(c,vOb(a,e,b))}return new bWb(new oWb(d,a.g),e,Om(c.a))}function CPb(a){var b,c,d,e;c=a.d;fPb(a);fPb(a);while(ePb(a,a.d)&&((ePb(a,a.d)?lhc(a.e.a,a.d):0)!=42||(ePb(a,a.d+1)?lhc(a.e.a,a.d+1):0)!=47))fPb(a);if(ePb(a,a.d)){fPb(a);fPb(a);d=a.d-c>4&&lhc(a.e.a,c+2)==42?2:0;b=bMb(a.e.b,c,a.d);e=Hhc(a.e.a,c,a.d);YOb(a.a,d,b,e)}else nPb(a,"unterminated comment",vC(qC(yR,1),Uxc,1,5,[]))}function esb(a,b,c){var d,e,f,g,h,i,j,k,l;Xd($c(a.f,b));f=new zrc;l=new mlc(b);while(l.b!=
l.c){g=glc(l);i=f.a.put(g,f);if(i==null)for(k=g.Fg().Ld();k.Dd();){j=k.Ed();e=Nic(a.b,j);!!e&&(Vkc(l,e),true)}}d=(Gm(),new Zp);for(h=new pmc(c?a.c:a.f);h.a<h.c.a.length;){g=nmc(h);f.a.containsKey(g)&&(Jlc(d.a,de(g)),d)}return Om(d.a)}function zA(a,b){var c,d,e,f,g,h;f=false;c=new Ulc;Llc(c,knc(Uic(a.k.c)));for(e=new Zsc(new Qsc(a.j));e.b!=e.c.a.b;){d=Xsc(e);h=vsc(a.k,d.d);if(!!h&&h.a<c.a.length){Rlc(c,h.a,d.e);f=true}}if(!f)return;HA(b,"sourcesContent","");b.a+="[";for(g=0;g<c.a.length;g++){g!=0&&
(b.a+=",",b);Xhc(b,IA((dxc(g,c.a.length),c.a[g])))}b.a+="]"}function XC(a){var b,c,d,e,f;if(a.l==0&&a.m==0&&a.h==0)return"0";if(a.h==Syc&&a.m==0&&a.l==0)return"-9223372036854775808";if(a.h>>19!=0)return"-"+XC(QC(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=yC(1E9);c=BC(c,e,true);b=""+WC(xC);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 S6b(a,b,c,d){var e,f,g,h,i,j,k;a.Mi();k=h9b(d,a,b);if(k)return k.a;i=U6b(a);j=U6b(b);if(!Hh(j,i)){i9b(d,a,b,(q9b(),o9b));
return false}for(h=(f=(new Jkc(i.a)).a.ne().b.xj(),new Pkc(f));h.a.Dd();){g=(e=h.a.Ed(),e.xe());if(!B5b(b.Yi(g),a.Yi(g),c,d)){i9b(d,a,b,(q9b(),o9b));return false}}i9b(d,a,b,(q9b(),n9b));return true}function EFb(a,b){var c,d;switch(b.a.c.f){case 100:return c=oEb(a.a,b.a),d=lEb(a.a,c),i1b(d.i)==-1&&xEb(d,b.o.b,b.o.a),d;case 101:return RFb(a,b);case 99:case 98:return hEb(a.a,REb(b.a.c));case 97:return hEb(a.a,(m5b(),p4b));case 102:return OFb(a,b);default:throw QT(new sgc("Unexpected literal type: "+
b.a.Cj+" type: "+b.a.c));}}function bA(a){var b,c,d,e;e=sC(sD,Kyc,46,5,15,1);b=new Ulc;while(uA(a.a))if(fA(a,59)){cA(a,b);b.a.length==0||(b=new Ulc)}else{d=0;while(!eA(a)){e[d]=Pz(a.a);++d}c=dA(a,e,d);me(a.i.b<0||a.b<a.i.b,a.b,a.i.b);je(c.sf()==-1||c.sf()<a.i.e.length);je(c.qf()==-1||c.qf()<a.i.d.length);b.a[b.a.length]=c;fA(a,44)}b.a.length==0||cA(a,b)}function Drb(a,b){yrb();var c,d,e,f,g,h;ke(a.j==(m5b(),g4b)||a.j==G4b||a.j==R4b,a);f=a.e;e=b.Kh();if(a.e.j==g5b&&(c=g0b(a,51),!!c&&c.Fh())&&Pgb(a))return true;
d=g0b(f,29);if(!!d&&(h=!d.d?null:d.d.p,!h?(gnc(),gnc(),fnc):h).contains(lBc))return true;d=g0b(e,29);return!!d&&(g=!d.d?null:d.d.p,!g?(gnc(),gnc(),fnc):g).contains(lBc)}function tvb(a,b){var c,d,e;if(!a)return b;if(!b)return a;c=!a?null:a.Vh()==2&&a.Wh().size()==1?Zzb(Yr(a.Wh().Ld())):null;d=!b?null:b.Vh()==2&&b.Wh().size()==1?Zzb(Yr(b.Wh().Ld())):null;if(!!c&&!!d){e=Bzb(c,d);return!e?null:!e.a.o.isEmpty()&&!e.b.d.d.isEmpty()?wwb(FAb(e.a.s,e,null,null,null,false,e.a.g)):e.a.p}return Fwb(a,b)}function EWb(a,
b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=new bXb(b);e=0;j=null;g=false;k=b.length;h=0;while(h<k){n=h;l=uhc(b,Nhc(37),h);m=l==-1?k:l;m>n&&Zhc(a.c,b,n,m);h=m;if(h<k){p=(f.d=h+1,f.b=h+1,YWb(f,new iXb));d=null;if(p.b!=37&&p.b!=110){i=p.a==-1?e++:p.a;d=UWb(c,i,f,j,g);j=d;g=true}o=HWb(a,p,d);o!=null&&FWb(a,o,Ohc(o));h=f.b}}}function lgc(a){var b,c,d,e,f;if(a==null)throw QT(new ghc(Mxc));d=a.length;e=d>0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(b=e;b<d;b++)if(Afc(a.charCodeAt(b),16)==-1)throw QT(new ghc(aGc+
a+'"'));f=parseInt(a,16);c=f<Iyc;if(isNaN(f))throw QT(new ghc(aGc+a+'"'));else if(c||f>Exc)throw QT(new ghc(aGc+a+'"'));return f}function Rgb(a,b){Gfb();var c,d;d=b.e;switch(d.j.f){case 28:return d.b!=b&&a.Af().ag(d);case 66:case 70:case 71:case 72:return Vfb(d)==b;case 41:case 25:case 62:case 61:return true;case 5:case 37:c=d.b==b?d.b.d:d.b;return bhb(c);case 60:return d.b==b;case 19:return d.e.j==(m5b(),w4b)&&d.e.b==d;case 90:return Rgb(a,d)}return false}function HFb(a,b){var c,d,e,f,g;e=b.a;if(e.size()==
1){c=mEb(a.a,(m5b(),g4b),e.getAtIndex(0));i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);return c}else{f=e.Oe();d=NXb(f.Ed());i1b(d.i)==-1&&xEb(d,b.o.b,b.o.a);while(f.Dd()){g=mEb(a.a,(m5b(),Q4b),f.Ed());i1b(g.i)==-1&&xEb(g,b.o.b,b.o.a);d=jEb(a.a,E3b,d,g);i1b(d.i)==-1&&xEb(d,b.o.b,b.o.a)}return d}}function FOb(a){switch(kPb(a.j,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 Mab(a,b,c,d,e,f){var g,h,i,j,k;Xd(d.j==(m5b(),y3b)||o0b(d)||d.j==Q2b);if(!b&&!Sfb(d)){k=Pab(a,c,d,f);if(k)return k}g=vsc(a.c.n,d);j=txb(a.c.q,b,c,d,g,e,f);o0b(d)?i=d:d.j==y3b?i=bgb(d):i=Ufb(d);!!j.b&&!!i&&i.j==g4b&&Bdb(f,i.ci(),j.b,false,(h=g0b(i,51),!!h&&h.Fh()));!!g&&PBb(g,cub(j.a));d.j==y3b&&abb(a,d,j.a);return j.a}function XV(a,b){var c,d;d=false;for(c=b.b;c;c=c.d)if(c.j==(m5b(),G4b)){!!c.d&&nW("Rest parameters must come after all other parameters.",c);ZV(a,y4b,
c)}else if(c.j==e3b){d=true;mV(a,y4b,c)}else{d&&nW("Cannot have a parameter without a default value, after one with a default value.",c);c.j==g4b?HV(c):c.j==s2b?_U(a,y4b,c):TV(a,y4b,c)}}function D$(a,b,c){var d,e,f,g,h,i;if(a.j!=(m5b(),Q2b))return null;d=a.b;if(o0b(d))if(u0b(d,mAc,mAc.length)){e=d.d;if(!e)return null;i=a_(e);a_(i);return new w$(i)}if(d.j==E3b&&qhc((d.b?d.b.f:null).ci(),"bind")){g=d.b;h=iD(g.k,19)?g.k:null;f=null;c&&!!h&&(f=h.Gi().Ji());if(!!f||b||g.j==y3b){i=d.d;a_(i);return new w$(i)}}return null}
function e7(a,b){var c,d,e,f,g;g=b0b(b);if(g==0)B0b(b.e,b,new _1b((m5b(),Q4b),'""'));else{e=z0b(b);je(e.j==(m5b(),Q4b));if(g==1)B0b(b.e,b,e);else{c=kXb(e,z0b(z0b(b)));for(f=2;f<g;f++){d=z0b(b);if(d.j==Q4b)if(d.ci().length==0)continue;else f==2&&e.ci().length==0&&(c=$_b(c.b.d));c=kXb(c,d.j==Q4b?d:z0b(d))}B0b(b.e,b,$0b(c,b))}}$_(a.d)}function RMb(a){var b,c,d;c=kPb(a.j,0).b.b;a.d=SJb(a.d,(NKb(),_Jb).a);tMb(a,Pzc);nMb(a,(bSb(),JQb));if(AOb(a,ERb)){TOb(a,wFc,vC(qC(yR,1),Uxc,1,5,[]));nMb(a,ERb)}b=bTb(gTb(new kTb((pTb(),
nTb)),(d=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),d)||!a.b.c&&XLb(d)?pMb(a):null)));uNb(a,b,false);return _Sb(b,new oWb(c,a.g))}function QJb(){QJb=pU;GJb=new UJb(3,false,false,false);HJb=new UJb(5,false,false,false);JJb=new UJb(6,false,false,false);IJb=new UJb(6,true,false,false);KJb=new UJb(6,true,true,false);LJb=new UJb(7,true,false,false);MJb=new UJb(7,true,true,false);NJb=new UJb(8,true,false,false);OJb=new UJb(8,true,true,false);PJb=new UJb(8,true,true,true)}function uub(a,
b){var c,d,e,f,g;f=b.a.size()==1?a:wub(a,(Xd(b.a.size()!=1),new nBb(b.a.Qe(0,b.a.size()-1))));if(!f)return null;c=b.a.getAtIndex(b.a.size()-1);if(!(f.A.containsKey(c)||f.C.containsKey(c)||!!Tg(f.B,c,false)))return null;d=f.A.oe(c);g=iD(d,244)?d.a:null;return new Ytb((e=bh(Tg(f.B,c,false)),!e?null:e.b),f.C.oe(c),d,g,false)}function JIb(a,b){var c,d;d=(ae(b.j==(m5b(),Q2b),OEc,b),b.b.ci());c=CJb(d.toLocaleUpperCase());switch(c.f){case 1:return EIb(a,b);case 9:return HIb(a,b);case 10:return GIb(a,b);
case 21:return TIb(a,b);case 8:return FIb(a,b);case 12:return KIb(a,b);case 13:return LIb(a,b);default:throw QT(new sgc("Invalid type transformation operation"));}}function eXb(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 QT(new yB(""+b));!a.o&&(a.o=new eic);Uhc(a.o,b&Kxc);return true}
function tt(a,b,c,d){var e,f,g;g=new gu(b,c);if(!a.a){a.a=a.e=g;Pic(a.b,b,new fu(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=Mic(a.b,b);if(!e){Pic(a.b,b,e=new fu(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=Mic(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?Mic(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 iY(a){var b;this.b=a;this.a=wo("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",vC(qC(DR,1),Fxc,2,6,["goog.isFunction",
"goog.isArray","goog.isArrayLike","goog.isObject"]));b=(fm(),new Mq);Kq(b,vC(qC(DR,1),Fxc,2,6,["superClass_","instance_",Azc]));Lq(b,(Gm(),Gm(),Fm));ro(new pmc(b.a))}function Igb(a){var b,c;if(a.j!=(m5b(),g4b)&&a.j!=E3b&&a.j!=D3b&&a.j!=R4b)return false;c=a.e;if(!c)return false;return ogb(c)&&c.b==a||c.j==w3b&&b0b(c)==3&&c.b==a||!!c&&(c.j==g5b||c.j==$3b||c.j==$2b)||c.j==y3b&&c.b==a||c.j==G4b||c.j==e3b&&c.b==a||c.j==b3b||c.j==P3b||c.j==y4b||c.j==U2b||(b=a.e,b.j==K3b||b.j==L3b&&(b.b?b.b.f:null)==a)||
Kgb(a)}function AAb(a,b){var c,d,e,f,g,h,i,j;if(a==a.a.C||b==b.a.C)return a.a.C;f=a.d;g=b.d;je(!f||!g||OBb(f.a,g.a)||OBb(g.a,f.a));if(Wzb(a,b))return a;c=a.a;e=a.c||b.c;d=pvb(a.b,b.b);if(e){d=!d?null:ivb(d);j=CAb(c,a.g,b.g)}else j=BAb(a.g,b.g,f,g);h=Czb(f,g);(!h||!NBb(h.a,ACc))&&(d=null);i=Mtc(a.e,b.e)?a.e:null;return FAb(c,h,j,d,i,e,Rzb(a.f,b.f))}function wV(a,b){var c,d,e;v2(a.a.v)||nW("Feature 'import statement' is only allowed in ES6 mode.",b);NV((m5b(),K3b),b);d=o5b(b.j);d!=-1&&(c=b0b(b),d!=
c&&nW(bzc+d+czc+c,b));b.b.j==g4b?HV(b.b):NV(k3b,b.b);e=b.b.d;switch(e.j.f){case 103:yV(e);break;case 105:e.ci()==null&&nW(kzc,e);e.ci().length==0&&nW(lzc,e);break;default:NV(k3b,e)}cW(a0b(b,2))}function akb(){akb=pU;$jb=new q4("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(lX(),iX),new Hic("The left side of a goog.require() must use ''const'' (not ''let'' or ''var'')"));_jb=new q4("JSC_NAMESPACE_IMPORT_CANNOT_USE_STAR",iX,new Hic("Namespace imports ('goog:some.Namespace') cannot use import * as. Did you mean to import {0} from ''{1}'';?"))}
function xMb(a){var b,c,d,e,f;if(!AOb(a,(bSb(),fRb)))return null;d=kPb(a.j,0).b.b;nMb(a,fRb);++a.j.f;f=new zsc;do{c=oMb(a);b=null;if(AOb(a,FQb)){nMb(a,FQb);b=nOb(a)}wsc(f,c,b);AOb(a,pQb)&&nMb(a,pQb)}while(e=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),e)||!a.b.c&&XLb(e));nMb(a,kQb);--a.j.f;return new tTb(new oWb(d,a.g),f)}function edc(a,b,c){A5b();var d,e,f,g;J7b.call(this,a,null,null);this.a=false;this.q=true;for(g=es(new yoc((d=b.b,!d?b.b=rr(b.a,$oc(b.c)):d).b.b.Ld()));g.Dd();){f=
g.Ed();e=f==null?null:tv(b.d,f);if(!e)throw QT(new sgc("RecordProperty associated with a property should not be null!"));c?T6b(this,f,e.b,e.a):bdc(this,f,e.b,false,e.a)}this.a=true}function gB(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw QT(new jB("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new kB(0,a.url,c,b);else if(a.map!=null)return new kB(1,Qhc(a.map),c,b);throw QT(new jB("Invalid map format: section must have either 'map' or 'url'"));
}function $7(a){var b,c,d,e;b=a;for(d=new A1b(new x1b(b.e));d.a.a;){c=z1b(d);e=c.j;switch(e.f){case 82:case 66:case 67:case 0:case 39:case 75:case 86:case 98:je(b==c.b);return c;case 72:Gfb();if(!(c.j==(m5b(),w3b)&&b0b(c)==3)&&b==c.b)return c;case 83:case 80:case 81:case 68:case 69:return null}b=c}throw QT(new sgc("Unexpected AST structure."));}function dwb(a,b,c){var d,e;if(Exc==a.Vh()||Exc==b.Vh()||-1==b.Vh())return true;if(512==a.Vh())return 0!=hwb(b).Vh();if(fCc==a.Vh())return 0!=gwb(b).Vh();
if(!Fub(a,b,c))return false;d=a.Vh()&-5;if((d|b.Vh())!=b.Vh())return false;if(a.Xh()!=null&&!qhc(a.Xh(),b.Xh()))return false;if(a.Wh().isEmpty())return true;e=zAb(a.Wh(),b.Wh(),c);return e}function cbb(a,b,c,d){var e,f,g,h,i,j,k,l;k=(f=Jdb(a.a,b,false),!f?null:iD(f.c,75)?f.c:null);if(!!k&&k.f!=0){bfb(a.c.t,Zbb(d,(S9(),G9),vC(qC(DR,1),Fxc,2,6,[c])));return}e=Ndb(a.a,b);for(i=(!d.b?(gnc(),gnc(),fnc):new V1b(d.b)).Ld();i.Dd();){h=i.Ed();g=dgb(h);j=vsc(a.c.g,h);if(j)oub(e,g,h,j,false);else{l=gbb(a,h.b);
!l&&(l=a.c.d.K);oub(e,g,h,l,false)}}}function Zz(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;f<i;f++){h=Mlc(a.c,f);if(h){e=h.a.length;for(g=0;g<e;g++){d=(dxc(g,h.a.length),h.a[g]);if(j){c=new Sz(f,d.pf());yA(b.a,k,n,l,m,c);j=false}if(d.sf()!=-1){j=true;k=a.e[d.sf()];n=d.qf()!=-1?a.d[d.qf()]:null;l=new Sz(d.tf(),d.rf());m=new Sz(f,d.pf())}}}}}function n_(a){var b,c;a.M=0;U2(a.H);S_(a);a.M=.15;if(a.f.c>0)return;if(a.H.Zc){m0(a);A1(a.H)&&l0(a)}else{l_(a);
if(a.f.c>0)return;!a.H.C&&!a.H.wb&&Q_(a)}a.H.Ac&&(hwc(g_,"Recording function information"),e0(a,tAc),b=new Ukb((c=a,!a.K&&(a.K=new dtb),c)),Tkb(b,a.u),null.Fj(),p_(a),undefined);a.H._==(K1(),J1)&&$lb(new cmb(a),a.n,a.u);a.M=1;!!a.U&&Rib(a.U)}function rvb(a,b){var c,d,e,f,g,h;Xd(a.c||b.c);c=new Mvb(a.a);g=Xgc((Xd(!(a==a.a.A||a==a.a.i)),a.i.size()),(Xd(!(b==b.a.A||b==b.a.i)),b.i.size()));for(e=0;e<g;e++)Gvb(c,Iwb(Zub(a,e),Zub(b,e)));f=Wgc(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(d=g;d<f;d++){h=
Iwb(Zub(a,d),Zub(b,d));if(!!h&&0==h.Vh())break;Cvb(c,h)}return Lvb(Avb(Ivb(c,Iwb(a.k,b.k))))}function tPb(a,b,c){while(ePb(a,a.d)&&(ePb(a,a.d)?lhc(a.e.a,a.d):0)!=c&&!SPb(ePb(a,a.d)?lhc(a.e.a,a.d):0))if(!KPb(a))return new gMb((bSb(),JRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d));(ePb(a,a.d)?lhc(a.e.a,a.d):0)!=c?mPb(a,aMb(a.e.b,b),"Unterminated string literal",vC(qC(yR,1),Uxc,1,5,[])):fPb(a);return new gMb((bSb(),JRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d))}function uxb(a,b,c,d,e){var f,g,h,i,j,k;f=(fm(),new Mq);
for(k=(e?GYb(b):EYb(b)).Ld();k.Dd();){j=k.Ed();g=j.a;h=Axb(a,g,c,d);i=h.Vh()==2&&h.Wh().size()==1?Zzb(Yr(h.Wh().Ld())):null;!!i&&i.a.f!=0?(Jlc(f.a,de(i)),f):e?wrc(a.i,Zbb(g,_wb,vC(qC(DR,1),Fxc,2,6,[nwb(h,new dic).a]))):wrc(a.i,Zbb(g,Xwb,vC(qC(DR,1),Fxc,2,6,[nwb(h,new dic).a])))}return ro(new pmc(f.a))}function Lgb(a,b){var c,d,e;switch(a.j.f){case 90:return Lgb(a.b,b);case 42:for(d=a.b;d;d=d.d)if(d.j!=(m5b(),k3b)&&!Lgb(d,b))return false;return true;case 38:for(e=a.b;e;e=e.d)if(!Lgb(e,b))return false;
return true;case 43:for(c=a.b;c;c=c.d)if(!Lgb(c.b,b))return false;return true;case 65:return b&&!(a.j==(m5b(),y3b)&&wgb(a.e));default:return Hgb(a)}}function hAb(a,b,c,d,e){var f,g,h;if(a.b)if(!b.b||!hvb(a.b,b.b,c,d,e))return false;g=a.d;f=b.d;if(!!g&&!!f){if(wzb(g,f,c,d,e))return true;if(g.a.f==0)return false;if(g.a.f==2){if(fzb(g,bh(Tg(e.a,f,false))))return true;e=(Xd(g.a.f!=0),new VBb(Wyb(e.a,f,g)))}}if(!!g&&g.a.f!=2&&!f)return false;h=!!g&&g.a.f==2?CBb(g.a):new Kjc(a.g);return gAb(a,b,h,c,d,e)}
function Qab(a,b,c,d){var e,f,g,h;h=new Bbb;e=null;!!c&&c.j==(m5b(),y3b)&&(e=pbb(a,c,d).c);if(!!b&&(b.a&$Bc)==eCc)h.a=W9(a.c,b,a.a);else if(!!c&&c.j==(m5b(),y3b)){f=Zxb(a.c.d,cub(e));!!b&&(g=(b.a&$Bc)==eCc&&(($Bc&b.a)==eCc?b.i:null).a.j==(m5b(),y3b),g||(b.a&$Bc)==lyc||!!b.g||KYb(b)>0||(b.a&2)!=0||(b.a&xCc)!=0&&(b.a&$Bc)!=eCc)||Sfb(c)?h.a=f:h.b=f}return h}function Jsb(a){Isb();var b,c,d,e,f,g,h,i,j;i=Dhc(a,Awc("/"),0);d=sC(DR,Fxc,2,i.length,6,1);j=0;c=0;b=i.length>1&&i[0].length==0;b&&--c;for(f=i,
g=0,h=f.length;g<h;++g){e=f[g];if(qhc(e,"."))continue;if(qhc(e,"..")){if(c>0){--j;--c;d[j]=null}else if(!b){d[j]=e;++j}continue}d[j]=e;++j;++c}if(b&&j==1)return"/";return Pc(Hsb,new tjc(new Zmc((bxc(j),xmc(d,j)))))}function mZ(a,b,c,d){var e,f,g,h;h=b;if(!d&&b.j!=(m5b(),N2b))throw QT(new nfc("Missing BLOCK child."));if(b.j==(m5b(),N2b)){f=zZ(b,2);if(f==0){if(a.c.vg()){GY(a.c);HY(a.c,a.c.ig(b,c==0))}else a.c.og(true);return}if(f==1){g=yZ(b);e=a.c.vg();if(e||CZ(g)){GY(a.c);a.xg(g,0);a.c.tg();HY(a.c,
a.c.ig(b,c==0));return}else h=g}f>1&&(c=3)}h.j==k3b?a.c.og(true):a.xg(h,c)}function Mz(a){Jz();var b,c,d,e;if(de(a).length==0)return null;e=a.charCodeAt(0)==45;d=e?1:0;if(d==a.length)return null;c=Lz(lhc(a,d++));if(c<0||c>=10)return null;b=-c;while(d<a.length){c=Lz(lhc(a,d++));if(c<0||c>=10||YT(b,{l:3355444,m:838860,h:996147}))return null;b=ZT(b,10);if(YT(b,RT(Jyc,c)))return null;b=bU(b,c)}return e?Tgc(b):VT(b,Jyc)?null:Tgc($T(b))}function eHb(a,b,c){var d,e,f;f=FGb(a,(m5b(),z4b));!!c&&P_b(f,c);d=
null;do{if(d){jHb(a);b=!a.o?ZHb(a.j):vGb(a);je(b==(SHb(),KHb));jHb(a);b=!a.o?ZHb(a.j):vGb(a)}d=_Gb(a,b);if(!d)return null;P_b(f,d)}while(DGb(a,(SHb(),KHb)));if(!c){jHb(a);if(!DGb(a,OHb))return rGb(a,HEc,a.j.g,YHb(a.j)),null;!a.o?ZHb(a.j):vGb(a)}if(!!f.b&&!f.b.d){e=f.b;x0b(f,e);return e}return f}function fOb(a,b){var c,d,e,f,g,h;tMb(a,"set");if(KOb(a,0)){f=qMb(a);nMb(a,(bSb(),hRb));d=oMb(a);h=wMb(a);nMb(a,mQb);g=wMb(a);!!g&&ROb(a,kPb(a.j,0),"setter should not have any returns",vC(qC(yR,1),Uxc,1,5,
[]));c=sNb(a);return new MVb(uMb(a,b.d),f,b.c,d,h,c)}else{e=cNb(a);nMb(a,(bSb(),hRb));d=oMb(a);wMb(a);nMb(a,mQb);c=sNb(a);return new JSb(uMb(a,b.d),e,b.c,d,c)}}function CV(a,b,c){var d,e;if(c.j==(m5b(),g4b)){c.ci()==null&&nW(kzc,c);c.ci().length==0&&nW(lzc,c);EV(c);!!c.b&&sV(a,c.b)}else c.j==s2b?_U(a,b,c):c.j==u4b?TV(a,b,c):c.j==e3b?mV(a,b,c):c.j==Z2b?(NV(Z2b,c),d=o5b(c.j),d!=-1&&(e=b0b(c),d!=e&&nW(bzc+d+czc+e,c)),sV(a,c.b),(c.b?c.b.f:null).j==e3b?mV(a,b,c.b?c.b.f:null):sV(a,c.b?c.b.f:null),undefined):
nW(mzc+b+" node",c)}function Gfb(){Gfb=pU;zfb=wo(jCc,"Date","Error",wCc,DCc,"XMLHttpRequest",vC(qC(DR,1),Fxc,2,6,[]));yfb=wo(wCc,jCc,Myc,BCc,CCc,DCc,vC(qC(DR,1),Fxc,2,6,["Error"]));Cfb=(fm(),so(vC(qC(yR,1),Uxc,1,5,["toString","valueOf"])));Dfb=so(vC(qC(yR,1),Uxc,1,5,["test","exec"]));Efb=so(vC(qC(yR,1),Uxc,1,5,["match","replace","search","split"]));Ffb=new uhb;Afb=new Rhb;Bfb=new xhb}function w4(){w4=pU;u4=new q4("JSC_INVALIDATION",(lX(),jX),new Hic("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));
v4=new q4("JSC_INVALIDATION_TYPE",jX,new Hic("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new q4("JSC_INVALID_RENAME_FUNCTION",iX,new Hic("{0} call is invalid: {1}"))}function WHb(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=lhc(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{if(b>127)continue;
if(fIb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function cab(a,b){S9();var c,d;this.p=new Ulc;this.b=new zsc;this.n=new zsc;this.o=new up(new zsc,new yp);this.c=new zsc;this.g=new zsc;this.a=new btc;this.i=new btc;d=x1(a.H,(l4(),d4));this.t=new cfb(a);this.e=a;this.r=b;this.f=r_(a);this.s=new mCb;this.j=new x3((fm(),$w(),Zw));this.d=new syb(d);c=new oab(this);this.q=new Lxb(this.d,this.f,this.s,c);wrc(this.a,Hzc)}function SEb(a,b,c,d,e){var k;XDb();var f,g,h,i,j;h=new IEb(c,b,d,e,a.a);
i=iFb(h.u,a);i1b(i.i)==-1&&xEb(i,a.o.b,a.o.a);if(a.a)for(g=a.a.Ld();g.Dd();){f=g.Ed();f.b==2&&!xrc(h.n,f)?(k=ZDb(h,f),wrc(h.n,f),dEb(h,k),undefined):f.b==0&&(j=zwc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]"),twc(xwc(j,f.c))&&h.d.fh(oDc,h.r,f.a.b.b+1,f.a.b.a))}tEb(h,i);DEb(h,i);h.p=i;return h}function xjb(b,c,d){var e,f;hwc((ijb(),hjb),b.b);!!b.c.s&&pjb(b.c);!!b.c.u&&Wib(b.c.u,b.b,b.a.a);b.d=new qob;b.a.zg(b.c.a).Jf(c,d);k_(b.c.a);try{if(!b.c.q)c0(b.c.a,-1);else{b.c.p+=b.c.r;c0(b.c.a,b.c.p)}f=pob(b.d);
!!b.c.u&&Xib(b.c.u,b.b,f);ljb(b.c,b.b,d);mjb(b.c,c,d)}catch(a){a=PT(a);if(iD(a,18)){e=a;throw QT(new zB("Sanity check failed for "+b.b,e));}else throw QT(a);}}function iGb(a,b,c){var d,e,f;for(f=Hm(new fv(de(c)),0);f.b<f.c;){e=Tf(f).a;switch(e){case 103:case 105:case 109:break;case 117:case 121:d=e==117?(NKb(),CKb):(NKb(),DKb);a.a.e=SJb(a.a.e,d.a);fEb(a.a,d)||a.a.d.fh(uEc+RDb(d)+vEc+d,a.a.r,(XDb(),b.o.b.b+1),b.o.b.a);break;default:a.a.d.eh("Invalid RegExp flag '"+String.fromCharCode(e)+"'",a.a.r,
(XDb(),b.o.b.b+1),b.o.b.a)}}}function Zsb(a,b){Wsb();var c,d,e,f,g,h,i;i=Xsb();f=new D1;B1(f,(t2(),o2));C1(f,k2);f.Zc=true;e=(Fmb(),new Tmb((new Qmb,"externs.js"),"var window;"));h=new Tmb((new Qmb,b),a);f.sc=true;f.zc=true;C3(f.$);w1(f,new P3(Vsb,(lX(),jX)));c=new $sb;__(c,new _sb);m_(c,(Gm(),new Gx(e)),new Gx(h),f);g=W0(new P0(c));d=Xsb();Ysb("Transpiled "+b+" in "+(d-i)/1E3+" seconds");return g}function qzb(a,b){var c,d,e,f,g,h,i;if(b.isEmpty())return a;if(a.a.o.isEmpty())return a.a.q;c=new fq;
if(a.b.d.d.isEmpty()){i=a.a.o;for(e=i.Ld();e.Dd();){d=e.Ed();b.containsKey(d)&&cq(c,d,b.oe(d))}h=In(c.b);if(h.d.d.isEmpty())return a;if(h.d.d.size()<i.size())return a}else{for(g=a.b.Ve().Ld();g.Dd();){f=g.Ed();cq(c,f,mwb(Yn(a.b,f),b))}h=In(c.b)}return new xzb(h,a.a)}function dA(a,b,c){var d;switch(c){case 1:d=new hA(b[0]+a.c);a.c=d.e;return d;case 4:d=new nA(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.sf();a.g=d.tf();a.e=d.rf();return d;case 5:d=new sA(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.sf();a.g=d.tf();a.e=d.rf();a.d=d.qf();return d;default:throw QT(new sgc("Unexpected number of values for entry:"+c));}}function IAb(a,b){var c,d,e,f,g,h,i;je(mAb(a.d,b.d));if(a==a.a.C)return b;else if(b==b.a.C)return a;c=a.a;h=Bzb(a.d,b.d);d=svb(a.b,b.b);if(!(!d||d!=d.a.c))return c.d;e=a.c&&b.c||!!d&&d.c;if(!!h&&NBb(h.a,ACc)&&!d){d=!a.b?b.b:a.b;e=d.c}e?g=CAb(c,a.g,b.g):g=JAb(c,false,h,a.g,b.g);if(g==c.e)return c.d;f=Szb(a.f,b.f);i=Mtc(a.e,b.e)?a.e:null;return new kAb(c,h,g,d,i,
e,f)}function o8b(a,b,c){var d,e,f,g,h,i;de(b);if(B5b(a,b,0,new j9b(true)))return a;if(a.e==0&&b.e==0&&!A6b(a.a)&&!A6b(b.a)){f=a.Ci(b);g=b.Ci(a);if(f&&!g)return c?b:a;else if(g&&!f)return c?a:b;i=p8b(a,b,c);if(i)return i}d=Oac(a.u,(wac(),H9b));if(B5b(d,b,0,new j9b(true)))return c?b:a;else if(B5b(d,a,0,new j9b(true)))return c?a:b;e=Oac(a.u,qac);h=Oac(a.u,L9b);return c?e:h}function agb(a,b){var c;switch(a.j.f){case 75:case 86:case 98:case 92:case 91:case 45:for(c=a.b;c;c=c.d)agb(c,b);return;case 93:case 116:case 77:case 110:agb(a.b,
b);return;case 112:agb(a.b?a.b.f:null,b);return;case 89:if(a.b)agb(a.b?a.b.f:null,b);else{je(Igb(a));b.add(a)}break;case 29:b.add(a);break;default:oe(a.j==(m5b(),k3b),"Invalid node in lhs of declaration: %s",a)}}function dyb(a,b){switch(b.f){case 42:return a.v;case 43:return a.b;case 35:return a.K;case 38:return a.G;case 15:return a.k;case 2:return a.a;case 30:return a.u;case 16:return a.r;case 54:return Cwb(a.s,a.a);case 26:return a.W?a.W:a.K;case 0:return _xb(a,a.K);case 19:return a.B;case 56:return a.F;
default:throw QT(new yB("Native type "+(b.e!=null?b.e:""+b.f)+" not found"));}}function uBb(a,b,c,d,e){var f;je(!a.e);!d&&e&&(d=a.s.K);!!Tg(a.b,b,false)&&!bh(Tg(a.b,b,false)).b&&(a.b=Xyb(a.b,b));!!Tg(a.j,b,false)&&(a.j=Xyb(a.j,b));!c&&!!Tg(a.i,b,false)&&(c=bh(Tg(a.i,b,false)).c);e?f=new _Ab(c,d,d,(kBb(),hBb)):a.f==2&&!!d&&Exc!=d.Vh()&&cwb(a.s.G,d,new VBb((Uyb(),Uyb(),Tyb)))?f=new _Ab(c,d,d,(kBb(),iBb)):f=new _Ab(c,d,d,(kBb(),jBb));a.i=Wyb(a.i,b,f)}function pFb(a,b){var c,d,e,f,g,h,i,j;dFb(a,b,(NKb(),
cKb));h=gGb(a,b.d,b);_Eb(a,h,b.b);j=hGb(a,b.e,b);g=fGb(a,(m5b(),J3b),b.c);c=hEb(a.a,W2b);i1b(c.i)==-1&&xEb(c,b.o.b,b.o.a);for(e=b.a.Ld();e.Dd();){d=e.Ed();(d.p==(EVb(),RUb)||d.p==kUb)&&gFb(a,d,wKb);P_b(c,zEb(a.a,d))}f=kEb(a.a,V2b,h,j,c);if(g.j!=k3b){gFb(a,b,qKb);i=A0b(f,f.g,82);i!=f.g&&(f.g=i);f.g=new O1b(82,g,f.g)}return f}function kgb(a){var b,c;switch(a.j.f){case 31:case 89:return a.ci();case 29:c=a.ci();if(qhc(EBc,c)||qhc(WCc,c)||qhc("NaN",c))return c;break;case 30:return""+a.bi();case 34:return aAc;
case 35:return bAc;case 32:return Mxc;case 78:return EBc;case 19:b=ggb(a.b);if(b!=(Rdc(),Qdc))return b.jj(true)?aAc:bAc;break;case 42:return Jfb(a);case 43:return"[object Object]"}return null}function KWb(a){var b,c;if(a.a==null)return GWb(a,Mxc,0);if(iD(a.a,149))return GWb(a,Qhc(a.a),0);else if(iD(a.a,125)){b=ogc(a.a);if(!(b>=0&&b<=Lyc))throw QT(new wWb(b));c=b<Hxc?String.fromCharCode(b&Kxc):Rhc((Zwc(b>=0&&b<=Lyc),b>=Hxc?vC(qC(rD,1),Gxc,46,15,[Ixc+(b-Hxc>>10&Jxc)&Kxc,Lxc+(b-Hxc&Jxc)&Kxc]):vC(qC(rD,
1),Gxc,46,15,[b&Kxc])));return GWb(a,c,0)}else throw QT(DWb(a));}function u0b(a,b,c){var d,e,f;f=xhc(b,Nhc(46),c-1)+1;switch(a.j.f){case 29:case 96:d=a.ci();return f==0&&d.length!=0&&d.length==c&&qhc(b.substr(0,d.length),d);case 33:return f==0&&4==c&&qhc(b.substr(0,4),Zzc);case 97:return f==0&&5==c&&qhc(b.substr(0,5),$zc);case 26:e=(a.b?a.b.f:null).ci();return f>1&&e.length==c-f&&yhc(e,false,0,b,f,c-f)&&u0b(a.b,b,f-1);default:return false}}function mOb(a,b){var c,d,e,f,g;e=!b?kPb(a.j,0).b.b:b.o.b;
f=AMb(a);c=(Gm(),new Zp);Xp(c,new RVb(f.b,f));if(f.c==(bSb(),cRb))return new QVb(new oWb(e,a.g),b,Om(c.a));d=BMb(a,1);Xp(c,new SVb(d.o,d));while(!a.c.d){f=(g=hPb(a.j),a.g=g.b.a,g);if(f.c==DQb||f.c==yQb)break;Xp(c,new RVb(f.b,f));if(f.c==ORb)break;d=BMb(a,1);Xp(c,new SVb(d.o,d))}return new QVb(new oWb(e,a.g),b,Om(c.a))}function egb(a){Gfb();switch(a.j.f){case 48:return m5b(),L2b;case 49:return m5b(),M2b;case 50:return m5b(),J2b;case 51:return m5b(),_3b;case 52:return m5b(),J4b;case 53:return m5b(),
f5b;case 54:return m5b(),n2b;case 55:return m5b(),T4b;case 56:return m5b(),f4b;case 59:return m5b(),q3b;case 57:return m5b(),h3b;case 58:return m5b(),d4b}throw QT(new xcb("Not an assignment op:"+a));}function iz(a,b,c){var d,e,f;de(b);c=(!a.c?(yc(),xc):new jc(a.c.a)).Id(c);if(!Vy(a.b,c.length))throw QT(new Az("Invalid input length "+c.length));d=0;for(f=0;f<c.length;){e=Ty(a.b,lhc(c,f++))<<18;e|=Ty(a.b,lhc(c,f++))<<12;b[d++]=e>>>16<<24>>24;if(f<c.length){e|=Ty(a.b,lhc(c,f++))<<6;b[d++]=(e>>>8&255)<<
24>>24;if(f<c.length){e|=Ty(a.b,lhc(c,f++));b[d++]=(e&255)<<24>>24}}}return d}function AV(a,b){var c,d,e,f,g,h,i;switch(b.j.f){case 96:h=o5b(b.j);h!=-1&&(d=b0b(b),h!=d&&nW(bzc+h+czc+d,b));uV(a,b.b,true);break;case 154:e=b0b(b);0!=e&&nW(azc+e,b);break;case 155:i=o5b(b.j);i!=-1&&(f=b0b(b),i!=f&&nW(bzc+i+czc+f,b));fV(b.b);break;case 156:g=o5b(b.j);g!=-1&&(c=b0b(b),g!=c&&nW(bzc+g+czc+c,b));break;default:nW("Interface contained member of invalid type "+b.j,b)}}function Cz(a,b,c){var d,e,f,g,h,i;de(c);
if(b==0)throw QT(new jfc("/ by zero"));f=a/b|0;h=a-b*f;if(h==0)return f;i=1|(a^b)>>31;switch(c.f){case 7:Gz(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=h<0?-h:h;e=d-((b<0?-b:b)-d);e==0?g=c==(tic(),qic)||c==pic&(f&1)!=0:g=e>0;break;default:throw QT(new pfc);}return g?f+i:f}function EC(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=HC(b)-HC(a);g=RC(b,j);i=AC(0,0,0);while(j>=0){h=KC(a,g);if(h){j<22?(i.l|=1<<j,undefined):j<44?(i.m|=1<<j-22,undefined):
(i.h|=1<<j-44,undefined);if(a.l==0&&a.m==0&&a.h==0)break}k=g.m;l=g.h;m=g.l;g.h=l>>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>1|(k&1)<<21;--j}c&&GC(i);if(f)if(d){xC=QC(a);e&&(xC=UC(xC,(bD(),_C)))}else xC=AC(a.l,a.m,a.h);return i}function W8(a,b){var c,d,e,f,g,h,i,j;for(i=(g=b.a.a,g?!g.b?(gnc(),gnc(),fnc):new V1b(g.b):(gnc(),gnc(),fnc)).Ld();i.Dd();){h=i.Ed();Z8(a,iD(h.k,19)?h.k:null)}Z8(a,b.a.b);if(b.e==2)for(d=es(new yoc(b.b.a.b.Ld()));d.Dd();){c=d.Ed();Knc(a.a,c)&&c.Pi(a)}if(b.gj()){for(f=es(new yoc(b.c.a.b.Ld()));f.Dd();){e=
f.Ed();Knc(a.a,e)&&e.Pi(a)}j=i8b(b).Ui();!!j&&Knc(a.a,j)&&j.Pi(a)}return a.b.b}function Hf(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=If(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(e<b&&a.f.Hd(lhc(a.e,e)))++e;while(b>e&&a.f.Hd(lhc(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.Hd(lhc(a.e,b-1)))--b}else--a.b;return Khc(Fhc(a.e,e,b))}return a.i=2,null}function hbb(a,b){var c,d,e,f,g,h;if(o0b(b)){c=
Jdb(a.a,pBb(b),false);if(!c){h=gbb(a,b);if(h)return f=h.Vh()==2&&h.Wh().size()==1?Yr(h.Wh().Ld()):null,!f?null:f.b}else if(iD(c.c,75)?c.c:null)return(iD(c.c,75)?c.c:null).c;else if(c.a){d=c.a.c;if(d)return cub(d)}else if(c.d)return Wvb(c.d)}g=gbb(a,b);return!g?null:(e=g.Vh()==2&&g.Wh().size()==1?Yr(g.Wh().Ld()):null,!e?null:e.b)}function wbb(a,b){var c,d,e,f,g,h,i;Xd(b.j==(m5b(),E3b));g=b.e;f=g.j==u2b?g.b?g.b.f:null:null;c=fgb(b);d=pBb(c);h=(e=Jdb(a.a,d,false),!e?null:iD(e.c,75)?e.c:null);if(!h){!!f&&
f.j==y3b&&pbb(a,f,null);return}!!f&&f.j==y3b&&(i=A0b(g,g.g,76),i!=g.g&&(g.g=i),g.g=new E1b(76,1,g.g));Tdb(a.a,c)||bfb(a.c.t,Zbb(b,(S9(),v9),vC(qC(DR,1),Fxc,2,6,[])));Zab(a,h,f);Vab(a,h,(b.b?b.b.f:null).ci(),b,f)}function Rab(a,b){var c,d,e,f;c=g0b(b,51);if(!!c&&c.Fh()){bfb(a.c.t,Zbb(b,(S9(),u9),vC(qC(DR,1),Fxc,2,6,[(Yd(o0b(b)||b.j==(m5b(),R4b),b),o0b(b)?h0b(b):b.ci())])));return null}e=hgb(b);f=gbb(a,e);d=b.j==(m5b(),g4b)&&b.e.j==g5b&&!Vdb(a.a,b.ci());if((!f||Exc==f.Vh())&&!d){bfb(a.c.t,Zbb(b,(S9(),
u9),vC(qC(DR,1),Fxc,2,6,[(Yd(o0b(b)||b.j==R4b,b),o0b(b)?h0b(b):b.ci())])));return null}return f}function Idb(a){var b,c,d,e,f,g,h,i;fe(a.c,"No declared type for scope: %s",a.t);a.u=(fm(),$w(),Zw);for(c=a.k.ne().Ld();c.Dd();){b=c.Ed();d=b.xe();e=b.ye();if(iD(e,279)){wrc(a.b,d);f=e;$yb(f,a.e.oe(d));g=zub(f)}else g=zub(e);a.e.containsKey(d)?a.e.put(d,g):wsc(a.o,d,g)}for(i=a.n.keySet().Ld();i.Dd();){h=i.Ed();wsc(a.o,h,a.a.G)}heb(a);a.s=a.k;a.k=(Sw(),Rw);a.n=Rw;a.d=(null,Zw);a.g=true}function Ldb(a,b){var c,
d,e;Xd(b.indexOf(".")==-1);if(qhc(Zzc,b)){d=a.c;if(!(!!d&&!!(d.c?d.c:d.e)))return null;return _tb(a.c)}c=Mdb(a,b,false);if(c){if(c.d){oe(0!=c.d.Vh(),"%s was bottom",b);return c.d}e=c.a;if(e){ge(e.c,"decl=%s, funScope=%s",c,e);return Zxb(a.a,cub(e.c))}je(!c.c);return null}if(qhc(b,a.p)&&!Wdb(a.r,b))return Zxb(a.a,cub(a.c));if(a.r)return Ldb(a.r,b);return null}function CAb(a,b,c){var d,e,f,g,h,i;d=(Uyb(),Uyb(),Tyb);for(i=new mjc((new ejc(b.a)).a);i.b;){g=ljc(i);e=g.xe();!!Tg(c,e,false)||(d=Wyb(d,e,
$Ab(g.ye())));if(d==a.e)return a.e}for(h=new mjc((new ejc(c.a)).a);h.b;){g=ljc(h);e=g.xe();f=g.ye();Tg(b,e,false)?d=Wyb(d,e,$Ab(cBb(bh(Tg(b,e,false)),f))):d=Wyb(d,e,f.a==(kBb(),jBb)?f:new _Ab(f.c,f.d,f.b,jBb));if(d==a.e)return a.e}return d}function o8(a,b,c,d){var e,f,g;if(b.indexOf(".")!=-1){f=lhb(a.d.b,b);c.j==(m5b(),k3b)?e=(Gfb(),X0b((je(JXb(f)),new b1b(u3b,f)),f)):e=jhb(mXb(f,c))}else c.j==(m5b(),k3b)?e=wXb((oe(thc(b,Nhc(46))==-1,yzc,b),new _1b(g4b,b)),g5b):e=mhb(b,c);if(d)if(e.j==(m5b(),u3b))H0b(e.b,
d);else{je(e.j==g5b);g=A0b(e,e.g,29);g!=e.g&&(e.g=g);!!d&&(e.g=new O1b(29,d,e.g))}P_b(a.d.g,e);wrc(a.d.a,b)}function lhb(a,b){Gfb();var c,d,e,f,g,h,i,j;c=thc(b,Nhc(46));if(c==-1)return khb(a,b);f=b.substr(0,c);qhc(Zzc,f)?e=new _0b((m5b(),Z4b)):e=khb(a,f);do{j=c+1;c=uhc(b,Nhc(46),j);g=c==-1?b.substr(j,b.length-j):b.substr(j,c-j);h=new _1b((m5b(),Q4b),g);J0b(h,g.length);r_(a).Zf(g)&&(i=A0b(h,h.g,43),i!=h.g&&(h.g=i),h.g=new E1b(43,1,h.g));d=e.c+1+g.length;e=CXb(e,h);e.c=d}while(c!=-1);return e}function yxb(a,
b,c,d){var e,f,g,h,i,j,k,l;l=new zsc;for(j=b.b.b;j;j=j.d){f=j.j==(m5b(),X2b);i=f?j.b:j;h=i.ci();(qhc(h.substr(0,1),"'")||qhc(h.substr(0,1),'"'))&&(h=Hhc(h,1,h.length-1));e=g0b(b,51);!!e&&e.Fh()&&nab(a.f,h);k=f?Axb(a,j.b?j.b.f:null,c,d):a.a.K;Tvb(k,a.a.G)||Exb(j.b?j.b.f:null)?g=new _Ab(null,k,k,(kBb(),iBb)):g=new _Ab(null,k,k,(kBb(),jBb));wsc(l,h,g)}return wwb(rAb(a.a,l))}function LGb(a,b){var c;if(b==(SHb(),QHb))return FGb(a,(m5b(),P4b));else if(b==HHb){jHb(a);return XGb(a,!a.o?ZHb(a.j):vGb(a))}else if(b==
IHb){jHb(a);return eHb(a,!a.o?ZHb(a.j):vGb(a),null)}else if(b==RHb){c=a.j.n;switch(c){case Cxc:jHb(a);return QGb(a,!a.o?ZHb(a.j):vGb(a));case Mxc:case EBc:return GGb(a,c,a.j.g,YHb(a.j));default:return cHb(a,b)}}a.o=b;return rGb(a,GEc,a.j.g,YHb(a.j)),null}function YWb(a,b){var c,d,e;e=a.b;c=a.b<a.c?lhc(a.a,a.b):-1;if(c>=48&&c<=57){d=XWb(a);if((a.b<a.c?lhc(a.a,a.b):-1)==36){VWb(a);if(d==-1)throw QT(new BWb(Hhc(a.a,a.d,a.b)));b.a=0>d-1?0:d-1}else if(c==48)a.b=e;else return _Wb(a,b,d)}else if(c==60){b.a=
-2;VWb(a)}while(eXb(b,a.b<a.c?lhc(a.a,a.b):-1))VWb(a);c=a.b<a.c?lhc(a.a,a.b):-1;return c>=48&&c<=57?_Wb(a,b,XWb(a)):c==46?$Wb(a,b):ZWb(a,b)}function xxb(a,b,c,d,e){var f,g,h,i,j,k,l,m;m=b.q;if(b.o.isEmpty()&&!c.b)return b.r;j=(Gm(),new Zp);if(c.b){ke(c.b.j==(m5b(),N2b),c);for(g=U_b(c.b).Ld();g.Dd();){f=g.Ed();Xp(j,Axb(a,f,d,e))}}i=Om(j.a);k=b.o;h=i.size();l=k.size();if(h!=l){h>l&&wrc(a.i,Zbb(c,cxb,vC(qC(DR,1),Fxc,2,6,[" for type "+m.a.v,""+l,""+h])));return Gxb(a,wwb(qAb(pzb(m,oxb(a,k.size(),i)))))}return Gxb(a,
wwb(qAb(pzb(m,i))))}function Ktb(){Ktb=pU;Itb=new q4("JSC_NULLABLE_RETURN",(lX(),kX),new Hic("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));Jtb=new q4("JSC_NULLABLE_RETURN_WITH_NAME",kX,new Hic('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 bbb(a,b){var c,d,e,f,g,h,i,j;c=g0b(b,29);d=!c.d?null:c.d.g;de(d);e=d.indexOf(".")!=
-1?new nBb(Nm(yf(Ef(new jc(46)),d))):new oBb(d);if(Zdb(a.a,e))cbb(a,e,d,b);else{j=Lab(a,e,d,b);if(j)for(h=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();h.Dd();){g=h.Ed();f=dgb(g);Vab(a,j,f,g,g.b)}else for(h=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();h.Dd();){g=h.Ed();i=g.b;i.j==(m5b(),y3b)&&pbb(a,i,null)}}}function Jdc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;o=b.d;l=c.d;for(f=0;f<o.size();f++){n=o.getAtIndex(f);q=(h=Bdc(b,n),h==-1?Oac(b.b,(wac(),sac)):b.c[h]);p=0;for(i=0;i<l.size();i++){k=l.getAtIndex(i);
m=(g=Bdc(c,k),g==-1?Oac(c.b,(wac(),sac)):c.c[g]);if(n==k){j=1;(B5b(q,m,a,d)||e==1&&q.Di(m,new m9b(true),e)&&m.Di(m,new m9b(true),e))&&(j=2);p!=2&&(p=j)}}if(p==1||p==0&&a!=2)return false}return true}function LEb(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}throw QT(new sgc(tEc+String.fromCharCode(a)));}function AFb(a,b){var c,d,e,f,g,h,i,j;f=new zsc;c=new zsc;g=null;h=null;if(VEb(a,b.a.a))for(e=b.a.a.Ld();e.Dd();){d=e.Ed();i=null;if(d.p==(EVb(),rVb)){j=d;i=zEb(a.a,j.b);d=j.a}switch(d.p.f){case 26:wsc(f,d.a.a,i);break;case 80:gFb(a,d,(NKb(),BKb));wsc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw QT(new sgc("Illegal parameter type: "+d.p));}}return YDb(a.a,t5b(zEb(a.a,b.b),f,c,g,h))}function l0(a){var b,c,d,e,
f;e=(a.H.md!=(L2(),I2)&&!!a.U&&Wib(a.U,CAc,true),new rob);try{for(c=(!a.K&&(a.K=new dtb),new pmc((f=new Ulc,Dob(),Jlc(f,Aob),Jlc(f,zob),Jlc(f,tob),Jlc(f,wob),Jlc(f,vob),Jlc(f,yob),Jlc(f,xob),undefined,Dob(),Jlc(f,uob),Jlc(f,sob),Jlc(f,Bob),Jlc(f,Cob),undefined,f)));c.a<c.c.a.length;){b=nmc(c);b.zg(a).Jf(a.n,a.u)}}finally{d=bU(WT(Pwc()),e.a);a.H.md!=I2&&!!a.U&&Xib(a.U,CAc,d)}}function s3(a){var b,c,d;if("".length>0){if(!y3(a.a,"".charCodeAt(0))){b=sC(rD,Gxc,46,a.a.length,15,1);for(c=0;c<b.length;c++)b[c]=
a.a[c].a;throw QT(new xcb("prefix must start with one of: "+Rmc(b)));}for(d=1;d<"".length;++d){b=sC(rD,Gxc,46,a.c.length,15,1);for(c=0;c<b.length;c++)b[c]=a.c[c].a;if(!y3(a.c,"".charCodeAt(d)))throw QT(new xcb("prefix has invalid characters, must be one of: "+Rmc(b)));}}}function otb(){otb=pU;ltb=new q4("JSC_DUPLICATE_ENUM_VALUE",(lX(),jX),new Hic("The value {0} is duplicated in this enum."));ktb=new q4("JSC_COMPUTED_PROP_NAME_IN_ENUM",jX,new Hic("Computed property name used in enum."));ntb=new q4("JSC_SHORTHAND_ASSIGNMENT_IN_ENUM",
jX,new Hic("Shorthand assignment used in enum."));mtb=new q4("JSC_ENUM_PROP_NOT_CONSTANT",jX,new Hic("enum key {0} must be in ALL_CAPS."))}function eAb(a,b){var c,d,e,f,g;de(a.e);if(a==b||!!b.e||!fzb(!b.d?gyb(b.a):b.d,gyb(a.a)))return a;f=vAb(b);if(!f)return a;d=$zb(b,f);g=(e=Yzb(a,f),!!e&&(f.a.size()==1||iwb(e.d,(Xd(f.a.size()!=1),new nBb(f.a.Qe(1,f.a.size())))))?$zb(a,f):null);c=!g?null:kwb(g,d);if(!!g&&ewb(g)&&0!=c.Vh()&&cwb(c,g,new VBb((Uyb(),Uyb(),Tyb)))&&!cwb(g,c,new VBb((Uyb(),Uyb(),Tyb))))return jAb(a,
f,c,false,false);return a}function KFb(a,b){var c,d,e,f,g;g=hEb(a.a,(m5b(),t4b));f=false;for(d=b.a.Ld();d.Dd();){c=d.Ed();if(c.p==(EVb(),rUb)){a.a.d.eh("Default value cannot appear at top level of an object literal.",a.a.r,(XDb(),c.o.b.b+1),0);continue}else if(c.p==GUb&&bFb(a,c))continue;else if(c.p==hVb&&cFb(a,c))continue;e=zEb(a.a,c);e.j!=Z2b&&!e.ei()&&!a.a.c&&eFb(a,e);!e.b&&(f=true);P_b(g,e)}f&&dFb(a,b,(NKb(),lKb));return g}function YMb(a){var b,c,d,e,f;c=false;d=(Gm(),new Zp);while(true){e=kPb(a.j,
0).b.b;switch(kPb(a.j,0).c.f){case 4:nMb(a,(bSb(),hQb));b=BMb(a,1);nMb(a,oQb);f=kOb(a);Xp(d,new xSb(new oWb(e,a.g),b,f));break;case 8:c?TOb(a,"Switch statements may have at most one default clause",vC(qC(yR,1),Uxc,1,5,[])):c=true;nMb(a,(bSb(),uQb));nMb(a,oQb);Xp(d,new NSb(new oWb(e,a.g),kOb(a)));break;default:return Om(d.a)}}}function dob(a,b){var c,d,e,f,g;switch(b.j.f){case 75:for(d=b.b;d;){f=d.d;bob(a,d);d=f}return;case 65:Gfb();if(b.j==(m5b(),y3b)&&!Ygb(b.e))return;e=b.b.ci();if(e.length==0)return;
bob(a,b.b);return;case 77:ke(b0b(b)==2,b);g=b.b;ke(g.j==(m5b(),g4b),g);c=g.d;bob(a,g);dob(a,c);return;case 83:a.b=g0b(b,53);de(a.b)}if(ugb(b)||(Gfb(),b.j==(m5b(),K4b)||b.j==N2b||b.j==e4b))for(d=b.b;d;){f=d.d;dob(a,d);d=f}}function Ttb(){Ttb=pU;Stb=new q4("JSC_REQUIRES_NOT_SORTED",(lX(),kX),new Hic("goog.require() statements are not sorted. The correct order is:\n\n{0}\n\n"));Rtb=new q4("JSC_PROVIDES_NOT_SORTED",kX,new Hic("goog.provide() statements are not sorted. The correct order is:\n\n{0}\n\n"));
Qtb=new q4("JSC_PROVIDES_AFTER_REQUIRES",kX,new Hic("goog.provide() statements should be before goog.require() statements."))}function Pnb(a,b){var c,d,e,f,g,h,i;if(xrc(a.a.c,b)||xrc(a.a.b,b))return true;if(b.length==0||Gfc(b.charCodeAt(0)))return false;d=b.toLowerCase();for(i=(f=(new Kjc(a.a.b.a)).a.ne().Ld(),new Qjc(f));i.a.Dd();){g=(c=i.a.Ed(),c.xe());if(Ehc(d,g.toLowerCase()))return true}for(h=(e=(new Kjc(a.a.c.a)).a.ne().Ld(),new Qjc(e));h.a.Dd();){g=(c=h.a.Ed(),c.xe());if(phc(d,g.toLowerCase()))return true}return false}
function rub(a,b){var c,d,e,f,g;Xd(qhc(b.v,vCc));ee(a.A,"The built-in types are missing from window. Perhaps you forgot to run DeclaredGlobalExternsOnWindow?");for(e=a.A.ne().Ld();e.Dd();){c=e.Ed();f=c.ye();if(iD(f,75)){g=f;if(!g.e){oe(qhc(g.v,vCc),"Unexpected unfinalized type %s",g.v);continue}}uBb(b,c.xe(),null,zub(f),true)}for(d=new mjc((new ejc(a.B.a)).a);d.b;){c=ljc(d);uBb(b,c.xe(),null,c.ye().d,true)}}function Fwb(a,b){Rvb();var c,d,e,f,g;g=Hwb(a,b);if(0==g.Vh()&&(d=a.Wh(),d.size()==1&&Yr(d.Ld()).c||
(e=b.Wh(),e.size()==1&&Yr(e.Ld()).c))){g=Hwb(Svb(a),Svb(b));if(0!=g.Vh()){f=a.Wh();if(f.size()==1&&Yr(f.Ld()).c){qe((c=b.Wh(),!(c.size()==1&&Yr(c.Ld()).c)),"Two loose types %s and %s that meet to bottom, meet to non-bottom after autoboxing.",nwb(a,new dic).a,nwb(b,new dic).a);return b}else return a}}return g}function vxb(a,b,c,d,e,f){var g,h,i;if(!(!b.d?null:b.d.a))return null;if((b.a&2)==0){wrc(a.i,Zbb(d,Zwb,vC(qC(DR,1),Fxc,2,6,[c])));return null}g=(!b.d?null:b.d.a).a;h=Axb(a,g,f,e);i=h.Vh()==2&&
h.Wh().size()==1?Zzb(Yr(h.Wh().Ld())):null;if(!!i&&i.a.f==0)return i;if(!i)wrc(a.i,Zbb(d,Ywb,vC(qC(DR,1),Fxc,2,6,[c,nwb(h,new dic).a])));else{je(i.a.f!=0);wrc(a.i,Zbb(d,Rwb,vC(qC(DR,1),Fxc,2,6,[tBc,c])))}return null}function Dhc(a,b,c){var d,e,f,g,h,i,j;d=new $wnd.RegExp(b,"g");i=sC(DR,Fxc,2,0,6,1);e=0;j=a;g=null;while(true){h=d.exec(j);if(h==null||j==""||e==c-1&&c>0){i[e]=j;break}else{i[e]=Hhc(j,0,h.index);j=Hhc(j,h.index+h[0].length,j.length);d.lastIndex=0;if(g==j){i[e]=j.substr(0,1);j=j.substr(1,
j.length-1)}g=j;++e}}if(c==0&&a.length>0){f=i.length;while(f>0&&i[f-1]=="")--f;f<i.length&&(i.length=f,undefined)}return i}function X_(a){y1(a.H,(l4(),W3))?a.H.B=true:x1(a.H,W3)?a.H.B=false:a.H.B||w1(a.H,new P3(N3((Nlb(),Mlb)),(lX(),jX)));if(a.H.rd){a.H.B=true;w1(a.H,new P3(U3,(lX(),jX)));w1(a.H,new P3(e4,jX));w1(a.H,new P3(f4,jX));w1(a.H,new P3((R8(),D8),jX));w1(a.H,new P3(N3((Nlb(),Mlb)),kX))}a.H.t!=(lX(),jX)&&!x1(a.H,a4)&&w1(a.H,new P3(a4,a.H.t));w2(a.H.Ub)&&w1(a.H,new P3(Z3,iX));!a.H.A&&!y1(a.H,
X3)&&w1(a.H,new P3(X3,jX))}function Fxb(a,b,c,d,e){var f,g;g=nCb(b,e);if(g!=null){kxb(a,c);return xwb(a.a,g)}f=Jdb(d,b.indexOf(".")!=-1?new nBb(Nm(yf(Ef(new jc(46)),b))):new oBb(b),true);if(!f){wsc(a.g,c,b);return a.a.K}if(f.e){kxb(a,c);return Cxb(a,f.e,d)}if(iD(f.c,153)?f.c:null){kxb(a,c);return rxb(a,iD(f.c,153)?f.c:null,d)}if(f.b){kxb(a,c);++a.c;return f.d}if(iD(f.c,75)?f.c:null)return xxb(a,iD(f.c,75)?f.c:null,c,d,e);return a.a.K}function SIb(a,b){var c,d;d=(ae(b.j==(m5b(),Q2b),OEc,b),b.b.ci());
c=CJb(d.toLocaleUpperCase());switch(c.f){case 19:return QIb(a,b);case 22:return YIb(a,b);case 11:return wIb(a,b,(AJb(),nJb));case 0:return wIb(a,b,(AJb(),cJb));case 23:return wIb(a,b,(AJb(),zJb));case 14:return MIb(a,b);case 18:return RIb(a,b);case 17:return OIb(a,b);case 20:return IIb(a,b);default:throw QT(new sgc("Invalid type expression"));}}function Tfb(a){Gfb();var b,c;if(a.j==(m5b(),u3b))return Tfb(a.b);b=g0b(a,29);if(!b){c=a.e;if(!c||a.j==u3b)return null;if(c.j==g4b)return Tfb(c);else if(c.j==
u2b)return Tfb(c);else if(Qgb(c))return c;else if((c.j==y3b||c.j==V2b)&&a==c.b)return Tfb(c);else if(!!c&&(c.j==g5b||c.j==$3b||c.j==$2b)&&!!c.b&&!c.b.d)return c;else if(c.j==H3b&&c.b!=a||c.j==w4b||c.j==o2b||c.j==Y2b&&c.b!=a)return Tfb(c)}return a}function fvb(a,b){var c,d,e,f,g,h,i,j;if(b.isEmpty())return a;c=new Mvb(a.a);for(h=a.i.Ld();h.Dd();){g=h.Ed();Gvb(c,mwb(g,b))}for(e=a.e.Ld();e.Dd();){d=e.Ed();Cvb(c,mwb(d,b))}!!a.j&&Hvb(c,mwb(a.j,b));Ivb(c,mwb(a.k,b));a.c&&(c.c=true,c);Bvb(c,wvb(a.d,b));
if(a.g){f=mvb(a.g);!!f&&!f.a.o.isEmpty()&&f.b.d.d.isEmpty()?Fvb(c,a.g):Fvb(c,wvb(a.g,b))}for(j=a.f.Ve().Ld();j.Dd();){i=j.Ed();Dvb(c,i,a.f.oe(i))}return Lvb(c)}function yA(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 Sz(e.b+o,e.a+p);g=new Sz(f.b+o,f.a+i)}l=new OA;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;se(n>k||n==k&&m>=j,"Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",
Hgc(k),Hgc(j),Hgc(n),Hgc(m))}a.b=l;Jlc(a.e,l)}function aOb(a){var b,c,d,e,f,g;f=kPb(a.j,0).b.b;e=qMb(a);b=rMb(a,(bSb(),oQb));if(!b)if(e.c!=LQb)ROb(a,kPb(a.j,0),uFc,vC(qC(yR,1),Uxc,1,5,[oQb]));else if(WLb(e.a)&&!YLb(e.a))ROb(a,e,"Cannot use keyword in short object literal",vC(qC(yR,1),Uxc,1,5,[]));else if(zOb(a,0,AQb)){d=new vTb(new oWb(f,a.g),e);nMb(a,AQb);c=OMb(a,1);return new OSb(new oWb(f,a.g),d,c)}g=!b?null:OMb(a,1);return new IVb(new oWb(f,a.g),e,g)}function v7(a,b,c){var d,e,f,g,h,i,j,k;j=F7(b,
lhb(a.a,c.f),lhb(a.a,c.f+ZBc));h=$_b(b.b?b.b.f:null);d=mXb(j,h);$0b(d,b);f=g0b(b,29);if(e0b(b,58)!=0&&qhb(d.b?d.b.f:null)){g=H_b(f);t_b(g,new J_b(new b1b((m5b(),I2b),new _0b(D4b)),(e=g0b(b,51),!e?null:e.Dg())));f=p$b(g,false)}!!f&&(k=A0b(d,d.g,29),k!=d.g&&(d.g=k),!!f&&(d.g=new O1b(29,f,d.g)),d);i=(Gfb(),X0b((je(JXb(d)),new b1b((m5b(),u3b),d)),d));N_b(c.g.e,i,c.g);c.g=i}function kHb(a,b){switch(b.f){case 13:return"@"+a.j.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 Qzc;case 20:return"=";case 4:return a.j.n;default:throw QT(new sgc(b.e!=null?b.e:""+b.f));}}function d1b(a,b,c){Yd(!b.e,"first new child has existing parent");Yd(!b.d,"first new child has existing next sibling");Yd(!b.f,"first new child has existing previous sibling");Yd(!c.e,"second new child has existing parent");Yd(!c.d,"second new child has existing next sibling");
Yd(!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 eib(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 81:eib(a,e,i,j);break;case 72:Gfb();if(e.j==(m5b(),w3b)&&b0b(e)==3){g=e.b;if(g.j==g5b){l=g;k=l.b.ai(false);B0b(g.e,g,k);O_b(j,l,i);iib(a,"FOR-IN var declaration")}}else if(e.b.j!=k3b){h=e.b;f=new _0b(k3b);Z0b(f,e);B0b(e,h,f);h.j==g5b?l=h:l=X0b((je(JXb(h)),
new b1b(u3b,h)),h);O_b(j,l,i);iib(a,"FOR initializer")}}}}function cHb(a,b){var c,d,e,f,g;if(b!=(SHb(),RHb))return rGb(a,GEc,a.j.g,YHb(a.j)),null;f=a.j.n;d=a.j.g;c=YHb(a.j);while(DGb(a,EHb)&&lhc(f,f.length-1)==46){jHb(a);if(DGb(a,RHb)){!a.o?ZHb(a.j):vGb(a);f+=a.j.n}}g=GGb(a,f,d,c);if(DGb(a,GHb)){!a.o?ZHb(a.j):vGb(a);jHb(a);e=bHb(a,!a.o?ZHb(a.j):vGb(a));if(e){Q_b(g,e);jHb(a);if(!DGb(a,MHb))return rGb(a,"msg.jsdoc.missing.gt",a.j.g,YHb(a.j)),null;!a.o?ZHb(a.j):vGb(a)}}return g}function _ub(a,b){var c,
d,e,f,g,h,i;je(!a.n.isEmpty());if(b.size()<(Xd(!(a==a.a.A||a==a.a.i)),a.i.size())||b.size()>(Xd(!(a==a.a.A||a==a.a.i)),a.j?Exc:a.i.size()+a.e.size()))return null;f=new Ts;for(d=0,e=b.size();d<e;d++)if(!owb(Zub(a,d),b.getAtIndex(d),a.n,f,new VBb((Uyb(),Uyb(),Tyb))))return null;c=new fq;for(h=a.n.Ld();h.Dd();){g=h.Ed();i=og(f,g);if(i.size()!=1)return null;cq(c,g,Yr(i.Ld()))}return fvb(a,In(c.b))}function Cn(a){var b,c,d,e,f,g,h,i,j;if(iD(a,120)&&!iD(a,322)){g=a;return g}else if(iD(a,220)){f=a;for(e=
new Qqc((new Kqc(f)).a);krc(e.a);){d=(e.b=lrc(e.a),new Uqc(e.c,e.b));de(d.a);de(d.b.b[d.a.f])}i=Up(new zqc(f));return i}j=a.size();switch(j){case 0:return Sw(),Rw;case 1:d=Yr(a.ne().Ld());return On(d.xe(),d.ye());default:h=(nv(),new zsc);for(c=a.ne().Ld();c.Dd();){b=c.Ed();wsc(h,de(b.xe()),de(b.ye()))}return new Xw(h)}}function Y7(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(Gfb(),Lfb(c,false,a.a));d=c;for(i=new A1b(new x1b(d.e));i.a.a;){h=z1b(i);if(h==b)return j?2:1;if(b8(h))d!=h.b&&(j=true);else if(X7(a,
h,k));else{for(g=(!h.b?(gnc(),gnc(),fnc):new V1b(h.b)).Ld();g.Dd();){f=g.Ed();if(f==d)break;if(k?Kfb(f,a.b,a.d):Lfb(f,false,a.a)){k=true;j=true}}e=h.b;if(j&&h.j==(m5b(),Q2b)&&(e.j==(m5b(),E3b)||e.j==D3b))return 0}d=h}throw QT(new sgc(mCc));}function Gab(a,b){var c,d,e,f;b.j==(m5b(),E3b)&&vab(b.e);if(Tdb(a.a,b)){b.j==E3b&&hgb(b).j!=w4b&&bfb(a.b.t,Zbb(b,(S9(),L9),vC(qC(DR,1),Fxc,2,6,[(b.b?b.b.f:null).ci(),h0b(b.b)])));return}Edb(a.a,b);d=hgb(b);d.j==w4b&&(d=d.b?d.b.f:null);oe(d.j==t4b,"Expected object literal, found %s",
d);for(f=(!d.b?(gnc(),gnc(),fnc):new V1b(d.b)).Ld();f.Dd();){e=f.Ed();if(uab(a,e)){c=CXb(W_b(b,false),YXb(e.ci()));mXb(c,W_b(e.b,false));Bab(a,c)}}}function GVb(){EVb();return vC(qC(UO,1),Zxc,17,0,[cVb,DUb,ZTb,AVb,yVb,tUb,xUb,IUb,sUb,BVb,AUb,CUb,zVb,oUb,$Tb,gVb,CVb,bUb,qUb,kVb,NUb,pVb,cUb,qVb,pUb,oVb,HUb,OUb,TTb,ZUb,fUb,hUb,gUb,GUb,hVb,dVb,iUb,jUb,lUb,mUb,SUb,eUb,YTb,nUb,vVb,xVb,PUb,WUb,STb,_Tb,dUb,MUb,UUb,VUb,uUb,QUb,bVb,yUb,jVb,UTb,WTb,$Ub,zUb,iVb,YUb,fVb,TUb,vUb,wUb,JUb,KUb,BUb,DVb,rUb,lVb,mVb,
nVb,tVb,uVb,rVb,_Ub,aVb,VTb,eVb,wVb,EUb,FUb,RUb,kUb,sVb,RTb,LUb,aUb,XUb,XTb])}function sZ(a,b,c){switch(b.j.f){case 94:case 146:case 149:case 157:IY(a.c,c==0);break;case 65:(b.b?b.b.f:null).j==(m5b(),k3b)?a.c.og(true):a.c.lg(c==0);break;case 153:b.e.j!=(m5b(),j4b)&&sZ(a,b.b,c);break;case 106:b.e.j!=(m5b(),j4b)&&b.b.j!=c3b&&sZ(a,b.b,c);break;case 112:!!b.b&&!b.b.d&&a.c.og(true);break;case 96:case 84:case 85:f0b(b.b).j==(m5b(),k3b)&&a.c.og(true);break;case 154:a.c.og(true);break;default:c==0&&a.c.og(false)}}
function Hwb(a,b){var c,d;if(-1==a.Vh())return b;if(-1==b.Vh())return a;if(Exc==a.Vh())return b;if(Exc==b.Vh())return a;if(0==a.Vh()||0==b.Vh())return a.e.b;if(512==a.Vh())return hwb(b);if(fCc==a.Vh())return gwb(b);if(512==b.Vh())return hwb(a);if(fCc==b.Vh())return gwb(a);c=a.Vh()&b.Vh();if(Mtc(a.Xh(),b.Xh()))d=a.Xh();else{d=null;c=c&-2}return Gwb(a.e,c,a.Vh()|b.Vh(),KAb(false,a.Wh(),b.Wh()),d,a.Wh(),b.Wh(),a.Uh(),b.Uh())}function fhc(){fhc=pU;var a;bhc=vC(qC(sD,1),Kyc,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]);chc=sC(sD,Kyc,46,37,15,1);dhc=vC(qC(sD,1),Kyc,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]);ehc=sC(tD,{3:1,550:1},46,37,14,1);for(a=2;a<=36;a++){chc[a]=pD($wnd.Math.pow(a,bhc[a]));ehc[a]=UT({l:Qyc,m:Qyc,h:524287},chc[a])}}function AA(a,b,c){var d,e,f,g,h,i,j;g=EA(a)+1;b.a+="{\n";b.a+='"';b.a+="version";b.a+='"';b.a+=":";b.a+="3";HA(b,"file",(mB(),pB(c)));HA(b,"lineCount",
""+g);HA(b,"mappings","");KA(new MA(a,b,g));HA(b,"sources","");b.a+="[";GA(b,a.k);b.a+="]";zA(a,b);HA(b,"names","");b.a+="[";GA(b,a.g);b.a+="]";for(f=(i=(new Kjc(a.a)).a.ne().Ld(),new Qjc(i));f.a.Dd();){e=(d=f.a.Ed(),d.xe());h=vsc(a.a,e);nD(h)?j=pB(h):j=sU(h);HA(b,e,j)}b.a+="\n}\n"}function Svb(a){var b,c,d,e,f;if(-1==a.Vh()||Exc==a.Vh())return a;e=a.Vh();if((e&220)==0)return a;switch(e){case 64:return eyb(a.e);case 24:case 8:case 16:return ayb(a.e);case 128:return iyb(a.e)}b=(fm(),new Mq);Lq(b,a.Wh());
(e&64)!=0&&Jq(b,fyb(a.e));(e&128)!=0&&Jq(b,jyb(a.e));(e&24)!=0&&Jq(b,byb(a.e));f=Ewb(a.e,e&-217,ro(new pmc(b.a)),a.Xh(),Ovb);for(d=a.Uh().Ld();d.Dd();){c=d.Ed();f=Cwb(f,Svb((je(c.d==(Rub(),Qub)),c.a)))}return f}function EY(a,b){var c,d,e,f,g,h;f=a.pg();e=b==0&&1/b<0;(b<0||e)&&f==45&&DY(a," ");if(e)DY(a,"-0");else if(dU(WT(b))==b){g=WT(b);d=g;c=0;if($wnd.Math.abs(b)>=100)while(VT(ZT(UT(d,10),WT($wnd.Math.pow(10,c+1))),g)){d=UT(d,10);++c}if(c>2)DY(a,fU(d)+"E"+c);else{h=ST(g,0)<0?$T(g):g;ST(h,1E12)>
0&&Rgc(h,4).length+2<(""+fU(h)).length?DY(a,(ST(g,0)<0?"-":"")+"0x"+Rgc(h,4)):DY(a,""+fU(g))}}else DY(a,Chc(Ahc(""+b,".0E","E"),"$1."))}function qcb(a){var b,c,d,e,f,g;this.a=new qrc;ke(a.a.length==(new Brc(a)).a.size(),"Found duplicate modules");this.b=Om(a);this.c=new Ulc;for(g=new pmc(a);g.a<g.c.a.length;){f=nmc(g);e=0;for(c=new pmc(f.a);c.a<c.c.a.length;){b=nmc(c);d=b.b;if(d<0)throw QT(new Acb(TWb("Modules not in dependency order: %s preceded %s",vC(qC(yR,1),Uxc,1,5,[f.d,b.d])),f,b));e=e>d+1?
e:d+1}f.b=e;e==this.c.a.length&&Jlc(this.c,new Ulc);Mlc(this.c,e).add(f)}}function C6b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!iD(b,82))return false;f=b;if(!a.b.Di(f.b,c,d))return false;m=a.a.b;i=f.a.b;while(!!m&&!!i){n=iD(m.k,19)?m.k:null;j=iD(i.k,19)?i.k:null;if(n)if(!j||!j.Di(n,c,d))return false;l=e0b(m,30)!=0;h=e0b(i,30)!=0;k=l||e0b(m,37)!=0;g=h||e0b(i,37)!=0;if(!k&&g){e=h&&(!j||j.Ei()||j.xi());if(!e)return false}l||(m=m.d);h||(i=i.d);if(l&&h){m=null;i=null}}return!m||e0b(m,37)!=0||e0b(m,30)!=0||
!!i}function RIb(a,b){var c,d;if(!wIb(a,b,(AJb(),uJb)))return false;if(!VIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)))){_Ib(a,uJb.d);return false}if((ae(b.j==Q2b,OEc,b),a0b(b,2)).j!=r4b){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[Xxc]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,uJb.d);return false}d=(ae(b.j==Q2b,OEc,b),a0b(b,2)).bi();if(d<0||d%1!=0){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[Xxc]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,uJb.d);return false}return true}function gPb(a){var b;a.d=a.b.b==0?a.d:kPb(a,0).b.b.c;ntc(a.b);
b=a.d;fPb(a);if(!FPb(a))return new gMb((bSb(),wRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d));if((ePb(a,a.d)?lhc(a.e.a,a.d):0)!=47){nPb(a,"Expected '/' in regular expression literal",vC(qC(yR,1),Uxc,1,5,[]));return new gMb((bSb(),wRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d))}fPb(a);while(QPb(ePb(a,a.d)?lhc(a.e.a,a.d):0))fPb(a);return new gMb((bSb(),wRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d))}function uX(){uX=pU;tX=new q4("JSC_REGEXP_REFERENCE",(lX(),kX),new Hic("References to the global RegExp object prevents optimization of regular expressions."));
sX=new q4("JSC_MALFORMED_REGEXP",kX,new Hic("Malformed Regular Expression: {0}"));wo("$1","$2","$3","$4","$5","$6",vC(qC(DR,1),Fxc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext","global","ignoreCase","lastIndex","multiline","source"]))}function Dab(a,b){var c,d,e,f,g,h,i;d=(Gfb(),h=Tfb(b),!h?null:g0b(h,29));i=bgb(b);f=tab(a,b,i);if(!i||!o0b(i))g=false;else if(i.j==(m5b(),g4b))g=Udb(a.a,i.ci(),false);else{oe(i.j==E3b,"Expected getprop, found %s",i.j);
g=Tdb(a.a,i);if(g&&!!d){v0b(i.e,76,true);bfb(a.b.t,Zbb(i,(S9(),L9),vC(qC(DR,1),Fxc,2,6,[(i.b?i.b.f:null).ci(),h0b(i.b)])))}}e=new geb(b,a.a,sab(a,b,d),a.b.d);c=g0b(b,51);!!c&&c.Fh()||Jlc(a.b.p,e);Cdb(a.a,f,e);zab(a,b,i,d,g)}function UGb(a,b){var c,d;if(b==(SHb(),HHb)){c=new zrc;while(true){if(DGb(a,RHb)){d=a.j.n;!lGb.contains(d)&&!q$b(a.e,d)&&qGb(a,"msg.jsdoc.modifies.unknown",d,a.j.g,YHb(a.j));wrc(c,a.j.n);b=!a.o?ZHb(a.j):vGb(a)}else{oGb(a,KEc,a.j.g,YHb(a.j));return b}if(DGb(a,KHb))b=!a.o?ZHb(a.j):
vGb(a);else break}if(DGb(a,NHb)){b=!a.o?ZHb(a.j):vGb(a);b_b(a.e,c)||oGb(a,"msg.jsdoc.modifies.duplicate",a.j.g,YHb(a.j))}else oGb(a,KEc,a.j.g,YHb(a.j))}return b}function _Gb(a,b){var c;if(b==(SHb(),LHb)){b=!a.o?ZHb(a.j):vGb(a);if(b==AHb||b==FHb||b==PHb||b==NHb||b==OHb||b==KHb||b==MHb||b==CHb||b==DHb){a.o=b;return FGb(a,(m5b(),D4b))}return lHb(a,(m5b(),D4b),LGb(a,b))}else if(b==yHb)return lHb(a,(m5b(),I2b),LGb(a,!a.o?ZHb(a.j):vGb(a)));else{c=LGb(a,b);if(c)if(DGb(a,LHb)){!a.o?ZHb(a.j):vGb(a);return lHb(a,
(m5b(),D4b),c)}else if(DGb(a,yHb)){!a.o?ZHb(a.j):vGb(a);return lHb(a,(m5b(),I2b),c)}return c}}function vbb(a,b){var c,d,e,f,g,h,i,j,k,l;Xd(b.j==(m5b(),E3b));j=f0b(b.e);if(j.j!=t4b)return;c=fgb(b);d=pBb(c);k=(e=Jdb(a.a,d,false),!e?null:iD(e.c,75)?e.c:null);if(!k){for(i=(!j.b?(gnc(),gnc(),fnc):new V1b(j.b)).Ld();i.Dd();){g=i.Ed();f=g.b?g.b.f:null;!!f&&f.j==y3b&&pbb(a,f,null)}return}l=A0b(b,b.g,76);l!=b.g&&(b.g=l);b.g=new E1b(76,1,b.g);for(h=(!j.b?(gnc(),gnc(),fnc):new V1b(j.b)).Ld();h.Dd();){g=h.Ed();
Vab(a,k,g.ci(),g,g.b?g.b.f:null)}}function NOb(a){switch(kPb(a.j,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 GWb(a,b,c){var d,
e,f,g,h,i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=Ohc(b);if(h>=0){d=d<h?d:h;iD(b,24)?(l=b.a.length,d<l?b.a=Hhc(b.a,0,d):d>l&&(b.a+=Rhc(sC(rD,Gxc,46,d-l,15,1))),undefined):b=nD(b)?b.substr(0,d-0):b.lj(0,d)}k>0&&(k=Wgc(Ohc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=sC(rD,Gxc,46,k-d,15,1);Emc(f,f.length,e);g=a.b.f;i=iD(b,24)?b:new fic(b);g?(i.a+=Shc(f,0,f.length),i):cic(i,j,Shc(f,0,f.length));return i}function Dwb(a,b){switch(b){case 0:return a.b;case 8:return a.D;case 16:return a.f;case 32:return a.k;
case 64:return a.r;case 128:return a.u;case 256:return a.G;case 512:return a.F;case fCc:return a.g;case Exc:return a.K;case -1:return a.v;case 24:return a.a;case 192:return a.s;case 280:return a.H;case 320:return a.I;case 384:return a.J;case 288:return a.q;case 56:return a.n;case 96:return a.o;case 160:return a.p;default:return new Oyb(a,b)}}function Snb(a,b,c,d){var e,f,g;switch(d.j.f){case 75:break;case 26:case 27:d.b==c&&Onb(a,b,c)&&Xnb(a,d,d.e);break;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:if(Onb(a,
b,c))if(d.b==c){e=d.e;if(e.j==(m5b(),u3b)){f=e.e;rhb(f,e);$_(a.a.a)}else{g=c.d;x0b(d,g);B0b(e,d,g);$_(a.a.a)}}else{B0b(d,c,new _0b((m5b(),p4b)));$_(a.a.a)}break;default:if(Onb(a,b,c)){B0b(d,c,new _0b((m5b(),p4b)));$_(a.a.a)}}}function t5b(a,b,c,d,e){var f,g,h,i,j,k,l;g=new i2b((m5b(),z3b),a);de(b);de(c);for(j=new Zsc(new Qsc(b));j.b!=j.c.a.b;){h=Xsc(j);f=NXb(h.d);P_b(g,u5b(f,h.e))}for(i=new Zsc(new Qsc(c));i.b!=i.c.a.b;){h=Xsc(i);f=NXb(h.d);l=A0b(f,f.g,80);l!=f.g&&(f.g=l);f.g=new E1b(80,1,f.g);P_b(g,
u5b(f,h.e))}if(d!=null){k=new b1b(G4b,(oe(thc(d,Nhc(46))==-1,yzc,d),new _1b(g4b,d)));P_b(g,(!!e&&(l=A0b(k,k.g,78),l!=k.g&&(k.g=l),!!e&&(k.g=new O1b(78,e,k.g))),k))}return g}function tW(a,b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return Le(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=mxc((exc(g),g),(exc(h),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 mhc(a.a.c,b.a.c)}function YFb(a,b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);switch(c){case "any":d=YDb(a.a,new h2b((m5b(),q2b)));break;case Bxc:d=YDb(a.a,new h2b((m5b(),s4b)));break;case Axc:d=YDb(a.a,new h2b((m5b(),O2b)));break;case Dxc:d=YDb(a.a,new h2b((m5b(),S4b)));break;case fAc:d=YDb(a.a,new h2b((m5b(),i5b)));break;case EBc:d=YDb(a.a,new h2b((m5b(),d5b)));break;default:d=YDb(a.a,v5b(b.a))}}else d=YDb(a.a,
v5b(b.a));i1b(d.i)==-1&&xEb(d,b.o.b,b.o.a);return d}function iV(a,b,c){var d,e,f,g,h,i,j,k;switch(b.j.f){case 96:case 84:case 85:i=o5b(b.j);i!=-1&&(e=b0b(b),i!=e&&nW(bzc+i+czc+e,b));k=b.b;c?uV(a,k,true):uV(a,k,false);break;case 154:f=b0b(b);0!=f&&nW(azc+f,b);break;case 112:lV(a,b);break;case 155:j=o5b(b.j);j!=-1&&(g=b0b(b),j!=g&&nW(bzc+j+czc+g,b));gV(b.b);break;case 156:h=o5b(b.j);h!=-1&&(d=b0b(b),h!=d&&nW(bzc+h+czc+d,b));break;case 79:break;default:nW("Class contained member of invalid type "+b.j,
b)}}function TYb(a){var b,c,d,e,f,g,h,i,j;e=new Ulc;!!a.i&&Jlc(e,a.i.a);!!a.g&&Jlc(e,a.g.a);if(a.d){!!a.d.a&&Jlc(e,a.d.a.a);if(a.d.e)for(d=new pmc(a.d.e);d.a<d.c.a.length;){c=nmc(d);Jlc(e,c.a)}if(a.d.f)for(d=new pmc(a.d.f);d.a<d.c.a.length;){c=nmc(d);Jlc(e,c.a)}if(a.d.n)for(h=(f=(new Ujc(a.d.n)).a.ne().Ld(),new Zjc(f));h.a.Dd();){g=(b=h.a.Ed(),b.ye());!!g&&Jlc(e,g.a)}if(a.d.r)for(j=new pmc(a.d.r);j.a<j.c.a.length;){i=nmc(j);!!i&&Jlc(e,i.a)}}return e}function ZMb(a,b,c){var d,e,f,g,h,i,j,k;h=kPb(a.j,
0).b.b;nMb(a,(bSb(),jQb));g=null;(!b||(k=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),k)||!a.b.c&&XLb(k)))&&(g=oMb(a));e=xMb(a);i=null;if(AOb(a,FQb)){nMb(a,FQb);i=BMb(a,1)}f=(Gm(),new Zp);if(a.b.d&&AOb(a,NQb)){nMb(a,NQb);j=nOb(a);Jlc(f.a,de(j));while(AOb(a,pQb)){nMb(a,pQb);j=nOb(a);!!j&&(Jlc(f.a,de(j)),f)}}nMb(a,gRb);d=_Mb(a,c);nMb(a,lQb);return new zSb(new oWb(h,a.g),g,e,i,Om(f.a),d)}function h6(a){var b,c,d,e,f,g,h,i,j,k;b=z0b(a.d);h=z0b(a.d);g=!!a.d.b;i=$5++;j=FXb(cYb((m5b(),
o4b),b),pXb(vC(qC(hQ,1),zzc,7,0,[xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(i))),r6()])));k=A0b(j,j.g,67);k!=j.g&&(j.g=k);j.g=new E1b(67,1,j.g);f=s6(i);Q_b(a.j,j);N_b(a.j,h,j);N_b(a.j,f,h);if(g){c=z0b(a.d);d=$5++;e=s6(d);P_b(h,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(d))));P_b(h,r6());N_b(a.j,c,f);N_b(a.j,e,c)}}function V6(a,b){var c,d,e,f,g;if(b.j==(m5b(),y3b)){!a.b&&(a.b=$fb(b));f=b.b;c=f.d;e=f.ci();e.length!=0&&(Gfb(),b.j==y3b&&!Ygb(b.e))&&S6(a,
a.d,f);je(c.j==y4b);R6(a,a.d,c)}else if(b.j==V2b){!!a.d.e&&(a.b=$fb(b));d=b.b;d.j==k3b||(Gfb(),b.j==V2b&&!Ygb(b.e)&&S6(a,a.d,d))}else if(b.j==N2b||b.j==w3b||b.j==x3b||b.j==V4b||b.j==e4b){!!a.d.e&&(a.b=$fb(b));g=e0b(b,38)!=0||(Gfb(),b.j==N2b&&!!b.e&&b.e.j==y3b)||b.j==e4b;W6(a,b,g,true)}else{je(!a.d.e);W6(a,b,true,true)}}function EIb(a,b){var c;if(!wIb(a,b,(AJb(),dJb)))return false;if(!CIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)))){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[TEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);
return false}if(!VIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,2)))){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[TEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}if(!VIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,3)))){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[TEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function $Mb(a,b){var c,d;if(AOb(a,(bSb(),ARb)))return fNb(a);else{d=new _Ob(kPb(a.j,0).b.b);d.b=b;d.a=vMb(a);d.c=!!rMb(a,IRb);return zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,"get")&&(KOb(a,1)||kPb(a.j,1).c==iRb)?wNb(a,d):zOb(a,0,LQb)&&
qhc(kPb(a.j,0).a,"set")&&(KOb(a,1)||kPb(a.j,1).c==iRb)?fOb(a,d):zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,Pzc)&&(c=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(c||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&(KOb(a,1)||kPb(a.j,1).c==iRb)?SMb(a,d):aNb(a,d)}}function jbb(a,b,c){var d,e,f,g,h,i;if(b.j==(m5b(),E3b)&&qhc((b.b?b.b.f:null).ci(),Hzc))return kbb(a,b.b,c);g=new oBb(c);if(o0b(b)){h=pBb(b);d=Jdb(a.a,h,false);if(d){e=iD(d.c,153)?d.c:null;if(!!e&&e.c.contains(c))return je(e.d==(Rub(),Qub)),e.a;f=d.c;if(f)return fbb(a,
uub(f,g))}}i=gbb(a,b);!!i&&(i.Vh()==64||i.Vh()==128||i.Vh()==32||i.Vh()==256||(i.Vh()&-25)==0&&(i.Vh()&24)!=0)&&(i=Svb(i));if(!!i&&(YBb(i.Wh(),g)||YBb(i.Uh(),g)))return _vb(i,g);return null}function Zlb(){Zlb=pU;Wlb=new q4("JSC_CANNOT_PARSE_GENERATED_CODE",(lX(),iX),new Hic("Internal compiler error. Cannot parse generated code: {0}"));Ylb=new q4("JSC_GENERATED_BAD_CODE",iX,new Hic("Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}"));
Xlb=new q4("JSC_EXTERN_PROPERTIES_CHANGED",iX,new Hic("Internal compiler error. Extern properties modified."))}function dAb(a,b){var c,d,e,f,g,h;je(mAb(a.d,b.d));if(a==a.a.C&&b.f.a==0)return b;if(a.e)return eAb(a,b);g=Bzb(a.d,b.d);if(!!g&&!NBb(g.a,ACc)&&!NBb(g.a,wCc)){je(!a.b&&!b.b);f=JAb(a.a,true,g,a.g,b.g);if(f==a.a.e)return a.a.d;return new kAb(a.a,g,f,null,a.e,false,a.f)}h=a.b;c=a.c;if(!!g&&NBb(g.a,ACc)&&!a.b){h=b.b;c=b.b.c}e=JAb(a.a,true,g,a.g,b.g);if(e==a.a.e)return a.a.d;d=!h?null:cvb(h,b.b);
if(!(!d||d!=d.a.c))return a.a.d;return new kAb(a.a,g,e,d,a.e,c,a.f)}function Q_(a){var b,c,d;b=(!a.K&&(a.K=new dtb),new Ulc);if(b.a.length==0)return;hwc(g_,"Normalizing");e0(a,"normalize");U_(a,new Yhb(a,false));p_(a);a.H.jb&&(hwc(g_,"Creating extern file for exports"),e0(a,AAc),c=new h8(a),g8(c,a.u),d=LZ(HZ(IZ(new MZ(c.g))),E_(c.b)),"/**\n * @fileoverview Generated externs.\n * @externs\n */\n"+FZ(d),p_(a),undefined);a.L=new rjb(a,a.U,null);a.H._==(K1(),G1)&&ojb(a.L,a.O);a.H.q&&(a.L.o=true);jjb(a.L,
b);njb(a.L,a.n,a.u);a.L=null}function Hbb(a){Ebb();var b,c,d,e,f,g,h,i,j;i=Dhc(a,"\r?\n",0);b=new fq;for(d=0;d<i.length;++d){g=i[d];if(g.length==0||qhc(g.substr(0,1),"#")||qhc(g.substr(0,1),"!"))continue;j=xwc(Cbb,g);if(!twc(j))continue;f=uwc(j,1);c="";g=Ghc(g,uwc(j,0).length);for(;;){h=xwc(Dbb,g);if(!vwc(h))throw QT(new yB("Properties parser failed on line: "+g));c+=uwc(h,1);e=uwc(h,2).length==0;if(e||d+1==i.length)break;g=i[++d]}Jlc(b.b,(Xk(f,c),nv(),new Pp(f,c)))}return new Gbb(In(b.b))}function bub(a,
b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(b.a.o.isEmpty())return a;m=b.b;je(!m.d.d.isEmpty());j=m;g=false;for(o=a.j.Ld();o.Dd();){n=o.Ed();if(sv(m.d,n)){g=true;break}}if(g){d=new fq;for(f=vn(m).Ld();f.Dd();){e=f.Ed();a.j.contains(e.xe())||dq(d,e)}j=In(d.b)}c=new Mvb(a.a);for(l=a.f.Ld();l.Dd();){k=l.Ed();Gvb(c,!k?null:mwb(k,j))}for(i=a.d.Ld();i.Dd();){h=i.Ed();Cvb(c,!h?null:mwb(h,j))}!!a.g&&Hvb(c,mwb(a.g,j));!!a.i&&Ivb(c,mwb(a.i,j));Jvb(c,a.j);return Kvb(c)}function lxb(a,b,c,d,e,f,g){var h,i,j,k,l,m,n,
o,p,q;i=c.j!=(m5b(),y3b);o=i?null:c.b.d;k=new Rxb(o,b);while(Pxb(k)){p=Qxb(k);n=Oxb(k);m=(Vxb(),Txb);!!n&&a.b._f(n)?m=Sxb:!!n&&a.b.bg(n)&&(m=Uxb);j=g||i||!g0b(n,29)?null:Hxb(a,SYb(g0b(n,29)),m,e,d);h=j;l=!b?null:NYb(b,p);!!l&&(!j?h=Hxb(a,l,m,e,d):wrc(a.i,Zbb(n,gxb,vC(qC(DR,1),Fxc,2,6,["formal parameter "+p]))));q=null;if(h){m=h.a;q=h.b}switch(m.f){case 0:Gvb(f,q);break;case 1:Cvb(f,q);break;case 2:Hvb(f,q?q:a.a.K)}}}function Yz(b,c,d){var e,f,g,h,i,j,k;!d&&(d=new aA);try{if(c.c>=0||c.d!=null||c.g!=
null||c.e!=null)throw QT(new jB("Invalid map format"));g=new FA;for(k=c.f.Ld();k.Dd();){j=k.Ed();h=j.d;j.c==0&&(h=null);if(h==null)throw QT(new jB("Unable to retrieve: "+j.d));DA(g,j.b,j.a,h)}i=new dic;try{AA(g,i,c.b)}catch(a){a=PT(a);if(iD(a,94)){e=a;throw QT(new AB(e));}else throw QT(a);}Xz(b,i.a)}catch(a$0){a$0=PT(a$0);if(iD(a$0,94)){f=a$0;throw QT(new jB("IO exception: "+f));}else throw QT(a$0);}}function a7(a){var b,c,d,e,f;e=new dic;for(d=0;d<a.length;){b=lhc(a,d++);if(b==92){c=lhc(a,d++);switch(c){case 116:e.a+=
"\t";break;case 110:e.a+=Gyc;break;case 114:e.a+="\r";break;case 102:e.a+="\f";break;case 98:e.a+="\b";break;case 117:f=lgc(a.substr(d,d+4-d));Uhc(e,f&Kxc);d+=4;break;case 10:case 8232:case 8233:break;case 13:a.charCodeAt(d+1)==10&&++d;break;default:e.a+=String.fromCharCode(b);e.a+=String.fromCharCode(c)}}else e.a+=String.fromCharCode(b)}return e.a}function m7(a,b){var c,d,e,f,g,h,i;g=e0b(b,58)!=0?a.d:a.e;h=b.j==(m5b(),Z2b)?Xfb(g,b.b):Yfb(g,b.ci());if(!h){h=QXb(vC(qC(hQ,1),zzc,7,0,[$Xb("configurable",
new _0b(_4b)),$Xb("enumerable",new _0b(_4b))]));b.j==Z2b?P_b(g,uXb(W_b(b.b,false),h)):P_b(g,$Xb(b.ci(),h))}d=b.b?b.b.f:null;e=H_b((Gfb(),f=Tfb(d),!f?null:g0b(f,29)));t_b(e,new J_b(new b1b(I2b,YXb(a.f)),(c=g0b(b,51),!c?null:c.Dg())));i=$Xb(b.j==F3b||e0b(b,73)!=0?"get":"set",$_b(d));H0b(i,p$b(e,false));P_b(h,i);$0b(h,b)}function Jxb(a,b,c){var d,e,f;ke(!!b,"getEnum should only be called when we know that the enum is defined");if(b.d==(Rub(),Qub))return;f=Cub(b);if(!f){wrc(a.i,Zbb((je(b.d==Oub),b.e).a,
Pwb,vC(qC(DR,1),Fxc,2,6,[])));d=a.a.K}else{e=a.c;d=Bxb(a,f,c,null);if(a.c>e){wrc(a.i,Zbb(f.a,Wwb,vC(qC(DR,1),Fxc,2,6,[])));d=a.a.K;a.c=e}else if(-1==d.Vh()){wrc(a.i,Zbb(f.a,Uwb,vC(qC(DR,1),Fxc,2,6,[])));d=a.a.K}else if(ewb(d)){wrc(a.i,Zbb(f.a,Vwb,vC(qC(DR,1),Fxc,2,6,[])));d=a.a.K}}Dub(b,d)}function VIb(a,b){var c,d,e;if(!(b.j==(m5b(),g4b)||b.j==Q4b||b.j==Q2b)){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[QEc]),zEc+m2b(REc,c)),a.b.Dg(),a.d,a.c);return false}if(b.j==g4b||b.j==Q4b)return true;e=(ae(b.j==Q2b,OEc,b),
b.b.ci());if(!yIb(e)){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[QEc]),zEc+m2b(REc,c)),a.b.Dg(),a.d,a.c);return false}d=CJb(e.toLocaleUpperCase());switch(d.a){case 0:return SIb(a,b);case 1:return JIb(a,b);default:throw QT(new sgc("Invalid type transformation expression"));}}function Mbb(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+="function(";d=c.b;if(d.j==(m5b(),m4b)){b.a+="new:";Nbb(a,b,d.b);f=true}else if(d.j==Z4b){b.a+="this:";Nbb(a,b,d.b);f=true}else if(d.j==k3b){b.a+=")";return}else if(d.j!=y4b){b.a+="):";Nbb(a,
b,d);return}i=null;d.j==y4b?i=d:d.d.j==y4b&&(i=d.d);if(i){e=true;for(h=(!i.b?(gnc(),gnc(),fnc):new V1b(i.b)).Ld();h.Dd();){g=h.Ed();(!e||f)&&(b.a+=",",b);Nbb(a,b,g);e=false}}b.a+=")";j=c.b?c.b.f:null;if(j.j!=k3b){b.a+=":";Nbb(a,b,j)}}function U0b(a,b,c,d,e){var f,g,h,i,j,k;$hc(b,a.j);if(iD(a,9)){b.a+=" ";_hc(b,a.ci())}else if(a.j==(m5b(),y3b)){b.a+=" ";!a.b||a.b.j!=g4b?(b.a+="<invalid>",b):_hc(b,a.b.ci())}else if(a.j==r4b){b.a+=" ";Vhc(b,a.bi())}if(c){h=i1b(a.i);if(h!=-1){b.a+=" ";b.a+=h}if(a.c!=
0){b.a+=" [length: ";Whc(b,a.c);b.a+="]"}}if(d){g=i0b(a);for(f=0;f<g.length;f++){i=g[f];k=r0b(a,i);b.a+=" [";_hc(b,o1b(i));b.a+=": ";b.a+=""+k;b.a+="]"}}if(e&&!!a.k){j=sU(a.k);if(j!=null){b.a+=" : ";b.a+=""+j}}}function Ezb(a,b){czb();var c,d,e,f,g,h,i,j,k;if(a.a!=b.a)return null;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=new fq;for(e=vn(f).Ld();e.Dd();){d=e.Ed();k=d.xe();i=d.ye();j=k==null?null:tv(g.d,k);if(Exc==i.Vh())Jlc(c.b,
(Xk(k,j),nv(),new Pp(k,j)));else if(Exc==j.Vh())Jlc(c.b,(Xk(k,i),nv(),new Pp(k,i)));else{h=Lwb(i,j);if(!h)return null;Jlc(c.b,(Xk(k,h),nv(),new Pp(k,h)))}}return new xzb(In(c.b),a.a)}function WGb(a,b){var c,d,e;e=FGb(a,(m5b(),y4b));c=false;d=null;if(b!=(SHb(),OHb)){do{if(d){!a.o?ZHb(a.j):vGb(a);jHb(a);b=!a.o?ZHb(a.j):vGb(a)}if(b==BHb){jHb(a);if(DGb(a,OHb))d=FGb(a,j3b);else{jHb(a);d=lHb(a,j3b,_Gb(a,!a.o?ZHb(a.j):vGb(a)));jHb(a)}c=true}else{d=_Gb(a,b);if(DGb(a,FHb)){jHb(a);!a.o?ZHb(a.j):vGb(a);d=lHb(a,
p3b,d)}}if(!d)return null;P_b(e,d);if(c)break}while(DGb(a,AHb))}if(c&&DGb(a,AHb))return rGb(a,"msg.jsdoc.function.varargs",a.j.g,YHb(a.j)),null;return e}function HNb(a){var b,c,d,e,f;f=kPb(a.j,0).b.b;e=QNb(a);if(!iD(e,354)||!!e.a)while(zOb(a,0,(bSb(),hRb))||zOb(a,0,iRb)||zOb(a,0,nRb)||zOb(a,0,cRb)||zOb(a,0,MRb))switch(kPb(a.j,0).c.f){case 47:b=JMb(a);e=new vSb(new oWb(f,a.g),e,b);break;case 49:nMb(a,iRb);d=BMb(a,1);nMb(a,nQb);e=new ETb(new oWb(f,a.g),e,d);break;case 51:nMb(a,nRb);c=pMb(a);e=new DTb(new oWb(f,
a.g),e,c);break;case 107:case 104:e=mOb(a,e);break;default:throw QT(new qfc("unexpected case: "+kPb(a.j,0).c));}return e}function bNb(a,b,c){var d,e,f,g,h,i;f=kPb(a.j,0).b.b;nMb(a,b);d=(Gm(),new Zp);while(AOb(a,(bSb(),IQb))||AOb(a,MQb))AOb(a,IQb)?Xp(d,(g=kPb(a.j,0).b.b,nMb(a,IQb),nMb(a,hRb),h=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),h)||!a.b.c&&XLb(h)?yNb(a):WNb(a,1),tMb(a,"of"),OMb(a,1),nMb(a,mQb),new CSb(new oWb(g,a.g)))):Xp(d,(i=kPb(a.j,0).b.b,nMb(a,MQb),nMb(a,hRb),OMb(a,
1),nMb(a,mQb),new DSb(new oWb(i,a.g))));OMb(a,1);nMb(a,c);return new ESb((e=new oWb(f,a.g),Om(d.a),e))}function Fkb(){Fkb=pU;var a,b;Ckb=(m5b(),new Jkb);Dkb=new Ikb("REGISTER_NUMBER",1,(b="goog.tweak.registerNumber",b));Ekb=new Ikb("REGISTER_STRING",2,(a="goog.tweak.registerString",a));Bkb=new Gkb("OVERRIDE_DEFAULT_VALUE",3,"goog.tweak.overrideDefaultValue");ykb=new Gkb("GET_COMPILER_OVERRIDES",4,"goog.tweak.getCompilerOverrides_");xkb=new Hkb("GET_BOOLEAN",5,"goog.tweak.getBoolean");zkb=new Hkb("GET_NUMBER",
6,"goog.tweak.getNumber");Akb=new Hkb("GET_STRING",7,"goog.tweak.getString")}function Cwb(a,b){Rvb();var c,d,e,f,g,h;de(a);de(b);c=a.e;if(-1==a.Vh()||-1==b.Vh())return c.v;if(Exc==a.Vh()||Exc==b.Vh())return c.K;if(0==a.Vh())return b;if(0==b.Vh())return a;if(512==a.Vh()||fCc==a.Vh()||512==b.Vh()||fCc==b.Vh())return c.K;if(a.Xh()!=null&&b.Xh()!=null&&!qhc(a.Xh(),b.Xh()))return c.K;e=a.Vh()|b.Vh();f=DAb(a.Wh(),b.Wh());g=a.Xh()!=null?a.Xh():b.Xh();d=Nub(a.Uh(),b.Uh());if(d.isEmpty())return Ewb(c,e,f,
g,Ovb);h=Ewb(c,e&-5,f,g,Ovb);return Ewb(c,e,f,g,Mub(d,h))}function I7b(a,b){var c,d,e,f,g,h,i,j,k;if(a._i())return a.Zi();else if(a.q){a.q=false;i=new jvc;for(c=a;!!c&&!c.aj()&&i.a.size()<=10;c=c.Ui())Xc(i,c.Vi());j=new dic;j.a+="{";k=!b&&i.a.size()>2;f=0;for(h=(e=(new Jkc(i.a)).a.ne().b.xj(),new Pkc(e));h.a.Dd();){g=(d=h.a.Ed(),d.xe());f>0&&(j.a+=",",j);k?(j.a+="\n  ",j):f>0&&(j.a+=" ",j);j.a+=""+g;j.a+=": ";_hc(j,I5b(a.Yi(g),b));++f;if(!b&&f==10){j.a+=", ...";break}}k&&(j.a+=Gyc,j);j.a+="}";a.q=
true;return j.a}else return b?"?":"{...}"}function Pab(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;m=c.e;k=m.j==(m5b(),Q2b)?m.b:m;if(Dgb(k)&&(Gfb(),!(k.j==E3b&&u0b(k,Czc,Czc.length)))){g=k.e;f=a.c.f.Pf(g,true,false);n=!f.a?null:gbb(a,f.a);if(!n)return null;e=txb(a.c.q,null,b,c,null,null,d).a;return new fub(e.a,e.f,e.d,e.g,e.i,e.c,n,e.j,e.b)}if(m.j==Q2b&&c!=m.b){h=V9(a.c,m.b,d);if(!!h&&h.j.isEmpty()){j=d0b(m,c)-1;i=(l=h.f.size(),j<l?h.f.getAtIndex(j):j<l+h.d.size()?h.d.getAtIndex(j-l):h.g);if(i){o=Nab(c,i);
if(o)return o}}}return null}function Dcb(b,c){var d,e,f,g,h,i,j;e=c.Cf();j=e.c;f=new Jcb(c.Bf());try{g=pIb(b.d,b.d.Eh(),c.Ef(b.d.d?1:0),f);b.c=g.a;b.a=g.b;c.Df();if(g.c!=null){i=b.d.c+".inline.map";h=new onb(Lmb(i,g.c));c.zf(b.d.c,h)}}catch(a){a=PT(a);if(iD(a,94))c.If(new Vbb(null,null,-1,-1,(yU(),xU),null,vC(qC(DR,1),Fxc,2,6,[b.d.c])));else throw QT(a);}!b.c||e.c>j&&(c.Df(),true)?b.c=(d=new _0b((m5b(),K4b)),d):c.Hf(b.c);if(f.b.a.length!=0||f.c.a.length!=0){g=(Om(f.b),Om(f.c),new Icb);w0b(b.c,86,
g)}P0b(b.c,b.d)}function Z0(b){var c,d,e;fe(b.b,"Expected setCompiler to be called first: %s",b);fe(u_(b.b),"Expected compiler to call an error manager: %s",b);if(iD(b.a,314))try{d=(u_(b.b),isb().Fj(b.a.Gg().Eh()));return new Ncb(d,b.a,b.b)}catch(a){a=PT(a);if(iD(a,94)){pW(u_(b.b),(lX(),iX),new Vbb(null,null,-1,-1,(yU(),xU),null,vC(qC(DR,1),Fxc,2,6,[b.f.a])));return Msb(),Lsb}else throw QT(a);}else{c=new t1(r_(b.b));e=$0(b,b.b);if(!e)return Msb(),Lsb;s1(c,$0(b,b.b));return new Nsb("","",c.c,c.d,c.b)}}
function pIb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;i=new YPb(a.Dg(),b);j=c.b==1;e=new sIb(d,j);f=new $Ob(oIb(c.c));k=new WOb(f,e,i);o=(p=new sWb,q=kPb(k.j,0).b.b,r=xNb(k),nMb(k,(bSb(),yQb)),uWb(p.a,bU(WT(Pwc()),p.b)),new HVb(new oWb(q,k.g),r,Om(k.a.a.a)));n=null;Gm();h=k.d;if(!e.d||j){g=SEb(o,a,b,c,d);n=g.p;h=SJb(h,g.e);m=A0b(n,n.g,38);m!=n.g&&(n.g=m);n.g=new E1b(38,1,n.g);l=A0b(n,n.g,89);l!=n.g&&(n.g=l);!!h&&(n.g=new O1b(89,h,n.g));c.d!=(EDb(),DDb)&&Om(k.a.a.a)}return new vIb(n,h,k.f)}function Pgb(a){Gfb();
var b,c,d,e,f,g,h;e=(f=Tfb(a),!f?null:g0b(f,29));if(!!e&&TYb(e).a.length!=0)return false;c=g0b(a,51);if(!(!!c&&c.Fh())&&(!e||(e.a&37)==0))return false;if(a.e.j==(m5b(),g5b)){h=a;d=a.b}else if(a.j==u3b){b=a.b;if(b.j!=u2b||b.b.j!=E3b)return false;h=b.b;d=b.b?b.b.f:null}else if(a.j==E3b){g=a.e;if(g.j!=u2b||g.e.j!=u3b)return false;h=a;d=g.b?g.b.f:null}else return false;if(!d||!h)return false;if(d.j==t4b)return true;return d.j==w4b&&s0b(h,d.b)&&(d.b?d.b.f:null).j==t4b}function Wub(a,b){var c,d;if(a==a.a.i)return b.a+=
CDc,b;else if(a==a.a.A)return b.a+=DDc,b;else if(a==a.a.t)return b.a+=ACc,b;b.a+="function(";if(a.d){b.a+="new:";$hc(b,a.d);b.a+=","}else if(a.g){b.a+="this:";$hc(b,a.g);b.a+=","}for(d=0;d<a.i.size();++d){nwb(a.i.getAtIndex(d),b);b.a+=","}for(c=0;c<a.e.size();++c){nwb(a.e.getAtIndex(c),b);b.a+="=,"}if(a.j){b.a+=Qzc;nwb(a.j,b)}bfc(b,b.a.length-1)==44&&bic(b,b.a.length-1);b.a+=")";if(a.k){b.a+=":";nwb(a.k,b)}a.c&&(b.a+=" (loose)",b);return b}function Vac(a){Tic(a.k);tsc(a.b);Qac(a);Tic(a.g);Rac(a,Oac(a,
(wac(),v9b)));Rac(a,Oac(a,x9b));Rac(a,Oac(a,y9b));Rac(a,Oac(a,B9b));Rac(a,Oac(a,P9b));Sac(a,Oac(a,P9b),"Null");Rac(a,Oac(a,S9b));Rac(a,Oac(a,V9b));Rac(a,Oac(a,_9b));Rac(a,Oac(a,D9b));Rac(a,Oac(a,uac));Rac(a,Oac(a,F9b));Rac(a,Oac(a,pac));Rac(a,Oac(a,bac));Rac(a,Oac(a,dac));Rac(a,Oac(a,lac));Rac(a,Oac(a,fac));Rac(a,Oac(a,hac));Rac(a,Oac(a,iac));Rac(a,Oac(a,vac));Sac(a,Oac(a,vac),"Undefined");Sac(a,Oac(a,vac),fAc);Sac(a,Oac(a,H9b),ACc)}function ZGb(a,b){var c,d;if(b!=(SHb(),HHb)){oGb(a,LEc,a.j.g,YHb(a.j));
return b}else{d=new zrc;while(true){if(DGb(a,RHb)){c=a.j.n;a.k.contains(c)||qGb(a,"msg.jsdoc.suppress.unknown",c,a.j.g,YHb(a.j));wrc(d,a.j.n);b=!a.o?ZHb(a.j):vGb(a)}else{oGb(a,LEc,a.j.g,YHb(a.j));return b}if(EGb(a,KHb,AHb))b=!a.o?ZHb(a.j):vGb(a);else break}if(DGb(a,NHb)){b=!a.o?ZHb(a.j):vGb(a);r_b(a.e,d)||oGb(a,"msg.jsdoc.suppress.duplicate",a.j.g,YHb(a.j))}else oGb(a,LEc,a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a))}}function gSb(){bSb();return vC(qC(DN,1),Zxc,13,0,[yQb,DQb,LQb,eQb,hQb,iQb,
rQb,sQb,uQb,vQb,wQb,xQb,HQb,IQb,JQb,MQb,PQb,QQb,_Qb,xRb,LRb,PRb,QRb,TRb,VRb,YRb,ZRb,$Rb,_Rb,jQb,qQb,zQb,EQb,FQb,OQb,KRb,NQb,RQb,VQb,kRb,sRb,tRb,uRb,IRb,aSb,gRb,lQb,hRb,mQb,iRb,nQb,nRb,ARb,pQb,fRb,kQb,UQb,KQb,aQb,BQb,aRb,CQb,bRb,oRb,WQb,ERb,GRb,lRb,qRb,YQb,SQb,yRb,WRb,ZPb,cQb,fQb,bQb,RRb,_Pb,jRb,vRb,oQb,AQb,pRb,XQb,FRb,HRb,mRb,TQb,zRb,XRb,$Pb,dQb,gQb,BRb,CRb,rRb,dRb,SRb,GQb,eRb,JRb,wRb,DRb,MRb,NRb,ORb,cRb,URb,tQb,ZQb,$Qb])}function nOb(a){var b,c,d,e;b=kPb(a.j,0).b.b;c=kPb(a.j,0).c;if(!(arc(Yqc((bSb(),
LQb),vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),c)||!a.b.c&&XLb(c))&&!arc(Yqc(ZRb,vC(qC(DN,1),Zxc,13,0,[hRb,gRb,VRb])),kPb(a.j,0).c)){TOb(a,"Unexpected token '%s' in type expression",vC(qC(yR,1),Uxc,1,5,[kPb(a.j,0).c]));return new XVb(new oWb(b,a.g),(Gm(),new Gx("error")))}d=vNb(a);if(!AOb(a,cQb))return d;e=(Gm(),new Zp);Jlc(e.a,de(d));do{nMb(a,cQb);Xp(e,MMb(a))}while(AOb(a,cQb));return new _Vb(new oWb(b,a.g),Om(e.a))}function lPb(b){var c,d,e,f;while(b.indexOf("\\")!=-1){e=thc(b,Nhc(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(Afc(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=lgc(f)&Kxc;if(!(RPb(c)||/\d/.test(String.fromCharCode(c))))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d,b.length-d)}catch(a){a=PT(a);if(iD(a,96)||iD(a,295))return null;else throw QT(a);}}return b}function xbb(a,b,c){var d,e,f,g,h,i,j;j=b.ci();h=Udb(a.a,j,false);if(iab(b)){Mab(a,(Gfb(),i=Tfb(b),
!i?null:g0b(i,29)),j,b.b,null,a.a);return}if(jab(b)){Mab(a,(Gfb(),i=Tfb(b),!i?null:g0b(i,29)),j,b,null,a.a);return}if(h&&_db(a.a,j))return;if(_gb(b)||Agb(b)){h||Bdb(a.a,j,a.c.d.K,false,(e=g0b(b,51),!!e&&e.Fh()));return}f=b.b;if(!!f&&f.j==(m5b(),y3b))return;if(c.j==(m5b(),U2b))Bdb(a.a,j,a.c.d.K,false,false);else{g=aab(a.c,b);d=_9(a.c,b,a.a);!d&&(d=Xab(a,b));Bdb(a.a,j,d,g,(e=g0b(b,51),!!e&&e.Fh()))}}function QIb(a,b){var c,d,e,f,g;if(!wIb(a,b,(AJb(),vJb)))return false;g=(ae(b.j==(m5b(),Q2b),OEc,b),
b0b(b)-1);e=(ae(b.j==Q2b,OEc,b),a0b(b,1));if(e.j!=g4b&&e.j!=Q4b){a.a.fh((d=vC(qC(yR,1),Uxc,1,5,["type name or type variable"]),zEc+m2b(PEc,d)),a.b.Dg(),a.d,a.c);a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[ZEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}for(f=1;f<g;f++)if(!VIb(a,(ae(b.j==Q2b,OEc,b),a0b(b,f+1)))){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[ZEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function DAb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(a.isEmpty())return b;else if(b.isEmpty())return a;
q=a.Md(sC(OM,{941:1,3:1,4:1},130,0,0,1));f=ymc(q,q.length);g=new RAb(0);for(p=b.Ld();p.Dd();){o=p.Ed();c=false;for(d=0;d<q.length;d++){n=q[d];h=n.d;i=o.d;if(mAb(h,i)){if(!i&&!!h&&!bAb(n,o,new VBb((Uyb(),Uyb(),Tyb)))||!h&&!!i&&!bAb(o,n,new VBb((Uyb(),Uyb(),Tyb))))break;f[d]=null;c=true;QAb(g,AAb(n,o));break}}c||QAb(g,o)}for(k=f,l=0,m=k.length;l<m;++l){j=k[l];!!j&&QAb(g,j)}return fm(),e=g.a,qo(e)}function Bab(a,b){var c,d,e,f,g,h,i;if(Tdb(a.a,b))return;h=hgb(b);i=pBb(h);d=(Gfb(),e=Tfb(b),!e?null:g0b(e,
29));if(!!d&&((d.a&2)!=0||(d.a&512)!=0||(d.a&nCc)!=0)){g=(c=Jdb(a.a,i,false),!c?null:iD(c.c,75)?c.c:null);if((d.a&2)!=0&&(!g||g.f!=0)){bfb(a.b.t,Zbb(h,(S9(),y9),vC(qC(DR,1),Fxc,2,6,[Pc(new Sc("."),i.a.Ld())])));return}if(((d.a&512)!=0||(d.a&nCc)!=0)&&(!g||g.f==0)){bfb(a.b.t,Zbb(h,(S9(),z9),vC(qC(DR,1),Fxc,2,6,[Pc(new Sc("."),i.a.Ld())])));return}}f=Ndb(a.a,i);if(f){v0b(b.e,76,true);Ddb(a.a,b,f)}}function OWb(a){var b,c,d,e;d=0;c=new dic;b=a.b.b;if(iD(a.a,150))e=a.a.a;else if(iD(a.a,125))e=a.a.a;else throw QT(DWb(a));
if(a.b.i)if(b==111){c.a+="0";d+=1}else{c.a+="0x";d+=2}if(100==b){a.b.e?$hc(c,a.a):(c.a+=fU(e),c);if(ST(e,0)<0)if(a.b.g)return RWb(a,c);else a.b.k&&++d;else if(a.b.d){cic(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){cic(c,0,String.fromCharCode(32));d+=1}}else{iD(a.a,125)&&(e=TT(MC(XT(e)?cU(e):e,XT(JFc)?cU(JFc):JFc)));111==b?_hc(c,Rgc(e,3)):_hc(c,Rgc(e,4))}return GWb(a,c,d)}function uV(a,b,c){var d,e,f,g,h,i,j,k;NV((m5b(),y3b),b);f=o5b(b.j);f!=-1&&(e=b0b(b),f!=e&&nW(bzc+f+czc+e,b));VV(a,b.b.d);
g=b.b;d=b.b?b.b.f:null;if(e0b(b,60)!=0){v2(a.a.v)||nW("Feature 'arrow functions' is only allowed in ES6 mode.",b);NV(g4b,g);g.ci()==null&&nW(kzc,g);g.ci().length==0||nW("Expected empty string.",g);h=o5b(g.j);h!=-1&&(i=b0b(g),h!=i&&nW(bzc+h+czc+i,g));d.j==N2b?cV(a,d):sV(a,d)}else{NV(g4b,g);g.ci()==null&&nW(kzc,g);j=o5b(g.j);j!=-1&&(k=b0b(g),j!=k&&nW(bzc+j+czc+k,g));c?NV(k3b,d):cV(a,d)}}function ezb(a,b){var c,d,e,f,g;je(a.a==b.a);if(a.b.d.d.isEmpty())return rzb(b);if(b.b.d.d.isEmpty())return rzb(a);
for(g=a.a.o.Ld();g.Dd();){f=g.Ed();qe(Xn(a.b,f),_Dc,f,a.b.Ve());se(Xn(b.b,f),"Other (%s) doesn't contain mapping (%s->%s) from this (%s)",b,f,Yn(a.b,f),a);e=Yn(a.b,f);d=Yn(b.b,f);c=a.a.s;if(c.N&&NBb(a.a,jCc)){e=jwb(e,c.q);d=jwb(d,c.q);if(!cwb(e,d,new VBb((Uyb(),Uyb(),Tyb)))&&!cwb(d,e,new VBb((null,Tyb))))return false}else if(!cwb(e,d,new VBb((Uyb(),Uyb(),Tyb))))return false}return true}function Scb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;l=a.c;n=b.f;i=b.d;g=b.a;d=new dic;e=new dic;k=Wcb(n,i);j=!l?null:C_(l,
b.f,b.d,b.a);if(!j)e.a+=""+k;else{n=j.d;i=j.c;g=j.a;d.a+=""+k;d.a+="\nOriginally at:\n";_hc(e,Wcb(n,i))}m=!l?null:B_(l,n,i);_hc(e,HU(a,c?(lX(),kX):(lX(),iX)));e.a+=" - ";_hc(e,b.c);_hc(d,JU(a,e.a));d.a+=Gyc;if(m!=null){d.a+=""+m;d.a+=Gyc;if(a.a==(zmb(),xmb)&&0<=g&&g<=m.length){for(h=0;h<g;h++){f=m.charCodeAt(h);/\s/.test(f)?(d.a+=String.fromCharCode(f),d):(d.a+=" ",d)}d.a+="^\n"}}return d.a}function S5(a,b){var c,d,e,f,g,h,i,j;Xd(b.j==(m5b(),u4b)||b.j==s2b);j=GBc+a.b++;if(zgb(b.e)){i=b.e;c=i.b?i.b.f:
null;d=wXb((oe(thc(j,Nhc(46))==-1,yzc,j),new _1b(g4b,j)),g5b);$0b(d,b);B0b(i,b,d);h=xXb(mXb(b,(oe(thc(j,Nhc(46))==-1,yzc,j),new _1b(g4b,j))));$0b(h,b);Q_b(c,h)}else{g=b.e;je(g.j==g3b);e=g.e;i=e.e;je((Gfb(),i.j==x3b||i.j==w3b&&b0b(i)==3));c=i.b?i.b.f:null;B0b(e,g,X0b((oe(thc(j,Nhc(46))==-1,yzc,j),new _1b(g4b,j)),b));f=e.j;d=vXb($_b(b),(oe(thc(j,Nhc(46))==-1,yzc,j),new _1b(g4b,j)),f);$0b(d,b);Q_b(c,d)}}function s7(a,b){var c,d,e,f,g,h,i,j,k;(b.a.a&aCc)==0&&(b.a.a&bCc)==0&&(b.a.a&Tyc)==0&&q_b(b);if(a){(f=
!a.d?null:a.d.p,!f?(gnc(),gnc(),fnc):f).isEmpty()||r_b(b,(e=!a.d?null:a.d.p,!e?(gnc(),gnc(),fnc):e));for(d=MYb(a).Ld();d.Dd();){c=d.Ed();k_b(b,c,NYb(a,c));l_b(b,c,DYb(a,c))}for(j=QYb(a).Ld();j.Dd();){i=j.Ed();v_b(b,i);u_b(b,i,RYb(a,i))}k=a.j;!!k&&k!=(j$b(),e$b)&&B_b(b,k);(a.a&256)!=0&&D$b(b);(!a.d?null:a.d.b)!=null&&BYb(b.a)==null&&E$b(b,!a.d?null:a.d.b);iZb(b.a,a);for(h=PYb(a).Ld();h.Dd();){g=h.Ed();s_b(b,g)}}}function sbb(a,b,c){var d,e,f,g,h,i;e=g0b(b,29);!!e&&(!e.d?null:e.d.g)!=null&&wrc(a.b,
b);g=c.j==(m5b(),u2b)?c.b:c;if(Pgb(g)&&$db(a.a,g))for(i=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();i.Dd();){h=i.Ed();bab(a.c,h.ci(),h);rbb(a,h,g,h.ci())}else if(!Agb(g)&&!Sgb(g))for(i=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();i.Dd();){h=i.Ed();bab(a.c,h.ci(),h);!!g0b(h,29)&&wsc(a.c.g,h,W9(a.c,g0b(h,29),a.a));S9();d=(Gfb(),f=Tfb(h),!f?null:g0b(f,29));!!d&&(d.a&1)!=0&&(d.a&2)==0&&bfb(a.c.t,Zbb(h,I9,vC(qC(DR,1),Fxc,2,6,[])))}}function Oib(){Oib=pU;new q4("JSC_INVALID_GETELEM_INDEX_ERROR",(lX(),kX),
new Hic("Array index not integer: {0}"));Lib=new q4("JSC_INDEX_OUT_OF_BOUNDS_ERROR",kX,new Hic("Array index out of bounds: {0}"));Mib=new q4("JSC_NEGATING_A_NON_NUMBER_ERROR",kX,new Hic("Can''t negate non-numeric value: {0}"));Nib=new q4("JSC_SHIFT_AMOUNT_OUT_OF_BOUNDS",kX,new Hic("Shift amount out of bounds (see right operand): {0}"));Kib=new q4("JSC_FRACTIONAL_BITWISE_OPERAND",kX,new Hic("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function SMb(a,b){var c,d,e,f,g,h;a.d=SJb(a.d,(NKb(),
_Jb).a);tMb(a,Pzc);h=kPb(a.j,0).c;if((bSb(),LQb)==h||(SLb(),!!Yn(tLb,h))){f=pMb(a);c=aTb(gTb(jTb(bTb(new kTb((pTb(),oTb))),b.c),f),b.a);if(b.b){dTb(iTb(cTb(fTb(c,xMb(a)),rNb(a,1)),wMb(a)),new QSb(uMb(a,b.d)));sMb(a)}else uNb(a,c,false);return _Sb(c,uMb(a,f.b.b))}else if(a.b.d&&zOb(a,0,iRb)&&zOb(a,1,LQb)&&zOb(a,2,oQb)){e=DNb(a);sMb(a);return e}else{g=cNb(a);c=jTb(bTb(new kTb((pTb(),nTb))),b.c);uNb(a,c,false);d=_Sb(c,uMb(a,g.o.b));return new ISb(uMb(a,g.o.b),b.a,g,d)}}function IEb(a,b,c,d,e){var f,
g;this.n=new zrc;this.e=(QJb(),GJb);this.s=a;this.k=e.Oe();this.b=PEb(this.k);this.j=new Ulc;this.q=b;this.f=new F_b(c.d!=(EDb(),DDb));for(f=0;true;f++){f=uhc(a,Nhc(10),f);if(f==-1)break;Jlc(this.j,Hgc(f))}this.r=!b?null:b.Dg();this.a=c;this.d=d;this.u=new jGb(this);this.t=(g=new _0b((m5b(),K4b)),P0b(g,this.q),g);switch(c.c.f){case 0:this.o=null;break;case 1:case 3:this.o=UDb;break;case 2:case 4:case 7:case 5:case 6:this.o=VDb;break;default:throw QT(new sgc("unknown language mode: "+c.c));}}function MAb(a,
b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.c)return Wzb(a,b)?a:null;if(b.c)return null;if(!Mtc(a.e,b.e))return null;g=a.d;h=b.d;if(!g&&!h)f=null;else if(!g||!h)return null;else{f=Ezb(g,h);if(!f)return null}d=null;if(!!a.b||!!b.b){d=yvb(a.b,b.b);if(!d)return null}e=(Uyb(),Uyb(),Tyb);for(n=(i=(new Kjc(a.g)).a.ne().Ld(),new Qjc(i));n.a.Dd();){m=(c=n.a.Ed(),c.xe());k=bh(Tg(a.g,m,false));l=bh(Tg(b.g,m,false));if(!l)return null;j=gBb(k,l);if(!j)return null;e=Wyb(e,m,j)}return FAb(a.a,f,e,d,a.e,false,Rzb(a.f,b.f))}
function Mwb(a,b,c){var d,e,f,g,h,i,j,k,l,m;de(c);l=new btc;for(h=a._d(b).Ld();h.Dd();){g=h.Ed();if(Exc==c.Vh()){l.a.put(g,l);continue}if(Exc==g.Vh()){c=null;break}f=c.Wh();if(f.size()==1&&Yr(f.Ld()).c){c=null;break}else{e=g.Wh();if(e.size()==1&&Yr(e.Ld()).c){l.a.put(g,l);continue}}m=Lwb(c,g);if(m){l.a.put(g,l);c=m}else if(cwb(g,c,new VBb((Uyb(),Uyb(),Tyb))))l.a.put(g,l);else if(cwb(c,g,new VBb((null,Tyb)))){c=null;break}}for(k=(i=(new Kjc(l.a)).a.ne().Ld(),new Qjc(i));k.a.Dd();){j=(d=k.a.Ed(),d.xe());
a.de(b,j)}!!c&&a.ce(b,c)}function TNb(a,b){var c,d,e,f,g,h,i,j,k;h=kPb(a.j,0).b.b;if(kPb(a.j,0).c==(bSb(),iRb)){f=cNb(a);nMb(a,oQb);k=XNb(a,b);return new FSb(new oWb(h,a.g),f,k)}i=kPb(a.j,0).c;if(LQb==i||(SLb(),SLb(),!!Yn(tLb,i))){g=pMb(a);if(!AOb(a,oQb)){d=g;WLb(d.a)&&!YLb(d.a)&&TOb(a,"cannot use keyword '"+g+"' here.",vC(qC(yR,1),Uxc,1,5,[]));if(AOb(a,AQb)){e=new vTb(new oWb(h,a.g),d);nMb(a,AQb);c=OMb(a,1);return new OSb(new oWb(h,a.g),e,c)}return new IVb(new oWb(h,a.g),g,null)}}else g=INb(a).a;
nMb(a,oQb);j=XNb(a,b);return new IVb(new oWb(h,a.g),g,j)}function AX(){AX=pU;Ef(new jc(46));new Sc(String.fromCharCode(46));zX=new q4("JSC_MISSING_REQUIRE_WARNING",(lX(),jX),new Hic(vzc));yX=new q4("JSC_MISSING_REQUIRE_FOR_GOOG_SCOPE",jX,new Hic(vzc));xX=new q4("JSC_MISSING_REQUIRE_CALL_WARNING",jX,new Hic(vzc));wX=new q4("JSC_EXTRA_REQUIRE_WARNING",jX,new Hic("extra require: ''{0}''"));vX=new q4("JSC_DUPLICATE_REQUIRE_WARNING",jX,new Hic("''{0}'' required more than once."));fm();so(vC(qC(yR,1),Uxc,
1,5,["goog.testing.asserts","goog.testing.jsunit","goog.testing.JsTdTestCaseAdapter"]))}function mMb(a,b,c){var d,e,f,g,h,i,j,k;e=b.b;d=b.a;if(e.o.a.b<d.o.b.b){a.g=e.o.a;vPb(a.j,a.g.c);f=e}else if(e.p==(EVb(),HUb)&&qhc(e.a.a,Pzc)){a.g=e.o.b;vPb(a.j,a.g.c);f=(g=kPb(a.j,0).b.b,a.d=SJb(SJb(a.d,(NKb(),$Jb).a),_Jb.a),tMb(a,Pzc),h=rNb(a,0),i=kPb(a.j,0).b.b.b>a.g.b,(i||zOb(a,0,(bSb(),ARb))||zOb(a,0,(bSb(),lQb))||zOb(a,0,(bSb(),yQb)))&&TOb(a,tFc,vC(qC(yR,1),Uxc,1,5,[])),nMb(a,(bSb(),aQb)),j=NMb(a,c),k=dTb(cTb(bTb(new kTb((pTb(),
lTb))),h),j),_Sb(k,new oWb(g,a.g)))}else{TOb(a,"'=>' unexpected",vC(qC(yR,1),Uxc,1,5,[]));f=b}return f}function ANb(a){var b,c,d,e,f,g,h,i,j,k;j=kPb(a.j,0).b.b;nMb(a,(bSb(),OQb));if(AOb(a,JRb)){f=nMb(a,JRb);sMb(a);return new xTb(new oWb(j,a.g),null,null,null,f)}b=null;h=null;c=null;i=true;k=kPb(a.j,0).c;if(arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),k)||!a.b.c&&XLb(k)){b=oMb(a);AOb(a,pQb)?nMb(a,pQb):i=false}else if(VLb(kPb(a.j,0).c)){d=AMb(a);ROb(a,d,yFc,vC(qC(yR,1),Uxc,1,5,[d]))}if(i)if(AOb(a,
ERb)){nMb(a,ERb);tMb(a,"as");h=oMb(a)}else c=CNb(a);tMb(a,Tzc);g=nMb(a,JRb);e=!g?null:g;sMb(a);return new xTb(new oWb(j,a.g),b,c,h,e)}function n7(a,b,c){var d,e,f,g,h,i;for(h=new Zsc(new Qsc(b.j));h.b!=h.c.a.b;){f=Xsc(h);e=f.d;d=CXb(lhb(a.a,b.f+ZBc),new _1b((m5b(),Q4b),e));H0b(d,f.e);d=$0b((je(JXb(d)),new b1b(u3b,d)),b.c);N_b(c.e,d,c);c=d}for(i=new Zsc(new Qsc(b.b));i.b!=i.c.a.b;){f=Xsc(i);e=f.d;d=CXb(lhb(a.a,b.f),new _1b((m5b(),Q4b),e));H0b(d,f.e);d=$0b((je(JXb(d)),new b1b(u3b,d)),b.c);N_b(c.e,d,
c);c=d}for(g=new Zsc(new Qsc(b.i));g.b!=g.c.a.b;){f=Xsc(g);e=f.d;d=BXb(lhb(a.a,b.f+ZBc),lhb(a.a,e));H0b(d,f.e);d=$0b((je(JXb(d)),new b1b((m5b(),u3b),d)),b.c);N_b(c.e,d,c);c=d}}function JAb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;!c&&(c=!a.R?null:a.R.q);g=d;for(n=new mjc((new ejc(d.a)).a);n.b;){l=ljc(n);i=l.xe();h=mzb(c,i);if(h){g=lAb(b,g,i,h,l.ye());if(g==a.e)return a.e}}for(m=new mjc((new ejc(e.a)).a);m.b;){l=ljc(m);i=l.xe();k=l.ye();if(Tg(d,i,false)){j=bh(Tg(d,i,false));if(YAb(j,k))continue;f=b?new _Ab(j.c,
kwb(j.d,k.d),j.b,eBb(j.a,k.a)):new _Ab(j.c==k.c?j.c:null,Fwb(j.d,k.d),null,eBb(j.a,k.a))}else f=k;h=mzb(c,i);if(h){g=lAb(b,g,i,h,f);if(g==a.e)return a.e}else{if(0==f.d.Vh())return a.e;g=Wyb(g,i,f)}}return g}function w7(a,b,c){var d,e,f,g,h,i;if(b.j==(m5b(),Z2b)&&e0b(b,58)!=0){Z_(a.a,Zbb(b,h7,vC(qC(DR,1),Fxc,2,6,["Static computed property"])));return}if(b.j==Z2b&&!o0b(b.b)){o7(a,b.b);return}i=I_b(q7(b));m7(c,b);if(b.j==Z2b){je(e0b(b,58)==0);h=c.i;g=h0b(b.b)}else{h=e0b(b,58)!=0?c.b:c.j;g=b.ci()}d=vsc(h,
g);e=!d?null:($Bc&d.a)==eCc?d.i:null;if(!!e&&!i.a.di(e.a,false,true,false))Z_(a.a,Zbb(b,j7,vC(qC(DR,1),Fxc,2,6,[g])));else{f=new F_b(false);w_b(f,i);!!g0b(b,29)&&(g0b(b,29).a&fCc)!=0&&J$b(f);e0b(b,58)!=0&&b.j!=Z2b&&e_b(f);wsc(h,g,p$b(f,false))}}function D0(a){var b,c,d,e,f,g,h,i,j,k;if(a.a.H.tc){a.b.c.a.length>0&&!T0(a.b)&&S0(a.b,Gyc);je(a.d.j==(m5b(),K4b));c=a.a.H.Jb;f=g0b(a.d,53).a;k=(d=g0b(a.d,51),!d?null:d.Dg());je(k!=null);je(k.length!=0);c=Bhc(Bhc(c,"%name%",(f+"").replace(/([.?*+^$[\]\\(){}|-])/g,
"\\$1")),"%num%",""+a.c);S0(S0(a.b,c),Gyc)}if(g0b(a.d,29)){i=IYb(g0b(a.d,29));i!=null&&R0(a.b,i)&&S0(S0(S0(a.b,"/*\n"),i),"*/\n")}b=k0(a.a,a.d,a.c==0);if(b.length!=0){S0(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||S0(a.b,";")}return null}function bAb(a,b,c){var d,e,f,g,h;if(b==a.a.C)return true;if(a.c||b.c)return aAb(a,b,c);h=!a.d?gyb(a.a):a.d;f=!b.d?gyb(b.a):b.d;e=true;if(f.a.f==2){if(fzb(f,bh(Tg(c.a,h,false))))return true;c=(Xd(f.a.f!=0),new VBb(Wyb(c.a,
h,f)));tzb(h,f)||(e=false);if(NBb(f.a,tCc)){if(MBb(h.a)&&!tzb(h,f))return false;if(NBb(h.a,wCc))return Vzb(a,f,c)}}else if(!tzb(h,f))return false;if(e)g=new Kjc(b.g);else{g=CBb(f.a);if(!g)return false}if(!Uzb(a,b,g,c))return false;if(!b.b)return true;else if(!a.b)return false;d=bvb(a.b,b.b,true,c,null);return d}function SHb(){SHb=pU;DHb=new THb("EOF",0);EHb=new THb("EOL",1);GHb=new THb("LEFT_ANGLE",2);MHb=new THb("RIGHT_ANGLE",3);RHb=new THb(HDc,4);JHb=new THb("LEFT_SQUARE",5);PHb=new THb("RIGHT_SQUARE",
6);HHb=new THb("LEFT_CURLY",7);NHb=new THb("RIGHT_CURLY",8);IHb=new THb("LEFT_PAREN",9);OHb=new THb("RIGHT_PAREN",10);AHb=new THb("COMMA",11);zHb=new THb("COLON",12);xHb=new THb(MEc,13);KHb=new THb("PIPE",14);QHb=new THb("STAR",15);CHb=new THb("EOC",16);LHb=new THb("QMARK",17);BHb=new THb("ELLIPSIS",18);yHb=new THb("BANG",19);FHb=new THb("EQUALS",20)}function LMb(a,b){var c,d,e,f,g,h;a.d=SJb(a.d,(NKb(),hKb).a);f=kPb(a.j,0).b.b;d=(Gm(),new Zp);nMb(a,(bSb(),iRb));while(AOb(a,pQb)||FOb(a)||zOb(a,0,DRb))if(AOb(a,
pQb)){nMb(a,pQb);Xp(d,new LTb(uMb(a,kPb(a.j,0).b.b)))}else{c=(AOb(a,DRb)?e=(g=kPb(a.j,0).b.b,nMb(a,DRb),h=dOb(a,b),new qSb(new oWb(g,a.g),h)):e=XNb(a,b),e);Jlc(d.a,de(c));if(c.p==(EVb(),WTb))break;else if(AOb(a,pQb)){nMb(a,pQb);if(AOb(a,nQb)){TOb(a,"Array pattern may not end with a comma",vC(qC(yR,1),Uxc,1,5,[]));break}}else break}nMb(a,nQb);return new oSb(new oWb(f,a.g),Om(d.a))}function FNb(a){var b,c,d,e,f,g,h,i;h=kPb(a.j,0).b.b;e=!!rMb(a,(bSb(),ERb));g=null;i=kPb(a.j,0).c;if(i==_Qb)return XMb(a,
true);else if(i==LQb||(SLb(),SLb(),!!Yn(tLb,i)))g=pMb(a);else if(i==iRb)return DNb(a);else if(i==fRb||i==hRb)return XMb(a,false);f=false;if(AOb(a,vRb)){nMb(a,vRb);f=true}if(AOb(a,hRb)||AOb(a,fRb)){d=(b=dTb(iTb(cTb(fTb(aTb(hTb(eTb(jTb(gTb(new kTb((pTb(),oTb)),g),false),e),f),null),xMb(a)),rNb(a,1)),wMb(a)),new QSb(new oWb(h,a.g))),_Sb(b,new oWb(h,a.g)));return d}else{c=wMb(a);return new FTb(new oWb(h,a.g),g,false,f,null,c)}}function txb(b,c,d,e,f,g,h){var i,j,k,l,m,n,o;i=new Mvb(b.a);!!g&&Fvb(i,g.p);
try{if(!!c&&!!(($Bc&c.a)==eCc?c.i:null)){n=pxb(b,c,h,!g?(Gm(),Gm(),Fm):g.o);if(Exc==n.Vh()||-1==n.Vh())return b.e;l=Vvb(n);if(l){o=(m=n.Vh()==2&&n.Wh().size()==1?Yr(n.Wh().Ld()):null,(!m?null:m.b)?null:n);k=gvb(l);!!g&&!(l.g?l.g:l.d)&&(k=dub(k,g.p));return new Nxb(o,k)}else{wrc(b.i,Zbb(e,$wb,vC(qC(DR,1),Fxc,2,6,[])));c=null}}j=sxb(b,c,d,e,f,g,h,i);return new Nxb(null,j)}catch(a){a=PT(a);if(iD(a,232)){wrc(b.i,Zbb(e,ixb,vC(qC(DR,1),Fxc,2,6,[])));return b.e}else throw QT(a);}}function evb(a,b){var c,
d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.isEmpty())return a;j=b;if(!tyb(a.a.j,b)){g=false;for(n=a.n.Ld();n.Dd();){m=n.Ed();if(b.containsKey(m)){g=true;break}}if(g){d=new fq;for(f=b.ne().Ld();f.Dd();){e=f.Ed();a.n.contains(e.xe())||dq(d,e)}j=In(d.b)}}c=new Mvb(a.a);for(l=a.i.Ld();l.Dd();){k=l.Ed();Gvb(c,mwb(k,j))}for(i=a.e.Ld();i.Dd();){h=i.Ed();Cvb(c,mwb(h,j))}!!a.j&&Hvb(c,mwb(a.j,j));Ivb(c,mwb(a.k,j));a.c&&(c.c=true,c);Bvb(c,wvb(a.d,b));Fvb(c,wvb(a.g,b));for(p=a.f.Ve().Ld();p.Dd();){o=p.Ed();Dvb(c,o,a.f.oe(o))}Jvb(c,
a.n);return Lvb(c)}function ggb(a){var b;switch(a.j.f){case 114:if(!!a.b&&!a.b.d)return Rdc(),a.b.ci().length!=0?Pdc:Odc;break;case 31:return Rdc(),a.ci().length>0?Pdc:Odc;case 30:return Rdc(),a.bi()!=0?Pdc:Odc;case 19:return ggb(a.b?a.b.f:null).ij();case 32:case 34:return Rdc(),Odc;case 78:if(!Lfb(a.b,false,null))return Rdc(),Odc;break;case 29:b=a.ci();if(qhc(EBc,b)||qhc("NaN",b))return Rdc(),Odc;else if(qhc(WCc,b))return Rdc(),Pdc;break;case 35:case 38:return Rdc(),Pdc;case 65:case 94:case 23:case 42:case 43:if(!Lfb(a,
false,null))return Rdc(),Pdc}return Rdc(),Qdc}function PC(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&Qyc;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&Vyc)<<8;u=v+w+A;p+=m>>22;m&=Qyc;u+=p>>22;p&=Qyc;u&=Ryc;return AC(m,p,u)}function lwb(a,b){var c,d,e,f;if(-1==b.Vh()||Exc==b.Vh()||a==b)return a;if(512==b.Vh())return hwb(a);if(512==a.Vh()){f=hwb(b);return!f.Wh().isEmpty()||Jub(f.Uh())?pwb(f):f}if(fCc==b.Vh())return gwb(a);if(fCc==a.Vh())return gwb(b);if(-1==a.Vh())return b;if(Exc==a.Vh()){e=b.Vh()==2&&b.Wh().size()==1?Zzb(Yr(b.Wh().Ld())):null;return!!e&&NBb(e.a,wCc)?pwb(b):b}c=a.Vh()&b.Vh();if(Mtc(a.Xh(),b.Xh()))d=
a.Xh();else if(a.Xh()!=null&&b.Xh()==null)return b;else{d=null;c&=-2}return Gwb(a.e,c,a.Vh()|b.Vh(),KAb(true,a.Wh(),b.Wh()),d,a.Wh(),b.Wh(),a.Uh(),b.Uh())}function RGb(a,b,c){var d,e;while(true)switch(b.f){case 13:if(a.i==(uHb(),sHb)){a.i=tHb;b=KGb(a,b,c)}else b=!a.o?ZHb(a.j):vGb(a);break;case 16:d=true;tGb(a,c);if(r$b(a.e)){a.d=p$b(a.e,false);e=a.d.j;switch(e.f){case 0:case 2:pGb(a,(e.e!=null?e.e:""+e.f).toLowerCase());d=false}}return d;case 0:p$b(a.e,false);oGb(a,"msg.unexpected.eof",a.j.g,YHb(a.j));
tGb(a,c);return false;case 1:a.i==(uHb(),tHb)&&(a.i=sHb);b=!a.o?ZHb(a.j):vGb(a);break;default:if(b==(SHb(),QHb)&&a.i==(uHb(),sHb))b=!a.o?ZHb(a.j):vGb(a);else{a.i=(uHb(),tHb);b=wGb(a,!a.o?ZHb(a.j):vGb(a))}}}function SGb(a,b){var c,d;c=xEc;if(b==(SHb(),HHb)){if(DGb(a,RHb)){d=a.j.n;!kGb.contains(d)&&!q$b(a.e,d)&&qGb(a,"msg.jsdoc.idgen.unknown",d,a.j.g,YHb(a.j));c=d;b=!a.o?ZHb(a.j):vGb(a)}else{oGb(a,IEc,a.j.g,YHb(a.j));return b}DGb(a,NHb)?b=!a.o?ZHb(a.j):vGb(a):oGb(a,IEc,a.j.g,YHb(a.j))}switch(c){case xEc:Q$b(a.e)||
oGb(a,JEc,a.j.g,YHb(a.j));break;case yEc:z$b(a.e)||oGb(a,JEc,a.j.g,YHb(a.j));break;case "stable":p_b(a.e)||oGb(a,JEc,a.j.g,YHb(a.j));break;case "xid":D_b(a.e)||oGb(a,JEc,a.j.g,YHb(a.j));break;case "mapped":_$b(a.e)||oGb(a,JEc,a.j.g,YHb(a.j))}return b}function OMb(a,b){var c,d,e,f,g,h,i,j;if(AOb(a,(bSb(),aSb))&&kxc(blc(a.e)))return yOb(a,b);f=kPb(a.j,0).b.b;c=dNb(a,b);if(AOb(a,aQb))return c.p==(EVb(),_Tb)?mMb(a,c,b):(a.d=SJb(a.d,(NKb(),$Jb).a),g=VOb(a,c),h=kPb(a.j,0).b.b.b>a.g.b,(h||zOb(a,0,ARb)||
zOb(a,0,lQb)||zOb(a,0,yQb))&&TOb(a,tFc,vC(qC(yR,1),Uxc,1,5,[])),nMb(a,aQb),i=NMb(a,b),j=dTb(cTb(new kTb((pTb(),lTb)),g),i),_Sb(j,uMb(a,g.o.b)));if(COb(a)){c=UOb(a,c);iSb(c)||TOb(a,vFc,vC(qC(yR,1),Uxc,1,5,[]));d=AMb(a);HRb==d.c&&(a.d=SJb(a.d,(NKb(),kKb).a));e=OMb(a,b);return new sSb(new oWb(f,a.g),c,d,e)}return c}function f8b(a,b){var c,d,e,f,g,h,i,j,k;g=!b;d=M8b(L8b(new O8b(a.u),b?a.a.b:(c=M8b(L8b(new O8b(a.u),a.a.b),a.v.d),new q8b(c.d,null,new E6b(c.d,c.c,c.e,false),c.g,c.f,c.a,c.b))),a.v.d);h=a.a.a;
if(h){i=W_b(h,false);k=new _1b((m5b(),g4b),"thisType");I0b(k,Fac(a.u,F5b(a.j)?Oac(a.u,(wac(),sac)):a.j));Q_b(i,k);if(g)for(e=k.d;e;e=e.d){j=A0b(e,e.g,37);j!=e.g&&(e.g=j);e.g=new E1b(37,1,e.g)}else if(b){f=k.d;(!f||e0b(f,37)!=0||e0b(f,30)!=0)&&(j=A0b(k,k.g,37),j!=k.g&&(k.g=j),k.g=new E1b(37,1,k.g))}d.c=i}return new q8b(d.d,null,new E6b(d.d,d.c,d.e,false),d.g,d.f,d.a,d.b)}function Tzb(a,b){var c,d,e,f,g;if(!_zb(a))if(a.b)return Wub(a.b,b);else if(!a.d?gyb(a.a):a.d)return dzb(!a.d?gyb(a.a):a.d,b);!!a.d&&
!qhc(a.d.a.v,ACc)?dzb(a.d,b):(a.f.a&1)!=0?(b.a+="struct",b):(a.f.a&2)!=0?(b.a+="dict",b):!!a.e&&_hc(b,a.e.zd());if(a.b){b.a+="<|";Wub(a.b,b);b.a+="|>"}if(!a.d&&!a.e||(new ejc(a.g.a)).a.size()!=0){b.a+="{";e=true;for(g=(d=(new Jkc((new kvc(new Kjc(a.g))).a)).a.ne().b.xj(),new Pkc(d));g.a.Dd();){f=(c=g.a.Ed(),c.xe());e?e=false:(b.a+=Sxc,b);b.a+=""+f;b.a+=":";XAb(bh(Tg(a.g,f,false)),b)}b.a+="}"}a.c&&(b.a+=" (loose)",b);return b}function VEb(a,b){var c,d,e,f,g,h;f=false;c=true;for(d=0;d<b.size();d++){e=
b.getAtIndex(d);g=null;if(e.p==(EVb(),rVb)){h=e;g=zEb(a.a,h.b);e=h.a}switch(e.p.f){case 26:if(f){a.a.d.eh("A required parameter cannot follow an optional parameter.",a.a.r,(XDb(),e.o.b.b+1),e.o.b.a);c=false}break;case 80:f=true;break;case 65:if(d!=b.size()-1){a.a.d.eh("A rest parameter must be last in a parameter list.",a.a.r,(XDb(),e.o.b.b+1),e.o.b.a);c=false}if(!!g&&g.j!=(m5b(),t2b)){a.a.d.eh("A rest parameter must be of an array type.",a.a.r,(XDb(),e.o.b.b+1),e.o.b.a);c=false}}}return c}function kAb(a,
b,c,d,e,f,g){var h;de(a);be(!d||d==d.a.t||d.c==f,"isLoose: %s, fn: %s",(tfc(),f?true:false),d);Xd(!d||d!=d.a.c);ae(!d||!!b,"Cannot create function %s without nominal type",d);if(!!e&&!!b){h=b.a.v;ae(qhc(h,wCc)||qhc(h,ACc)||qhc(h,vCc),"Can't create namespace with nominal type %s",h)}if(b){ae(!(!NBb(b.a,ACc)&&!NBb(b.a,wCc))||!f,"Cannot create loose objectType with nominal type %s",b);be(!d||NBb(b.a,ACc),"Cannot create objectType of nominal type %s with function (%s)",b,d)}this.a=a;this.d=b;this.g=f?
EAb(c):c;this.b=d;this.e=e;this.c=f;this.f=f?(Pzb(),Nzb):g}function QBb(a,b,c,d,e,f){var g,h,i,j,k;Aub.call(this,a,c,b);this.b=(Uyb(),Uyb(),Tyb);this.i=(null,Tyb);this.j=(null,Tyb);this.k=new btc;de(f);oe(TBb(b),"Invalid defsite %s",b);!d&&(d=(Gm(),Gm(),Fm));this.o=d;this.f=!!b&&(h=g0b(b,51),!!h&&h.Fh())&&qhc(c,tCc)?2:e;this.g=!!b&&(i=g0b(b,51),!!i&&i.Fh())&&qhc(c,tCc)?(Pzb(),Nzb):f;this.q=new xzb((Sw(),Rw),this);!!b&&(j=g0b(b,51),!!j&&j.Fh())&&qhc(c,ACc)?k=pAb(this.s.A,this.q):!!b&&(g=g0b(b,51),
!!g&&g.Fh())&&qhc(c,wCc)?k=this.s.C:k=qAb(this.q);this.p=(Rvb(),Ewb(k.a,2,(fm(),new Jx(k)),null,Ovb));this.r=Cwb(this.s.k,this.p)}function Zjb(){Zjb=pU;fm();new Jx("COMPILED");Yjb=new q4("JSC_UNKNOWN_DEFINE_WARNING",(lX(),kX),new Hic("unknown @define variable {0}"));new q4("JSC_INVALID_DEFINE_TYPE_ERROR",iX,new Hic("@define tag only permits literal types"));new q4("JSC_INVALID_DEFINE_INIT_ERROR",iX,new Hic("illegal initialization of @define variable {0}"));new q4("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",
iX,new Hic("@define variable {0} assignment must be global"));new q4("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",iX,new Hic("@define variable {0} cannot be reassigned due to code at {1}."));new Hic("line {0} of {1}")}function Aab(a,b){var c,d,e,f,g,h,i,j,k;Xd(b.j==(m5b(),E3b));Xd(o0b(b));c=b.b;if(!$db(a.a,c)&&!wab(a,c)&&!xab(a,c))return;Pgb(b)?Gab(a,b):_gb(b)?Hab(a,b):Agb(b)?Cab(a,b):uab(a,b)?Bab(a,b):(Xd(b.j==E3b),Xd(o0b(b)),d=b.e,e=(Gfb(),f=Tfb(b),!f?null:g0b(f,29)),d.j==u2b&&d.e.j==u3b&&(d.b?d.b.f:null).j==
y3b&&(!e||(g=(e.a&$Bc)==eCc&&(($Bc&e.a)==eCc?e.i:null).a.j==y3b,g||(e.a&$Bc)==lyc||!!e.g||KYb(e)>0||(e.a&2)!=0||(e.a&xCc)!=0&&(e.a&$Bc)!=eCc)))&&(h=Ndb(a.a,pBb(b.b)),i=X9(a.b,f0b(b.e)),j=Pdb(a.a,i),k=new oBb((b.b?b.b.f:null).ci()),yub(h,k)||nub(h,k,new Uub(a.b.d,h0b(b),j,b)),undefined)}function ABb(a){var b,c,d,e,f,g,h,i,j;oe(!a.e,"Raw type not finalized: %s",a.t);fe(a.c,"Null constructor function for raw type: %s",a.t);!a.d&&(a.d=(fm(),$w(),Zw));if(a.f!=0)for(c=new mjc((new ejc(a.i.a)).a);c.b;){b=
ljc(c);i=b.ye();!!i.b||(a.i=Wyb(a.i,b.xe(),new _Ab(i.c,a.s.K,a.s.K,(kBb(),jBb))))}for(h=(f=(new Kjc(a.j)).a.ne().Ld(),new Qjc(f));h.a.Dd();){g=(b=h.a.Ed(),b.xe());if(!!a.n&&vzb(a.n,g)){a.j=Xyb(a.j,g);continue}for(e=a.d.Ld();e.Dd();){d=e.Ed();!!GBb(d.a,g)&&(a.j=Xyb(a.j,g))}}j=wwb(FAb(a.s,a.n,a.i,null,null,false,(Pzb(),Nzb)));je(!a.e);oub(a,Hzc,null,j,false);a.e=true}function P5b(a,b){var c;if(!!a.Ji()&&!!b.Ji())return o8b(a.Ji(),b.Ji(),false);else if(B5b(a,b,0,new j9b(true)))return a;else if(a.Ei()||
b.Ei())return B5b(a,b,0,new j9b(true))?a:D5b(a,(wac(),sac));else if(a.Ni())return nec(a.Ni(),b);else if(b.Ni())return nec(b.Ni(),a);else{a.Mi();b.Mi();if(a.Ci(b))return N5b(a);else if(b.Ci(a))return N5b(b);else if(a.Ki())return cdc(a.Ki(),b);else if(b.Ki())return cdc(b.Ki(),a)}if(a.Hi()){c=q7b(a.Hi(),b);if(c)return c}else if(b.Hi()){c=q7b(b.Hi(),a);if(c)return c}if(a.Ai()&&b.Ai())return D5b(a,(wac(),M9b));return D5b(a,(wac(),O9b))}function Mdb(a,b,c){var d,e,f,g,h,i;Xd(b.indexOf(".")==-1);if(!Udb(a,
b,c))return null;i=null;f=false;if(qhc(Zzc,b))i=Ldb(a,Zzc);else if(usc(a.o,b))i=vsc(a.o,b);else if(a.f.contains(b)){d=a.f.indexOf(b);if(!!a.c&&d!=-1){e=$tb(a.c,d);!!e&&0!=e.Vh()&&(i=e)}}else if(usc(a.j,b))a.g&&a.e.containsKey(b)&&(i=a.e.oe(b));else if(a.n.containsKey(b)||a.k.containsKey(b));else if(!!a.c&&aub(a.c,b)!=null){f=true;i=xwb(a.a,aub(a.c,b))}else a.e.containsKey(b)&&(i=a.e.oe(b));h=null;a.k.containsKey(b)?h=a.k.oe(b):!!a.s&&(h=a.s.oe(b));return new Ytb(i,a.n.oe(b),h,vsc(a.j,b),(g=f,xrc(a.b,
b),g))}function B5b(a,b,c,d){var e,f;if(a==b)return true;f=a.Ei();e=b.Ei();if(f||e)if(c==2)return true;else if(c==1)return f&&e;else if(f&&e&&a.yi()^b.yi())return false;if(!!a.Ni()&&!!b.Ni())return eec(a.Ni(),b.Ni(),c,d);if(!!a.Ji()&&!!b.Ji())return d8b(a.Ji(),b.Ji(),c,d);if(!ydc(a.pi(),b.pi(),c,d,0))return false;if(d.b&&a.Bi()&&b.Bi())return S6b(iD(a,55)?a:null,iD(b,55)?b:null,c,d);if(a.yi()&&b.yi())return qhc(C5b(a,iD(a,55)?a:null),C5b(a,iD(b,55)?b:null));if(!!a.Li()&&!!b.Li())return false;if(iD(a,
143))return B5b(a.c,b,c,d);if(iD(b,143))return B5b(a,b.c,c,d);return false}function j5(a,b,c,d){var e,f,g,h,i,j,k;i=gfb(b).sh();i.zh(CBc,false)&&(c=false);i.zh(DBc,false)&&(d=false);j=i.wh();e0b(j,38)!=0&&j.b.j==(m5b(),K4b)&&(j=j.b);f=w_(a.a,g0b(j,53));if(d){h=(oe(thc(DBc,Nhc(46))==-1,yzc,DBc),new _1b((m5b(),g4b),DBc));e=vXb(h,(oe(thc(rBc,Nhc(46))==-1,yzc,rBc),new _1b(g4b,rBc)),$2b);g=new F_b(false);w_b(g,new J_b(new b1b(I2b,new _1b(Q4b,"Arguments")),"<Es6RewriteArrowFunction>"));H0b(e,p$b(g,false));
$0b(e,j);Q_b(j,e);i.qh(DBc,h,f)}if(c){h=(oe(thc(CBc,Nhc(46))==-1,yzc,CBc),new _1b((m5b(),g4b),CBc));k=vXb(h,new _0b(Z4b),$2b);$0b(k,j);Q_b(j,k);i.qh(CBc,h,f)}}function U7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.e;g=ogb(k)&&k.j!=(m5b(),u2b)&&k.b==b;e=null;if(g&&(Gfb(),b.j==(m5b(),E3b)||b.j==D3b))for(i=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();i.Dd();){h=i.Ed();if(h.j!=(m5b(),Q4b)&&!V7(a,h,a.b)){d=U7(a,h,c);!e&&(e=d)}}n=(q=a.e+"_const"+lCc+(""+a.c.a.W++),wrc(a.b,q),q);l=X0b((oe(thc(n,Nhc(46))==
-1,yzc,n),new _1b((m5b(),g4b),n)),b);if(g){je(b.j==g4b||(Gfb(),b.j==E3b||b.j==D3b));j=Z0b(new _0b(egb(k)),k);m=k.b?k.b.f:null;Q0b(k,u2b);B0b(k,m,j);Q_b(j,l);P_b(j,m);o=W_b(b,false)}else{B0b(k,b,l);o=b}p=mhb(n,o);f=c.e;O_b(f,p,c);!e&&(e=p);return e}function qfb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;f=b.j;f==(m5b(),K4b)&&nfb(a,g0b(b,53),(e=(d=g0b(b,51),!d?null:d.Dg()),e==null?"":e));a.f=b;if(!a.a.Mf(a,b,c))return;f==y3b?(g=b.b,h=!!c&&(Gfb(),b.j==y3b&&!Ygb(b.e)),h||qfb(a,g,b),a.f=b,kfb(a,b),h&&qfb(a,g,b),
i=g.d,j=i.d,qfb(a,i,b),qfb(a,j,b),jfb(a,false),undefined):f==V2b?(k=b.b,l=(Gfb(),b.j==V2b&&!Ygb(b.e)),l||qfb(a,k,b),a.f=b,kfb(a,b),l&&qfb(a,k,b),m=k.d,n=m.d,qfb(a,m,b),qfb(a,n,b),jfb(a,false),undefined):f==e4b?(kfb(a,b),rfb(a,b),jfb(a,false),undefined):a.p&&Pfb(b)?(kfb(a,b),rfb(a,b),jfb(a,false),undefined):rfb(a,b);a.f=b;a.a.Nf(a,b,c)}function BC(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw QT(new jfc("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(xC=AC(0,0,0));return AC(0,0,0)}if(b.h==
Syc&&b.m==0&&b.l==0)return CC(a,c);i=false;if(b.h>>19!=0){b=QC(b);i=!i}g=IC(b);f=false;e=false;d=false;if(a.h==Syc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=zC((bD(),ZC));d=true;i=!i}else{h=SC(a,g);i&&GC(h);c&&(xC=AC(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=QC(a);d=true;i=!i}if(g!=-1)return DC(a,g,i,f,c);if(NC(a,b)<0){c&&(f?xC=QC(a):xC=AC(a.l,a.m,a.h));return AC(0,0,0)}return EC(d?a:AC(a.l,a.m,a.h),b,i,f,e,c)}function eNb(a){var b,c,d;if(kPb(a.j,1).c==(bSb(),IQb))return bNb(a,hRb,mQb);d=kPb(a.j,
0).b.b;nMb(a,hRb);if(AOb(a,mQb)){nMb(a,mQb);if(AOb(a,aQb))return new ZSb(new oWb(d,a.g),(Gm(),Gm(),Fm));else{TOb(a,xFc,vC(qC(yR,1),Uxc,1,5,[]));return new GTb(new oWb(d,a.g))}}if(AOb(a,DRb)){b=(Gm(),new Gx(UNb(a,0)));nMb(a,mQb);if(AOb(a,aQb))return new ZSb(new oWb(d,a.g),b);else{TOb(a,xFc,vC(qC(yR,1),Uxc,1,5,[]));return new GTb(new oWb(d,a.g))}}c=BMb(a,1);if(AOb(a,pQb)){nMb(a,pQb);c=new ASb(new oWb(d,a.g),(Gm(),new Vw(Ym(vC(qC(yR,1),Uxc,1,5,[c,UNb(a,0)])))))}nMb(a,mQb);return new QTb(new oWb(d,a.g),
c)}function W6(a,b,c,d){var e,f,g,h,i;switch(b.j.f){case 75:R6(a,fmb(a.d),b);return;case 98:case 86:if(!U6(a,b))return;R6(a,a.d,b);return;case 65:Gfb();if(b.j==(m5b(),y3b)&&!Ygb(b.e)||!U6(a,b))return;h=b.b.ci();if(h.length==0)return;T6(a,b.b);return;case 94:Gfb();if(b.j==(m5b(),V2b)&&!Ygb(b.e)||!U6(a,b))return;g=b.b.ci();if(g.length==0)return;T6(a,b.b);return;case 77:ke(b0b(b)==2,b);U6(a,b)&&R6(a,a.d,b);e=b.b.d;W6(a,e,c,false);return;case 83:a.b=g0b(b,53);de(a.b)}if(!c&&!d&&Pfb(b))return;if(ugb(b)||
(Gfb(),b.j==(m5b(),K4b)||b.j==N2b||b.j==e4b))for(f=b.b;f;){i=f.d;W6(a,f,c,false);f=i}}function VW(){VW=pU;RW=new q4("JSC_EVENTFUL_OBJECT_NOT_DISPOSED",(lX(),iX),new Hic("eventful object created should be\n  * registered as disposable, or\n  * explicitly disposed of"));SW=new q4("JSC_EVENTFUL_OBJECT_PURELY_LOCAL",iX,new Hic("a purely local eventful object cannot be disposed of later"));TW=new q4("JSC_OVERWRITE_PRIVATE_EVENTFUL_OBJECT",iX,new Hic("private eventful object overwritten in subclass cannot be properly disposed of"));
UW=new q4("JSC_UNLISTEN_WITH_ANONBOUND",iX,new Hic("an unlisten call with an anonymous or bound function does not result in the event being unlisted to"))}function IX(){IX=pU;HX=new q4("JSC_SUSPICIOUS_SEMICOLON",(lX(),kX),new Hic("If this if/for/while really shouldn''t have a body, use '{}'"));DX=new q4("JSC_SUSPICIOUS_NAN",kX,new Hic("Comparison against NaN is always false. Did you mean isNaN()?"));FX=new q4("JSC_SUSPICIOUS_IN",kX,new Hic('Use of the "in" keyword on non-object types throws an exception.'));
EX=new q4("JSC_SUSPICIOUS_INSTANCEOF_LEFT",kX,new Hic('"instanceof" with left non-object operand is always false.'));GX=new q4("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",kX,new Hic("Suspicious negated left operand of 'in' operator."))}function obb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;Xd(b.j==(m5b(),E3b));if(Sab(a,b))return;d=h0b(b.b);e=pBb(b.b);je(Ydb(a.a,d));c=(f=Jdb(a.a,e,false),!f?null:iD(f.c,75)?f.c:null);k=(b.b?b.b.f:null).ci();h=(Gfb(),i=Tfb(b),!i?null:g0b(i,29));m=W9(a.c,h,a.a);g=aab(a.c,
b);if(!!m||g){l=(j=bh(Tg(c.B,k,false)),!j?null:j.b);if(xub(c,k)&&!!l&&!lbb(h,m,l)){bfb(a.c.t,Zbb(b,(S9(),L9),vC(qC(DR,1),Fxc,2,6,[k,"type "+c])));return}!m&&(m=Xab(a,b));je(!c.e);oub(c,k,b,m,g);o=A0b(b,b.g,76);o!=b.g&&(b.g=o);b.g=new E1b(76,1,b.g);g&&(n=A0b(b,b.g,77),n!=b.g&&(b.g=n),b.g=new E1b(77,1,b.g))}else{je(!c.e);qub(c,k,b,c.s.K)}}function d7(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;o=b.b?b.b.f:null;k=c7(o);f=b7(o);i=new J_b((mGb(),j=nHb("!ITemplateArray"),$Gb(j,!j.o?ZHb(j.j):vGb(j))),"<Es6TemplateLiterals.java>");
h=new F_b(false);w_b(h,i);n=sXb(f,p$b(h,false));d=NXb("$jscomp$templatelit$"+(""+(m=a.d,new M0(m)).a.W++));p=$0b(vXb(d,n,(m5b(),g5b)),b);l=(Gfb(),Wfb(b,new Ahb(K4b)));Q_b(l,p);g=$0b(xXb(mXb(CXb(Z_b(d,new _1b(d.j,d.a),false),new _1b(Q4b,"raw")),k)),b);N_b(l,g,p);c=qXb(z0b(b),vC(qC(hQ,1),zzc,7,0,[Z_b(d,new _1b(d.j,d.a),false)]));for(e=o.b;e;e=e.d)e.j==Q4b||P_b(c,z0b(e));$0b(c,o);v0b(c,50,c.b.j!=E3b);B0b(b.e,b,c);$_(a.d)}function _ac(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(b.o)return b;if(b.e!=0&&!b.gj())return b;
j=false;h=F5b(b.j)?Oac(b.u,(wac(),sac)):b.j;e=dbc(a,h.Pi(a));h!=e&&(j=true);g=b.a.b;d=g.Pi(a);g!=d&&(j=true);l=new T8b(a.e);for(n=(k=b.a.a,k?!k.b?(gnc(),gnc(),fnc):new V1b(k.b):(gnc(),gnc(),fnc)).Ld();n.Dd();){m=n.Ed();f=iD(m.k,19)?m.k:null;c=f.Pi(a);f!=c&&(j=true);e0b(m,37)!=0?P8b(l,vC(qC(BQ,1),Uxc,19,0,[c])):e0b(m,30)!=0?R8b(l,c):Q8b(l,vC(qC(BQ,1),Uxc,19,0,[c]))}if(j){i=M8b(N8b(L8b(K8b(J8b(new O8b(a.e),b.gj()),l.b),d),e),Cdc(b.v));return new q8b(i.d,null,new E6b(i.d,i.c,i.e,false),i.g,i.f,i.a,i.b)}return b}
function MWb(a){var b,c,d,e,f;if(a.a==null)return a.b.k=false,GWb(a,Mxc,0);if(!kD(a.a))throw QT(DWb(a));e=PWb(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 dic;switch(b){case 97:case 65:IWb(a);break;case 101:case 69:JWb(a,d);break;case 102:$hc(d,a.a);break;case 103:case 71:QWb(a,d);break;default:throw QT(hXb(a.b));}a.b.n=-1;f=0;if(45==d.a.charCodeAt(0)){if(a.b.g)return RWb(a,d)}else{if(a.b.j){cic(d,0,String.fromCharCode(32));++f}if(a.b.d){cic(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 GWb(a,d,f)}function twb(a){Rvb();var b;b=new zsc;wsc(b,"BOOLEAN",new Oyb(a,24));wsc(b,"BOTTOM",new Oyb(a,0));wsc(b,EDc,new Oyb(a,16));wsc(b,"FALSY",new Oyb(a,fCc));wsc(b,FDc,new Oyb(a,32));wsc(b,GDc,new Oyb(a,64));wsc(b,HDc,new Oyb(a,128));wsc(b,"TOP",new Oyb(a,-1));wsc(b,IDc,new Oyb(a,504));wsc(b,"TRUE_TYPE",new Oyb(a,8));wsc(b,JDc,new Oyb(a,512));wsc(b,"UNDEFINED",new Oyb(a,256));wsc(b,KDc,new Oyb(a,Exc));wsc(b,
LDc,new Oyb(a,280));wsc(b,MDc,new Oyb(a,320));wsc(b,NDc,new Oyb(a,384));wsc(b,ODc,new Oyb(a,56));wsc(b,PDc,new Oyb(a,96));wsc(b,QDc,new Oyb(a,160));wsc(b,RDc,new Oyb(a,288));wsc(b,SDc,new Oyb(a,192));return b}function iB(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new fB;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=PT(a);if(iD(a,40)){d=a;throw QT(new jB("JSON parse exception: "+d));}else throw QT(a);}q=f;eB(c,q.version);$A(c,q.file);_A(c,q.getLineCount()!=null?q.lineCount:-1);aB(c,q.mappings);if(q.sections!=
null){l=(Gm(),new Zp);for(n=q.sections,o=0,p=n.length;o<p;++o){m=n[o];Xp(l,gB(m))}cB(c,Om(l.a))}else c.f=null;dB(c,q.sources);bB(c,q.names);e=new zsc;k=$wnd.Object.keys(q);for(h=k,i=0,j=h.length;i<j;++i){g=h[i];qhc(g.substr(0,2),"x_")&&wsc(e,g,q[g])}ZA(c,(gnc(),new apc(e)));return new YA(c.i,c.c,c.b,c.d,c.g,c.e,c.f,c.a)}function tlb(a){var b,c,d,e,f,g,h;d=new Gq;f=new fq;for(c=Kf(yf(xf(Ef(new jc(10))),a));Cb(c);){b=Db(c);h=zf(xf(Ef(new jc(32))),Lhc(b));if(h.b.size()==1&&h.a.getAtIndex(0).length==
0)continue;else if(h.b.size()<3)throw QT(new xcb("Invalid table: too few tokens on line: "+b));g=h.a.getAtIndex(0);e=new rlb(YJb(h.a.getAtIndex(1)),YJb(h.a.getAtIndex(2)),h.b.size()>3?h.a.getAtIndex(3):"");if(g.indexOf(".prototype.")!=-1)Fq(d,Bhc(g,".*\\.prototype\\.",""),e);else{Jlc(f.b,(Xk(g,e),nv(),new Pp(g,e)));Jlc(f.b,(Xk(iDc+g,e),new Pp(iDc+g,e)));Jlc(f.b,(Xk("window."+g,e),new Pp("window."+g,e)))}}return new slb(Fl(d.a),In(f.b))}function xPb(a){var b;b=NPb(a);if(ePb(a,a.d))switch(ePb(a,a.d)?
lhc(a.e.a,a.d):0){case 47:switch(ePb(a,a.d+1)?lhc(a.e.a,a.d+1):0){case 47:JPb(a,1);return true;case 42:CPb(a);return true}break;case 60:if((ePb(a,a.d+1)?lhc(a.e.a,a.d+1):0)==33&&(ePb(a,a.d+2)?lhc(a.e.a,a.d+2):0)==45&&(ePb(a,a.d+3)?lhc(a.e.a,a.d+3):0)==45){oPb(a,vC(qC(yR,1),Uxc,1,5,[]));JPb(a,1);return true}break;case 45:if(b&&(ePb(a,a.d+1)?lhc(a.e.a,a.d+1):0)==45&&(ePb(a,a.d+2)?lhc(a.e.a,a.d+2):0)==62){oPb(a,vC(qC(yR,1),Uxc,1,5,[]));JPb(a,1);return true}break;case 35:if(a.d==0&&(ePb(a,a.d+1)?lhc(a.e.a,
a.d+1):0)==33){JPb(a,3);return true}}return false}function k6(a){var b,c,d,e,f,g,h,i,j,k;f=NXb("$jscomp$generator$switch$entered"+(""+a.f.a.W++));g=vXb(W_b(f,false),new _0b((m5b(),v3b)),g5b);j=NXb("$jscomp$generator$switch$val"+(""+a.f.a.W++));k=vXb(W_b(j,false),z0b(a.d),g5b);Q_b(a.j,g);N_b(a.j,k,g);i=k;while(a.d.b){e=z0b(a.d);Q_b(e.b?e.b.f:null,xXb(mXb(W_b(f,false),new _0b(_4b))));if(e.j==d3b){!!a.d.b&&Z_(a.a,Zbb(a.d,(l7(),h7),vC(qC(DR,1),Fxc,2,6,["Default case as intermediate case"])));h=oXb(z0b(e))}else h=
FXb(RXb(W_b(f,false),WXb(W_b(j,false),z0b(e))),z0b(e));N_b(a.j,h,i);i=h}c=$5++;d=a.c.a.length==0?-1:Mlc(a.c,0).b;Ilc(a.c,0,new F6(c,d,null));b=s6(c);N_b(a.j,b,i)}function ftb(){ftb=pU;wo("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",vC(qC(DR,1),Fxc,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.unsafeClone","goog.object.transpose"]));etb=new q4("JSC_ARRAY_PASSED_TO_GOOG_OBJECT",(lX(),kX),new Hic("{0} expects an object, not an array. Did you mean to use goog.array?"))}function Cab(a,b){var c,d,e,f,g,h,i,j,k,l,m;je(o0b(b));m=A0b(b,b.g,76);m!=b.g&&(b.g=m);b.g=new E1b(76,1,b.g);if(Tdb(a.a,b))return;e=hgb(b);if(!!e&&o0b(e)){d=(c=Jdb(a.a,pBb(e),false),!c?null:iD(c.c,153)?c.c:null);if(d){Ddb(a.a,b,d);
return}}if(!e||e.j!=(m5b(),t4b)||!e.b){bfb(a.b.t,Zbb(b,(S9(),H9),vC(qC(DR,1),Fxc,2,6,[])));return}g=(Gfb(),h=Tfb(b),!h?null:g0b(h,29));l=new btc;for(k=(!e.b?(gnc(),gnc(),fnc):new V1b(e.b)).Ld();k.Dd();){j=k.Ed();i=dgb(j);l.a.containsKey(i)&&bfb(a.b.t,Zbb(b,(S9(),x9),vC(qC(DR,1),Fxc,2,6,[i])));bab(a.b,i,b);l.a.put(i,l)}Ddb(a.a,b,new Eub(a.b.d,h0b(b),b,($Bc&g.a)==oCc?g.i:null,(fm(),f=l,qo(f))))}function hub(a,b){var c,d,e,f,g,h,i,j,k;if(a==b)return a;d=a.a;c=new Mvb(a.a);h=Xgc(a.f.size(),b.f.size());
for(f=0;f<h;f++)Gvb(c,jub((j=a.f.size(),f<j?a.f.getAtIndex(f):f<j+a.d.size()?a.d.getAtIndex(f-j):a.g),(i=b.f.size(),f<i?b.f.getAtIndex(f):f<i+b.d.size()?b.d.getAtIndex(f-i):b.g)));g=Wgc(a.f.size()+a.d.size(),b.f.size()+b.d.size());for(e=h;e<g;e++)Cvb(c,jub((j=a.f.size(),e<j?a.f.getAtIndex(e):e<j+a.d.size()?a.d.getAtIndex(e-j):a.g),(i=b.f.size(),e<i?b.f.getAtIndex(e):e<i+b.d.size()?b.d.getAtIndex(e-i):b.g)));(!!a.g||!!b.g)&&Hvb(c,jub(a.g,b.g));k=kub(a.i,b.i);if(Tvb(d.b,k))return null;je(!c.k);c.k=
k;return Kvb(c)}function K_(b,c,d,e){var f;L_(b,e);d.a.length==0?Z_(b,new Vbb(null,null,-1,-1,d_,null,vC(qC(DR,1),Fxc,2,6,[]))):(dxc(0,d.a.length),d.a[0]).c.a.length==0&&d.a.length>1&&Z_(b,new Vbb(null,null,-1,-1,e_,null,vC(qC(DR,1),Fxc,2,6,[(dxc(0,d.a.length),d.a[0]).d])));o0(d);b.j=N_(c);b.D=d;if(d.a.length>1)try{b.B=new qcb(d)}catch(a){a=PT(a);if(iD(a,286)){f=a;Z_(b,new Vbb(null,null,-1,-1,f_,null,vC(qC(DR,1),Fxc,2,6,[f.b.d,f.a.d])));return}else throw QT(a);}else b.B=null;b.s=p0(d);Ug(b.r,b.H.Lb);
J_(b);b.u=new _0b((m5b(),N2b));v0b(b.u,38,true);b.n=new _0b(N2b);v0b(b.n,38,true);b.g=pXb(vC(qC(hQ,1),zzc,7,0,[b.n,b.u]));v0b(b.g,38,true)}function n8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;k=p8(b);for(e=0;e<k.a.length;++e){j=(dxc(e,k.a.length),k.a[e]);g=e==k.a.length-1;m=(n=ZBc.length,qhc(j.substr(j.length-n,n),ZBc)||xrc(a.d.a,j)&&!g);d=false;if(c){h=(Gfb(),i=Tfb(c),!i?null:g0b(i,29));!!h&&((h.a&2)!=0||(h.a&512)!=0||(h.a&nCc)!=0||(h.a&$Bc)==oCc||(h.a&$Bc)==Iyc)&&(d=true)}if(!m){h=null;if(g&&!!c)if(c.j==
(m5b(),y3b))f=q8(c);else{je(c.j==t4b);f=r8(c)}else if(!g&&d){h=(o=new F_b(false),A$b(o),r_b(o,(fm(),so(vC(qC(yR,1),Uxc,1,5,[kBc,lBc])))),p$b(o,false));f=r8(QXb(vC(qC(hQ,1),zzc,7,0,[])));l=A0b(f,f.g,29);l!=f.g&&(f.g=l)}else f=new _0b((m5b(),k3b));o8(a,j,f,h)}}}function pcb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;t=new hsb(c);f=(v=new btc,ncb(a),Xc(v,c),v);d=esb(t,c,b.b);g=new xt;for(j=(q=(new Kjc(f.a)).a.ne().Ld(),new Qjc(q));j.a.Dd();){h=(e=j.a.Ed(),e.xe());l=h.g;de(l);tt(g,l,h,null)}for(n=
a.b.Ld();n.Dd();){l=n.Ed();dcb(l)}for(o=(s=g.g,!s?g.g=new Xt(g):s).Ld();o.Dd();){l=o.Ed();u=esb(t,new Ut(g,l),b.b);for(k=u.Ld();k.Dd();){h=k.Ed();p=h.g;if(!p){Xd(!l||!h.g||h.g==l);h.g=l}else{Xd(true);h.g=null;d1(h,mcb(a,p,l))}}}for(i=d.Ld();i.Dd();){h=i.Ed();l=h.g;!!l&&(Jlc(l.c,h),Xd(!l||!h.g||h.g==l),h.g=l)}r=(Gm(),new Zp);for(m=a.b.Ld();m.Dd();){l=m.Ed();Yp(r,l.c)}return Om(r.a)}function rhb(a,b){Gfb();var c,d;if(a.j==(m5b(),a5b)&&b0b(a)==3&&b==(a.b?a.b.f:null))mgb((Xd(a.j==a5b),a.b.d))?x0b(a,b):
__b(b);else if(b.j==U2b){d=!b.e?null:b.e.e;je((Xd(d.j==a5b),b0b(d)==3));$_b(b)}else{c=b.e;if(c.j==a5b&&c.b.d==b){d=b.e;je((Xd(d.j==a5b),b0b(d)==3));__b(b)}else if(b.j==N2b)__b(b);else if(a.j==K4b||a.j==N2b||a.j==e4b||b.j==S2b||b.j==d3b)x0b(a,b);else if(a.j==g5b||a.j==u3b)if(!!a.b&&!!a.b.d)x0b(a,b);else{x0b(a,b);rhb(a.e,a)}else if(a.j==V3b&&b==(a.b?a.b.f:null)){x0b(a,b);rhb(a.e,a)}else if(a.j==w3b&&b0b(a)==4)B0b(a,b,new _0b(k3b));else throw QT(new sgc("Invalid attempt to remove node: "+b+" of "+a));
}}function CIb(a,b){var c,d;if(b.j==(m5b(),o2b)||b.j==w4b||b.j==o4b)return DIb(a,b);if(b.j!=Q2b){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[Axc]),zEc+m2b(REc,c)),a.b.Dg(),a.d,a.c);return false}if(!zIb((ae(b.j==Q2b,OEc,b),b.b.ci()))){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,["boolean predicate"]),zEc+m2b(PEc,c)),a.b.Dg(),a.d,a.c);return false}d=CJb((ae(b.j==Q2b,OEc,b),b.b.ci()).toLocaleUpperCase());if(!wIb(a,b,d))return false;switch(d.a){case 3:return UIb(a,b,(ae(b.j==Q2b,OEc,b),b0b(b)-1));case 2:return PIb(a,b,(ae(b.j==
Q2b,OEc,b),b0b(b)-1));case 4:return XIb(a,b,(ae(b.j==Q2b,OEc,b),b0b(b)-1));default:throw QT(new sgc("Invalid boolean expression"));}}function Wwc(a,b){var c,d,e,f,g,h,i,j;e=0;for(i=0;i<b;){++e;d=a[i];if((d&192)==128)throw QT(new xcb(jGc));else if((d&128)==0)++i;else if((d&224)==192)i+=2;else if((d&240)==224)i+=3;else if((d&248)==240)i+=4;else throw QT(new xcb(jGc));if(i>b)throw QT(new lfc(jGc));}f=sC(rD,Gxc,46,e,15,1);j=0;g=0;for(h=0;h<b;){d=a[h++];if((d&128)==0){g=1;d&=127}else if((d&224)==192){g=
2;d&=31}else if((d&240)==224){g=3;d&=15}else if((d&248)==240){g=4;d&=7}else if((d&252)==248){g=5;d&=3}while(--g>0){c=a[h++];if((c&192)!=128)throw QT(new xcb("Invalid UTF8 sequence at "+(h-1)+", byte="+(c>>>0).toString(16)));d=d<<6|c&63}j+=Ifc(d,f,j)}return f}function pB(a){mB();var b,c,d;d=new eic;d.a+='"';for(c=0;c<a.length;c++){b=a.charCodeAt(c);switch(b){case 10:d.a+="\\n";break;case 13:d.a+="\\r";break;case 9:d.a+="\\t";break;case 92:d.a+="\\\\";break;case 34:d.a+='\\"';break;case 39:d.a+="'";
break;case 62:c>=2&&(a.charCodeAt(c-1)==45&&a.charCodeAt(c-2)==45||a.charCodeAt(c-1)==93&&a.charCodeAt(c-2)==93)?(d.a+="\\u003e",d):(d.a+=String.fromCharCode(b),d);break;case 60:yhc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):yhc(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):oB(d,b)}}d.a+='"';return d.a}function gsb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new pmc(a.f);l.a<l.c.a.length;){j=nmc(l);g=j.Eg();c=Xr(g.Ld());
(c==null||g.size()==1&&qhc(c.substr(0,7),OCc))&&wsc(a.e,(Isb(),OCc+Ahc(zhc(zhc(zhc(zhc(zhc(Ahc(Bhc(Ksb((b=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(j.Dg(),58,45),92,47)," ",wBc),"[",xBc),"]",yBc),"<",zBc),">",ABc),Jsb(b))),BBc+Awc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),wBc,"_")),j);for(f=j.Eg().Ld();f.Dd();){e=f.Ed();Qic(a.b,e,j)}}for(m=new pmc(a.f);m.a<m.c.a.length;){j=nmc(m);for(i=j.Fg().Ld();i.Dd();){h=i.Ed();d=Nic(a.b,h);!!d&&qg(a.d,j,d)}}for(k=new pmc(a.f);k.a<k.c.a.length;){j=nmc(k);fsb(a,j)}a.a.a.clear();
Rs(a.d)}function J4(a){var b,c,d,e,f,g,h,i,j;j=a.b.d;d=a.b?a.b.f:null;if(j.j==(m5b(),k3b))i=MXb(AXb((oe(thc("",Nhc(46))==-1,yzc,""),new _1b(g4b,"")),new _0b(y4b),(b=new _0b(N2b),b)));else{if(!o0b(j))return;c=(b=new _0b(N2b),b);g=g0b(a,51);if(!(!!g&&g.Fh())){f=xXb(qXb(CXb(W_b(j,false),new _1b(Q4b,qBc)),vC(qC(hQ,1),zzc,7,0,[new _0b(Z4b),(oe(thc(rBc,Nhc(46))==-1,yzc,rBc),new _1b(g4b,rBc))])));Q_b(c,f)}e=AXb((oe(thc("",Nhc(46))==-1,yzc,""),new _1b(g4b,"")),SXb((oe(thc(sBc,Nhc(46))==-1,yzc,sBc),new _1b(g4b,
sBc))),c);i=MXb(e);h=new F_b(false);k_b(h,sBc,new J_b(new b1b(j3b,new _0b(D4b)),"<Es6ConvertSuper>"));H0b(i,p$b(h,false))}$0b(i,a);Q_b(d,i)}function JXb(a){switch(a.j.f){case 65:case 94: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 101:case 3:case 1:case 20:case 2:case 28:case 90: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 111:case 31:case 14:case 97:case 114:case 113:case 33:case 25:case 35:case 12:case 78:case 100:return true;
default:return false}}function L4(a,b,c){var d,e,f,g,h,i,j,k,l,m;h=c;k=b;if(c.j!=(m5b(),Q2b)){h=c.e;k=c}if(h.j!=Q2b||h.b!=k||h.b.j==D3b){Z_(a.a,Zbb(b,(l7(),h7),vC(qC(DR,1),Fxc,2,6,["Only calls to super or to a method of super are supported."])));return}g=(Gfb(),Wfb(b,new Ahb(V2b)));if(!bgb(g))return;m=g.b.d;if(!o0b(m))return;i=Wfb(b,new Ahb(b4b));if(e0b(i,58)!=0){$_b(k);if(k==b){k=CXb(W_b(m,false),YXb(i.ci()));l=A0b(h,h.g,50);l!=h.g&&(h.g=l)}else B0b(k,b,W_b(m,false));f=CXb(k,new _1b(Q4b,uBc));Q_b(h,
f);N_b(h,new _0b(Z4b),f);$0b(h,h);$_(a.a);return}e=z0b(h);e.j==U4b?j=i.ci():j=(e.b?e.b.f:null).ci();d=K4(a,h0b(m),j,y0b(h));$0b(d,h);B0b(h.e,h,d);$_(a.a)}function U5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;g=null;d=c.b?c.b.f:null;f=0;n=null;for(o=b.b;o;o=n,f++){n=o.d;if(o.j==(m5b(),e3b)){i=g0b(o,29);k=z0b(o);e=z0b(o);h=false;k.j==g4b&&(e.j==g4b?h=qhc(EBc,e.ci()):e.j==h5b&&(h=Hgb(e.b)));if(h)l=W_b(k,false);else{l=k.j==g4b?k:NXb(N5(a,c,f));j=W_b(k,false);r=W5(W_b(l,false),e);m=k.j==g4b?xXb(mXb(j,r)):
vXb(j,r,g5b);$0b(m,o);N_b(d,m,g);g=m}B0b(b,o,l);q=A0b(l,l.g,37);q!=l.g&&(l.g=q);l.g=new E1b(37,1,l.g);p=A0b(l,l.g,29);p!=l.g&&(l.g=p);!!i&&(l.g=new O1b(29,i,l.g));$_(a.a)}else if(o.j==u4b||o.j==s2b){g=O5(c,g,o,N5(a,c,f));$_(a.a)}else if(o.j==G4b&&m0b(o.b)){g=O5(c,g,o.b,N5(a,c,f));$_(a.a)}}}function mxb(b,c,d,e,f){var g,h,i,j,k,l;h=c.b;if(h.j==(m5b(),Z4b)){Fvb(f,zxb(b,h.b,d,e));h=h.d}else if(h.j==m4b){i=h.b;l=(k=Axb(b,i,d,e),k.Vh()==34&&k.Wh().size()==1?jwb(k,b.a.k):k);!cwb(l,b.a.B,new VBb((Uyb(),
Uyb(),Tyb)))&&((l.Vh()&1)==0||(l.Vh()&504)!=0||Kub(l.Uh()))&&wrc(b.i,Zbb(i,exb,vC(qC(DR,1),Fxc,2,6,[nwb(l,new dic).a])));je(!f.d);f.d=l;h=h.d}if(h.j==y4b){for(g=h.b;g;g=g.d)try{switch(g.j.f){case 142:Cvb(f,Axb(b,g.b,d,e));break;case 140:j=g.b;Hvb(f,!j?b.a.K:Axb(b,j,d,e));break;default:Gvb(f,Axb(b,g,d,e))}}catch(a){a=PT(a);if(iD(a,232)){wrc(b.i,Zbb(c,ixb,vC(qC(DR,1),Fxc,2,6,[])));Evb(f)}else throw QT(a);}h=h.d}Ivb(f,Axb(b,h,d,e))}function h6b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;de(a);if(b.Ei())return true;
if(b.ri())return true;if(G5b(a,b,c.b))return true;if(b.Ni()){p=b.Ni();for(f=p.b.Ld();f.Dd();){e=f.Ed();if(a.Di(e,c,d))return true}return false}if(d==1&&(a.zi()||a.Fi()))return true;o=a.pi();m=b.pi();k=true;j=iD(b,55)?b:null;if(!j||cn(z5b,j.Zi())){i=a.u.e;n=(h=Bdc(o,i),h==-1?Oac(o.b,(wac(),sac)):o.c[h]);l=(g=Bdc(m,i),g==-1?Oac(m.b,(wac(),sac)):m.c[g]);k=n.Di(l,c,d)||l.Di(n,c,d)}else k=ydc(o,m,2,new j9b(true),d);if(!k)return false;if(c.b&&a.Ai()&&b.Bi())return X6b(iD(a,55)?a:null,iD(b,55)?b:null,c,
d);a.Mi();if(iD(b,143))return a.Di(b.c,c,d);return false}function kC(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.yf(Pyc,Nyc,-1,-1);k=Lhc(b);qhc(k.substr(0,3),"at ")&&(k=k.substr(3,k.length-3));k=k.replace(/\[.*?\]/g,"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");if(g==-1){j=k;k=""}else{j=Lhc(k.substr(g+1,k.length-(g+1)));k=Lhc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=Lhc(k.substr(0,g))}g=thc(k,Nhc(46));g!=-1&&(k=k.substr(g+1,k.length-(g+1)));(k.length==0||qhc(k,
"Anonymous function"))&&(k=Nyc);h=whc(j,Nhc(58));e=xhc(j,Nhc(58),h-1);i=-1;d=-1;f=Pyc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=fC(j.substr(e+1,h-(e+1)));d=fC(j.substr(h+1,j.length-(h+1)))}return a.yf(f,k,i,d)}function nbb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;Xd(b.j==(m5b(),E3b));o=_tb(a.a.c);p=!o?null:o.Vh()==2&&o.Wh().size()==1?Zzb(Yr(o.Wh().Ld())):null;g=b.e;c=g.j==u2b?g.b?g.b.f:null:null;if(!p){!!c&&c.j==y3b&&pbb(a,c,null);return}l=(je(!p.a.e),p.a);h=(b.b?b.b.f:null).ci();e=(Gfb(),f=Tfb(b),!f?null:g0b(f,
29));k=Qab(a,e,c,l);i=k.a;j=k.b;d=aab(a.c,b);!!c&&c.j==y3b&&(n=A0b(g,g.g,76),n!=g.g&&(g.g=n),g.g=new E1b(76,1,g.g));if(!!i||d){Yab(a,l,h,b,i);!i&&(i=Xab(a,b));Wab(a,b,l)&&rBb(l,h,b,i,d);d&&(m=A0b(b,b.g,77),m!=b.g&&(b.g=m),b.g=new E1b(77,1,b.g))}else Wab(a,b,l)&&(j?xBb(l,h,j,b):xBb(l,h,a.c.d.K,b));sp(a.c.o,l,h)||lp(a.c.o,l,h,new Abb(b,null,null))}function l7(){l7=pU;g7=new q4(YBc,(lX(),iX),new Hic("This code cannot be converted from ES6. {0}"));h7=new q4("JSC_CANNOT_CONVERT_YET",iX,new Hic("ES6 transpilation of ''{0}'' is not yet implemented."));
k7=new q4("JSC_DYNAMIC_EXTENDS_TYPE",iX,new Hic("The class in an extends clause must be a qualified name."));i7=new q4("CLASS_REASSIGNMENT",iX,new Hic("Class names defined inside a function cannot be reassigned."));j7=new q4("CONFLICTING_GETTER_SETTER_TYPE",iX,new Hic("The types of the getter and setter for property ''{0}'' do not match."));f7=new q4("BAD_REST_PARAMETER_ANNOTATION",kX,new Hic('Missing "..." in type annotation for rest parameter.'))}function Xy(b,c){var d,e,f,g,h,i,j;this.f=de(b);
this.c=de(c);try{this.a=Dz(c.length,(tic(),ric))}catch(a){a=PT(a);if(iD(a,182)){f=a;throw QT(new ycb("Illegal alphabet length "+c.length,f));}else throw QT(a);}g=Xgc(8,Bgc(this.a));try{this.d=8/g|0;this.b=this.a/g|0}catch(a$1){a$1=PT(a$1);if(iD(a$1,182)){f=a$1;throw QT(new ycb("Illegal alphabet "+Shc(c,0,c.length),f));}else throw QT(a$1);}e=sC(qD,Cyc,46,128,15,1);Dmc(e,e.length);for(i=0;i<c.length;i++){d=c[i];Zd((Wb(),d)<=127,"Non-ASCII character: %s",d);Zd(e[d]==-1,"Duplicate character: %s",d);e[d]=
i<<24>>24}this.e=e;j=sC(NT,{929:1,3:1},46,this.d,16,1);for(h=0;h<this.b;h++)j[Cz(h*8,this.a,(tic(),lic))]=true;this.g=j}function EEb(a,b){var c,d;if(b.j==(m5b(),P2b)||b.j==_2b){c=b.b;if(c){d=b.e;while(d.j!=V3b||!qhc(d.b.ci(),c.ci())){if(d.j==y3b||d.j==K4b){a.d.eh(TWb('undefined label "%s"',vC(qC(yR,1),Uxc,1,5,[c.ci()])),a.r,i1b(b.i),h1b(b.i));break}d=d.e}d.j==V3b&&qhc(d.b.ci(),c.ci())&&b.j==_2b&&!NEb(d.b?d.b.f:null)&&a.d.eh("continue can only use labeles of iteration statements",a.r,i1b(b.i),h1b(b.i))}else if(b.j==
_2b){d=b.e;while(!NEb(d)){if(d.j==y3b||d.j==K4b){a.d.eh("continue must be inside loop",a.r,i1b(b.i),h1b(b.i));break}d=d.e}}else{d=b.e;while(!MEb(d)){if(d.j==y3b||d.j==K4b){a.d.eh("unlabelled break must be inside loop or switch",a.r,i1b(b.i),h1b(b.i));break}d=d.e}}}}function pkb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(c.j==(m5b(),Q4b)){k=c.ci();nsb();if(qhc(k.substr(0,2),"./")||qhc(k.substr(0,3),"../")||qhc(k.substr(0,1),"/")){h=whc(k,Nhc(47));f=uhc(k,Nhc(46),h);i=null;f==-1?f=k.length:i=k.substr(f,
k.length-f);j=k.substr(0,f);g=zsb(ysb(a1((!b.e&&(b.e=w_(b.d,b.g)),b.e)),j));c.hi(i==null?g:g+i)}else{o=zf(wf(Ef(new jc(46))),k);d=o.a.getAtIndex(0);m="";o.b.size()==2&&(m="."+o.a.getAtIndex(1));p=gfb(b).xh(d);if(!!p&&p.Bh())c.hi(d+"$$"+a.a+m);else if(!p&&Oic(a.b.g,d)){l=Nic(a.b.g,d);l.b.length==0?c.hi(l.a+m):c.hi(d+"$$"+l.a+m)}n=A0b(c,c.g,40);n!=c.g&&(c.g=n);k!=null&&(c.g=new O1b(40,k,c.g))}}for(e=c.b;e;e=e.d)pkb(a,b,e);$_(a.b.c)}function jwb(a,b){var c,d,e,f,g,h,i,j,k,l;k=b.Vh();oe(-1!=b.Vh()&&Exc!=
b.Vh()&&(k&1)==0&&(k&4)==0,"Requested invalid type to remove: %s",b);if(Exc==a.Vh())return a;if(-1==a.Vh()){c=Ewb(a.e,506,(fm(),new Jx(a.e.C)),null,Ovb);return jwb(c,b)}g=a.Vh()&~k;if((k&2)==0)return g==a.Vh()?a:Ewb(a.e,g,a.Wh(),a.Xh(),a.Uh());oe(b.Wh().size()==1,"Invalid type to remove: %s",b);l=Yr(b.Wh().Ld());j=(fm(),new Mq);for(i=a.Wh().Ld();i.Dd();){h=i.Ed();bAb(h,l,new VBb((Uyb(),Uyb(),Tyb)))||(Jlc(j.a,de(h)),j)}f=new Mq;for(e=a.Uh().Ld();e.Dd();){d=e.Ed();cwb((je(d.d==(Rub(),Qub)),d.a),b,new VBb((Uyb(),
Uyb(),Tyb)))||(Jlc(f.a,de(d)),f)}return Ewb(a.e,g,ro(new pmc(j.a)),a.Xh(),ro(new pmc(f.a)))}function Gwb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(h==i||!!h&&dx(h,i))return Ewb(a,b,d,e,h);m=(fm(),new Mq);j=Nub(h,i);for(l=j.Ld();l.Dd();){k=l.Ed();if(!!h&&h.contains(k)&&!!i&&i.contains(k)){Jlc(m.a,de(k));continue}o=(je(k.d==(Rub(),Qub)),k.a);if(Exc==o.Vh()){Jlc(m.a,de(k));continue}if(o.Vh()!=2){if((o.Vh()&c)!=0){Jlc(m.a,de(k));b&=~o.Vh()}}else if(!f.isEmpty()||!g.isEmpty()){t=new btc;n=Yr(o.Wh().Ld());
for(q=f.Ld();q.Dd();){p=q.Ed();if(bAb(n,p,new VBb((Uyb(),Uyb(),Tyb)))){Jlc(m.a,de(k));t.a.put(p,t)}}for(s=g.Ld();s.Dd();){r=s.Ed();if(bAb(n,r,new VBb((Uyb(),Uyb(),Tyb)))){Jlc(m.a,de(k));t.a.put(r,t)}}t.a.size()==0||(d=ix(cx(d,t)))}}return Ewb(a,b,d,e,ro(new pmc(m.a)))}function LPb(a){var b,c;fPb(a);if(!ePb(a,a.d)){nPb(a,"Unterminated string literal escape sequence",vC(qC(yR,1),Uxc,1,5,[]));return false}if(SPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)){c=fPb(a);c==13&&(ePb(a,a.d)?lhc(a.e.a,a.d):0)==10&&fPb(a);
return true}switch(fPb(a)){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:default:case 48:return true;case 120:return APb(a)&&APb(a);case 117:if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==123){fPb(a);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==125){nPb(a,"Empty unicode escape",vC(qC(yR,1),Uxc,1,5,[]));return false}b=true;while((ePb(a,a.d)?lhc(a.e.a,a.d):0)!=125&&b)b=b&&APb(a);fPb(a);return b}else return APb(a)&&APb(a)&&APb(a)&&APb(a)}}function zmc(a,b){var c,d,e,f,g,h,i,j,k,l;if(a==
null)return Mxc;i=b.a.put(a,b);if(i!=null)return"[...]";c=new Utc("[","]");for(e=a,f=0,g=e.length;f<g;++f){d=e[f];if(d!=null&&(pb(d).g&4)!=0)if(Array.isArray(d)&&(k=rC(d),!(k>=14&&k<=16)))if(b.a.containsKey(d)){!c.a?c.a=new gic(c.d):_hc(c.a,c.b);Yhc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=rC(d),!(l>=14&&l<=16)),d);j=new Brc(b);Ttc(c,zmc(h,j))}else iD(d,929)?Ttc(c,Xmc(d)):iD(d,371)?Ttc(c,Qmc(d)):iD(d,85)?Ttc(c,Rmc(d)):iD(d,936)?Ttc(c,Wmc(d)):iD(d,132)?Ttc(c,Umc(d)):iD(d,550)?Ttc(c,Vmc(d)):
iD(d,937)?Ttc(c,Tmc(d)):iD(d,938)&&Ttc(c,Smc(d));else Ttc(c,d==null?Mxc:sU(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function euc(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 Fuc(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.He(b,l.d);e=d<0?0:1;d==0&&(!c.c||Mtc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!auc(l.a[e]))if(auc(l.a[1-e]))m=m.a[j]=huc(l,e);else if(!auc(l.a[1-e])){n=m.a[1-j];if(n)if(!auc(n.a[1-j])&&!auc(n.a[j])){m.b=false;n.b=true;
l.b=true}else{f=h.a[1]==m?1:0;auc(n.a[j])?h.a[f]=guc(m,j):auc(n.a[1-j])&&(h.a[f]=huc(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 Fuc(l.d,l.e);fuc(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 A6(a,b){var c,d,e,f,g,h,i;e=(Gfb(),Wfb(b,new Ahb((m5b(),y3b))));if(!e||e0b(e,59)==0||b.j==w3b&&b0b(b)==3)return;d=Wfb(b,new Ahb(N2b));g=null;i=null;switch(b.j.f){case 72:g=b.b.d;i=
g.d;break;case 70:g=b.b;i=new _0b(k3b);break;case 71:g=b.b?b.b.f:null;if(g.j!=k3b){f=(oe(thc(RBc,Nhc(46))==-1,yzc,RBc),new _1b(g4b,RBc));Q_b(d,vXb(W_b(f,false),new _0b(_4b),g5b));g=RXb(f,$_b(b.b?b.b.f:null));P_b(b,g)}i=new _0b(k3b)}if(!_5(a.c,g)&&!_5(a.c,i))return;h=NXb("$jscomp$generator$loop$guard"+(""+a.c.f.a.W++));if(g.j!=k3b){c=new _0b(N2b);B0b(b,g,c);Q_b(c,oXb(xXb(mXb(W_b(h,false),W_b(g,false)))));P_b(c,W_b(h,false))}i.j==k3b||O_b(b,oXb(xXb($_b(i))),b.b?b.b.f:null);Q_b(d,wXb(h,g5b));$_(a.a)}
function yvb(a,b){var c,d,e,f,g,h,i,j,k;je(!!a||!!b);if(!a||!b)return null;a.n.isEmpty()||(a=ovb(a));b.n.isEmpty()||(b=ovb(b));je(!a.c&&!b.c);if(Yub(a,b))return a;d=a.i;e=b.i;if(d.size()!=e.size())return null;c=new Mvb(a.a);i=d.size();for(g=0;g<i;g++){k=Lwb(d.getAtIndex(g),e.getAtIndex(g));if(!k)return null;Gvb(c,k)}d=a.e;e=b.e;if(d.size()!=e.size())return null;h=d.size();for(f=0;f<h;f++){k=Lwb(d.getAtIndex(f),e.getAtIndex(f));if(!k)return null;Cvb(c,k)}if(!a.j&&!!b.j||!!a.j&&!b.j)return null;if(a.j){k=
Lwb(a.j,b.j);if(!k)return null;Hvb(c,k)}j=Lwb(a.k,b.k);if(!j)return null;Ivb(c,j);if(!Mtc(a.d,b.d))return null;Bvb(c,a.d);if(!Mtc(a.g,b.g))return null;Fvb(c,a.g);return Lvb(c)}function tbb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;Xd(b.j==(m5b(),E3b));Xd(o0b(b));if(jab(b)){Mab(a,(Gfb(),g=Tfb(b),!g?null:g0b(g,29)),h0b(b),b,null,a.a);return}S9();e=(Gfb(),h=Tfb(b),!h?null:g0b(h,29));!!e&&(e.a&1)!=0&&(e.a&2)==0&&bfb(a.c.t,Zbb(b,I9,vC(qC(DR,1),Fxc,2,6,[])));l=b.b;m=pBb(l);c=Jdb(a.a,m,false);if(!!c&&!!c.e){bfb(a.c.t,
Zbb(b,p9,vC(qC(DR,1),Fxc,2,6,[])));v0b(b.e,76,true);return}n=gbb(a,l);if(!n)return;n=jwb(n,a.c.d.k);i=n.Vh()==2&&n.Wh().size()==1?Zzb(Yr(n.Wh().Ld())):null;if(!i||fzb(i,gyb(a.c.d)))return;k=(je(!i.a.e),i.a);j=(b.b?b.b.f:null).ci();d=W9(a.c,(f=Tfb(b),!f?null:g0b(f,29)),a.a);if(d){d=mwb(d,d.e.j);if(Yab(a,k,j,b,d))return;tBb(k,j,d)}else!!GBb(k,j)||tBb(k,j,null)}function p5b(){m5b();return vC(qC(jQ,1),Zxc,10,0,[I4b,L2b,M2b,J2b,o3b,k4b,a4b,Z3b,G3b,A3b,_3b,J4b,f5b,n2b,T4b,f4b,h3b,d4b,q3b,o4b,K2b,C4b,l4b,
m4b,f3b,b5b,E3b,D3b,Q2b,g4b,r4b,Q4b,p4b,Z4b,v3b,_4b,M4b,N4b,F4b,$4b,O3b,R3b,r2b,t4b,a5b,y4b,Y2b,u2b,x2b,y2b,w2b,B2b,E2b,G2b,v2b,F2b,D2b,z2b,C2b,A2b,H3b,w4b,o2b,P3b,b3b,y3b,I3b,V4b,S2b,d3b,j5b,i3b,w3b,P2b,_2b,g5b,k5b,U2b,h5b,k3b,N2b,V3b,u3b,K4b,F3b,L4b,$2b,a3b,W3b,R4b,T2b,s2b,u4b,g3b,V2b,W2b,b4b,U4b,$3b,x3b,l5b,H2b,K3b,M3b,L3b,N3b,r3b,t3b,s3b,e4b,G4b,O4b,Z2b,W4b,X4b,Y4b,e3b,n4b,S4b,O2b,s4b,z3b,x4b,e5b,q2b,q4b,i5b,H4b,h4b,v4b,E4b,d5b,t2b,B3b,C3b,p2b,z4b,P4b,n3b,D4b,j3b,I2b,p3b,X3b,Y3b,X2b,S3b,T3b,U3b,
l3b,m3b,J3b,c5b,c3b,c4b,Q3b,R2b,i4b,j4b,A4b,B4b])}function eOb(a){var b,c,d;if(zOb(a,0,(bSb(),OQb)))return ANb(a);if(zOb(a,0,EQb))return kNb(a,false);if(zOb(a,0,RQb))return ENb(a);if(zOb(a,0,zQb))return gNb(a);if(zOb(a,0,URb)&&(c=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(c||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&zOb(a,1,LQb)&&zOb(a,2,AQb))return oOb(a);if(zOb(a,0,tQb)&&(d=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(d||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&(zOb(a,1,YRb)||zOb(a,1,VQb)||zOb(a,1,qQb)||zOb(a,
1,JQb)||zOb(a,1,jQb)||zOb(a,1,zQb)||zOb(a,1,ZQb)||zOb(a,1,$Qb)))return DMb(a);if((zOb(a,0,ZQb)||zOb(a,0,$Qb))&&(b=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(b||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&zOb(a,1,LQb))return ONb(a,false);return hOb(a)}function QGb(a,b){var c,d,e,f,g,h,i,j;if(b!=(SHb(),IHb)){a.o=b;return rGb(a,"msg.jsdoc.missing.lp",a.j.g,YHb(a.j)),null}d=FGb(a,(m5b(),y3b));h=null;jHb(a);if(!DGb(a,OHb)){b=!a.o?ZHb(a.j):vGb(a);e=true;if(b==RHb){j=a.j.n;g=qhc(Zzc,j);f=qhc("new",j);if(g||f){if(DGb(a,
zHb)){!a.o?ZHb(a.j):vGb(a);jHb(a);c=lHb(a,g?Z4b:m4b,MGb(a,!a.o?ZHb(a.j):vGb(a)));if(!c)return null;Q_b(d,c)}else return rGb(a,"msg.jsdoc.missing.colon",a.j.g,YHb(a.j)),null;if(DGb(a,AHb)){!a.o?ZHb(a.j):vGb(a);jHb(a);b=!a.o?ZHb(a.j):vGb(a)}else e=false}}if(e){h=WGb(a,b);if(!h)return null}}!!h&&P_b(d,h);jHb(a);if(!DGb(a,OHb))return rGb(a,HEc,a.j.g,YHb(a.j)),null;jHb(a);!a.o?ZHb(a.j):vGb(a);i=YGb(a);if(!i)return null;else P_b(d,i);return d}function Qfb(a,b){switch(a.j.f){case 90:return Qfb(a.b,b);case 47:return Hgb(a.b?
a.b.f:null)||b.Gd(a)&&Qfb(a.b?a.b.f:null,b);case 46:return Qfb(a.b?a.b.f:null,b);case 62:case 61:return Qfb(a.b,b)&&Qfb(a.b?a.b.f:null,b);case 60:return Qfb(a.b.d,b)&&Qfb(a.b?a.b.f:null,b);case 63:case 64:return true;case 33:return b.Gd(a);case 29:return Hgb(a)||b.Gd(a);case 27:case 26:return b.Gd(a);case 28:return ke(a.j==(m5b(),Q2b),a),(e0b(a,42)&16)>0||Zgb(a)||b.Gd(a);case 23:return ke(a.j==(m5b(),m4b),a),(e0b(a,42)&15&13)==13||b.Gd(a);case 65:case 38:case 42:case 43:return true;case 24:case 40:return true;
default:if(ogb(a)||Wgb(a.j)||Hgb(a))return true;throw QT(new sgc("Unexpected expression node"+a+"\n parent:"+a.e));}}function ZNb(a){var b,c,d,e,f,g;switch(kPb(a.j,0).c.f){case 29:return ZMb(a,true,false);case 35:return b=kPb(a.j,0).b.b,nMb(a,(bSb(),KRb)),new OVb(new oWb(b,a.g));case 21:return c=kPb(a.j,0).b.b,nMb(a,(bSb(),PRb)),new TVb(new oWb(c,a.g));case 2:case 108:case 109:case 110:case 111:return yNb(a);case 100:case 101:case 98:case 99:case 97:return INb(a);case 107:case 104:return mOb(a,null);
case 49:return kPb(a.j,1).c==(bSb(),IQb)?bNb(a,iRb,nQb):KMb(a);case 45:return RNb(a);case 47:return eNb(a);case 94:case 95:return d=kPb(a.j,0).b.b,e=(g=gPb(a.j),a.g=g.b.a,g),new CTb(new oWb(d,a.g),e);default:return f=kPb(a.j,0).b.b,AMb(a),TOb(a,"primary expression expected",vC(qC(yR,1),Uxc,1,5,[])),new GTb(new oWb(f,a.g))}}function hvb(a,b,c,d,e){var f,g,h,i,j;oe(a.n.isEmpty(),"Non-empty type parameters %s",a.n);je(a.f.isEmpty());je(a!=a.a.A);if(a==a.a.i||b==b.a.A||b==b.a.i||b.c)return true;if(!(a.i.isEmpty()&&
a.e.isEmpty()&&!!a.j&&Exc==a.j.Vh())){if(b.i.size()>a.i.size())return false;g=a.i.size()+a.e.size();for(f=0;f<g;f++){j=Zub(a,f);h=Zub(b,f);if(!!h&&!owb(j,h,c,d,e)&&!cwb(j,h,new VBb((Uyb(),Uyb(),Tyb))))return false}if(a.j){i=Zub(b,g);if(!!i&&!owb(a.j,i,c,d,e)&&!cwb(a.j,i,new VBb((Uyb(),Uyb(),Tyb))))return false}}if(!a.d&&!!b.d||!!a.d&&!b.d)return false;if(!!a.d&&!owb(a.d,b.d,c,d,e))return false;if(!!a.g&&!!b.g&&!owb(a.g,b.g,c,d,e)&&!cwb(a.g,b.g,new VBb((Uyb(),Uyb(),Tyb))))return false;return owb(a.k,
b.k,c,d,e)}function n0b(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;if(a.j!=b.j||b0b(a)!=b0b(b)||a.Cj!=b.Cj)return false;if(c&&!W5b(iD(a.k,19)?a.k:null,iD(b.k,19)?b.k:null))return false;if(e&&!GZb(g0b(a,29),g0b(b,29)))return false;o=g0b(a,78);n=g0b(b,78);if((!!o||!!n)&&(!o||!n||!n0b(o,n,c,d,e)))return false;if(a.j==(m5b(),P3b)||a.j==b3b){h=e0b(a,32);i=e0b(b,32);if(h!=i)return false}else if(a.j==Q4b||a.j==R4b){if(a.j==R4b){j=e0b(a,36);k=e0b(b,36);if(j!=k)return false}l=e0b(a,54);m=e0b(b,54);if(l!=m)return false}else if(a.j==
Q2b){if(e0b(a,50)!=0!=(e0b(b,50)!=0))return false}else if(a.j==y3b)if(e0b(a,60)!=0!=(e0b(b,60)!=0))return false;if(d)for(f=a.b,g=b.b;f;f=f.d,g=g.d)if(!f.di(g,c,d,e))return false;return true}function HWb(a,b,c){var d,e,f;a.b=b;a.a=c;if(!b.d&&!b.e&&!b.f&&!b.g&&!b.i&&!b.j&&!b.k&&b.p==-1&&b.n==-1)switch(b.b){case 115:if(a.a==null)return Mxc;case 100:if(iD(a.a,125)||iD(a.a,150)){e=sU(a.a);return e}}dXb(a.b,a.a);switch(b.b){case 66:case 98:f=(jD(a.a)?e=sU(a.a):a.a==null?e=aAc:e=bAc,GWb(a,e,0));break;case 72:case 104:f=
NWb(a);break;case 83:case 115:f=(d=Qhc(a.a),GWb(a,d,0));break;case 67:case 99:f=KWb(a);break;case 100:case 111:case 120:case 88:f=OWb(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f=MWb(a);break;case 37:f=GWb(a,"%",0);break;case 110:f=Gyc;break;case 116:case 84:f=LWb(a);break;default:throw QT(hXb(b));}Gfc(b.b)&&f!=null&&(f=sU(f).toLocaleUpperCase());return f}function Lwb(a,b){Rvb();var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;de(a);de(b);if(Exc==a.Vh()||(k=a.Wh(),k.size()==1&&Yr(k.Ld()).c))return b;
else if(Exc==b.Vh()||(j=b.Wh(),j.size()==1&&Yr(j.Ld()).c))return a;else if(-1==a.Vh()&&-1==b.Vh())return a.e.v;else if(-1==a.Vh()||-1==b.Vh())return null;if(!dx(a.Uh(),b.Uh()))return null;e=a.Uh();l=Jwb(a.Vh());m=Jwb(b.Vh());if(l!=m||!Mtc(a.Xh(),b.Xh()))return null;if((l&2)==0)return a;if(a.Wh().size()!=b.Wh().size())return null;q=new dtc(b.Wh());p=new btc;for(g=a.Wh().Ld();g.Dd();){f=g.Ed();o=f;c=false;for(i=b.Wh().Ld();i.Dd();){h=i.Ed();n=MAb(o,h);if(n){c=true;q.a.remove(h)!=null;o=n}}if(!c)return null;
p.a.put(o,p)}if(q.a.size()!=0)return null;return Ewb(a.e,l,(fm(),d=p,qo(d)),a.Xh(),e)}function j6(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(a.d.j==(m5b(),j5b)){k=z0b(a.d);e=z0b(a.d);m=new _0b(k3b);l=new _0b(k3b)}else if(a.d.j==w3b){m=z0b(a.d);m.j==u2b&&(m=(je(JXb(m)),new b1b(u3b,m)));k=z0b(a.d);l=z0b(a.d);e=z0b(a.d)}else{je(a.d.j==i3b);m=new _0b(k3b);l=mXb((oe(thc(RBc,Nhc(46))==-1,yzc,RBc),new _1b(g4b,RBc)),new _0b(v3b));e=z0b(a.d);k=z0b(a.d)}if(k.j==N2b){o=z0b(k);g=z0b(k)}else{o=(d=new _0b(N2b),d);
g=k}n=$5++;j=n;if(l.j!=k3b){j=$5++;i=s6(j);P_b(e,i);P_b(e,l.j==N2b?l:(je(JXb(l)),new b1b(u3b,l)))}Ilc(a.c,0,new F6($5,j,b));c=s6(n);h=FXb(g.j==k3b?new _0b(_4b):g,e);p=xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(n)));f=r6();Q_b(a.j,h);o.j==k3b||Q_b(a.j,o);Q_b(a.j,c);m.j==k3b||Q_b(a.j,m);P_b(e,p);P_b(e,f)}function Dec(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(b.xi())return a;a.e=a.e||b.ri();a.c=a.c||b.Fi();g=iD(b,193);a.f=a.f||g;g&&(a.b=a.b&&b.si());if(!a.e&&!a.f)if(b.Ni()){l=b.Ni();
for(n=gec(l).Ld();n.Dd();){m=n.Ed();Dec(a,m,false)}}else{if(a.a.a.length>a.g)return a;if(!!b.Ji()&&a.d!=-1){i=Mlc(a.a,a.d).Ji();k=o8b(b.Ji(),i,true);Rlc(a.a,a.d,k);a.j=null;return a}e=0;h=new pmc(a.a);while(h.a<h.c.a.length){j=false;d=nmc(h);if(b.Ei()||d.Ei()||b.wi()||d.wi()||E5b(b)||E5b(d)){f=c?new j9b(true):new j9b(false);if(B5b(b,d,0,f))return a}else{b.Mi();d.Mi();if(Hec(b,d,c))return a;else Hec(d,b,c)&&(j=true)}if(j){omc(h);if(e==a.d)a.d=-1;else if(e<a.d){--a.d;--e}}++e}if(b.Ji()){je(a.d==-1);
a.d=a.a.a.length}Jlc(a.a,b);a.j=null}else a.j=null;return a}function UNb(a,b){var c,d,e,f,g,h,i;e=kPb(a.j,0).b.b;d=null;if(AOb(a,(bSb(),DRb)))d=(a.d=SJb(a.d,(NKb(),EKb).a),i=kPb(a.j,0).b.b,nMb(a,DRb),new KVb(new oWb(i,a.g),dOb(a,0)));else{f=kPb(a.j,0).c;if(arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),f)||!a.b.c&&XLb(f)){d=yNb(a);if(AOb(a,vRb)){nMb(a,vRb);d=new OTb(new oWb(e,a.g),d)}}else if(b!=2&&(zOb(a,0,iRb)||zOb(a,0,gRb)))d=WNb(a,0);else throw QT(new sgc("parseParameterCalled() without confirming a parameter exists."));
}g=null;h=null;if(AOb(a,oQb)){if(zOb(a,1,JRb)){nMb(a,oQb);g=INb(a)}else g=(nMb(a,oQb),nOb(a));h=uMb(a,kPb(a.j,0).b.b)}if(b==0&&d.p!=(EVb(),fVb)&&AOb(a,AQb)){a.d=SJb(a.d,(NKb(),gKb).a);nMb(a,AQb);c=OMb(a,1);d=new OSb(new oWb(e,a.g),d,c)}!!g&&(d=new ZVb(h,d,g));return d}function yGb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;f=new dic;o=-1;n=-1;if(d){bIb(a.j);o=a.j.g;n=YHb(a.j)+1;k=BGb(a);c!=0&&(k=Lhc(k));f.a+=""+k;a.i=(uHb(),sHb);b=!a.o?ZHb(a.j):vGb(a)}i=false;l=-1;do switch(b.f){case 15:if(i){l=YHb(a.j)+
1;i=false}else{HGb(a,f,l,c);l=-1;f.a+="*"}b=!a.o?ZHb(a.j):vGb(a);while(b==(SHb(),QHb)){if(l!=-1){HGb(a,f,l,c);l=-1}f.a+="*";b=!a.o?ZHb(a.j):vGb(a)}continue;case 1:c!=2&&(f.a+=Gyc,f);i=true;l=0;b=!a.o?ZHb(a.j):vGb(a);continue;default:i=false;a.i=(uHb(),sHb);j=b==(SHb(),CHb);if(!j){HGb(a,f,l,c);l=-1}if(b==CHb||b==DHb||b==xHb&&!e){m=f.a;c!=0&&(m=Lhc(m));if(d&&m.length!=0){h=a.j.g;g=YHb(a.j);u$b(a.e,m,o,n,h,g)}return new qHb(m,b)}_hc(f,kHb(a,b));k=BGb(a);c!=0&&(k=oHb(k));f.a+=""+k;b=!a.o?ZHb(a.j):vGb(a)}while(true)}
function rPb(a,b,c){var d,e,f,g,h,i;i=new dic;i.a+=String.fromCharCode(c);e=c==92;d=false;g=e?1:0;c=ePb(a,a.d)?lhc(a.e.a,a.d):0;while(RPb(c)||/\d/.test(String.fromCharCode(c))||c==92||c==123&&g==2||c==125&&d){c==92&&(e=true);(c==92||g>0)&&++g;c==123&&(d=true);if(c==125||g>=6&&!d){d=false;g=0}Uhc(i,fPb(a));c=ePb(a,a.d)?lhc(a.e.a,a.d):0}h=i.a;if(e){h=lPb(h);if(h==null){mPb(a,dPb(a,a.d),"Invalid escape sequence",vC(qC(yR,1),Uxc,1,5,[]));return aPb(a,(bSb(),DQb),b)}}f=h.charCodeAt(0);if(!RPb(f)){mPb(a,
aMb(a.e.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",vC(qC(yR,1),Uxc,1,5,[Kfc(f),Hgc(f)]));return aPb(a,(bSb(),DQb),b)}SLb();if(Yn(sLb,h))return new RKb(Yn(sLb,h).a,bMb(a.e.b,b,a.d));return new TKb(bMb(a.e.b,b,a.d),(exc(h),h))}function LNb(a){var b,c,d,e,f,g,h,i,j;f=kPb(a.j,0).b.b;zOb(a,0,(bSb(),LQb))&&qhc(kPb(a.j,0).a,Pzc)&&(c=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(c||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&zOb(a,1,JQb)?e=RMb(a):zOb(a,0,JQb)?e=(g=kPb(a.j,0).b.b,nMb(a,(SLb(),
lLb).a),h=!!rMb(a,ERb),i=gTb(new kTb((pTb(),nTb)),(j=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),j)||!a.b.c&&XLb(j)?pMb(a):null)),uNb(a,i,h),_Sb(i,new oWb(g,a.g))):e=ZNb(a);while(zOb(a,0,iRb)||zOb(a,0,nRb)||zOb(a,0,cRb)||zOb(a,0,MRb))switch(kPb(a.j,0).c.f){case 49:nMb(a,iRb);d=BMb(a,1);nMb(a,nQb);e=new ETb(new oWb(f,a.g),e,d);break;case 51:nMb(a,nRb);b=pMb(a);e=new DTb(new oWb(f,a.g),e,b);break;case 107:case 104:e=mOb(a,e);break;default:throw QT(new yB(zFc));}return e}function rbb(a,
b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;Xd(b.j==(m5b(),E3b)||b.j==R4b);Xd($db(a.a,c));if(b.j==R4b&&$db(a.a,b.b))return;f=(e=Jdb(a.a,pBb(c),false),!e?null:iD(e.c,153)?e.c:null);if(!!f&&f.c.contains(d))return;k=Ndb(a.a,pBb(c));i=(Gfb(),j=Tfb(b),!j?null:g0b(j,29));g=hgb(b);p=Qab(a,i,g,null);n=p.a;o=p.b;h=aab(a.c,b);if(!!n||h){m=(l=bh(Tg(k.B,d,false)),!l?null:l.b);if(!!wub(k,new oBb(d))||xub(k,d)&&!!m&&!lbb(i,n,m)){bfb(a.c.t,Zbb(b,(S9(),L9),vC(qC(DR,1),Fxc,2,6,[d,"namespace "+k])));v0b(b.e,76,true);
return}!n&&(n=Xab(a,b));oub(k,d,b,n,h);r=A0b(b,b.g,76);r!=b.g&&(b.g=r);b.g=new E1b(76,1,b.g);b.j==E3b&&h&&(q=A0b(b,b.g,77),q!=b.g&&(b.g=q),b.g=new E1b(77,1,b.g))}else if(o)qub(k,d,b,o);else{s=!g?null:gbb(a,g);!s&&(s=a.c.d.K);qub(k,d,b,s)}}function Axb(a,b,c,d){var e,f,g,h,i,j;de(b);!d&&(d=(Gm(),Gm(),Fm));switch(b.j.f){case 144:return yxb(a,b,c,d);case 79:return a.a.K;case 78:return a.a.G;case 143:wrc(a.i,Zbb(b,Nwb,vC(qC(DR,1),Fxc,2,6,[])));return a.a.K;case 31:return wxb(a,b,c,d);case 136:i=a.a.b;
for(e=b.b;e;e=e.d){f=Axb(a,e,c,d);if(Exc==f.Vh())return a.a.K;g=Cwb(i,f);if(0==g.Vh()){wrc(a.i,Zbb(b,hxb,vC(qC(DR,1),Fxc,2,6,[nwb(f,new dic).a,nwb(i,new dic).a])));return a.a.K}i=g}return i;case 141:h=Axb(a,b.b,c,d);h.Vh()==1&&wrc(a.i,Zbb(b,Owb,vC(qC(DR,1),Fxc,2,6,[])));return jwb(h,a.a.k);case 139:e=b.b;return!e?a.a.K:Cwb(a.a.k,Axb(a,e,c,d));case 137:return a.a.v;case 65:return j=new Mvb(a.a),mxb(a,b,c,d,j),Zxb(a.a,Lvb(j));default:throw QT(new xcb("Unsupported type exp: "+b.j+" "+W0b(b)));}}function Nbb(a,
b,c){var d,e,f,g,h,i,j;if(a.a&&g0b(c,40)!=null){_hc(b,g0b(c,40));return}if(c.j==(m5b(),I2b)){b.a+="!";Nbb(a,b,c.b)}else if(c.j==p3b){Nbb(a,b,c.b);b.a+="="}else if(c.j==z4b){b.a+="(";g=c.b?c.b.f:null;for(d=c.b;d;d=d.d){Nbb(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.j==j3b){b.a+=Qzc;!!c.b&&c.b.j!=k3b&&Nbb(a,b,c.b)}else if(c.j==P4b)b.a+="*";else if(c.j==D4b){b.a+="?";!!c.b&&Nbb(a,b,c.b)}else if(c.j==y3b)Mbb(a,b,c);else if(c.j==Y3b){b.a+="{";i=c.b;h=i.b?i.b.f:null;for(e=i.b;e;e=e.d){if(e.b){_hc(_hc(b,
e.b.ci()),":");Nbb(a,b,e.b?e.b.f:null)}else _hc(b,e.ci());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.j==h5b)b.a+=fAc;else if(c.b){_hc(_hc(b,c.ci()),"<");d=c.b;f=d.b?d.b.f:null;for(j=d.b;j;j=j.d){Nbb(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else _hc(b,c.ci())}function svb(a,b){var c,d,e,f,g,h,i,j,k;if(!a||!b)return null;else if(b==b.a.A||b==b.a.i||Yub(a,b))return a;else if(a==a.a.A||a==a.a.i)return b;if(a.c||b.c)return rvb(a,b);if(!a.n.isEmpty()&&bvb(a,b,true,new VBb((Uyb(),Uyb(),Tyb)),null))return a;else if(!b.n.isEmpty()&&
bvb(b,a,true,new VBb((Uyb(),Uyb(),Tyb)),null))return b;!a.n.isEmpty()&&(a=ovb(a));!b.n.isEmpty()&&(b=ovb(b));d=a.a;c=new Mvb(d);h=Xgc(a.i.size(),b.i.size());for(f=0;f<h;f++)Gvb(c,Iwb(Zub(a,f),Zub(b,f)));g=Wgc(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(e=h;e<g;e++){i=Iwb(Zub(a,e),Zub(b,e));if(0==i.Vh())return d.c;Cvb(c,i)}if(!!a.j||!!b.j){j=Iwb(a.j,b.j);if(0==j.Vh())return d.c;Hvb(c,j)}k=Fwb(a.k,b.k);if(0==k.Vh())return d.c;Ivb(c,k);Bvb(c,tvb(a.d,b.d));Fvb(c,qvb(a.g,b.g));return Lvb(c)}function q_(a,
b,c){var d,e,f,g,h,i,j,k,l,m,n;f=!c&&a.H.Zc;if(usc(a.q,b)||f)return a.w;j=$kb("js/"+b+uAc);d=(!a.H&&L_(a,new D1),n=new g1((Fmb(),new Tmb((new Qmb,vAc+b+"] "),j))),W_(a,n.f,n),$0(n,a));for(i=d.b;!!i&&i.j==(m5b(),u3b)&&i.b.j==(m5b(),Q4b);i=d.b){e=i.b.ci();m=zf(wf(Ef(new jc(32))),e);switch(m.a.getAtIndex(0)){case "use":break;case "require":q_(a,m.a.getAtIndex(1),c);break;case kAc:P_b($0((!a.S&&(a.S=O_(a,"{SyntheticVarsAtEnd}",1)),a.S),a),wXb(NXb(m.a.getAtIndex(1)),(m5b(),g5b)));break;default:throw QT(new yB("Bad directive: "+
e));}x0b(d,i)}zU(a.Y)&&(Vhb(),wfb(a,d,new kib(a,false)),wfb(a,d,new bdb(new odb(r_(a),(l=a,new M0(l)),"jscomp_"+b+"_"))));h=d.b?d.b.f:null;g=y0b(d);if(!g)return a.w;k=x_(a);!a.w?T_b(k,g):R_b(k,g,a.w);a.w=h;wsc(a.q,b,h);$_(a);return h}function cdc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(b.Ki()){q=b.Ki();f=new ndc(a.u);f.a=false;h=Nac(a.u,(wac(),O9b));for(o=a.r.b.keySet().Ld();o.Dd();){m=o.Ed();s=V6b(a,m);l=null;if(Mac(q.u,L9b)==q||Y6b(q)||!!pcc(q.r,m)){p=V6b(q,m);l=s.ni(p);if(B5b(l,h,0,new j9b(true)))return h}else l=
s;ldc(f,m,l,(i=pcc(a.r,m),!i?null:i.d))}for(n=q.r.b.keySet().Ld();n.Dd();){m=n.Ed();Mac(a.u,L9b)==a||Y6b(a)||!!pcc(a.r,m)||ldc(f,m,V6b(q,m),(i=pcc(q.r,m),!i?null:i.d))}return mdc(f)}g=Oac(a.u,(wac(),M9b));r=Oac(a.u,_9b).ni(b);if(!(r.xi()||r.vi()||r.wi()||Oac(r.u,L9b)==r))for(k=a.r.b.keySet().Ld();k.Dd();){j=k.Ed();l=V6b(a,j);f=new Jec(a.u);for(d=Lac(a.u,j).Ld();d.Dd();){c=d.Ed();e=c.Yi(j);!!e&&!B5b(c,a,0,new j9b(true))&&c.Ci(b)&&e.Ci(l)&&Dec(f,c,false)}g=g.oi(Eec(f))}return g}function aNb(a,b){var c,
d,e,f,g,h,i,j,k,l;h=!!rMb(a,(bSb(),ERb));l=kPb(a.j,0).c;if(LQb==l||(SLb(),SLb(),!!Yn(tLb,l))){k=null;j=pMb(a)}else{if(a.b.d&&zOb(a,0,iRb)&&zOb(a,1,LQb)&&zOb(a,2,oQb)){g=DNb(a);sMb(a);return g}k=cNb(a);j=null}if(!a.b.d||AOb(a,hRb)||AOb(a,fRb)){if(!k){i=(pTb(),oTb);c=b.a}else{i=(pTb(),nTb);c=null}if(b.b){f=MNb(a,b.d,j,b.c,h,b.a);sMb(a)}else{d=aTb(jTb(gTb(new kTb(i),j),b.c),c);uNb(a,d,h);f=_Sb(d,uMb(a,b.d))}return i==(pTb(),oTb)?f:new ISb(uMb(a,b.d),b.a,k,f)}else{h&&TOb(a,"Member variable cannot be prefixed by '*' (generator function)",
vC(qC(yR,1),Uxc,1,5,[]));e=wMb(a);AOb(a,AQb)&&TOb(a,"Member variable initializers ('=') are not supported",vC(qC(yR,1),Uxc,1,5,[]));sMb(a);return!k?new FTb(uMb(a,b.d),j,b.c,false,b.a,e):new HSb(uMb(a,b.d),k,b.c,b.a,e)}}function QV(a,b){var c,d,e,f,g,h,i,j,k,l;switch(b.j.f){case 84:NV((m5b(),F3b),b);c=o5b(b.j);c!=-1&&(d=b0b(b),c!=d&&nW(bzc+c+czc+d,b));SV(b);e=b.b;uV(a,e,false);e.b.ci().length==0||nW(nzc,b);f=e.b.d;!!f.b&&nW("get methods must not have parameters.",b);return;case 85:NV((m5b(),L4b),b);
g=o5b(b.j);g!=-1&&(h=b0b(b),g!=h&&nW(bzc+g+czc+h,b));SV(b);i=b.b;uV(a,i,false);i.b.ci().length==0||nW(nzc,b);j=i.b.d;!!j.b&&!j.b.d||nW("set methods must have exactly one parameter.",b);return;case 89:RV(a,b);return;case 96:iV(a,b,false);e0b(b,58)!=0&&nW("Keys in an object literal should not be static.",b);return;case 112:NV((m5b(),Z2b),b);k=o5b(b.j);k!=-1&&(l=b0b(b),k!=l&&nW(bzc+k+czc+l,b));sV(a,b.b);sV(a,b.b?b.b.f:null);return;default:nW("Expected object literal key expression but was "+b.j,b)}}
function Prb(){Prb=pU;Mrb=new q4("JSC_REFERENCE_BEFORE_DECLARE",(lX(),kX),new Hic("Variable referenced before declaration: {0}"));Nrb=new q4("JSC_REDECLARED_VARIABLE",kX,new Hic("Redeclared variable: {0}"));Lrb=new q4("AMBIGUOUS_FUNCTION_DECL",iX,new Hic("Ambiguous use of a named function: {0}."));new q4("JSC_REFERENCE_BEFORE_DECLARE_ERROR",iX,new Hic("Illegal variable reference before declaration: {0}"));new q4("JSC_REASSIGNED_CONSTANT",iX,new Hic("Constant reassigned: {0}"));new q4("JSC_REDECLARED_VARIABLE_ERROR",
iX,new Hic("Illegal redeclared variable: {0}"));new q4("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",iX,new Hic("Block-scoped declaration not directly within block: {0}"));Orb=new q4("JSC_UNUSED_LOCAL_ASSIGNMENT",jX,new Hic("Value assigned to local variable {0} is never read"))}function pvb(a,b){var c,d,e,f,g,h,i,j,k;if(!a)return b;else if(!b||Yub(a,b))return a;else if(a==a.a.t||b==b.a.t)return a.a.t;else if(a==a.a.A||a==a.a.i||b==b.a.A||b==b.a.i)return a.a.A;if(a.c||b.c)return rvb(a,b);if(!a.n.isEmpty()&&
bvb(b,a,true,new VBb((Uyb(),Uyb(),Tyb)),null))return a;else if(!b.n.isEmpty()&&bvb(a,b,true,new VBb((Uyb(),Uyb(),Tyb)),null))return b;!a.n.isEmpty()&&(a=ovb(a));!b.n.isEmpty()&&(b=ovb(b));d=a.a;c=new Mvb(d);g=Wgc(a.i.size(),b.i.size());for(f=0;f<g;f++){k=vvb(Zub(a,f),Zub(b,f));if(!k)return d.c;Gvb(c,k)}h=Wgc(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(e=g;e<h;e++){j=vvb(Zub(a,e),Zub(b,e));if(!j)return d.c;Cvb(c,j)}if(!!a.j&&!!b.j){i=vvb(a.j,b.j);if(!i)return d.c;Hvb(c,i)}Ivb(c,Cwb(a.k,b.k));
Bvb(c,qvb(a.d,b.d));Fvb(c,tvb(a.g,b.g));return Lvb(c)}function mgc(a){var b,c,d,e,f,g,h,i,j,k,l;if(a==null)throw QT(new ghc(Mxc));j=a;f=a.length;i=false;if(f>0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1,a.length-1);--f;i=b==45}}if(f==0)throw QT(new ghc(aGc+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1,a.length-1);--f}if(f>(fhc(),dhc)[10])throw QT(new ghc(aGc+j+'"'));for(e=0;e<f;e++)if(Afc(a.charCodeAt(e),10)==-1)throw QT(new ghc(aGc+j+'"'));l=0;g=bhc[10];k=chc[10];h=$T(ehc[10]);
c=true;d=f%g;if(d>0){l=-nxc(a.substr(0,d),10);a=a.substr(d,a.length-d);f-=d;c=false}while(f>=g){d=nxc(a.substr(0,g),10);a=a.substr(g,a.length-g);f-=g;if(c)c=false;else{if(ST(l,h)<0)throw QT(new ghc(aGc+j+'"'));l=ZT(l,k)}l=bU(l,d)}if(ST(l,0)>0)throw QT(new ghc(aGc+j+'"'));if(!i){l=$T(l);if(ST(l,0)<0)throw QT(new ghc(aGc+j+'"'));}return l}function eub(a,b,c){var d,e,f,g,h,i,j,k;if(c&&a.f.size()+a.d.size()+(!a.g?0:1)==b.f.size()+b.d.size()+(!b.g?0:1)){i=!b.c?null:Zvb(b.c);k=!a.e?null:Zvb(a.e);return new fub(a.a,
b.f,b.d,b.g,b.i,!i?null:!i.a.o.isEmpty()&&!i.b.d.d.isEmpty()?wwb(FAb(i.a.s,i,null,null,null,false,i.a.g)):i.a.p,!k?null:!k.a.o.isEmpty()&&!k.b.d.d.isEmpty()?wwb(FAb(k.a.s,k,null,null,null,false,k.a.g)):k.a.p,b.j,false)}d=new Mvb(a.a);h=0;for(g=a.f.Ld();g.Dd();){e=g.Ed();Gvb(d,e?e:(j=b.f.size(),h<j?b.f.getAtIndex(h):h<j+b.d.size()?b.d.getAtIndex(h-j):b.g));++h}for(f=a.d.Ld();f.Dd();){e=f.Ed();Cvb(d,e?e:(j=b.f.size(),h<j?b.f.getAtIndex(h):h<j+b.d.size()?b.d.getAtIndex(h-j):b.g));++h}a.g?Hvb(d,a.g):
!!b.g&&Hvb(d,b.g);Ivb(d,a.i?a.i:b.i);Bvb(d,a.c);Fvb(d,a.e);a.j.isEmpty()?b.j.isEmpty()||Jvb(d,b.j):Jvb(d,a.j);return Kvb(d)}function GIb(a,b){var c,d,e,f,g,h;if(!wIb(a,b,(AJb(),lJb)))return false;if(!VIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)))){_Ib(a,(d=lJb.d,ae(b.j==Q2b,OEc,b),a0b(b,1),d));return false}if((ae(b.j==Q2b,OEc,b),a0b(b,2)).j!=y3b){$Ib(a,(e=UEc,ae(b.j==Q2b,OEc,b),a0b(b,2),e));_Ib(a,(d=lJb.d,ae(b.j==Q2b,OEc,b),a0b(b,2),d));return false}f=(ae(b.j==Q2b,OEc,b),a0b(b,2));h=(ae(f.j==y3b,VEc,
f),b0b(f.b.d));if(h<2){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[UEc]),zEc+m2b(WEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,(d=lJb.d,ae(b.j==Q2b,OEc,b),a0b(b,2),d));return false}if(h>2){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[UEc]),zEc+m2b(XEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,(d=lJb.d,ae(b.j==Q2b,OEc,b),a0b(b,2),d));return false}g=(ae(f.j==y3b,VEc,f),a0b(f,2));if(!VIb(a,g)){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[YEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function HIb(a,b){var c,d,e,f,g,h;if(!wIb(a,b,(AJb(),mJb)))return false;
if(!VIb(a,(ae(b.j==(m5b(),Q2b),OEc,b),a0b(b,1)))){_Ib(a,(d=mJb.d,ae(b.j==Q2b,OEc,b),a0b(b,1),d));return false}if((ae(b.j==Q2b,OEc,b),a0b(b,2)).j!=y3b){$Ib(a,(e=UEc,ae(b.j==Q2b,OEc,b),a0b(b,2),e));_Ib(a,(d=mJb.d,ae(b.j==Q2b,OEc,b),a0b(b,2),d));return false}f=(ae(b.j==Q2b,OEc,b),a0b(b,2));h=(ae(f.j==y3b,VEc,f),b0b(f.b.d));if(h<1){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[UEc]),zEc+m2b(WEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,(d=mJb.d,ae(b.j==Q2b,OEc,b),a0b(b,2),d));return false}if(h>1){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[UEc]),
zEc+m2b(XEc,c)),a.b.Dg(),a.d,a.c);_Ib(a,(d=mJb.d,ae(b.j==Q2b,OEc,b),a0b(b,2),d));return false}g=(ae(f.j==y3b,VEc,f),a0b(f,2));if(!VIb(a,g)){a.a.fh((c=vC(qC(yR,1),Uxc,1,5,[YEc]),zEc+m2b(SEc,c)),a.b.Dg(),a.d,a.c);return false}return true}function aAb(a,b,c){var d,e,f,g,h,i;je(a.c||b.c);if(b==a.a.C)return true;if(a.c)for(h=(e=(new Kjc(a.g)).a.ne().Ld(),new Qjc(e));h.a.Dd();){g=(d=h.a.Ed(),d.xe());i=new oBb(g);f=Yzb(b,i);if(!!f&&(i.a.size()==1||iwb(f.d,(Xd(i.a.size()!=1),new nBb(i.a.Qe(1,i.a.size())))))&&
!cwb($zb(a,i),$zb(b,i),c))return false}else for(h=(e=(new Kjc(b.g)).a.ne().Ld(),new Qjc(e));h.a.Dd();){g=(d=h.a.Ed(),d.xe());i=new oBb(g);if((a.f.a&1)!=0){f=Yzb(a,i);if(!(!!f&&(i.a.size()==1||iwb(f.d,(Xd(i.a.size()!=1),new nBb(i.a.Qe(1,i.a.size()))))))||!cwb($zb(a,i),$zb(b,i),c))return false}else{f=Yzb(a,i);if(!!f&&(i.a.size()==1||iwb(f.d,(Xd(i.a.size()!=1),new nBb(i.a.Qe(1,i.a.size())))))&&!cwb($zb(a,i),$zb(b,i),c))return false}}if(!b.b)return!a.b||NBb((!b.d?gyb(b.a):b.d).a,wCc)||b.c;else if(!a.b)return a.c;
return avb(a.b,b.b)}function bvb(a,b,c,d,e){var f,g,h,i,j,k,l;if(b==b.a.A||b==b.a.i||b==b.a.t||a==a.a.t)return true;if(a==a.a.A||a==a.a.i)return false;je(!a.c&&!b.c);if(!a.n.isEmpty()){if(Yub(a,b))return true;return bvb(ovb(a),b,c,d,e)}if(!(b.i.isEmpty()&&b.e.isEmpty()&&!!b.j&&Exc==b.j.Vh())){if(a.i.size()>b.i.size())return false;j=b.i.size()+b.e.size();for(h=0;h<j;h++){k=Zub(a,h);i=Zub(b,h);if(!!k&&Exc!=k.Vh()&&Exc!=i.Vh()&&!cwb(i,k,d))return false}if(b.j){l=a.i.size()+a.e.size();!!a.j&&++l;for(g=
j;g<l;g++){k=Zub(a,g);i=Zub(b,g);if(!!k&&Exc!=k.Vh()&&Exc!=i.Vh()&&!cwb(i,k,d))return false}}}if(!a.d&&!!b.d||!!a.d&&!b.d||!!a.d&&!!b.d&&!cwb(a.d,b.d,d))return false;if(c){if(!a.a.L&&!!a.g&&!b.g)return false;if(!!a.g&&!!b.g&&!cwb(b.g,a.g,d)&&!cwb(a.g,b.g,d))return false}f=Exc==a.k.Vh()||Exc==b.k.Vh()||cwb(a.k,b.k,d);return f}function Tlb(a){Nlb();this.a=a;this.b=cq(new fq,zwc(mDc),Llb).cf(Qlb('Duplicate parameter name "{0}"'),ylb).cf(zwc("^invalid param name.*"),Dlb).cf(Qlb(m2b(nDc,null)),xlb).cf(zwc("^"+
Awc(oDc)),Elb).cf(zwc("^Keywords and reserved words are not allowed as unquoted property.*"),Blb).cf(zwc("^Too many template parameters"),Klb).cf(zwc("^Bad type annotation\\. Type annotations should have curly braces.*"),Flb).cf(zwc("Missing type declaration\\."),Glb).cf(zwc("^Bad type annotation.*(?!Type annotations should have curly braces\\.)"),Mlb).cf(zwc("Too deep recursion while parsing"),Jlb).cf(zwc("^Octal .*literal.*"),Clb).cf(zwc("^this language feature is only supported for ECMASCRIPT6 mode.*"),
zlb).cf(zwc("^type syntax is only supported in ES6 typed mode.*"),Alb).cf(zwc("^Can only have JSDoc or inline type.*"),Hlb).bf()}function S7(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=a8(c,b);h=(Gfb(),Lfb(k,false,a.a));e=_7(k);p=new c8;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;je(!b8(m)||d==m.b);if(n==(m5b(),u2b))if(X7(a,m,p.b));else{i=m.b;q=i.j;if(i!=d){je(i.j==E3b||i.j==D3b);q==D3b&&Q7(a,i.b?i.b.f:null,null,p);Q7(a,i.b,null,p)}}else if(n==Q2b&&Fgb(m.b)){f=m.b;Q7(a,
f.d,d,p);if(W7(a,f,p.b)&&f.b!=g){ke(false,"Object method calls can not be decomposed.");p.b=true;o=(Xd(m.j==Q2b),r=m.b,Xd(r.j==E3b||r.j==D3b),s=U7(a,r,p.a),p.a=s,t=s.b.b,Xd(t.j==E3b||t.j==D3b),u=U7(a,t.b,p.a),p.a=u,v=u.b,w=s.b,A=X0b(qXb(CXb(w.ai(false),new _1b(Q4b,uBc)),vC(qC(hQ,1),zzc,7,0,[v.ai(false)])),m),z0b(m),!!m.b&&S_b(A,y0b(m)),B=m.e,B0b(B,m,A),A);m=o}}else n==t4b?P7(a,m.b,d,p):Q7(a,m.b,d,p)}if(k==c);else{l=k.e;j=l.j!=(m5b(),u3b);T7(a,k,e,j)}}function jAb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,
o,p,q,r;k=a.g;if(b.a.size()==1){p=b.a.getAtIndex(0);f=Xzb(a,b);!c&&(c=f);if(f){d=true;(Xd(b.a.size()==1),q=Yzb(a,b),!!q&&q.a==(kBb(),hBb))&&(e=true);!!c&&!cwb(c,f,new VBb((Uyb(),Uyb(),Tyb)))&&(c=f)}if(!c&&!f)k=Xyb(k,p);else if(!Tvb(c,f)){d&&!f&&(f=c);h=null;(Xd(b.a.size()==1),r=Yzb(a,b),!!r)&&(h=Yzb(a,b).c);k=Wyb(k,p,e?new _Ab(h,c,f,(kBb(),hBb)):new _Ab(h,c,d?f:null,(kBb(),jBb)))}}else{l=b.a.getAtIndex(0);n=new oBb(l);o=Yzb(a,n);if(!(!!o&&(n.a.size()==1||iwb(o.d,(Xd(n.a.size()!=1),new nBb(n.a.Qe(1,
n.a.size()))))))){re(!c,b,a,l);return a}j=(Xd(b.a.size()!=1),new nBb(b.a.Qe(1,b.a.size())));m=Yzb(a,n);i=!c?rwb(m.d,j):qwb(m.d,j,c);g=m.b;Tvb(i,g)||(k=Wyb(k,l,m.a==(kBb(),iBb)?new _Ab(null,i,g,iBb):new _Ab(null,i,g,jBb)))}if(k==a.g)return a;return FAb(a.a,a.d,k,a.b,a.e,a.c,a.f)}function $Nb(a){var b,c,d,e,f,g;f=kPb(a.j,0).c;if(f==(bSb(),ERb))return _Nb(a);else if(f==JRb||f==eRb||f==LQb||(SLb(),!!Yn(tLb,f)))return zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,"get")&&(KOb(a,1)||kPb(a.j,1).c==iRb)?wNb(a,new _Ob(kPb(a.j,
0).b.b)):zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,"set")&&(KOb(a,1)||kPb(a.j,1).c==iRb)?fOb(a,new _Ob(kPb(a.j,0).b.b)):zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,Pzc)&&(c=kPb(a.j,1).b.b.b>kPb(a.j,0).b.a.b,!(c||zOb(a,1,ARb)||zOb(a,1,lQb)||zOb(a,1,yQb)))&&(KOb(a,1)||kPb(a.j,1).c==iRb)?SMb(a,new _Ob(kPb(a.j,0).b.b)):kPb(a.j,1).c==hRb?aNb(a,new _Ob(kPb(a.j,0).b.b)):aOb(a);else if(f==iRb){e=kPb(a.j,0).b.b;d=cNb(a);if(AOb(a,oQb)){nMb(a,oQb);g=OMb(a,1);return new FSb(new oWb(e,a.g),d,g)}else{b=new kTb((pTb(),nTb));uNb(a,b,false);
g=_Sb(b,new oWb(e,a.g));return new ISb(new oWb(e,a.g),null,d,g)}}else throw QT(new yB(zFc));}function owb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;de(b);if(Exc==a.Vh()||-1==a.Vh())return true;else if(a.Vh()==1&&c.contains(a.Xh())){Mwb(d,a.Xh(),b);return true}else if(Exc==b.Vh()||512==b.Vh()||8==b.Vh())return true;else if(-1==b.Vh())return false;s=(fm(),$w(),Zw);if(!b.Uh().isEmpty()){s=new btc;for(g=b.Uh().Ld();g.Dd();){f=g.Ed();cwb(Ewb(f.s,4,Pvb,null,new Jx(f)),a,new VBb((Uyb(),Uyb(),Tyb)))||
s.add(f)}}t=new dtc(b.Wh());for(n=a.Wh().Ld();n.Dd();){m=n.Ed();for(l=b.Wh().Ld();l.Dd();){k=l.Ed();hAb(m,k,c,d,e)&&t.a.remove(k)!=null}}r=a.Xh();j=b.Xh();if(r==null||!c.contains(r))return t.a.size()==0&&s.isEmpty()&&(j==null||qhc(j,r))&&a.Vh()==(a.Vh()|b.Vh()&-5);else{q=a.Vh()&-3&-2;o=b.Vh()&~q;t.a.size()==0&&(o&=-3);if(o==0)return t.a.size()==0&&s.isEmpty();p=Ewb(a.e,Jwb(o),(i=t,qo(i)),j,(h=s,qo(h)));Mwb(d,a.Xh(),p);return true}}function U9(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;j=nzb(c,d);if(!j)return;
c.a.f!=0?i=Z9(a,c,d):i=(fm(),new Jx(Y9(a,c,d)));if(c.a.f!=0&&b.f==0&&!GBb(b,d)){bfb(a.t,Zbb(i.Ld().Ed().a,D9,vC(qC(DR,1),Fxc,2,6,[d,dzb(c,new dic).a,zBb(b,new dic).a])));return}k=tp(a.o,b,d);l=!k?null:DBb(b,d);if(!!k&&c.a.f==0&&!!l&&!!Vvb(l)&&(m=GBb(c.a,d),!!m&&m.a==(kBb(),hBb))){bfb(a.t,Zbb(k.a,r9,vC(qC(DR,1),Fxc,2,6,[d])));return}if(!l&&c.a.f!=0)qg(f,d,j);else if(!!l&&!gab(k)&&!(n=(o=l.Vh()==2&&l.Wh().size()==1?Yr(l.Wh().Ld()):null,!o?null:o.b),p=(q=j.Vh()==2&&j.Wh().size()==1?Yr(j.Wh().Ld()):null,
!q?null:q.b),!n?cwb(l,j,new VBb((Uyb(),Uyb(),Tyb))):!!p&&bvb(n,p,false,new VBb((Uyb(),Uyb(),Tyb)),null)))bfb(a.t,Zbb(k.a,F9,vC(qC(DR,1),Fxc,2,6,[d,nwb(j,new dic).a,nwb(l,new dic).a])));else if(!!l&&!!k.c)for(h=i.Ld();h.Dd();){g=h.Ed();!!g.c&&qg(e,d,bub(g.c,c))}}function zab(a,b,c,d,e){var f,g,h,i,j,k,l;je(!c||o0b(c));if(!d)return;if((d.a&2)!=0||(d.a&512)!=0||(d.a&nCc)!=0){if(!c){bfb(a.b.t,Zbb(b,(S9(),o9),vC(qC(DR,1),Fxc,2,6,[])));c=NXb(zCc+t3(a.b.j));X0b(c,b)}h=h0b(c);f=(Gm(),new Zp);for(k=PYb(d).Ld();k.Dd();){j=
k.Ed();Xp(f,lCb(a.b.s,j))}l=Om(f.a);(d.a&nCc)!=0?i=new QBb(a.b.d,b,h,l,2,(Pzb(),Nzb)):(d.a&512)!=0||(d.a&nCc)!=0?i=new QBb(a.b.d,b,h,l,1,(Pzb(),Nzb)):(d.a&Tyc)!=0?i=new QBb(a.b.d,b,h,l,0,(Pzb(),Mzb)):(d.a&bCc)!=0?i=new QBb(a.b.d,b,h,l,0,(Pzb(),Lzb)):i=new QBb(a.b.d,b,h,l,0,(Pzb(),Nzb));wsc(a.b.n,b,i);if(e)return;g=c.b;if(c.j==(m5b(),g4b)||$db(a.a,g)||wab(a,g)||xab(a,g)){c.j==E3b?v0b(b.e.b,76,true):!a.a.r&&yab(a,h,i);Ddb(a.a,c,i)}}else(d.a&Tyc)!=0?bfb(a.b.t,Zbb(b,(S9(),N9),vC(qC(DR,1),Fxc,2,6,["@struct"]))):
(d.a&bCc)!=0&&bfb(a.b.t,Zbb(b,(S9(),N9),vC(qC(DR,1),Fxc,2,6,["@dict"])))}function Hqb(){Hqb=pU;Bqb=(A5b(),"(Proxy)");Fqb=new q4("JSC_MALFORMED_TYPEDEF",(lX(),kX),new Hic("Typedef for {0} does not have any type information"));Cqb=new q4("JSC_ENUM_INITIALIZER_NOT_ENUM",kX,new Hic("enum initializer must be an object literal or an enum"));Aqb=new q4("JSC_CTOR_INITIALIZER_NOT_CTOR",kX,new Hic("Constructor {0} must be initialized at declaration"));Dqb=new q4("JSC_IFACE_INITIALIZER_NOT_IFACE",kX,new Hic("Interface {0} must be initialized at declaration"));
zqb=new q4("JSC_REFLECT_CONSTRUCTOR_EXPECTED",kX,new Hic("Constructor expected as first argument"));Gqb=new q4("JSC_UNKNOWN_LENDS",kX,new Hic("Variable {0} not declared before @lends annotation."));Eqb=new q4("JSC_LENDS_ON_NON_OBJECT",kX,new Hic("May only lend properties to object types. {0} has type {1}."));new L3(Bqb,vC(qC(TI,1),Uxc,5,0,[Fqb,Cqb,Aqb,Dqb,zqb,Gqb,Eqb]))}function csc(){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[lFc]=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(!asc()){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[lFc]=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 ekb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;i=(c.b?c.b.f:null).ci();j=qhc(i.substr(0,5),"goog:");j?k=i.substr(5,i.length-5):k=zsb(ysb(a1((!b.e&&(b.e=w_(b.d,b.g)),b.e)),i));for(f=(!c.b?(gnc(),gnc(),fnc):new V1b(c.b)).Ld();f.Dd();){e=f.Ed();if(e.j==(m5b(),k3b)||e.j==Q4b)continue;else if(e.j==
g4b){l=j?"":Szc;Qic(a.g,e.ci(),new lkb(k,l))}else if(e.j==M3b)for(h=(!e.b?(gnc(),gnc(),fnc):new V1b(e.b)).Ld();h.Dd();){g=h.Ed();m=g.b.ci();b0b(g)==2?Qic(a.g,(g.b?g.b.f:null).ci(),new lkb(k,m)):Qic(a.g,m,new lkb(k,m))}else{oe(e.j==N3b,"Expected an IMPORT_STAR node, but was: %s",e);j&&Z_(a.c,ifb(c,_jb,vC(qC(DR,1),Fxc,2,6,[e.ci(),k])));Qic(a.g,e.ci(),new lkb(k,""))}}o=(Gfb(),Wfb(d,new Ahb((m5b(),K4b))));if(wrc(a.a,k)){n=xXb(qXb(lhb(a.c,Gzc),vC(qC(hQ,1),zzc,7,0,[new _1b(Q4b,k)])));Y_b(n,c);N_b(o,n,a.f);
a.f=n;Y0((!b.e&&(b.e=w_(b.d,b.g)),b.e),k)}x0b(d,c);$_(a.c)}function nhb(a){Gfb();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 78:return fAc;case 25:return XCc;case 41:return YCc;default:return null}}function kNb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=kPb(a.j,0).b.b;f=false;g=false;h=false;k=true;nMb(a,(bSb(),EQb));c=null;
d=null;switch(kPb(a.j,0).c.f){case 65:g=true;n=jPb(a.j);a.g=n.b.a;break;case 14:c=b?FMb(a):tNb(a);k=b;break;case 29:c=ZMb(a,false,b);k=false;break;case 37:c=ENb(a);k=false;break;case 31:c=gNb(a);k=false;break;case 110:case 111:c=ONb(a,b);k=false;break;case 109:c=DMb(a);k=false;break;case 8:f=true;m=jPb(a.j);a.g=m.b.a;c=BMb(a,1);k=false;break;case 45:h=true;d=mNb(a);break;case 108:c=oOb(a);break;default:case 25:case 38:case 30:c=b?IMb(a):wOb(a,1)}j=null;if(g||h&&zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,Tzc)){tMb(a,
Tzc);j=nMb(a,JRb)}else if(h)for(p=d.Ld();p.Dd();){o=p.Ed();e=o.b;WLb(e.a)&&ROb(a,e,yFc,vC(qC(yR,1),Uxc,1,5,[e.a]))}(k||(i=kPb(a.j,0).b.b.b>a.g.b,i||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb)))&&sMb(a);return new SSb(new oWb(l,a.g),f,g,c,d,j)}function h_(){h_=pU;yU();f_=new q4("JSC_MODULE_DEPENDENCY_ERROR",(lX(),iX),new Hic("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));new q4(qAc,iX,new Hic('required entry point "{0}" never provided'));new q4(qAc,iX,new Hic('unknown module "{0}" specified in entry point spec'));
new q4(rAc,iX,new Hic("Exceeded max number of optimization iterations: {0}"));new q4(rAc,iX,new Hic("Exceeded max number of code motion iterations: {0}"));g_=awc(cwc(),"com.google.javascript.jscomp");new Sc(_ec);d_=new q4("JSC_EMPTY_MODULE_LIST_ERROR",iX,new Hic("At least one module must be provided"));e_=new q4("JSC_EMPTY_ROOT_MODULE_ERROR",iX,new Hic("Root module ''{0}'' must contain at least one source code input"));c_=new q4("JSC_DUPLICATE_INPUT",iX,new Hic("Duplicate input: {0}"));b_=new q4("JSC_DUPLICATE_EXTERN_INPUT",
iX,new Hic("Duplicate extern input: {0}"))}function Vab(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;k=null;l=null;n=null;i=(Gfb(),j=Tfb(d),!j?null:g0b(j,29));if(!!e&&e.j==(m5b(),y3b)){k=pbb(a,e,b);l=k.c;d.j==(m5b(),F3b)?c=(Rvb(),"%getter_fun"+c):d.j==L4b&&(c=(Rvb(),"%setter_fun"+c))}else!!i&&(g=(i.a&$Bc)==eCc&&(($Bc&i.a)==eCc?i.i:null).a.j==(m5b(),y3b),g||(i.a&$Bc)==lyc||!!i.g||KYb(i)>0||(i.a&2)!=0||(i.a&xCc)!=0&&(i.a&$Bc)!=eCc)&&d.j!=(m5b(),R4b)&&(l=Mab(a,i,c,d,b,a.a));!!i&&(i.a&$Bc)==eCc?n=qxb(a.c.q,i,
b,a.a):!!l&&(n=Zxb(a.c.d,cub(l)));if(d.j==(m5b(),F3b)){f=(m=n.Vh()==2&&n.Wh().size()==1?Yr(n.Wh().Ld()):null,!m?null:m.b);!!f&&(n=(Xd(!(f==f.a.A||f==f.a.i)),f.k))}lp(a.c.o,b,c,new Abb(d,l,k));h=aab(a.c,d);if(!!n||h){if(Yab(a,b,c,d,n))return;!n&&(n=Xab(a,d));uBb(b,c,d,n,h);if(d.j==E3b){p=A0b(d,d.g,76);p!=d.g&&(d.g=p);d.g=new E1b(76,1,d.g);h&&(o=A0b(d,d.g,77),o!=d.g&&(d.g=o),d.g=new E1b(77,1,d.g))}}else yBb(b,c,d)}function A7(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;Xd(b.j==(m5b(),t4b));k=new Ulc;d=
b.b;while(d)if(e0b(d,73)!=0||e0b(d,74)!=0){Z_(a.a,Zbb(d,h7,vC(qC(DR,1),Fxc,2,6,["computed getter/setter in an object literal"])));return}else if(d.j==F3b||d.j==L4b)d=d.d;else{f=d.d;x0b(b,d);k.add(d);d=f}g="$jscomp$compprop"+(""+(m=a.a,new M0(m)).a.W++);k=iD(k,112)?Im(k):iD(k,163)?k.a:iD(k,76)?new Yu(k):new Nu(k);l=(oe(thc(g,Nhc(46))==-1,yzc,g),new _1b(g4b,g));for(i=k.Ld();i.Dd();){h=i.Ed();if(h.j==Z2b){j=z0b(h);q=z0b(h);l=tXb(mXb(BXb((oe(thc(g,Nhc(46))==-1,yzc,g),new _1b(g4b,g)),j),q),l)}else{if(!h.b){e=
Z0b(NXb(h.ci()),h);P_b(h,e)}p=z0b(h);Q0b(h,Q4b);o=h.ei()?D3b:E3b;c=new d1b(o,(oe(thc(g,Nhc(46))==-1,yzc,g),new _1b(g4b,g)),h);l=tXb(mXb(c,p),l)}}n=b;while(Gfb(),!Ygb(n.e))n=n.e;$0b(l,b);B0b(b.e,b,l);r=vXb((oe(thc(g,Nhc(46))==-1,yzc,g),new _1b(g4b,g)),b,g5b);$0b(r,n);O_b(n.e,r,n);$_(a.a)}function gbb(a,b){var c,d,e,f,g,h,i,j;switch(b.j.f){case 38:return hyb(a.c.d);case 90:return vsc(a.c.c,b);case 42:if(!b.b)return $xb(a.c.d);d=b.b;c=gbb(a,d);if(!c)return null;while(d=d.d)if(!Tvb(c,gbb(a,d)))return null;
return _xb(a.c.d,c);case 35:return a.c.d.D;case 34:return a.c.d.f;case 33:return Ldb(a.a,Zzc);case 29:return fbb(a,Kdb(a.a,b.ci(),false));case 43:f=a.c.d.B;for(h=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();h.Dd();){g=h.Ed();i=gbb(a,g.b);if(!i)return null;f=qwb(f,new oBb(dgb(g)),i)}return f;case 26:return jbb(a,b.b,(b.b?b.b.f:null).ci());case 27:return ibb(a,b);case 46:case 47:return gbb(a,b.b?b.b.f:null);case 28:case 23:return ebb(a,b);case 62:case 61:return dbb(a,b);case 60:e=gbb(a,b.b.d);j=gbb(a,
b.b?b.b.f:null);return!e||!j?null:Cwb(e,j);default:switch(_fb(b)){case 1:return a.c.d.k;case 2:return a.c.d.G;case 3:return a.c.d.r;case 4:return a.c.d.u;case 5:return a.c.d.a;default:return null}}}function nwb(a,b){var c,d,e,f,g,h,i,j,k;switch(a.Vh()){case 0:return b.a+="bottom",b;case -1:return b.a+="*",b;case Exc:return b.a+="?",b;default:k=a.Vh();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+=Axc;k&=-25;continue;case 32:b.a+=Mxc;k&=-33;continue;
case 64:b.a+=Bxc;k&=-65;continue;case 128:b.a+=Dxc;k&=-129;continue;case 256:b.a+=EBc;k&=-257;continue;case 1:_hc(b,oCb(a.Xh()));k&=-2;continue;case 2:if(a.Wh().size()==1)Tzb(Yr(a.Wh().Ld()),b);else{i=new jvc;for(h=a.Wh().Ld();h.Dd();){g=h.Ed();hvc(i,Tzb(g,new dic).a)}Nc(Qvb,b,(e=(new Jkc(i.a)).a.ne().b.xj(),new Pkc(e)))}k&=-3;continue;case 4:if(a.Uh().size()==1)$hc(b,Yr(a.Uh().Ld()));else{i=new jvc;for(d=a.Uh().Ld();d.Dd();){c=d.Ed();hvc(i,c.v)}Nc(Qvb,b,(e=(new Jkc(i.a)).a.ne().b.xj(),new Pkc(e)))}k&=
-5;continue}}return k==0?b:k==512?(b.a+="truthy",b):k==fCc?(b.a+="falsy",b):Whc((b.a+="Unrecognized type: ",b),k)}}function x7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;s=z0b(b);n=z0b(b);d=z0b(b);l=NXb("$jscomp$iter$"+(""+(r=a.a,new M0(r)).a.W++));q=A0b(l,l.g,85);q!=l.g&&(l.g=q);l.g=new E1b(85,1,l.g);h=qXb(CXb(W_b(l,false),new _1b((m5b(),Q4b),HBc)),vC(qC(hQ,1),zzc,7,0,[]));if(s.j==g4b){f=g4b;t=h0b(s)}else{oe((Gfb(),!!s&&(s.j==g5b||s.j==$3b||s.j==$2b)),"Expected var, let, or const. Got %s",s);f=
s.j;t=h0b(s.b)}m=(oe(thc(gCc+t,Nhc(46))==-1,yzc,gCc+t),new _1b(g4b,gCc+t));p=A0b(m,m.g,85);p!=m.g&&(m.g=p);m.g=new E1b(85,1,m.g);j=vXb(W_b(l,false),G7(a.a,n),g5b);k=W_b(m,false);Q_b(k,W_b(h,false));P_b(j,k);e=PXb(CXb(W_b(m,false),new _1b(Q4b,NBc)));i=mXb(W_b(m,false),W_b(h,false));if(f==g4b)g=xXb(mXb(X0b((oe(thc(t,Nhc(46))==-1,yzc,t),new _1b(g4b,t)),s),CXb(W_b(m,false),new _1b(Q4b,IBc))));else{g=new b1b(f,X0b((oe(thc(t,Nhc(46))==-1,yzc,t),new _1b(g4b,t)),s.b));P_b(g.b,CXb(W_b(m,false),new _1b(Q4b,
IBc)))}Q_b(d,g);o=zXb(j,e,i,d);$0b(o,b);B0b(c,b,o);$_(a.a)}function hX(){hX=pU;gX=new q4("JSC_MISPLACED_MSG_ANNOTATION",(lX(),jX),new Hic("Misplaced message annotation. @desc, @hidden, and @meaning annotations should onlybe on message nodes."));fX=new q4("JSC_MISPLACED_ANNOTATION",kX,new Hic("Misplaced {0} annotation. {1}"));_W=new q4("JSC_ANNOTATION_DEPRECATED",kX,new Hic("The {0} annotation is deprecated. {1}"));cX=new q4("JSC_DISALLOWED_MEMBER_JSDOC",kX,new Hic("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));
aX=new q4("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",iX,new Hic("Arrow functions cannot be used as constructors"));bX=new q4("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",iX,new Hic("Inline JSDoc on default parameters must be marked as optional"));eX=new q4("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",iX,new Hic("@nosideeffects may only appear in externs files."));dX=new q4("JSC_INVALID_MODIFIES_ANNOTATION",iX,new Hic("@modifies may only appear in externs files."))}function wU(){var a,b,c;b=$doc.compatMode;a=vC(qC(DR,
1),Fxc,2,6,[Xyc]);for(c=0;c<a.length;c++)if(qhc(a[c],b))return;a.length==1&&qhc(Xyc,a[0])&&qhc("BackCompat",b)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\""+
b+'"/&gt;':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' "+b+"').<br>Modify your application's host HTML page doctype, or update your custom "+"'document.compatMode' configuration property settings."}function T7(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+lCc+(""+a.c.a.W++);i=b.b;p=i.d;m=b.b?b.b.f:null;__b(b);g=null;s=X0b((f=new _0b((m5b(),N2b)),f),b);h=X0b((e=new _0b(N2b),e),b);switch(b.j.f){case 60:g=i;Q_b(s,jhb(d?
Y0b(mXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),p),p):p));Q_b(h,jhb(d?Y0b(mXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),m),m):m));break;case 62:g=d?Y0b(mXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),i),i):i;Q_b(s,jhb(d?Y0b(mXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),m),m):m));break;case 61:g=d?Y0b(mXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),i),i):i;Q_b(h,jhb(d?Y0b(mXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),m),m):m));break;default:throw QT(new sgc(mCc));}h.b?k=(je(JXb(g)),
je(s.j==N2b),je(h.j==N2b),new e1b(I3b,g,s,h)):k=FXb(g,s);Z0b(k,b);if(d){r=$0b(mhb(q,null),b);l=c.e;O_b(l,r,c);N_b(l,k,r);o=(oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q));B0b(n,b,o)}else{Xd(n.j==u3b);j=n.e;B0b(j,n,k)}return k}function sxb(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t;r=(Gm(),new Zp);q=(null,Fm);k=d.e;i=false;if(b){if(e)Yp(r,e.o);else for(p=PYb(b).Ld();p.Dd();){n=p.Ed();Xp(r,lCb(a.d,n))}for(o=UYb(b).Ve().Ld();o.Dd();){n=o.Ed();Xp(r,lCb(a.d,n))}q=Om(r.a);if(!q.isEmpty())if(k.j==(m5b(),
L4b)||k.j==F3b){i=true;b=null;wrc(a.i,Zbb(d,fxb,vC(qC(DR,1),Fxc,2,6,[])))}else Jvb(h,q)}if(f){Yp(r,f.o);q=Om(r.a)}lxb(a,b,d,q,g,h,i);nxb(a,b,d,k,q,g,h,i);if(!b)return Kvb(h);l=vxb(a,b,c,d,q,g);j=uxb(a,b,g,q,true);if(!e&&((b.a&2)!=0||(b.a&512)!=0||(b.a&nCc)!=0))return Kvb(h);else(b.a&2)!=0?Dxb(a,c,d,e,l,j,h):(b.a&512)!=0||(b.a&nCc)!=0?(j.isEmpty()||wrc(a.i,Zbb(d,Swb,vC(qC(DR,1),Fxc,2,6,[c]))),s=uxb(a,b,g,q,false),t=sBb(e,s.isEmpty()?new Jx(gyb(a.a)):s),t||wrc(a.i,Zbb(d,bxb,vC(qC(DR,1),Fxc,2,6,[zBb(e,
new dic).a]))),Bvb(h,e.p),undefined):j.isEmpty()||wrc(a.i,Zbb(d,axb,vC(qC(DR,1),Fxc,2,6,[c])));if(b.g){m=b.g.a;je(m.j==(m5b(),I2b));Fvb(h,zxb(a,m.b,g,q))}zvb(h,(b.a&UDc)!=0);return Kvb(h)}function _fb(a){Gfb();var b,c,d;switch(a.j.f){case 90:return _fb(a.b);case 47:case 46:return _fb(a.b?a.b.f:null);case 62:case 61:return Ifb(_fb(a.b),_fb(a.b?a.b.f:null));case 60:return Ifb(_fb(a.b.d),_fb(a.b?a.b.f:null));case 13:c=_fb(a.b?a.b.f:null);if(c==4)return 4;b=_fb(a.b);if(b==4)return 4;if(b==6||c==6)return 0;
if(!ghb(b)&&!ghb(c))return 3;return 0;case 54:c=_fb(a.b?a.b.f:null);if(c==4)return 4;return 0;case 29:d=a.ci();if(qhc(d,EBc))return 2;if(qhc(d,"NaN"))return 3;if(qhc(d,WCc))return 3;return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 55:case 56:case 59:case 57:case 58:case 20:case 1:case 2:case 3:case 10:case 11:case 12:case 14:case 15:case 17:case 16:case 18:case 63:case 64:case 21:case 22:case 30:return 3;case 35:case 34:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 40:case 41:case 19:case 24:return 5;
case 25:case 31:return 4;case 32:return 1;case 78:return 2;case 65:case 23:case 42:case 43:case 38:return 6;default:return 0}}function AJb(){AJb=pU;cJb=new BJb("ALL",0,"all",0,0,0);dJb=new BJb("COND",1,"cond",3,3,1);eJb=new BJb("EQ",2,"eq",2,2,3);gJb=new BJb("ISCTOR",3,"isCtor",1,1,3);hJb=new BJb("ISDEFINED",4,"isDefined",1,1,4);iJb=new BJb("ISRECORD",5,"isRecord",1,1,3);jJb=new BJb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);kJb=new BJb("ISUNKNOWN",7,"isUnknown",1,1,3);fJb=new BJb($Ec,8,"instanceOf",
1,1,1);mJb=new BJb("MAPUNION",9,"mapunion",2,2,1);lJb=new BJb("MAPRECORD",10,"maprecord",2,2,1);nJb=new BJb("NONE",11,"none",0,0,0);oJb=new BJb("PRINTTYPE",12,"printType",2,2,1);pJb=new BJb("PROPTYPE",13,"propType",2,2,1);qJb=new BJb("RAWTYPEOF",14,"rawTypeOf",1,1,0);tJb=new BJb("SUB",15,"sub",2,2,3);sJb=new BJb("STREQ",16,"streq",2,2,2);rJb=new BJb("RECORD",17,"record",1,Exc,0);uJb=new BJb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);vJb=new BJb(lEc,19,jAc,2,Exc,0);wJb=new BJb("TYPEEXPR",20,"typeExpr",
1,1,0);xJb=new BJb("TYPEOFVAR",21,"typeOfVar",1,1,1);yJb=new BJb("UNION",22,"union",2,Exc,0);zJb=new BJb(KDc,23,_Ec,0,0,0)}function tZ(a,b,c,d,e,f,g,h){var i,j,k;k=new eic;for(j=0;j<b.length;j++){i=b.charCodeAt(j);switch(i){case 0:k.a+="\\x00";break;case 11:g?(k.a+="\\v",k):(k.a+="\\x0B",k);break;case 8:k.a+="\\b";break;case 12:k.a+="\\f";break;case 10:k.a+="\\n";break;case 13:k.a+="\\r";break;case 9:k.a+="\\t";break;case 92:k.a+=f;break;case 34:k.a+=c;break;case 39:k.a+=d;break;case 96:k.a+=e;break;
case 8232:k.a+="\\u2028";break;case 8233:k.a+="\\u2029";break;case 61:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x3d",k);break;case 38:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x26",k);break;case 62:if(!a.j&&!h){k.a+="\\x3e";break}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}yhc(b,true,j+1,"/script",0,7)?(k.a+="\\x3c",k):yhc(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):oB(k,i)}}return k.a}function yrb(){yrb=pU;urb=new q4("JSC_UNDEFINED_VARIABLE",(lX(),iX),new Hic("variable {0} is undeclared"));xrb=new q4("JSC_VIOLATED_MODULE_DEPENDENCY",iX,new Hic("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));qrb=new q4("JSC_MISSING_MODULE_DEPENDENCY",kX,new Hic("missing module dependency; module {0} should depend on module {1} because it references {2}"));
srb=new q4("JSC_STRICT_MODULE_DEPENDENCY",jX,new Hic(tzc));rrb=new q4("JSC_NAME_REFERENCE_IN_EXTERNS",kX,new Hic("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));trb=new q4("JSC_UNDEFINED_EXTERN_VAR_ERROR",kX,new Hic("name {0} is not defined in the externs."));wrb=new q4("JSC_VAR_MULTIPLY_DECLARED_ERROR",iX,new Hic("Variable {0} first declared in {1}"));vrb=new q4("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",iX,new Hic('Shadowing "arguments" is not allowed'));prb=new q4("JSC_LET_CONST_CLASS_MULTIPLY_DECLARED_ERROR",
iX,new Hic("Duplicate let / const / class declaration in the same scope is not allowed."))}function QEb(a){XDb();switch(a.f){case 74:return m5b(),L2b;case 75:return m5b(),M2b;case 73:return m5b(),J2b;case 59:return m5b(),o3b;case 60:return m5b(),k4b;case 54:return m5b(),a4b;case 56:return m5b(),Z3b;case 55:return m5b(),G3b;case 57:return m5b(),A3b;case 70:return m5b(),_3b;case 71:return m5b(),J4b;case 72:return m5b(),f5b;case 63:return m5b(),n2b;case 64:return m5b(),T4b;case 65:return m5b(),f4b;case 94:return m5b(),
h3b;case 67:return m5b(),d4b;case 66:return m5b(),q3b;case 61:return m5b(),M4b;case 62:return m5b(),N4b;case 16:return m5b(),O3b;case 17:return m5b(),R3b;case 53:return m5b(),Y2b;case 82:return m5b(),u2b;case 92:return m5b(),x2b;case 93:return m5b(),y2b;case 91:return m5b(),w2b;case 88:return m5b(),B2b;case 89:return m5b(),E2b;case 90:return m5b(),G2b;case 83:return m5b(),v2b;case 84:return m5b(),F2b;case 85:return m5b(),D2b;case 86:return m5b(),A2b;case 95:return m5b(),z2b;case 87:return m5b(),C2b;
case 79:return m5b(),w4b;case 78:return m5b(),o2b;default:throw QT(new sgc(!a?Mxc:a.a==null?(SLb(),Yn(tLb,a)).b:a.a));}}function pNb(a){var b,c,d,e;d=kPb(a.j,0).b.b;nMb(a,(bSb(),IQb));nMb(a,hRb);if(QOb(a)){e=wOb(a,0);if(AOb(a,PQb)){e.b.size()>1&&TOb(a,"for-in statement may not have more than one variable declaration",vC(qC(yR,1),Uxc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&(a.b.b?TOb(a,"for-in statement may not have initializer",vC(qC(yR,1),Uxc,1,5,[])):rIb(a.c,b.o.b,"for-in statement should not have initializer",
vC(qC(yR,1),Uxc,1,5,[])));return nNb(a,d,e)}else if(zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,"of")){e.b.size()>1&&TOb(a,"for-of statement may not have more than one variable declaration",vC(qC(yR,1),Uxc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&TOb(a,"for-of statement may not have initializer",vC(qC(yR,1),Uxc,1,5,[]));return oNb(a,d,e)}else{lMb(a,e);return qNb(a,d,e)}}if(AOb(a,ARb))return qNb(a,d,null);c=BMb(a,0);if(AOb(a,PQb)||AOb(a,AQb)||zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,"of")){c=UOb(a,c);iSb(c)||TOb(a,vFc,vC(qC(yR,
1),Uxc,1,5,[]))}if(AOb(a,PQb)||zOb(a,0,LQb)&&qhc(kPb(a.j,0).a,"of"))if(c.p!=(EVb(),YTb)&&c.p!=eUb)return AOb(a,PQb)?nNb(a,d,c):oNb(a,d,c);return qNb(a,d,c)}function phb(a){Gfb();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 100: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 101:case 23:case 24:case 25:case 78: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 91:case 116:case 93:case 79:case 34:case 65:case 94:case 146:case 29:case 32:case 30:case 43:case 92:case 38:case 110:case 111:case 31:case 89:case 154:case 155:case 156:case 33:case 97:case 35:case 113:case 114:case 123:return 17;case 121:return 18;
case 132:case 122:return 19;case 118:case 120:case 119:case 124:case 130:case 125:case 128:case 131:case 133:return 20;case 90:return 21;default:throw QT(new sgc("Unknown precedence for "+a));}}function S_(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b=a.H._!=(K1(),H1);__b(a.n);__b(a.u);if(a.H.md!=(L2(),I2)){a.U=new Yib(a.n,a.u,a.H.md);i_(a,a.U.d)}q=(a.H.md!=I2&&!!a.U&&Wib(a.U,BAc,true),new rob);try{for(e=new pmc(a.j);e.a<e.c.a.length;){c=nmc(e);k=$0(c,a);if(a.f.c>0)return null;P_b(a.n,k)}if(A1(a.H)){a.C=
new psb(a,a.H.ac,a.s);A1(a.H)&&V_(a,a.s,false);h=new qrc;for(f=a.s.Ld();f.Dd();){c=f.Ed();if(i1(c.c?c.c.Eg():(Gm(),Gm(),Fm),c.d).isEmpty()){j=ydb(c.a.Gg().c);Qic(h,j.a,c)}}i=new qrc;for(g=a.s.Ld();g.Dd();){c=g.Ed();for(m=i1(c.c?c.c.Fg():(Gm(),Gm(),Fm),c.e).Ld();m.Dd();){l=m.Ed();(l==null?!!Rrc(h.d,null):esc(h.e,l))&&!(l==null?!!Rrc(i.d,null):esc(i.e,l))&&Qic(i,l,l==null?bh(Rrc(h.d,null)):fsc(h.e,l))}}i.d.c+i.e.c==0||V_(a,new Wlc(new Ujc(i)),true)}else a.C=(nsb(),jsb);R_(a);if(a.f.c>0)return null;
for(d=a.s.Ld();d.Dd();){c=d.Ed();k=$0(c,a);if(!k)continue;if(b){$lb(new cmb(a),a.n,a.u);if(a.f.c>0)return null}if(a.H.jb){o=new Umb(c.f.a,a.H._!=H1);dfb();p=new vfb(a,o,new X6(a));pfb(p,k)}P_b(a.u,k)}if(a.f.c>0)return null;return a.g}finally{k_(a);n=bU(WT(Pwc()),q.a);a.H.md!=I2&&!!a.U&&Xib(a.U,BAc,n)}}function t7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;Xd(b.j==(m5b(),Q2b)||b.j==r2b||b.j==m4b);k=new Ulc;h=null;e=b.j==r2b?null:z0b(b);g=z0b(b);while(g){if(g.j==O4b){if(h){k.a[k.a.length]=h;h=null}Jlc(k,
E7(a.a,z0b(g)))}else{!h&&(h=lXb(vC(qC(hQ,1),zzc,7,0,[])));P_b(h,g)}g=z0b(b)}!!h&&(k.a[k.a.length]=h,true);n=null;i=b.j==m4b?lXb(vC(qC(hQ,1),zzc,7,0,[new _0b(p4b)])):lXb(vC(qC(hQ,1),zzc,7,0,[]));l=qXb(CXb(i,new _1b(Q4b,"concat")),Tlc(k,sC(hQ,zzc,7,0,0,1)));if(b.j==r2b)n=l;else if(b.j==Q2b){Gfb();if(Lfb(e,false,null)&&e.j==E3b){p=b;while(!Ygb(p.e))p=p.e;j=NXb("$jscomp$spread$args"+(""+(o=a.a,new M0(o)).a.W++));m=wXb(W_b(j,false),g5b);$0b(m,p);O_b(p.e,m,p);Q_b(e,mXb(W_b(j,false),z0b(e)));n=qXb(CXb(e,
new _1b(Q4b,qBc)),vC(qC(hQ,1),zzc,7,0,[j,l]))}else{f=e.j==E3b?W_b(e.b,false):new _0b(p4b);n=qXb(CXb(e,new _1b(Q4b,qBc)),vC(qC(hQ,1),zzc,7,0,[f,l]))}}else{z1(a.a.H)==(t2(),k2)&&Z_(a.a,Zbb(b,g7,vC(qC(DR,1),Fxc,2,6,['"..." passed to a constructor (consider using --language_out=ES5)'])));d=lhb(a.a,"Function.prototype.bind.apply");n=OXb(qXb(d,vC(qC(hQ,1),zzc,7,0,[e,l])),vC(qC(hQ,1),zzc,7,0,[]))}$0b(n,b);B0b(c,b,n);$_(a.a)}function yFb(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==(pTb(),mTb);i=
b.j==oTb;e=b.j==lTb;f=b.e;h=b.f;j=b.c.p==(EVb(),tUb);h&&dFb(a,b,(NKb(),nKb));i&&dFb(a,b,(NKb(),vKb));e&&dFb(a,b,(NKb(),$Jb));f&&dFb(a,b,(NKb(),_Jb));l=b.k;if(l)m=(s=_Db(a.a,l.b),fFb(a,l),t=mEb(a.a,(m5b(),g4b),l.a),!!s&&(u=A0b(t,t.g,29),u!=t.g&&(t.g=u),!!s&&(t.g=new O1b(29,s,t.g)),t),xEb(t,l.b.b,l.b.a),t);else{if(g||i){a.a.d.eh("unnamed function statement",a.a.r,(XDb(),b.o.b.b+1),b.o.b.a);m=mEb(a.a,(m5b(),g4b),"__missing_name__")}else m=mEb(a.a,(m5b(),g4b),"");i1b(m.i)==-1&&xEb(m,b.o.b,b.o.a)}n=hEb(a.a,
(m5b(),y3b));i&&m.hi("");P_b(n,m);_Eb(a,n.b,b.d);P_b(n,zEb(a.a,b.b));aFb(a,n,b.n);d=zEb(a.a,b.c);if(!e&&!j&&d.j!=N2b){je(a.a.a.b==1);d=(c=new _0b(N2b),c)}hFb(d);P_b(n,d);p=A0b(n,n.g,59);p!=n.g&&(n.g=p);(h?1:0)!=0&&(n.g=new E1b(59,h?1:0,n.g));q=A0b(n,n.g,60);q!=n.g&&(n.g=q);(e?1:0)!=0&&(n.g=new E1b(60,e?1:0,n.g));r=A0b(n,n.g,61);r!=n.g&&(n.g=r);(f?1:0)!=0&&(n.g=new E1b(61,f?1:0,n.g));v0b(n,80,b.g);if(b.j==oTb){i1b(n.i)==-1&&xEb(n,b.o.b,b.o.a);k=mEb(a.a,b4b,l.a);P_b(k,n);O0b(k,b.i);$Eb(k,b.a);E0b(n,
g0b(n,78));o=k}else o=n;return o}function o5b(a){m5b();switch(a.f){case 135:case 42:case 141:case 80:case 73:case 28:case 145:case 86:case 74:case 87:case 140:case 138:case 142:case 72:case 66:case 143:case 144:case 23:case 43:case 45:case 136:case 139:case 38:case 0:case 83:case 137:case 89:case 67:case 114:case 44:case 75:case 100:return-1;case 79:case 34:case 105:case 88:case 154:case 29:case 32:case 30:case 31:case 33:case 35:return 0;case 20:case 156:case 90:case 64:case 69:case 24:case 82:case 84:case 63:case 155:case 96:case 128:case 22:case 19:case 21:case 110:case 85:case 111:case 115:case 39:case 25:case 152:case 78: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 77:case 46:case 112:case 116:case 16:case 71:case 149:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 81:case 7:case 10:case 6:case 17:case 15:case 157:case 5:case 61:case 11:case 36:case 37:case 14:case 113:case 12:case 70:case 76:return 2;case 94:case 99:case 65:case 60:case 102:case 146:return 3;default:throw QT(new sgc("No arity defined for "+
a));}}function Lfb(a,b,c){Gfb();var d,e,f,g,h,i;switch(a.j.f){case 39:case 100: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(Lfb(f,b,c))return true;return false;case 42:case 38:if(b)return true;break;case 75:case 29:if(a.b)return true;break;case 65:return b||!(a.j==(m5b(),y3b)&&!Ygb(a.e));case 94:return b||a.j==(m5b(),V2b)&&wgb(a.e)||Lfb(a.b.d,b,c)||Lfb(a.b?a.b.f:null,b,c);case 95:for(i=a.b;i;i=i.d)if(i.j==(m5b(),Z2b)&&Lfb(i.b,b,c))return true;return false;case 23:if(b)return true;
if(!Mfb(a))break;return true;case 28:if(!Rfb(a,c))break;return true;case 113:return Rfb(a,c);case 90:case 62:case 80:case 82:case 60:case 66:case 40:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 89:case 67:case 115:case 44:case 79:case 114:break;default:if(Wgb(a.j))break;if(ogb(a)){d=a.b;if(d.j==(m5b(),g4b))return true;if(Lfb(a.b,b,c)||Lfb(a.b?a.b.f:null,b,c))return true;if(d.j==E3b||d.j==D3b){g=d.b;if(Qfb(g,(ue(),_e(),Xe)))return false;while(g.j==E3b||g.j==D3b)g=g.b;return!Lgb(g,
true)}else return!Lgb(d,true)}return true}for(e=a.b;e;e=e.d)if(Lfb(e,b,c))return true;return false}function sPb(a,b){switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 98:case 66:fPb(a);WPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)>=0||nPb(a,"Binary Integer Literal must contain at least one digit",vC(qC(yR,1),Uxc,1,5,[]));wPb(a);return new gMb((bSb(),eRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d));case 111:case 79:fPb(a);XPb(ePb(a,a.d)?lhc(a.e.a,a.d):0)>=0||nPb(a,"Octal Integer Literal must contain at least one digit",vC(qC(yR,
1),Uxc,1,5,[]));DPb(a);((ePb(a,a.d)?lhc(a.e.a,a.d):0)==56||(ePb(a,a.d)?lhc(a.e.a,a.d):0)==57)&&nPb(a,sEc,vC(qC(yR,1),Uxc,1,5,[]));return new gMb((bSb(),eRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d));case 120:case 88:fPb(a);Afc(ePb(a,a.d)?lhc(a.e.a,a.d):0,16)>=0||nPb(a,"Hex Integer Literal must contain at least one digit",vC(qC(yR,1),Uxc,1,5,[]));BPb(a);return new gMb((bSb(),eRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d));case 101:case 69:return pPb(a,b);case 46:return qPb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:zPb(a);
if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==46){fPb(a);zPb(a)}return new gMb((bSb(),eRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d));default:return new gMb((bSb(),eRb),Hhc(a.e.a,b,a.d),bMb(a.e.b,b,a.d))}}function dkb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(e0b(c,63)!=0){e=c.b;p=null;(e.j==(m5b(),y3b)||e.j==V2b)&&(p=(Gfb(),r=bgb(e),!r?null:h0b(r)));if(p!=null){f=W_b(e,false);H0b(f,g0b(e,29));B0b(d,c,f);wsc(a.d,Szc,new nkb(p,e))}else{v=vXb((oe(thc(bDc,Nhc(46))==-1,yzc,bDc),new _1b(g4b,bDc)),z0b(c),g5b);H0b(v,
g0b(e,29));t=A0b(e,e.g,29);t!=e.g&&(e.g=t);$0b(v,c);B0b(d,c,v);wsc(a.d,Szc,new nkb(bDc,e))}}else if(e0b(c,64)!=0)Z_(a.c,Zbb(c,(l7(),h7),vC(qC(DR,1),Fxc,2,6,["Wildcard export"])));else if(b0b(c)==2){n=c.b?c.b.f:null;l=new b1b((m5b(),K3b),n.ai(false));X0b(l,c);O_b(d,l,c);ckb(a,b,l,d);o=zsb(ysb(a1((!b.e&&(b.e=w_(b.d,b.g)),b.e)),n.ci()));for(i=U_b(c.b).Ld();i.Dd();){h=i.Ed();q=h.b.ci();j=(h.b?h.b.f:null).ci();wsc(a.d,j,new nkb(o+"."+q,h))}x0b(d,c)}else{if(c.b.j==(m5b(),t3b)){for(i=U_b(c.b).Ld();i.Dd();){h=
i.Ed();s=h.b;wsc(a.d,b0b(h)==2?(h.b?h.b.f:null).ci():s.ci(),new nkb(s.ci(),h))}x0b(d,c)}else{g=c.b;k=g.b;for(m=k;m;m=m.d){if(m.j!=g4b)break;if(g.j==V2b&&m!=k)break;p=m.ci();u=gfb(b).xh(p);(!u||u.Bh())&&wsc(a.d,p,new nkb(p,m));g.j==V2b&&wrc(a.b,p);!!g0b(g,29)&&(g0b(g,29).a&$Bc)==Iyc&&wrc(a.k,p)}B0b(d,c,$_b(g))}$_(a.c)}}function fkb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(!a.i)return;CY(b,c);Yd(a.j==1,"ProcessEs6Modules supports only one invocation per CompilerInput / script node");wfb(a.c,c,
new jkb(a));o=zsb(a1((!b.e&&(b.e=w_(b.d,b.g)),b.e)));for(g=new Zsc(new Qsc(a.d));g.b!=g.c.a.b;){f=Xsc(g);h=f.d;s=f.e.a;p=f.e.b;k=CXb((oe(thc(o,Nhc(46))==-1,yzc,o),new _1b((m5b(),g4b),o)),new _1b(Q4b,h));if(xrc(a.k,h)){e=new F_b(true);r=new J_b(new _1b(Q4b,h),(j=g0b(c,51),!j?null:j.Dg()));y_b(e,r);m=p$b(e,false);q=A0b(k,k.g,29);q!=k.g&&(k.g=q);!!m&&(k.g=new O1b(29,m,k.g));i=$0b((je(JXb(k)),new b1b(u3b,k)),p);P_b(c,i)}else{d=mXb(k,lhb(a.c,s));i=$0b((je(JXb(d)),new b1b(u3b,d)),p);if(xrc(a.b,h)){e=new F_b(true);
A$b(e);m=p$b(e,false);q=A0b(d,d.g,29);q!=d.g&&(d.g=q);!!m&&(d.g=new O1b(29,m,d.g))}P_b(c,i)}}wfb(a.c,c,new qkb(a,o));if(Uic(a.d.c)!=0||a.e){l=xXb(qXb(lhb(a.c,Ezc),vC(qC(hQ,1),zzc,7,0,[new _1b((m5b(),Q4b),o)])));Q_b(c,Y_b(l,c));X0((!b.e&&(b.e=w_(b.d,b.g)),b.e),o)}n=!g0b(c,29)?new F_b(false):G_b(g0b(c,29));n.d&&((n.a.a&4096)!=0||(n.a.a&xAc)!=0||(n.a.a&yAc)!=0)||N$b(n,"");r_b(n,(fm(),so(vC(qC(yR,1),Uxc,1,5,[mBc,nBc]))));H0b(c,p$b(n,false));tsc(a.d);$_(a.c)}function Rfb(a,b){var c,d,e,f;ke(a.j==(m5b(),
Q2b)||a.j==W4b,a);if((e0b(a,42)&15)==15)return false;if((e0b(a,42)&15&11)==11&&Hfb(a))return false;c=a.b;if(c.j==g4b){e=c.ci();if(yfb.contains(e))return false}else if(c.j==E3b){if(!!a.b&&!a.b.d&&Cfb.contains((c.b?c.b.f:null).ci()))return false;if((e0b(a,42)&15&13)==13&&Qfb(c.b,(ue(),_e(),Xe)))return false;if(c.b.j==g4b&&o0b(c)&&qhc(c.b.ci(),"Math"))switch((c.b?c.b.f:null).ci()){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.Gf())if(c.b.j==F4b&&Dfb.contains((c.b?c.b.f:null).ci()))return false;else if($gb(c.b,b)){d=(c.b?c.b.f:null).ci();f=c.d;if(f)if(f.j==Q4b){if(Efb.contains(d))return false}else if(f.j==F4b)if(qhc("replace",d))return f.d.j!=Q4b;else if(Efb.contains(d))return false}}return true}function wkb(){wkb=pU;var a,b,c,d;new Dc(new Dc(new $b(97,122),new $b(65,90)),new Qb);vkb=new q4("JSC_UNKNOWN_TWEAK_WARNING",(lX(),kX),new Hic("no tweak registered with ID {0}"));
new q4("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",iX,new Hic("Tweak {0} has already been registered."));new q4("JSC_NON_LITERAL_TWEAK_ID_ERROR",iX,new Hic("tweak ID must be a string literal"));skb=new q4("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",kX,new Hic("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new q4("JSC_NON_GLOBAL_TWEAK_INIT_ERROR",iX,new Hic("tweak declaration {0} must occur in the global scope"));new q4("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",
iX,new Hic("Cannot override the default value of tweak {0} after it has been registered"));ukb=new q4("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",kX,new Hic("tweak getter function {0} used for tweak registered using {1}"));new q4("JSC_INVALID_TWEAK_ID_ERROR",iX,new Hic("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));tkb=new qrc;for(b=(Fkb(),vC(qC(_K,1),Zxc,100,0,[Ckb,Dkb,Ekb,Bkb,ykb,xkb,zkb,Akb])),c=0,d=b.length;c<d;++c){a=b[c];Qic(tkb,a.a,a)}}function Zpb(){Zpb=pU;
Vpb=new q4("JSC_INVALID_CAST",(lX(),kX),new Hic("invalid cast - must be a subtype or supertype\nfrom: {0}\nto  : {1}"));new q4("JSC_UNNECESSARY_CAST",jX,new Hic("unnecessary cast\nfrom: {0}\nto  : {1}"));Xpb=new q4("JSC_TYPE_MISMATCH",kX,new Hic(cBc));Wpb=new q4("JSC_MISSING_EXTENDS_TAG",kX,new Hic("Missing @extends tag on type {0}"));Qpb=new q4("JSC_DUP_VAR_DECLARATION",kX,new Hic("variable {0} redefined, original definition at {1}:{2}"));Rpb=new q4("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",kX,new Hic("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));
Upb=new q4("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",kX,new Hic(rCc));Spb=new q4("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",kX,new Hic("mismatch of the {0} property type and the type of the property it overrides from interface {1}\noriginal: {2}\noverride: {3}"));Opb=new q4("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",kX,new Hic("property {0} on abstract class {1} is not implemented by type {2}"));Ypb=new q4("JSC_UNKNOWN_TYPEOF_VALUE",kX,new Hic(VCc));Tpb=new q4("JSC_ILLEGAL_PROPERTY_ACCESS",kX,new Hic(UCc));
Ppb=new M3(vC(qC(TI,1),Uxc,5,0,[Opb,Vpb,Xpb,Wpb,Qpb,Rpb,Upb,Spb,Ypb,Tpb]))}function oEb(a,b){var c,d,e,f,g,h;h=b.a;f=b.b;e=h.length;je(e>0);je(h.charCodeAt(0)!=45&&h.charCodeAt(0)!=43);if(h.charCodeAt(0)==46)return kxc(kgc("0"+h));else if(h.charCodeAt(0)==48&&e>1)switch(h.charCodeAt(1)){case 46:case 101:case 69:return kxc(kgc(h));case 98:case 66:a.e=SJb(a.e,(NKb(),aKb).a);fEb(a,aKb)||a.d.fh("Binary integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);g=0;c=1;while(++c<
e)g=g*2+JEb(h.charCodeAt(c));return g;case 111:case 79:a.e=SJb(a.e,(NKb(),AKb).a);fEb(a,AKb)||a.d.fh("Octal integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);g=0;c=1;while(++c<e)g=g*8+OEb(h.charCodeAt(c));return g;case 120:case 88:g=0;c=1;while(++c<e)g=g*16+LEb(h.charCodeAt(c));return g;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(a.a.c.b==0){a.d.fh(rEc,a.r,f.b.b+1,f.b.a);return kxc(kgc(h))}else{g=0;c=0;while(++c<e){d=h.charCodeAt(c);if(d>=48&&
d<=55)g=g*8+OEb(d);else{a.d.eh(sEc,a.r,f.b.b+1,f.b.a);return 0}}a.d.fh(rEc,a.r,f.b.b+1,f.b.a);return g}case 56:case 57:a.d.eh(sEc,a.r,f.b.b+1,f.b.a);return 0;default:throw QT(new sgc("Unexpected character in number literal: "+gD(h.charCodeAt(1))));}else return kxc(kgc(h))}function dXb(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 QT(new yB("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 QT(new yB("IllegalFormatFlagsException:"+m));else throw QT(new yB("FormatFlagsConversionMismatchException:"+m+","+gD(a.b)));if((a.f||a.k)&&a.p==-1)throw QT(new CWb("-"+gD(a.b)));if(!d&&a.a!=-1)throw QT(new yWb(a.o?a.o.a:""));if(!h&&a.n!=-1)throw QT(new zWb(a.n));if(!k&&a.p!=-1)throw QT(new AWb(a.p));if(a.d&&a.j)throw QT(new yWb("the '+' and ' ' flags are incompatible"));if(a.f&&a.k)throw QT(new yWb("the '-' and '0' flags are incompatible"));}function ZHb(a){var b,c,d,e;a.p=
0;for(;;){for(;;){a.a=-1;b=WHb(a);if(b==-1)return SHb(),DHb;else if(b==10)return SHb(),EHb;else if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}switch(b){case 64:do{b=WHb(a);if(b<=90?65<=b:97<=b&&b<=122)VHb(a,b);else{a.q[a.r++]=b;--a.b;a.n=(e=Shc(a.o,0,a.p),exc(e),e);a.p=0;return SHb(),xHb}}while(true);case 42:return _Hb(a)?(SHb(),CHb):(SHb(),QHb);case 44:return SHb(),AHb;case 62:return SHb(),MHb;case 40:return SHb(),IHb;case 41:return SHb(),OHb;case 123:return SHb(),HHb;case 125:return SHb(),
NHb;case 91:return SHb(),JHb;case 93:return SHb(),PHb;case 63:return SHb(),LHb;case 33:return SHb(),yHb;case 58:return SHb(),zHb;case 61:return SHb(),FHb;case 124:return SHb(),KHb;case 60:return SHb(),GHb;case 46:b=WHb(a);if(b==60)return SHb(),GHb;else{if(b==46){b=WHb(a);if(b==46)return SHb(),BHb;else VHb(a,46)}a.q[a.r++]=b;b=46}default:c=b;VHb(a,b);d=WHb(a);if(eIb(d)){do{c=d;d=WHb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=(e=Shc(a.o,0,a.p),exc(e),e);a.p=0;return SHb(),RHb}else if(eIb(d))VHb(a,
c);else{a.q[a.r++]=d;--a.b;VHb(a,c);a.n=(e=Shc(a.o,0,a.p),exc(e),e);a.p=0;return SHb(),RHb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=(e=Shc(a.o,0,a.p),exc(e),e);a.p=0;return SHb(),RHb}}}}function Nlb(){Nlb=pU;Ilb=new q4("JSC_PARSE_ERROR",(lX(),iX),new Hic(jDc));Mlb=new q4("JSC_TYPE_PARSE_ERROR",kX,new Hic(cBc));Flb=new q4("JSC_JSDOC_MISSING_BRACES_WARNING",jX,new Hic(cBc));Glb=new q4("JSC_JSDOC_MISSING_TYPE_WARNING",jX,new Hic(cBc));Klb=new q4("JSC_TOO_MANY_TEMPLATE_PARAMS",jX,new Hic(cBc));Llb=new q4("JSC_TRAILING_COMMA",
iX,new Hic("Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option."));ylb=new q4("JSC_DUPLICATE_PARAM",iX,new Hic(jDc));Dlb=new q4("JSC_INVALID_PARAM",kX,new Hic(jDc));xlb=new q4("JSC_BAD_JSDOC_ANNOTATION",kX,new Hic(jDc));Elb=new q4("JSC_JSDOC_IN_BLOCK_COMMENT",kX,new Hic(jDc));Blb=new q4("JSC_INVALID_ES3_PROP_NAME",kX,new Hic(kDc));Jlb=new q4("PARSE_TREE_TOO_DEEP",iX,new Hic("Parse tree too deep."));
Clb=new q4("INVALID_OCTAL_LITERAL",kX,new Hic("This style of octal literal is not supported in strict mode."));zlb=new q4("ES6_FEATURE",iX,new Hic("{0}. Use --language_in=ECMASCRIPT6 or ECMASCRIPT6_STRICT to enable ES6 features."));Alb=new q4("ES6_TYPED",iX,new Hic("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));Hlb=new q4("MISPLACED_TYPE_SYNTAX",iX,new Hic(lDc))}function syb(a){var b,c,d,e,f;d=twb(this);this.a=de(vsc(d,"BOOLEAN"));this.b=de(vsc(d,"BOTTOM"));this.f=de(vsc(d,
EDc));this.g=de(vsc(d,"FALSY"));this.k=de(vsc(d,FDc));this.r=de(vsc(d,GDc));this.u=de(vsc(d,HDc));this.v=de(vsc(d,"TOP"));de(vsc(d,IDc));this.D=de(vsc(d,"TRUE_TYPE"));this.F=de(vsc(d,JDc));this.G=de(vsc(d,"UNDEFINED"));this.K=de(vsc(d,KDc));this.H=de(vsc(d,LDc));this.I=de(vsc(d,MDc));this.J=de(vsc(d,NDc));this.n=de(vsc(d,ODc));this.o=de(vsc(d,PDc));this.p=de(vsc(d,QDc));this.q=de(vsc(d,RDc));this.s=de(vsc(d,SDc));b=(e=new zsc,wsc(e,VDc,uvb(this,null,null,this.K,this.K,null,null,null,null,true,false)),
wsc(e,WDc,uvb(this,null,null,null,this.b,null,null,null,null,false,false)),wsc(e,DDc,new kvb(this,false)),wsc(e,CDc,new kvb(this,true)),e);this.t=de(vsc(b,VDc));this.c=de(vsc(b,WDc));this.A=de(vsc(b,DDc));this.i=de(vsc(b,CDc));this.e=Vyb(new _Ab(null,this.b,this.b,(kBb(),jBb)));c=(f=new zsc,wsc(f,XDc,FAb(this,null,null,null,null,false,(Pzb(),Nzb))),wsc(f,YDc,FAb(this,null,null,null,null,false,Mzb)),wsc(f,"TOP_DICT",FAb(this,null,null,null,null,false,Lzb)),wsc(f,ZDc,new kAb(this,null,de(this.e),null,
null,false,Nzb)),f);this.C=de(vsc(c,XDc));this.B=wwb(this.C);wwb(de(vsc(c,YDc)));this.w=wwb(de(vsc(c,"TOP_DICT")));this.d=de(vsc(c,ZDc));this.L=a;this.S=a;this.N=a;this.j=new wyb(this)}function Rib(b){var c,d,e,f,g,h;Pib(b);f=new Ulc;Llc(f,vn(b.I));gnc();Slc(f,new Zib);for(d=new pmc(f);d.a<d.c.a.length;){c=nmc(d);e=c.xe();g=c.ye();TWb("%s,%d,%d,%d,%d,%d,%d,%d\n",vC(qC(yR,1),Uxc,1,5,[e,Tgc(g.n),Hgc(g.a),Hgc(g.k),Hgc(g.d),Hgc(g.b),Hgc(g.e),Hgc(g.f)]))}Oc(new Sc(Gyc),"\nTOTAL:","Wall time(ms): "+fU(bU(b.i,
b.H)),vC(qC(yR,1),Uxc,1,5,["Passes runtime(ms): "+b.F,"Max mem usage (measured after each pass)(MB): "+b.C,"#Runs: "+b.G,"#Changing runs: "+b.c,"#Loopable runs: "+b.B,"#Changing loopable runs: "+b.A,"Estimated AST reduction(#nodes): "+b.a,"Estimated Reduction(bytes): "+b.g,"Estimated GzReduction(bytes): "+b.p,"Estimated AST size(#nodes): "+b.b,"Estimated Size(bytes): "+b.e,"Estimated GzSize(bytes): "+b.o]));Oc(new Sc(Gyc),"\n\nInputs:","JS lines:   "+b.t,vC(qC(yR,1),Uxc,1,5,["JS sources: "+b.v,"Extern lines:   "+
b.j,"Extern sources: "+b.k+"\n\n"]));Oc(new Sc(Gyc),"Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize",vC(qC(yR,1),Uxc,1,5,[]));for(h=new pmc(b.w);h.a<h.c.a.length;){g=nmc(h);TWb("%s,%d,%d,%b,%d,%d,%d,%d,%d,%d\n",vC(qC(yR,1),Uxc,1,5,[g.j,Tgc(g.n),Hgc(g.a),(tfc(),g.d==1?true:false),Hgc(g.b),Hgc(g.e),Hgc(g.f),Hgc(g.c),Hgc(g.o),Hgc(g.g)]))}try{null.Fj()}catch(a){a=PT(a);if(iD(a,94))throw QT(new yB("Unreachable."));else throw QT(a);}}function R8(){R8=pU;
G8=new q4("JSC_EXTENDS_WITHOUT_TYPEDEF",(lX(),kX),new Hic("@extends used without @constructor or @interface for {0}"));F8=new q4("JSC_EXTENDS_NON_OBJECT",kX,new Hic("{0} @extends non-object type {1}"));K8=new q4("JSC_RESOLVED_TAG_EMPTY",kX,new Hic("Could not resolve type in {0} tag of {1}"));H8=new q4("JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR",kX,new Hic(pCc));E8=new q4("JSC_CONSTRUCTOR_REQUIRED",kX,new Hic("{0} used without @constructor for {1}"));Q8=new q4("JSC_VAR_ARGS_MUST_BE_LAST",kX,new Hic("variable length argument must be last"));
J8=new q4("JSC_OPTIONAL_ARG_AT_END",kX,new Hic("optional arguments must be at the end"));I8=new q4("JSC_INEXISTENT_PARAM",kX,new Hic(qCc));P8=new q4("JSC_TYPE_REDEFINITION",kX,new Hic("attempted re-definition of type {0}\nfound   : {1}\nexpected: {2}"));M8=new q4("JSC_TEMPLATE_TYPE_DUPLICATED",kX,new Hic("Only one parameter type must be the template type"));N8=new q4("JSC_TEMPLATE_TYPE_EXPECTED",kX,new Hic("The template type must be a parameter type"));O8=new q4("JSC_THIS_TYPE_NON_OBJECT",kX,new Hic("@this type of a function must be an object\nActual type: {0}"));
L8=new q4("JSC_SAME_INTERFACE_MULTIPLE_IMPLEMENTS",kX,new Hic("Cannot @implement the same interface more than once\nRepeated interface: {0}"));D8=new M3(vC(qC(TI,1),Uxc,5,0,[G8,F8,K8,H8,E8,Q8,J8,I8,P8,M8,N8,O8,L8]))}function U2(a){if(a.v!=(lX(),jX)&&!a.u)throw QT(new V2("Cannot check use of goog.getCssName because of empty blacklist.",vC(qC(yR,1),Uxc,1,5,[])));if(a.Jc&&!a.Ic)throw QT(new V2("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",vC(qC(yR,
1),Uxc,1,5,[])));if(v2(z1(a))&&!a.Zc)throw QT(new V2("ES6 is only supported for transpilation to a lower ECMAScript version. Set --language_out to ES3, ES5, or ES5_STRICT.",vC(qC(yR,1),Uxc,1,5,[])));if(!a.Cb&&a._b!=-1)throw QT(new V2("max_function_size_after_inlining has no effect if inlining is disabled.",vC(qC(yR,1),Uxc,1,5,[])));if(a.rd){a.t=jX;if(a.r!=(Q1(),O1))throw QT(new V2("check_eventful_object_disposal is not supported with the new type inference.",vC(qC(yR,1),Uxc,1,5,[])));}if(a.Sb&&a.D)throw QT(new V2("The jQuery pass and the Closure pass cannot both be enabled.",
vC(qC(yR,1),Uxc,1,5,[])));if(a.V){if(!u2(z1(a)))throw QT(new V2("Dart requires --language_out=ES5 or higher.",vC(qC(yR,1),Uxc,1,5,[])));a.f=false;a.cb=false}if(a.Jc&&a.hb)throw QT(new V2("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",vC(qC(yR,1),Uxc,1,5,[])));if((t2(),p2)==a.Ub){Ykb();if(Zkb(Xkb,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw QT(new V2("type syntax is not yet generally available, please contact jscomp-team@",
vC(qC(yR,1),Uxc,1,5,[])));}}function GZb(a,b){var c,d,e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false;if(!Mtc(MYb(a),MYb(b)))return false;for(h=MYb(a).Ld();h.Dd();){g=h.Ed();if(!Mtc(NYb(a,g),NYb(b,g)))return false}if((!a.b||!a.b.d?(Gm(),Gm(),Fm):a.b.d).size()!=(!b.b||!b.b.d?(Gm(),Gm(),Fm):b.b.d).size())return false;c=(!a.b||!a.b.d?(Gm(),Gm(),Fm):a.b.d).Ld();d=(!b.b||!b.b.d?(Gm(),Gm(),Fm):b.b.d).Ld();while(c.Dd())if(!WZb(c.Ed(),d.Ed()))return false;return Mtc(!a.b?null:a.b.a,!b.b?null:b.b.a)&&
Mtc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&Mtc(!a.b?null:a.b.b,!b.b?null:b.b.b)&&Mtc(!a.b?null:a.b.c,!b.b?null:b.b.c)&&Mtc(GYb(a),GYb(b))&&Mtc(($Bc&a.a)==oCc?a.i:null,($Bc&b.a)==oCc?b.i:null)&&Mtc(EYb(a),EYb(b))&&Mtc(!a.d?null:a.d.g,!b.d?null:b.d.g)&&Mtc(!a.d?null:a.d.i,!b.d?null:b.d.i)&&Mtc(!a.d?null:a.d.j,!b.d?null:b.d.j)&&Mtc((f=!a.d?null:a.d.k,!f?(gnc(),gnc(),fnc):f),(e=!b.d?null:b.d.k,!e?(gnc(),gnc(),fnc):e))&&Mtc(!a.b?null:a.b.i,!b.b?null:b.b.i)&&Mtc(!a.d?null:Hgc(a.d.o),!b.d?null:Hgc(b.d.o))&&Mtc(!a.b?
null:a.b.g,!b.b?null:b.b.g)&&Mtc(!a.b?null:a.b.f,!b.b?null:b.b.f)&&Mtc(($Bc&a.a)==lyc?a.i:null,($Bc&b.a)==lyc?b.i:null)&&Mtc((j=!a.d?null:a.d.p,!j?(gnc(),gnc(),fnc):j),(i=!b.d?null:b.d.p,!i?(gnc(),gnc(),fnc):i))&&Mtc(PYb(a),PYb(b))&&Mtc(a.g,b.g)&&Mtc(QYb(a),QYb(b))&&Mtc(($Bc&a.a)==Iyc?a.i:null,($Bc&b.a)==Iyc?b.i:null)&&Mtc(($Bc&a.a)==eCc?a.i:null,($Bc&b.a)==eCc?b.i:null)&&Mtc(!a.b?null:a.b.k,!b.b?null:b.b.k)&&Mtc(a.j,b.j)&&a.a==b.a}function l6(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=a.d.b;
d=t.d;if(d.b){j=z0b(d.b);e=z0b(d.b)}else{j=(oe(thc(SBc,Nhc(46))==-1,yzc,SBc),new _1b((m5b(),g4b),SBc));e=oXb(aYb(W_b(j,false)));F0b(e.b)}l=d.d;i=$5++;h=s6(i);k=NXb("$jscomp$generator$"+j.ci());Q_b(a.j,h);N_b(a.j,e,h);b=mXb((oe(thc(TBc,Nhc(46))==-1,yzc,TBc),new _1b((m5b(),g4b),TBc)),W_b(k,false));s=pXb(vC(qC(hQ,1),zzc,7,0,[(je(JXb(b)),new b1b(u3b,b)),xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(i))),r6()]));r=(je(k.j==g4b),je(s.j==N2b),new d1b(U2b,k,s));Ilc(a.b,0,new E6(i,r));
if(l){o=NXb("$jscomp$generator$finally"+(""+a.f.a.W++));q=$5++;p=s6(q);n=$5++;m=s6(n);wfb(a.a,t,new x6(o,q));wfb(a.a,e,new x6(o,q));Q_b(a.j,$_b(t));N_b(a.j,p,e);N_b(a.j,$_b(l),p);N_b(a.j,m,l);Q_b(a.j,wXb(W_b(o,false),g5b));P_b(l,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),W_b(o,false))));P_b(l,r6());P_b(t,xXb(mXb(W_b(o,false),new J1b(n))));P_b(t,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(q))));P_b(t,r6());P_b(e,xXb(mXb(W_b(o,false),new J1b(n))))}else{g=$5++;
f=s6(g);N_b(a.j,f,e);P_b(t,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(g))));P_b(t,r6());Q_b(a.j,$_b(t))}Q_b(e,vXb(j,(oe(thc(TBc,Nhc(46))==-1,yzc,TBc),new _1b(g4b,TBc)),g5b));a.e.e.j==a5b&&(a.e=c0b(a.e));P_b(a.e,bYb((c=new _0b(N2b),c),r));a.e=f0b(a.e).b;if(!a.g){a.g=true;N_b(a.i.e,wXb((oe(thc(TBc,Nhc(46))==-1,yzc,TBc),new _1b(g4b,TBc)),g5b),a.i)}}function Q5(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;Gfb();if(!!d&&(d.j==(m5b(),g5b)||d.j==$3b||d.j==$2b)&&!zgb(d.e)){o=c.d;n=d}else if(d.j==
(m5b(),u2b)){o=c.d;n=d.e;je(n.j==u3b)}else if(d.j==s2b||d.j==G4b||d.j==e3b||d.j==R4b)return;else if(d.j==x3b||d.j==w3b&&b0b(d)==3||zgb(d.e)){S5(a,c);return}else if(d.j==U2b){R5(a,c);return}else throw QT(new sgc("Unexpected ARRAY_PATTERN parent: "+d));q=GBc+a.b++;p=vXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b((m5b(),g4b),q)),G7(a.a,$_b(o)),g5b);$0b(p,c);O_b(n.e,p,n);g=false;for(f=c.b;f;f=k){k=f.d;if(f.j==k3b){l=xXb(qXb(CXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),new _1b(Q4b,HBc)),vC(qC(hQ,1),zzc,
7,0,[])));$0b(l,f);O_b(n.e,l,n);continue}if(f.j==e3b){m=GBc+a.b++;r=vXb((oe(thc(m,Nhc(46))==-1,yzc,m),new _1b(g4b,m)),CXb(qXb(CXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),new _1b(Q4b,HBc)),vC(qC(hQ,1),zzc,7,0,[])),new _1b(Q4b,IBc)),g5b);$0b(r,f);O_b(n.e,r,n);h=$_b(f.b);j=W5((oe(thc(m,Nhc(46))==-1,yzc,m),new _1b(g4b,m)),$_b(f.b?f.b.f:null))}else if(f.j==G4b){h=$_b(f.b);j=qXb(lhb(a.a,"$jscomp.arrayFromIterator"),vC(qC(hQ,1),zzc,7,0,[(oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q))]));g=true}else{h=
$_b(f);j=CXb(qXb(CXb((oe(thc(q,Nhc(46))==-1,yzc,q),new _1b(g4b,q)),new _1b(Q4b,HBc)),vC(qC(hQ,1),zzc,7,0,[])),new _1b(Q4b,IBc))}if(d.j==u2b){e=mXb(h,j);i=(je(JXb(e)),new b1b(u3b,e))}else i=vXb(h,j,d.j);$0b(i,c);O_b(n.e,i,n);P5(a,b,h,h.e)}$_b(n);g&&q_(a.a,"es6/util/arrayfromiterator",false);$_(a.a)}function $pb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;u=iD(b.k,19)?b.k:null;je(b.j==(m5b(),y3b)||!!u.Ji());if(!u||u.Ei())return"";e=u.Ji();if(W5b(u,a.b.bh((wac(),H9b))))return"/** @type {!Function} */\n";
r=new gic("/**\n");p=null;!!b&&b.j==y3b&&(p=(Gfb(),Xd(b.j==y3b),b.b.d).b);f=0;for(n=(o=e.a.a,o?!o.b?(gnc(),gnc(),fnc):new V1b(o.b):(gnc(),gnc(),fnc)).Ld();n.Dd();){m=n.Ed();r.a+=" * ";dqb(r,"param",(v=iD(m.k,19)?m.k:null,e0b(m,37)!=0?w=H5b(aqb(a,v))+"=":e0b(m,30)!=0?w=Qzc+H5b(aqb(a,v)):w=!v.Ei()&&!v.Li()&&!v.Ki()&&!v.Ji()&&v.Ai()?"!"+v.Oi(true):v.Oi(true),w));_hc(_hc((r.a+=" ",r),!p?"p"+f:p.ci()),Gyc);p?p=p.d:++f}q=e.a.b;if(!!q&&!(q.xi()||q.vi()||q.wi()||Oac(q.u,L9b)==q)&&e.e!=2&&!(e.gj()&&q.Fi())){r.a+=
" * ";dqb(r,Nzc,!q.Ei()&&!q.Li()&&!q.Ki()&&!q.Ji()&&q.Ai()?"!"+q.Oi(true):q.Oi(true));r.a+=Gyc}if(e.gj()||e.e==2){s=k8b(e);if(s){t=h8b(k8b(e));if(!qhc(t.Oi(false),wCc)){r.a+=" * ";dqb(r,Wzc,t.Oi(true));r.a+=Gyc}}if(e.e==2)for(h=es(new yoc(e.b.a.b.Ld()));h.Dd();){g=h.Ed();r.a+=" * ";dqb(r,Wzc,g.Oi(true));r.a+=Gyc}i=new jvc;for(l=g8b(e).Ld();l.Dd();){j=l.Ed();hvc(i,j.Oi(true))}for(k=(d=(new Jkc(i.a)).a.ne().b.xj(),new Pkc(d));k.a.Dd();){j=(c=k.a.Ed(),c.xe());r.a+=" * ";_hc(_hc(_hc(_hc((r.a+="@",r),
Xzc)," {"),j),"}");r.a+=Gyc}e.gj()?(r.a+=" * @constructor\n",r):e.e==2&&e.d?(r.a+=" * @record\n",r):e.e==2&&(r.a+=" * @interface\n",r)}if(!e.v.d.isEmpty()){r.a+=" * @template ";Nc(new Sc(","),r,e.v.d.Ld());r.a+=Gyc}r.a+=" */\n";return r.a}function Ftb(){Ftb=pU;wtb=new q4("JSC_INVALID_SUPPRESS",(lX(),jX),new Hic("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));ttb=new q4("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",jX,new Hic("Visibility annotations on constructors are not supported.\nPlease mark the visibility on the class instead."));
xtb=new q4("JSC_MISSING_JSDOC",jX,new Hic("Function must have JSDoc."));ytb=new q4("JSC_MISSING_PARAMETER_JSDOC",jX,new Hic("Parameter must have JSDoc."));Atb=new q4("JSC_MIXED_PARAM_JSDOC_STYLES",jX,new Hic("Functions may not use both @param annotations and inline JSDoc"));ztb=new q4("JSC_MISSING_RETURN_JSDOC",jX,new Hic("Function with non-trivial return must have @return JSDoc or inline return JSDoc."));Btb=new q4("JSC_MUST_BE_PRIVATE",jX,new Hic("Property {0} must be marked @private"));Ctb=new q4("JSC_MUST_HAVE_TRAILING_UNDERSCORE",
jX,new Hic("Private property {0} should end with ''_''"));Dtb=new q4("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",jX,new Hic("Parameter {0} is optional so its type must end with ="));Etb=new q4("JSC_WRONG_NUMBER_OF_PARAMS",jX,new Hic("Wrong number of @param annotations"));vtb=new q4("JSC_INCORRECT_PARAM_NAME",jX,new Hic("Incorrect param name. Are your @param annotations in the wrong order?"));utb=new q4("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",jX,new Hic("Externs files should be annotated with @externs in the @fileoverview block."));
stb=new M3(vC(qC(TI,1),Uxc,5,0,[wtb,ttb,xtb,ytb,Atb,ztb,Btb,Ctb,Dtb,Etb,vtb,utb]))}function Bnb(){Bnb=pU;Anb=new q4("JSC_USE_OF_WITH",(lX(),kX),new Hic("The 'with' statement cannot be used in ES5 strict mode."));xnb=new q4("JSC_EVAL_DECLARATION",kX,new Hic('"eval" cannot be redeclared in ES5 strict mode'));wnb=new q4("JSC_EVAL_ASSIGNMENT",kX,new Hic('the "eval" object cannot be reassigned in ES5 strict mode'));snb=new q4("JSC_ARGUMENTS_DECLARATION",kX,new Hic('"arguments" cannot be redeclared in ES5 strict mode'));
pnb=new q4("JSC_ARGUMENTS_ASSIGNMENT",kX,new Hic('the "arguments" object cannot be reassigned in ES5 strict mode'));qnb=new q4("JSC_ARGUMENTS_CALLEE_FORBIDDEN",kX,new Hic('"arguments.callee" cannot be used in ES5 strict mode'));rnb=new q4("JSC_ARGUMENTS_CALLER_FORBIDDEN",kX,new Hic('"arguments.caller" cannot be used in ES5 strict mode'));znb=new q4("JSC_FUNCTION_CALLER_FORBIDDEN",kX,new Hic("A function''s \"caller\" property cannot be used in ES5 strict mode"));ynb=new q4("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN",
kX,new Hic("A function''s \"arguments\" property cannot be used in ES5 strict mode"));unb=new q4("JSC_DELETE_VARIABLE",kX,new Hic("variables, functions, and arguments cannot be deleted in ES5 strict mode"));vnb=new q4("JSC_DUPLICATE_OBJECT_KEY",iX,new Hic("object literals cannot contain duplicate keys in ES5 strict mode"));new q4("JSC_DUPLICATE_CLASS_METHODS",iX,new Hic("Classes cannot contain duplicate method names"));tnb=new q4("JSC_BAD_FUNCTION_DECLARATION",iX,new Hic("functions can only be declared at top level or immediately within another function in ES5 strict mode"))}
function B7(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;l=c.d;B=d0b(c,b);A=b.b.ci();u=(oe(thc(A,Nhc(46))==-1,yzc,A),new _1b((m5b(),g4b),A));C=A0b(u,u.g,30);C!=u.g&&(u.g=C);u.g=new E1b(30,1,u.g);H0b(u,g0b(b,29));B0b(c,b,u);D=null;o=g0b(b,29);if(o)D=($Bc&o.a)==eCc?o.i:null;else{m=(Gfb(),q=Tfb(c.e),!q?null:g0b(q,29));!!m&&(D=NYb(m,A))}!!D&&D.a.j!=j3b&&Z_(a.a,Zbb(b,f7,vC(qC(DR,1),Fxc,2,6,[])));if(!l.b){$_(a.a);return}w=X0b((e=new _0b(N2b),e),l);t=(oe(thc(A,Nhc(46))==-1,yzc,A),new _1b(g4b,
A));r=$0b(vXb(t,(oe(thc(iCc,Nhc(46))==-1,yzc,iCc),new _1b(g4b,iCc)),$3b),l);Q_b(w,r);for(i=(!l.b?(gnc(),gnc(),fnc):new V1b(l.b)).Ld();i.Dd();){h=i.Ed();P_b(w,$_b(h))}if(D){d=new _1b(Q4b,jCc);F=D.a;s=F.j==j3b?W_b(F.b,false):W_b(F,false);Q_b(d,Z0b(new b1b(N2b,s),F));g=new F_b(false);w_b(g,new J_b(new b1b(I2b,d),(k=g0b(b,51),!k?null:k.Dg())));H0b(t,p$b(g,false))}v=vXb((oe(thc(iCc,Nhc(46))==-1,yzc,iCc),new _1b(g4b,iCc)),lXb(vC(qC(hQ,1),zzc,7,0,[])),g5b);Q_b(l,$0b(v,b));p=vXb((oe(thc(kCc,Nhc(46))==-1,
yzc,kCc),new _1b(g4b,kCc)),new J1b(B),g5b);j=IXb((oe(thc(kCc,Nhc(46))==-1,yzc,kCc),new _1b(g4b,kCc)),CXb((oe(thc(rBc,Nhc(46))==-1,yzc,rBc),new _1b(g4b,rBc)),new _1b(Q4b,"length")));n=HXb((oe(thc(kCc,Nhc(46))==-1,yzc,kCc),new _1b(g4b,kCc)),false);f=oXb(xXb(mXb(BXb((oe(thc(iCc,Nhc(46))==-1,yzc,iCc),new _1b(g4b,iCc)),_Xb((oe(thc(kCc,Nhc(46))==-1,yzc,kCc),new _1b(g4b,kCc)),new J1b(B))),BXb((oe(thc(rBc,Nhc(46))==-1,yzc,rBc),new _1b(g4b,rBc)),(oe(thc(kCc,Nhc(46))==-1,yzc,kCc),new _1b(g4b,kCc))))));N_b(l,
$0b(zXb(p,j,n,f),b),v);P_b(l,w);$_(a.a)}function pEb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;c&&(l=Bhc(l,"\r\n?",Gyc));k=c?0:1;e=thc(l,Nhc(92));if(e==-1)return c?l:Hhc(l,1,l.length-1);j=new dic;while(e!=-1){e-k>0&&(j.a+=""+Hhc(l==null?Mxc:(exc(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+=Gyc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:a.e=
SJb(a.e,(NKb(),HKb).a);RJb(a.a.c.a,(QJb(),HJb))?a.d.fh("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.eh("String continuations are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=l.charCodeAt(e+1);if(a.a.c.b==0)if(d==48&&!(h>=48&&h<=55));else a.d.fh("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){Uhc(j,64*OEb(d)+8*OEb(h)+OEb(i)&Kxc);e+=2}else{Uhc(j,8*OEb(d)+OEb(h)&Kxc);e+=1}}else Uhc(j,OEb(d)&Kxc);break;case 120:Uhc(j,LEb(l.charCodeAt(e+1))*16+LEb(l.charCodeAt(e+2))&Kxc);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(Afc(l.charCodeAt(f),16)>=0)++f;g=l.substr(e+2,f-(e+2));++f}aic(j,Hfc(lgc(g)));e=f-1;break;default:j.a+=String.fromCharCode(d)}k=e+1;e=uhc(l,Nhc(92),k)}Zhc(j,
l,k,c?l.length:l.length-1);return j.a}function SLb(){SLb=pU;var a,b,c,d,e,f;VKb=new TLb("BREAK",0,"break",(bSb(),eQb));WKb=new TLb("CASE",1,"case",hQb);XKb=new TLb(iFc,2,"catch",iQb);$Kb=new TLb(jFc,3,cAc,rQb);_Kb=new TLb(kFc,4,eAc,sQb);bLb=new TLb(uDc,5,Szc,uQb);cLb=new TLb("DELETE",6,lFc,vQb);dLb=new TLb("DO",7,"do",wQb);eLb=new TLb("ELSE",8,"else",xQb);jLb=new TLb(mFc,9,Mzc,HQb);kLb=new TLb("FOR",10,"for",IQb);lLb=new TLb(nFc,11,Cxc,JQb);mLb=new TLb("IF",12,"if",MQb);pLb=new TLb("IN",13,"in",PQb);
qLb=new TLb($Ec,14,YCc,QQb);xLb=new TLb("NEW",15,"new",_Qb);DLb=new TLb(jEc,16,Nzc,xRb);GLb=new TLb(oFc,17,"switch",LRb);HLb=new TLb(kEc,18,Zzc,PRb);ILb=new TLb("THROW",19,"throw",QRb);KLb=new TLb("TRY",20,"try",TRb);MLb=new TLb(pFc,21,XCc,VRb);NLb=new TLb("VAR",22,"var",YRb);OLb=new TLb("VOID",23,fAc,ZRb);PLb=new TLb("WHILE",24,Yzc,$Rb);QLb=new TLb("WITH",25,"with",_Rb);YKb=new TLb("CLASS",26,Vzc,jQb);ZKb=new TLb("CONST",27,kBc,qQb);fLb=new TLb(aEc,28,hAc,zQb);gLb=new TLb(cEc,29,Rzc,EQb);hLb=new TLb(bEc,
30,Wzc,FQb);oLb=new TLb(qFc,31,Uzc,OQb);FLb=new TLb(aFc,32,$zc,KRb);nLb=new TLb(dEc,33,Xzc,NQb);rLb=new TLb(eEc,34,gAc,RQb);uLb=new TLb("LET",35,"let",VQb);zLb=new TLb(fEc,36,mEc,kRb);ALb=new TLb(gEc,37,nEc,sRb);BLb=new TLb(hEc,38,oEc,tRb);CLb=new TLb(iEc,39,pEc,uRb);ELb=new TLb("STATIC",40,qEc,IRb);RLb=new TLb("YIELD",41,"yield",aSb);yLb=new TLb(FDc,42,Mxc,dRb);JLb=new TLb(TAc,43,bAc,SRb);iLb=new TLb(SAc,44,aAc,GQb);aLb=new TLb(rFc,45,kAc,tQb);LLb=new TLb(lEc,46,jAc,URb);vLb=new TLb("MODULE",47,
GAc,ZQb);wLb=new TLb(sFc,48,iAc,$Qb);a=new fq;b=new yqc(DN);for(d=$Lb(),e=0,f=d.length;e<f;++e){c=d[e];cq(a,c.b,c);uqc(b,c.a,c)}sLb=In(a.b);tLb=rv(b)}function T5(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;Gfb();if(!!d&&(d.j==(m5b(),g5b)||d.j==$3b||d.j==$2b)&&!zgb(d.e)){r=c.d;q=d}else if(d.j==(m5b(),u2b)&&d.e.j==u3b){r=d.b?d.b.f:null;q=d.e}else if(d.j==G4b||d.j==R4b||d.j==s2b||d.j==e3b)return;else if(d.j==x3b||d.j==w3b&&b0b(d)==3||zgb(d.e)){S5(a,c);return}else if(d.j==U2b){R5(a,c);return}else throw QT(new sgc("Unexpected OBJECT_PATTERN parent: "+
d));t=GBc+a.b++;s=$0b(vXb((oe(thc(t,Nhc(46))==-1,yzc,t),new _1b((m5b(),g4b),t)),$_b(r),g5b),c);if(d.j==$2b){k=new F_b(false);A$b(k);H0b(s,p$b(k,false))}O_b(q.e,s,q);for(e=c.b;e;e=p){p=e.d;if(e.j==R4b){if(!e.b){l=NXb(e.ci());Z0b(l,e);P_b(e,l)}h=new d1b(e.ei()?D3b:E3b,(oe(thc(t,Nhc(46))==-1,yzc,t),new _1b(g4b,t)),YXb(e.ci()));u=z0b(e);if(u.j==e3b){m=z0b(u);f=z0b(u);o=EXb(WXb(h,(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b(g4b,EBc))),f,W_b(h,false))}else{m=u;o=h}}else if(e.j==Z2b)if((e.b?e.b.f:null).j==
e3b){m=z0b(e.b?e.b.f:null);g=BXb((oe(thc(t,Nhc(46))==-1,yzc,t),new _1b(g4b,t)),z0b(e));j=GBc+a.b++;i=vXb((oe(thc(j,Nhc(46))==-1,yzc,j),new _1b(g4b,j)),g,g5b);$0b(i,e);O_b(q.e,i,q);o=W5((oe(thc(j,Nhc(46))==-1,yzc,j),new _1b(g4b,j)),z0b(e.b?e.b.f:null))}else{o=BXb((oe(thc(t,Nhc(46))==-1,yzc,t),new _1b(g4b,t)),z0b(e));m=z0b(e)}else if(e.j==e3b){m=z0b(e);f=z0b(e);h=CXb((oe(thc(t,Nhc(46))==-1,yzc,t),new _1b(g4b,t)),YXb(m.ci()));o=EXb(WXb(h,(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b(g4b,EBc))),f,W_b(h,false))}else throw QT(new sgc("Unexpected OBJECT_PATTERN child: "+
e));if(!!d&&(d.j==g5b||d.j==$3b||d.j==$2b))n=vXb(m,o,d.j);else if(d.j==u2b)n=xXb(mXb(m,o));else throw QT(new sgc("not reached"));$0b(n,e);O_b(q.e,n,q);P5(a,b,m,m.e)}$_b(q);$_(a.a)}function sV(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;switch(b.j.f){case 34:case 117:case 32:case 97:case 33:case 35:d=b0b(b);0!=d&&nW(azc+d,b);return;case 24:case 21:case 22:case 19:case 63:case 64:case 25:case 78:case 20:case 90:e=o5b(b.j);e!=-1&&(c=b0b(b),e!=c&&nW(bzc+e+czc+c,b));sV(a,b.b);return;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:aV(a,
b);return;case 60:f=o5b(b.j);f!=-1&&(g=b0b(b),f!=g&&nW(bzc+f+czc+g,b));h=b.b;sV(a,h);sV(a,h.d);sV(a,b.b?b.b.f:null);return;case 31:cW(b);return;case 30:OV(b);return;case 29:HV(b);return;case 27:case 46: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 14:case 13:case 15:case 17:case 16:case 18:i=o5b(b.j);i!=-1&&(j=b0b(b),i!=j&&nW(bzc+i+czc+j,b));sV(a,b.b);sV(a,b.b?b.b.f:null);return;case 26:vV(a,b);return;case 42:$U(a,
b);return;case 43:PV(a,b);return;case 38:YV(b);return;case 28:dV(a,b);return;case 111:_V(b);return;case 23:MV(a,b);return;case 65:uV(a,b,false);return;case 94:hV(a,b,false);return;case 114:gW(a,b);return;case 113:v2(a.a.v)||nW(izc,b);NV((m5b(),W4b),b);k=o5b(b.j);k!=-1&&(l=b0b(b),k!=l&&nW(bzc+k+czc+l,b));sV(a,b.b);gW(a,b.b?b.b.f:null);return;case 100:v2(a.a.v)||nW("Feature 'yield' is only allowed in ES6 mode.",b);NV((m5b(),l5b),b);m=b0b(b);(m<0||m>1)&&nW(jzc+m,b);!!b.b&&sV(a,b.b);return;case 101:v2(a.a.v)||
nW("Feature 'async function' is only allowed in ES6 mode.",b);NV((m5b(),H2b),b);n=(Gfb(),Wfb(b,new Ahb(y3b)));(!n||e0b(n,61)==0)&&nW("'await' expression is not within an async function",b);return;default:nW("Expected expression but was "+b.j,b)}}function T9(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,M;if(b.e)return;D=b.n;m=(M=new btc,Xc(M,new Kjc(b.b)),Xc(M,new Kjc(b.i)),M);!!D&&!D.a.e&&T9(a,(je(!D.a.e),D.a));for(H=(!b.d?(fm(),$w(),Zw):b.d).Ld();H.Dd();){F=H.Ed();F.a.e||
T9(a,(je(!F.a.e),F.a))}v=new Ts;w=new Ts;if(D){je(D.a.e);for(q=BBb(D.a).Ld();q.Dd();){o=q.Ed();m.a.remove(o)!=null;U9(a,b,D,o,v,w)}}for(G=(!b.d?(fm(),$w(),Zw):b.d).Ld();G.Dd();){F=G.Ed();je(F.a.e);for(q=CBb(F.a).Ld();q.Dd();){o=q.Ed();m.a.remove(o)!=null;U9(a,b,F,o,v,w)}}for(r=(B=v.g,!B?v.g=new ji(v,v.c):B).Ld();r.Dd();){o=r.Ed();l=og(v,o);je(!l.isEmpty());k=tp(a.o,b,o);I=iub(l);j=k.c;e=gab(k);if(!I){I=l.Ld().Ed();bfb(a.t,Zbb(k.a,O9,vC(qC(DR,1),Fxc,2,6,[b.v,o,sU(l)])))}else e&&(j.g?Exc:j.f.size()+
j.d.size())>(I.g?Exc:I.f.size()+I.d.size())&&bfb(a.t,Zbb(k.a,F9,vC(qC(DR,1),Fxc,2,6,[o,Wub(cub(I),new dic).a,Wub(cub(j),new dic).a])));J=eub(j,I,e);k.c=J;!!k.b&&feb(k.b,J);qg(w,o,Zxb(a.d,cub(J)))}L:for(s=(A=w.g,!A?w.g=new ji(w,w.c):A).Ld();s.Dd();){o=s.Ed();c=og(w,o);je(!c.isEmpty());C=a.d.v;for(g=c.Ld();g.Dd();){f=g.Ed();C=Fwb(C,f);if(0==C.Vh()){bfb(a.t,Zbb(b.t,O9,vC(qC(DR,1),Fxc,2,6,[b.v,o,sU(c)])));continue L}else C=f}uBb(b,o,null,C,false)}if(!SBb(b.v,tCc,b.t)&&MBb(b)){K=b.p;!Xvb(K)?bfb(a.t,Zbb(b.t,
O9,vC(qC(DR,1),Fxc,2,6,[b.v,uCc,"the keys K have types that can't be joined."]))):!Yvb(K)&&bfb(a.t,Zbb(b.t,O9,vC(qC(DR,1),Fxc,2,6,[b.v,uCc,"the values V should have a common subtype."])))}for(p=(n=(new Kjc(m.a)).a.ne().Ld(),new Qjc(n));p.a.Dd();){o=(d=p.a.Ed(),d.xe());t=tp(a.o,b,o);je(!!t||qhc(b.v,vCc));if(t){u=t.a;h=(Gfb(),i=Tfb(u),!i?null:g0b(i,29));!!h&&(h.a&64)!=0&&bfb(a.t,Zbb(u,P9,vC(qC(DR,1),Fxc,2,6,[o,b.v])))}}ABb(b)}function o1b(a){switch(a){case 30:return"var_args_name";case 29:return"jsdoc_info";
case 32:return"incrdecr";case 36:return"quoted";case 37:return"opt_arg";case 38:return"synthetic";case 39:return"added_block";case 40:return"originalname";case 42:return"side_effect_flags";case 43:return"is_constant_name";case 46:return"is_namespace";case 48:return"directives";case 49:return"direct_eval";case 50:return"free_call";case 51:return"source_file";case 53:return"input_id";case 54:return"slash_v";case 55:return"inferred";case 56:return"change_time";case 57:return"reflected_object";case 58:return"static_member";
case 59:return"generator_fn";case 60:return"arrow_fn";case 61:return"async_fn";case 62:return"yield_for";case 63:return"export_default";case 64:return"export_all_from";case 65:return"is_constant_var";case 66:return"is_generator_marker";case 67:return"is_generator_safe";case 71:return"raw_string_value";case 72:return"computed_prop_method";case 73:return"computed_prop_getter";case 74:return"computed_prop_setter";case 75:return"computed_prop_variable";case 76:return"analyzed_during_gti";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 Xzc;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";default:throw QT(new sgc("unexpected prop id "+
a));}}function H5(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;if(Uic(a.c.c)==0)return;for(o=(B=(new Kjc(a.c)).a.ne().Ld(),new Qjc(B));o.a.Dd();){n=(f=o.a.Ed(),f.xe());q=vsc(a.c,n);t=QXb(vC(qC(hQ,1),zzc,7,0,[]));for(N=(C=(new Kjc(q.b.a)).a.ne().Ld(),new Qjc(C));N.a.Dd();){L=(e=N.a.Ed(),e.xe());P_b(t,$Xb(L.d,CXb(NXb(q.a),YXb(L.d))))}K=mXb(NXb(q.a),t);s=Y0b(vXb(NXb(q.a),QXb(vC(qC(hQ,1),zzc,7,0,[])),(m5b(),g5b)),n);w5(s,n);Gfb();if(n.j==w3b&&b0b(n)==4){m=n.b;B0b(n,m,new _0b(k3b));
if(m.j!=k3b){!!m&&(m.j==g5b||m.j==$3b||m.j==$2b)||(m=X0b((je(JXb(m)),new b1b(u3b,m)),m));w5(m,n)}l=a0b(n,2);if(l.j==k3b)B0b(n,l,$0b(K,n));else{D=new _0b(k3b);B0b(n,l,D);B0b(n,D,$0b(nXb(Y2b,K,l),n))}}else n.j==i3b?P_b(n.b,$0b((je(JXb(K)),new b1b(u3b,K)),n)):P_b(n.b?n.b.f:null,$0b((je(JXb(K)),new b1b(u3b,K)),n));for(M=(A=(new Kjc(q.b.a)).a.ne().Ld(),new Qjc(A));M.a.Dd();){L=(e=M.a.Ed(),e.xe());for(G=og(a.d,L).Ld();G.Dd();){F=G.Ed();if((n.j==x3b||n.j==w3b&&b0b(n)==3)&&n.b==F.e)Q_b(n.b?n.b.f:null,$0b(xXb(mXb(CXb(NXb(q.a),
YXb(L.d)),L.Ih().ai(false))),F));else{if(Ngb(F.e)){d=F.e;i=d.e;y5(d,i);d=F.e;if(F.b){p=F.ai(false);b=mXb(p,z0b(F));x5(d,F,d);z5(d,i,F,d);H0b(b,g0b(d,29));H=$0b((je(JXb(b)),new b1b(u3b,b)),d);B0b(i,d,H);F=p}else x0b(i,d);yrc(a.e.b,d);$_(a.e.a)}F.e.j==Q2b&&F.e.b==F&&v0b(F.e,50,false);B0b(F.e,F,$0b(CXb(NXb(q.a),YXb(L.d)),F))}}}}for(h=Ss(a.b).Ld();h.Dd();){g=h.Ed();J=new _0b((m5b(),I4b));w=og(a.b,g);u=sC(hQ,zzc,7,w.size(),0,1);v=sC(hQ,zzc,7,w.size(),0,1);j=0;for(r=w.Ld();r.Dd();){q=r.Ed();u[j]=NXb(q.a);
v[j]=NXb(q.a);++j}k=AXb((oe(thc("",Nhc(46))==-1,yzc,""),new _1b(g4b,"")),TXb(u),oXb(J));c=qXb(k,v);I=A0b(c,c.g,50);I!=c.g&&(c.g=I);c.g=new E1b(50,1,c.g);Gfb();g.j==y3b&&wgb(g.e)?H=$0b(vXb(NXb(g.b.ci()),c,g5b),g):H=$0b(c,g);B0b(g.e,g,H);Q_b(J,g)}}function NW(){NW=pU;GW=new q4("JSC_DEPRECATED_VAR",(lX(),jX),new Hic("Variable {0} has been deprecated."));HW=new q4("JSC_DEPRECATED_VAR_REASON",jX,new Hic("Variable {0} has been deprecated: {1}"));IW=new q4("JSC_DEPRECATED_PROP",jX,new Hic("Property {0} of type {1} has been deprecated."));
JW=new q4("JSC_DEPRECATED_PROP_REASON",jX,new Hic("Property {0} of type {1} has been deprecated: {2}"));EW=new q4("JSC_DEPRECATED_CLASS",jX,new Hic("Class {0} has been deprecated."));FW=new q4("JSC_DEPRECATED_CLASS_REASON",jX,new Hic("Class {0} has been deprecated: {1}"));xW=new q4("JSC_BAD_PACKAGE_PROPERTY_ACCESS",iX,new Hic("Access to package-private property {0} of {1} not allowed here."));yW=new q4("JSC_BAD_PRIVATE_GLOBAL_ACCESS",iX,new Hic("Access to private variable {0} not allowed outside file {1}."));
zW=new q4("JSC_BAD_PRIVATE_PROPERTY_ACCESS",kX,new Hic("Access to private property {0} of {1} not allowed here."));AW=new q4("JSC_BAD_PROTECTED_PROPERTY_ACCESS",kX,new Hic("Access to protected property {0} of {1} not allowed here."));new q4("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY",iX,new Hic("Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility"));LW=new q4("JSC_PRIVATE_OVERRIDE",kX,new Hic("Overriding private property of {0}."));
KW=new q4("JSC_EXTEND_FINAL_CLASS",iX,new Hic("{0} is not allowed to extend final class {1}."));MW=new q4("JSC_VISIBILITY_MISMATCH",kX,new Hic("Overriding {0} property of {1} with {2} property."));CW=new q4("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE",kX,new Hic("constant property {0} assigned a value more than once"));BW=new q4("JSC_CONSTANT_PROPERTY_DELETED",kX,new Hic("constant property {0} cannot be deleted"));DW=new q4("JSC_CONVENTION_MISMATCH",kX,new Hic("Declared access conflicts with access convention."))}
function g6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;q_(a.a,OBc,false);a.g=false;i=$_b(f0b(T_(a.a,Oc(new Sc(String.fromCharCode(10)),"function generatorBody() {","  var $jscomp$generator$state = "+$5+";",vC(qC(yR,1),Uxc,1,5,["  function $jscomp$generator$impl($jscomp$generator$next$arg, ","      $jscomp$generator$throw$arg) {","    while (1) switch ($jscomp$generator$state) {","      case "+$5+":","      default:","        return {value: undefined, done: true};","    }","  }","  var iterator = /** @type {!Generator<?>} */ ({",
"    next: function(arg) { return $jscomp$generator$impl(arg, undefined); },","    throw: function(arg) { return $jscomp$generator$impl(undefined, arg); },","    return: function(arg) { throw Error('Not yet implemented'); },","  });","  $jscomp.initSymbolIterator();","  /** @this {!Generator<?>} */","  iterator[Symbol.iterator] = function() { return this; };","  return iterator;","}"]))).b));++$5;a.j=b.b?b.b.f:null;B0b(b,a.j,i);o=A0b(b,b.g,59);o!=b.g&&(b.g=o);g=H_b(g0b(b,29));r_b(g,(fm(),new Jx(jBc)));
j=p$b(g,false);n=A0b(b,b.g,29);n!=b.g&&(b.g=n);!!j&&(b.g=new O1b(29,j,b.g));P_b(a.j,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b((m5b(),g4b),MBc)),new J1b(-1))));a.e=f0b(b6(a,i,S2b));a.i=i.b;Gfb();Ogb(a.j,PBc,(ue(),_e(),Ye))&&N_b(a.i.e,vXb((oe(thc(PBc,Nhc(46))==-1,yzc,PBc),new _1b(g4b,PBc)),(oe(thc(rBc,Nhc(46))==-1,yzc,rBc),new _1b(g4b,rBc)),g5b),a.i);Ogb(a.j,QBc,(null,Ye))&&N_b(a.i.e,vXb((oe(thc(QBc,Nhc(46))==-1,yzc,QBc),new _1b(g4b,QBc)),new _0b(Z4b),g5b),a.i);while(a.j.b){a.d=z0b(a.j);d=d6(a);
if(d){if(e0b(a.d,66)!=0)h=pD(a.d.b.bi());else{h=$5;++$5}m=a.e.e;k=rXb(new J1b(h),(f=new _0b(N2b),f));a.e=k.b?k.b.f:null;if(m.j==a5b){m=!m.e?null:m.e.e;if(a.b.a.length!=0){l=bYb((e=new _0b(N2b),e),W_b(Mlc(a.b,0).a,false));P_b(k.b?k.b.f:null,l);a.e=f0b(k.b?k.b.f:null).b}}N_b(m.e,k,m)}}$0b(c,c);$_(a.a)}function RX(){RX=pU;new q4(wzc,(lX(),iX),new Hic("@export has no effect here"));NX=new q4(wzc,jX,new Hic("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));
new q4("JSC_GOOG_MODULE_REFERENCES_THIS",iX,new Hic("The body of a goog.module cannot reference 'this'."));new q4("JSC_GOOG_MODULE_USES_THROW",iX,new Hic("The body of a goog.module cannot use 'throw'."));new q4("JSC_INVALID_DESTRUCTURING_REQUIRE",iX,new Hic("Destructuring goog.require must be a simple object pattern."));OX=new q4("JSC_LET_GOOG_REQUIRE",jX,new Hic("Module imports must be constant. Please use 'const' instead of 'let'."));new q4("JSC_MULTIPLE_MODULES_IN_FILE",iX,new Hic("There should only be a single goog.module() statement per file."));
new q4("JSC_MODULE_AND_PROVIDES",iX,new Hic("A file using goog.module() may not also use goog.provide() statements."));new q4("JSC_ONE_REQUIRE_PER_DECLARATION",iX,new Hic("There may only be one goog.require() per var/let/const declaration."));new q4("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",iX,new Hic("Exports must be a statement at the top-level of a module"));new q4("JSC_EXPORT_REPEATED_ERROR",iX,new Hic("Name cannot be exported multiple times. Previous export on line {0}."));new q4("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",
iX,new Hic("References to the global name of a module are not allowed. Perhaps you meant exports?"));PX=new q4("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",jX,new Hic("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require instead."));QX=new q4("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",jX,new Hic("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));new q4("JSC_REQUIRE_NOT_AT_TOP_LEVEL",
iX,new Hic("goog.require() must be called at file scope."))}function u7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;p7(a,b);r=N7(b,c);if(!r||r.f==null)throw QT(new sgc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+b));if(r.k.j!=(m5b(),k3b)&&!o0b(r.k)){Z_(a.a,Zbb(r.k,k7,vC(qC(DR,1),Fxc,2,6,[])));return}oe((Gfb(),Ygb(r.g.e)),"insertion point must be a statement: %s",r.g);f=null;g=null;e=b.b?b.b.f:null;for(q=(!e.b?(gnc(),gnc(),fnc):new V1b(e.b)).Ld();q.Dd();){p=
q.Ed();if(p.j==Z2b&&(e0b(p,73)!=0||e0b(p,74)!=0)||p.j==F3b||p.j==L4b)w7(a,p,r);else if(p.j==b4b&&qhc(p.ci(),tBc)){g=g0b(p,29);f=$_b(p.b);r.a||B0b(f,f.b,r.c.ai(false))}else if(p.j==k3b);else{oe(p.j==b4b||p.j==Z2b,"Unexpected class member:",p);oe(e0b(p,75)==0,"Member variables should have been transpiled earlier:",p);v7(a,p,r)}}if(r.e.b){q_(a.a,cCc,false);i=xXb(qXb(lhb(a.a,dCc),vC(qC(hQ,1),zzc,7,0,[lhb(a.a,r.f+ZBc),r.e])));$0b(i,b);N_b(r.g.e,i,r.g);r.g=i;z7(a,r.e)}if(r.d.b){q_(a.a,cCc,false);i=xXb(qXb(lhb(a.a,
dCc),vC(qC(hQ,1),zzc,7,0,[lhb(a.a,r.f),r.d])));$0b(i,b);N_b(r.g.e,i,r.g);r.g=i;z7(a,r.d)}de(f);d=(o=Tfb(b),!o?null:g0b(o,29));s=H_b(d);B$b(s);j=Wfb(b,Ffb);if(r.k.j!=k3b){u=h0b(r.k);if(ZYb(s.a))L$b(s,new J_b(new b1b(I2b,new _1b(Q4b,u)),(k=g0b(r.k,51),!k?null:k.Dg())));else{l=g0b(b,51);if(!(!!l&&l.Fh())){m=qXb(lhb(a.a,oAc),vC(qC(hQ,1),zzc,7,0,[lhb(a.a,r.f),lhb(a.a,u)]));n=(je(JXb(m)),new b1b(u3b,m));q_(a.a,"es6/util/inherits",false);$0b(n,b);N_b(j.e,n,j)}x$b(s,new J_b(new b1b(I2b,new _1b(Q4b,u)),(k=
g0b(r.k,51),!k?null:k.Dg())))}}n7(a,r,j);s7(g,s);if(Ygb(b.e)){f.b.hi("");h=vXb(r.c.ai(false),f,$3b);$0b(h,b);B0b(c,b,h)}else B0b(c,b,f);if(Ygb(f.e))H0b(f,p$b(s,false));else if(c.j==g4b){v=c.e;H0b(v,p$b(s,false))}else if(f.e.j==g4b){v=!f.e?null:f.e.e;H0b(v,p$b(s,false))}else if(c.j==u2b)H0b(c,p$b(s,false));else throw QT(new sgc("Unexpected parent node "+c));t=A0b(f,f.g,92);t!=f.g&&(f.g=t);f.g=new E1b(92,1,f.g);$_(a.a)}function Qbb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;d=false;h=new Ulc;h.a[h.a.length]=
"/**";(b.a&fCc)!=0?(h.a[h.a.length]="@export",true):!!b.j&&b.j!=(j$b(),e$b)&&Jlc(h,"@"+Me(b.j).toLowerCase());(!b.d?null:b.d.g)!=null&&Jlc(h,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&37)!=0&&(b.a&4)==0&&(b.a&32)==0&&(h.a[h.a.length]="@const",true);(b.a&32)!=0&&(h.a[h.a.length]="@final",true);(b.a&bCc)!=0&&(h.a[h.a.length]="@dict",true);(b.a&Tyc)!=0&&(h.a[h.a.length]="@struct",true);(b.a&aCc)!=0&&(h.a[h.a.length]="@unrestricted ",true);(b.a&2)!=0&&(h.a[h.a.length]="@constructor",true);((b.a&512)!=0||
(b.a&nCc)!=0)&&(b.a&nCc)==0&&(h.a[h.a.length]="@interface",true);((b.a&512)!=0||(b.a&nCc)!=0)&&(b.a&nCc)!=0&&(h.a[h.a.length]="@record",true);if(!b.d?null:b.d.a){d=true;o=Rbb((!b.d?null:b.d.a).a);Jlc(h,Obb(a,Wzc,o))}for(n=EYb(b).Ld();n.Dd();){l=n.Ed();d=true;o=Rbb(l.a);Jlc(h,Obb(a,Wzc,o))}for(m=GYb(b).Ld();m.Dd();){l=m.Ed();d=true;o=Rbb(l.a);Jlc(h,Obb(a,Xzc,o))}if(b.g){d=true;o=Rbb(b.g.a);Jlc(h,Obb(a,Zzc,o))}if(KYb(b)>0){d=true;for(f=MYb(b).Ld();f.Dd();){e=f.Ed();Jlc(h,"@param "+Pbb(a,e,NYb(b,e)))}}if((b.a&
$Bc)==lyc){d=true;Jlc(h,Obb(a,Nzc,(($Bc&b.a)==lyc?b.i:null).a))}QYb(b).isEmpty()||Jlc(h,Obb(a,LCc,QYb(b).getAtIndex(0).a));g=PYb(b);if(!g.isEmpty()){Jlc(h,"@template "+Pc(new Sc(String.fromCharCode(44)),g.Ld()));d=true}(b.a&64)!=0&&(h.a[h.a.length]="@override",true);(b.a&$Bc)==eCc&&(b.a&4)==0&&(b.e?Jlc(h,Sbb(a,(($Bc&b.a)==eCc?b.i:null).a)):Jlc(h,Obb(a,jAc,(($Bc&b.a)==eCc?b.i:null).a)));(b.a&4)!=0&&Jlc(h,Obb(a,"define",(($Bc&b.a)==eCc?b.i:null).a));(b.a&$Bc)==Iyc&&Jlc(h,Obb(a,MCc,(($Bc&b.a)==Iyc?b.i:
null).a));(b.a&$Bc)==oCc&&Jlc(h,Obb(a,hAc,(($Bc&b.a)==oCc?b.i:null).a));k=(j=!b.d?null:b.d.p,!j?(gnc(),gnc(),fnc):j);if(!k.isEmpty()){c=k.Md(sC(DR,Fxc,2,0,6,1));Pmc(c,(Ew(),Dw));Jlc(h,"@suppress {"+Pc(new Sc(String.fromCharCode(44)),new tjc(new Zmc(c)))+"}");d=true}if((b.a&256)!=0){Jlc(h,"@deprecated "+(!b.d?null:b.d.b));d=true}h.a[h.a.length]="*/";i=new dic;d?Nc(new Sc("\n "),i,new pmc(h)):Nc(new Sc(" "),i,new pmc(h));i.a+=d?Gyc:" ";return i.a}function wac(){wac=pU;v9b=new xac(EFc,0);u9b=new xac("ARRAY_FUNCTION_TYPE",
1);y9b=new xac(VFc,2);x9b=new xac("BOOLEAN_OBJECT_TYPE",3);w9b=new xac("BOOLEAN_OBJECT_FUNCTION_TYPE",4);z9b=new xac("CHECKED_UNKNOWN_TYPE",5);B9b=new xac("DATE_TYPE",6);A9b=new xac("DATE_FUNCTION_TYPE",7);C9b=new xac("ERROR_FUNCTION_TYPE",8);D9b=new xac("ERROR_TYPE",9);E9b=new xac("EVAL_ERROR_FUNCTION_TYPE",10);F9b=new xac("EVAL_ERROR_TYPE",11);G9b=new xac("FUNCTION_FUNCTION_TYPE",12);H9b=new xac("FUNCTION_INSTANCE_TYPE",13);I9b=new xac("FUNCTION_PROTOTYPE",14);P9b=new xac("NULL_TYPE",15);V9b=new xac(WFc,
16);S9b=new xac("NUMBER_OBJECT_TYPE",17);R9b=new xac("NUMBER_OBJECT_FUNCTION_TYPE",18);_9b=new xac("OBJECT_TYPE",19);X9b=new xac("OBJECT_FUNCTION_TYPE",20);$9b=new xac("OBJECT_PROTOTYPE",21);aac=new xac("RANGE_ERROR_FUNCTION_TYPE",22);bac=new xac("RANGE_ERROR_TYPE",23);cac=new xac("REFERENCE_ERROR_FUNCTION_TYPE",24);dac=new xac("REFERENCE_ERROR_TYPE",25);fac=new xac("REGEXP_TYPE",26);eac=new xac("REGEXP_FUNCTION_TYPE",27);hac=new xac("STRING_OBJECT_TYPE",28);gac=new xac("STRING_OBJECT_FUNCTION_TYPE",
29);iac=new xac(UFc,30);kac=new xac("SYNTAX_ERROR_FUNCTION_TYPE",31);lac=new xac("SYNTAX_ERROR_TYPE",32);oac=new xac("TYPE_ERROR_FUNCTION_TYPE",33);pac=new xac("TYPE_ERROR_TYPE",34);sac=new xac("UNKNOWN_TYPE",35);tac=new xac("URI_ERROR_FUNCTION_TYPE",36);uac=new xac("URI_ERROR_TYPE",37);vac=new xac("VOID_TYPE",38);mac=new xac("TOP_LEVEL_PROTOTYPE",39);jac=new xac("STRING_VALUE_OR_OBJECT_TYPE",40);W9b=new xac("NUMBER_VALUE_OR_OBJECT_TYPE",41);t9b=new xac("ALL_TYPE",42);O9b=new xac("NO_TYPE",43);M9b=
new xac("NO_OBJECT_TYPE",44);N9b=new xac("NO_RESOLVED_TYPE",45);J9b=new xac("GLOBAL_THIS",46);qac=new xac("U2U_CONSTRUCTOR_TYPE",47);rac=new xac("U2U_FUNCTION_TYPE",48);L9b=new xac("LEAST_FUNCTION_TYPE",49);K9b=new xac("GREATEST_FUNCTION_TYPE",50);Q9b=new xac("NULL_VOID",51);Y9b=new xac("OBJECT_NUMBER_STRING",52);Z9b=new xac("OBJECT_NUMBER_STRING_BOOLEAN",53);U9b=new xac("NUMBER_STRING_BOOLEAN",54);T9b=new xac("NUMBER_STRING",55);nac=new xac(JDc,56)}function D1(){v1();this.lc=(EDb(),DDb);this.$=new D3;
this.ac=(Gm(),new Gx("./"));this.rb=(null,Fm);this.ob=(null,Fm);this.ud=new d3(vC(qC(eM,1),Uxc,173,0,[]));this._c=(Zmb(),Xmb);this.ad=(gnb(),enb);this.bd=(gnc(),gnc(),enc);this.N=(null,Fm);this.Ub=(t2(),k2);this.Vb=s2;this.eb=(V1(),T1);this.Zc=false;this._=(K1(),H1);this.q=false;this.A=false;this.w=false;this.B=false;this.s=(lX(),jX);this.o=iX;this.t=jX;this.v=jX;this.u=null;this.M=false;this.p=false;this.lb=null;this.r=(Q1(),O1);this.qb=false;this.F=false;this.W=false;this.Bb=false;this.Cb=false;
this._b=-1;this.Eb=false;this.n=false;this.k=false;this.Gb=false;this.P=false;this.kc=false;this.R=false;this.Db=false;this.Hb=false;this.Fb=false;this.$c=false;this.mb=false;this.Dc=false;this.nb=(_1(),Y1);this.Ic=false;this.Jc=false;this.Fc=false;this.Gc=false;this.Kc=false;this.Hc=false;this.K=false;this.H=false;this.e=(null,fnc);this.d="";this.b=false;this.jc=false;this.O=false;this.Vc=false;this.fc=false;this.gc=false;this.td=(Trb(),Srb);this.xc=(Okb(),Nkb);this.Tb=false;this.vb=false;this.Yc=
false;this.pc=false;this.Lc=null;this.J=false;this.I=false;this.ab=false;this.cb=false;this.f=false;this.i=(WU(),UU);this.ib=false;this.Y=true;this.cc=new w3;this.Wc=false;this.Xc=null;this.kd=null;this.jd=null;this.Yb=null;this.Zb=false;this.D=false;this.qc=false;this.Sb=false;this.g=false;this.mc=false;this.V=false;this.Rb=(h2(),e2);this.Bc=false;this.Ec=false;this.Cc=false;this.gd=(null,fnc);this.ed=(null,fnc);this.dd=(null,fnc);this.fd=(null,fnc);this.U=null;this.$b=false;this.Z=new qrc;this.od=
(R2(),P2);this.pd=new qrc;this.bc=false;this.j="";this.Ac=false;this.C=false;this.ic=(D2(),B2);this.tb=false;this.ub=true;this.hb=false;this.S=null;this.T=null;this.vc=false;this.xb=(Sw(),Rw);this.Pc=(null,enc);this.Rc="";this.Sc=(null,fnc);this.wc=new qrc;this.Lb=Rw;this.Pb=null;this.Ob=false;this.Nb=false;this.Qb="";this.rc=false;this.tc=false;this.sc=false;this.Wb=false;this.nc=false;this.Tc=null;this.md=(L2(),I2);this.L=false;this.fb=(B4(),z4);this.X=null;this.jb=false;this.c=u1;this.gb=null;
this.uc=false;this.qd=false}function aW(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;switch(b.j.f){case 81:NV((m5b(),V3b),b);e=o5b(b.j);e!=-1&&(f=b0b(b),e!=f&&nW(bzc+e+czc+f,b));DV(b.b);aW(a,b.b?b.b.f:null,false);return;case 80:cV(a,b);return;case 65:c?uV(a,b,true):(NV((m5b(),y3b),b),g=o5b(b.j),g!=-1&&(h=b0b(b),g!=h&&nW(bzc+g+czc+h,b)),HV(b.b),VV(a,b.b.d),cV(a,b.b?b.b.f:null),undefined);return;case 76:NV((m5b(),k5b),b);i=o5b(b.j);i!=-1&&(j=b0b(b),i!=j&&nW(bzc+i+czc+j,b));sV(a,b.b);cV(a,
b.b?b.b.f:null);return;case 72:tV(a,b);return;case 99:NV((m5b(),x3b),b);k=o5b(b.j);k!=-1&&(l=b0b(b),k!=l&&nW(bzc+k+czc+l,b));jW(a,b.b);sV(a,b.b.d);cV(a,b.b?b.b.f:null);return;case 70:NV((m5b(),j5b),b);m=o5b(b.j);m!=-1&&(n=b0b(b),m!=n&&nW(bzc+m+czc+n,b));sV(a,b.b);cV(a,b.b?b.b.f:null);return;case 71:NV((m5b(),i3b),b);o=o5b(b.j);o!=-1&&(p=b0b(b),o!=p&&nW(bzc+o+czc+p,b));cV(a,b.b);sV(a,b.b?b.b.f:null);return;case 67:dW(a,b);return;case 66:NV((m5b(),I3b),b);q=b0b(b);(q<2||q>3)&&nW(ozc+q,b);sV(a,b.b);
cV(a,b.b.d);b0b(b)==3&&cV(a,b.b?b.b.f:null);return;case 75:case 98:case 86:IV(a,b.j,b);return;case 82:NV((m5b(),u3b),b);r=o5b(b.j);r!=-1&&(s=b0b(b),r!=s&&nW(bzc+r+czc+s,b));sV(a,b.b);return;case 0:NV((m5b(),I4b),b);EV(b);!!b.b&&sV(a,b.b);return;case 39:NV((m5b(),$4b),b);t=o5b(b.j);t!=-1&&(u=b0b(b),t!=u&&nW(bzc+t+czc+u,b));sV(a,b.b);return;case 44:hW(a,b);return;case 73:NV((m5b(),P2b),b);EV(b);!!b.b&&DV(b.b);return;case 74:NV((m5b(),_2b),b);EV(b);!!b.b&&DV(b.b);return;case 79:case 87:d=b0b(b);0!=d&&
nW(azc+d,b);return;case 94:hV(a,b,c);HV(b.b);return;case 102:wV(a,b);return;case 106:pV(a,b,c);return;case 146:a.a.v==(t2(),p2)||nW("Feature 'interface' is only allowed in ES6 Typed mode.",b);NV((m5b(),S3b),b);v=o5b(b.j);v!=-1&&(w=b0b(b),v!=w&&nW(bzc+v+czc+w,b));A=b.b;HV(A);B=A.d;B.j==k3b?(C=b0b(B),0!=C&&nW(azc+C,B)):zV(B);BV(a,b.b?b.b.f:null);return;case 149:nV(a,b);return;case 152:iW(a,b);return;case 153:a.a.v==(t2(),p2)||nW("Feature 'ambient declaration' is only allowed in ES6 Typed mode.",b);
NV((m5b(),c3b),b);ZU(a,b.b);return;case 157:JV(a,b,c);return;default:nW("Expected statement but was "+b.j+".",b)}}function NKb(){NKb=pU;jKb=new OKb("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",(QJb(),HJb));pKb=new OKb("GETTER",1,"getters",HJb);tKb=new OKb("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties",HJb);FKb=new OKb("SETTER",3,"setters",HJb);HKb=new OKb("STRING_CONTINUATION",4,"string continuation",HJb);KKb=new OKb("TRAILING_COMMA",5,"trailing comma",HJb);$Jb=new OKb("ARROW_FUNCTIONS",
6,"arrow function",JJb);aKb=new OKb("BINARY_LITERALS",7,"binary literal",JJb);AKb=new OKb("OCTAL_LITERALS",8,"octal literal",JJb);cKb=new OKb("CLASSES",9,Vzc,JJb);dKb=new OKb("COMPUTED_PROPERTIES",10,"computed property",JJb);lKb=new OKb("EXTENDED_OBJECT_LITERALS",11,"extended object literal",JJb);mKb=new OKb("FOR_OF",12,"for-of loop",JJb);nKb=new OKb("GENERATORS",13,"generator",JJb);uKb=new OKb("LET_DECLARATIONS",14,"let declaration",JJb);vKb=new OKb("MEMBER_DECLARATIONS",15,"member declaration",
JJb);DKb=new OKb("REGEXP_FLAG_Y",16,"RegExp flag 'y'",JJb);EKb=new OKb("REST_PARAMETERS",17,"rest parameter",JJb);GKb=new OKb("SPREAD_EXPRESSIONS",18,"spread expression",JJb);IKb=new OKb(aFc,19,$zc,JJb);JKb=new OKb("TEMPLATE_LITERALS",20,"template literal",JJb);fKb=new OKb("CONST_DECLARATIONS",21,"const declaration",IJb);hKb=new OKb("DESTRUCTURING",22,"destructuring",IJb);zKb=new OKb(bFc,23,_zc,IJb);CKb=new OKb("REGEXP_FLAG_U",24,"RegExp flag 'u'",IJb);gKb=new OKb("DEFAULT_PARAMETERS",25,"default parameter",
IJb);xKb=new OKb("MODULES",26,"modules",KJb);kKb=new OKb("EXPONENT_OP",27,"exponent operator (**)",LJb);_Jb=new OKb("ASYNC_FUNCTIONS",28,lAc,NJb);ZJb=new OKb(cFc,29,"ambient declaration",PJb);bKb=new OKb(dFc,30,"call signature",PJb);eKb=new OKb("CONSTRUCTOR_SIGNATURE",31,"constructor signature",PJb);iKb=new OKb(aEc,32,hAc,PJb);oKb=new OKb("GENERICS",33,"generics",PJb);qKb=new OKb(dEc,34,Xzc,PJb);rKb=new OKb(eFc,35,"index signature",PJb);sKb=new OKb(eEc,36,gAc,PJb);wKb=new OKb("MEMBER_VARIABLE_IN_CLASS",
37,"member variable in class",PJb);yKb=new OKb(fFc,38,"namespace declaration",PJb);BKb=new OKb(gFc,39,"optional parameter",PJb);LKb=new OKb(hFc,40,"type alias",PJb);MKb=new OKb("TYPE_ANNOTATION",41,"type annotation",PJb)}function BY(){BY=pU;new q4("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(lX(),iX),new Hic("goog.module parameter must be string literals"));new q4("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",iX,new Hic("goog.provide parameter must be a string literal."));new q4("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",
iX,new Hic("goog.require parameter must be a string literal."));new q4("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",iX,new Hic("goog.forwardDeclare parameter must be a string literal."));new q4("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",iX,new Hic("goog.module.get parameter must be a string literal."));new q4("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",iX,new Hic("goog.provide can not be called in goog.module."));new q4("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",iX,new Hic("goog.module.get can not be called in global scope."));
new q4("JSC_GOOG_MODULE_INVALID_GET_ALIAS",iX,new Hic("goog.module.get should not be aliased."));new q4("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",iX,new Hic("Computed properties are not yet supported in goog.module exports."));zY=new q4("JSC_USELESS_USE_STRICT_DIRECTIVE",jX,new Hic("'use strict' is unnecessary in goog.module files."));new q4("JSC_DUPLICATE_MODULE",iX,new Hic("Duplicate module: {0}"));new q4("JSC_DUPLICATE_NAMESPACE",iX,new Hic("Duplicate namespace: {0}"));yY=new q4("JSC_MISSING_MODULE_OR_PROVIDE",
iX,new Hic('Required namespace "{0}" never defined.'));xY=new q4(Kzc,iX,new Hic('Required namespace "{0}" not provided yet.'));new q4("JSC_IMPORT_INLINING_SHADOWS_VAR",iX,new Hic('Inlining of reference to import "{1}" shadows var "{0}".'));new q4("JSC_QUALIFIED_REFERENCE_TO_GOOG_MODULE",iX,new Hic("Fully qualified reference to name ''{0}'' provided by a goog.module.\nEither use short import syntax or convert module to use goog.module.declareLegacyNamespace."));new q4("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",
iX,new Hic("Destructuring import cannot refer to a module with default export. Please use standard (non-destructuring) import instead."));new q4("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",iX,new Hic('Destructuring import reference to name "{0}" was not exported in module {1}'));AY=(fm(),new Jx(Lzc))}function d6(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;if(a.d.j==(m5b(),g5b)){m6(a);return false}else if(e0b(a.d,66)!=0){a.c.a.length!=0&&Mlc(a.c,0).a==a.d.b.bi()&&Plc(a.c,0);a.b.a.length!=0&&Mlc(a.b,0).b==a.d.b.bi()&&
Plc(a.b,0);return true}else if(a.d.j==y3b){N_b(a.i.e,a.d,a.i);return false}else if(a.d.j==N2b){e6(a);return false}else if(_5(a,a.d))switch(a.d.j.f){case 70:case 71:case 72:if(Cgb(a.d)){b=z0b(a.d);c=z0b(a.d);d=z0b(a.d);e=""+a.f.a.W++;f=(oe(thc(JBc+e,Nhc(46))==-1,yzc,JBc+e),new _1b(g4b,JBc+e));g=(oe(thc(KBc+e,Nhc(46))==-1,yzc,KBc+e),new _1b(g4b,KBc+e));h=(oe(thc(LBc+e,Nhc(46))==-1,yzc,LBc+e),new _1b(g4b,LBc+e));b.j==g5b&&(b=z0b(b));Q_b(d,FXb(PXb(GXb(W_b(b,false),W_b(h,false))),oXb(new _0b(_2b))));Q_b(d,
vXb(W_b(b,false),BXb(W_b(f,false),W_b(g,false)),g5b));N_b(a.i.e,wXb(W_b(f,false),g5b),a.i);N_b(a.i.e,wXb(W_b(g,false),g5b),a.i);N_b(a.i.e,wXb(W_b(h,false),g5b),a.i);i=xXb(mXb(W_b(f,false),lXb(vC(qC(hQ,1),zzc,7,0,[]))));j=xXb(mXb(W_b(h,false),c));k=yXb(W_b(b,false),h,oXb(xXb(qXb(CXb(W_b(f,false),new _1b(Q4b,"push")),vC(qC(hQ,1),zzc,7,0,[b])))));l=zXb(mXb(W_b(g,false),new J1b(0)),IXb(W_b(g,false),CXb(f,new _1b(Q4b,"length"))),HXb(g,true),d);P_b(a.e,i);P_b(a.e,j);P_b(a.e,k);Q_b(a.j,l);return false}j6(a,
null);return false;case 81:i6(a);return false;case 67:k6(a);return false;case 66:if(e0b(a.d,67)==0){h6(a);return false}break;case 44:l6(a);return false;case 82:if(a.d.b.j==l5b){P_b(a.e,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b($5))));m=a.d.b;n=m.b?z0b(m):(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b(g4b,EBc));P_b(a.e,VXb(QXb(vC(qC(hQ,1),zzc,7,0,[UXb(new _1b(R4b,IBc),n),UXb(new _1b(R4b,NBc),new _0b(v3b))]))));return true}break;case 0:P_b(a.e,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,
MBc),new _1b(g4b,MBc)),new J1b(-1))));P_b(a.e,VXb(q6(a.d.b?z0b(a.d):(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b(g4b,EBc)))));return false;case 74:je(Mlc(a.c,0).b!=-1);a.d.b?o=a6(a,z0b(a.d).ci()).b:o=Mlc(a.c,0).b;P_b(a.e,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(o))));P_b(a.e,r6());return false;case 73:if(e0b(a.d,67)==0){f6(a);return false}break;case 39:P_b(a.e,xXb(mXb((oe(thc(MBc,Nhc(46))==-1,yzc,MBc),new _1b(g4b,MBc)),new J1b(-1))));P_b(a.e,a.d);return false;default:throw QT(new yB("Untranslatable control-exiting statement in generator function: "+
a.d.j));}P_b(a.e,a.d);return false}function lOb(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(kPb(a.j,0).c.f){case 45:return WMb(a);case 30:case 25:return xOb(a);case 52:return fNb(a);case 15:return zNb(a);case 10:return c=kPb(a.j,0).b.b,nMb(a,(bSb(),wQb)),d=hOb(a),nMb(a,$Rb),nMb(a,hRb),e=BMb(a,1),nMb(a,mQb),AOb(a,ARb)&&nMb(a,ARb),new PSb(new oWb(c,a.g),d,e);case 27:return f=kPb(a.j,0).b.b,nMb(a,(bSb(),$Rb)),nMb(a,hRb),g=BMb(a,1),nMb(a,mQb),h=hOb(a),
new eWb(new oWb(f,a.g),g,h);case 13:return pNb(a);case 6:return i=kPb(a.j,0).b.b,nMb(a,(bSb(),rQb)),j=null,k=kPb(a.j,0).b.b.b>a.g.b,k||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb)||(j=(l=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),l)||!a.b.c&&XLb(l)?pMb(a):null)),sMb(a),new LSb(new oWb(i,a.g),j);case 3:return m=kPb(a.j,0).b.b,nMb(a,(bSb(),eQb)),n=null,o=kPb(a.j,0).b.b.b>a.g.b,o||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb)||(n=(p=kPb(a.j,0).c,arc(Yqc(LQb,vC(qC(DN,1),Zxc,13,0,[URb,tQb,
ZQb,$Qb])),p)||!a.b.c&&XLb(p)?pMb(a):null)),sMb(a),new uSb(new oWb(m,a.g),n);case 19:return q=kPb(a.j,0).b.b,nMb(a,(bSb(),xRb)),r=null,s=kPb(a.j,0).b.b.b>a.g.b,s||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb)||(r=BMb(a,1)),sMb(a),new LVb(new oWb(q,a.g),r);case 28:return t=kPb(a.j,0).b.b,nMb(a,(bSb(),_Rb)),nMb(a,hRb),u=BMb(a,1),nMb(a,mQb),v=hOb(a),new fWb(new oWb(t,a.g),u,v);case 20:return w=kPb(a.j,0).b.b,nMb(a,(bSb(),LRb)),nMb(a,hRb),A=BMb(a,1),nMb(a,mQb),nMb(a,gRb),B=YMb(a),nMb(a,lQb),new PVb(new oWb(w,
a.g),A,B);case 22:return C=kPb(a.j,0).b.b,nMb(a,(bSb(),QRb)),D=null,F=kPb(a.j,0).b.b.b>a.g.b,F||zOb(a,0,ARb)||zOb(a,0,lQb)||zOb(a,0,yQb)?TOb(a,"semicolon/newline not allowed after 'throw'",vC(qC(yR,1),Uxc,1,5,[])):D=BMb(a,1),sMb(a),new UVb(new oWb(C,a.g),D);case 23:return G=kPb(a.j,0).b.b,nMb(a,(bSb(),TRb)),H=WMb(a),I=null,AOb(a,iQb)&&(I=(P=kPb(a.j,0).b.b,nMb(a,iQb),nMb(a,hRb),zOb(a,0,iRb)||zOb(a,0,gRb)?Q=WNb(a,0):Q=yNb(a),nMb(a,mQb),R=WMb(a),new ySb(new oWb(P,a.g),Q,R))),J=null,AOb(a,HQb)&&(J=(S=
kPb(a.j,0).b.b,nMb(a,HQb),T=WMb(a),new VSb(new oWb(S,a.g),T))),!I&&!J&&TOb(a,"'catch' or 'finally' expected.",vC(qC(yR,1),Uxc,1,5,[])),new VVb(new oWb(G,a.g),H,I,J);case 7:return K=kPb(a.j,0).b.b,nMb(a,(bSb(),sQb)),sMb(a),new MSb(new oWb(K,a.g));default:b=kPb(a.j,0).c;if((arc(Yqc((bSb(),LQb),vC(qC(DN,1),Zxc,13,0,[URb,tQb,ZQb,$Qb])),b)||!a.b.c&&XLb(b))&&zOb(a,1,oQb))return L=kPb(a.j,0).b.b,M=oMb(a),nMb(a,oQb),new BTb(new oWb(L,a.g),M,hOb(a));return N=kPb(a.j,0).b.b,O=BMb(a,1),sMb(a),new USb(new oWb(N,
a.g),O)}}function jxb(){jxb=pU;cxb=new q4("JSC_NTI_INVALID_GENERICS_INSTANTIATION",(lX(),kX),new Hic("Invalid generics instantiation{0}.\nExpected {1} type argument(s), but found {2}"));Ywb=new q4("JSC_NTI_EXTENDS_NON_OBJECT",kX,new Hic("{0} extends non-object type {1}.\n"));Zwb=new q4("JSC_NTI_EXTENDS_NOT_ON_CTOR_OR_INTERF",kX,new Hic("@extends used without @constructor or @interface for {0}.\n"));bxb=new q4("JSC_NTI_INHERITANCE_CYCLE",kX,new Hic("Cycle detected in inheritance chain of type {0}"));
Twb=new q4("JSC_NTI_DICT_IMPLEMENTS_INTERF",kX,new Hic("Class {0} is a dict. Dicts can't implement interfaces"));axb=new q4("JSC_NTI_IMPLEMENTS_WITHOUT_CONSTRUCTOR",kX,new Hic(pCc));Rwb=new q4("JSC_NTI_CONFLICTING_EXTENDED_TYPE",kX,new Hic(wDc));Swb=new q4("JSC_NTI_CONFLICTING_IMPLEMENTED_TYPE",kX,new Hic(xDc));hxb=new q4("JSC_NTI_UNION_IS_UNINHABITABLE",kX,new Hic("Union of {0} with {1} would create an impossible type"));exb=new q4("JSC_NTI_NEW_EXPECTS_OBJECT_OR_TYPEVAR",kX,new Hic('The "new:" annotation only accepts object types and type variables; found {0}'));
Nwb=new q4("JSC_NTI_BAD_ARRAY_TYPE_SYNTAX",kX,new Hic("The [] type syntax is not supported. Please use Array<T> instead"));Owb=new q4("JSC_NTI_CANNOT_MAKE_TYPEVAR_NON_NULL",kX,new Hic("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)"));Pwb=new q4("JSC_NTI_CIRCULAR_TYPEDEF_ENUM",kX,new Hic("Circular typedefs/enums are not allowed"));Wwb=new q4("JSC_NTI_ENUM_WITH_TYPEVARS",kX,new Hic("An enum type cannot include type variables"));
Uwb=new q4("JSC_NTI_ENUM_IS_TOP",kX,new Hic("An enum type cannot be *. Use ? if you do not want the elements checked"));Vwb=new q4("JSC_NTI_ENUM_IS_UNION",kX,new Hic("An enum type cannot be a union type"));ixb=new q4("JSC_NTI_WRONG_PARAMETER_ORDER",kX,new Hic("Wrong parameter order: required parameters are first, then optional, then varargs"));_wb=new q4("JSC_NTI_IMPLEMENTS_NON_INTERFACE",kX,new Hic("Cannot implement non-interface {0}"));Xwb=new q4("JSC_NTI_EXTENDS_NON_INTERFACE",kX,new Hic("Cannot extend non-interface {0}"));
$wb=new q4("JSC_NTI_FUNCTION_WITH_NONFUNC_JSDOC",kX,new Hic("The function is annotated with a non-function jsdoc. Ignoring jsdoc"));fxb=new q4("JSC_NTI_TEMPLATED_GETTER_SETTER",kX,new Hic("@template can't be used with getters/setters"));gxb=new q4("JSC_NTI_TWO_JSDOCS",kX,new Hic("Found two JsDoc comments for {0}"));Qwb=new M3(vC(qC(TI,1),Uxc,5,0,[Nwb,Pwb,Rwb,Swb,Xwb,Ywb,Zwb,_wb,axb,bxb,exb,fxb,gxb,ixb]));dxb=new M3(vC(qC(TI,1),Uxc,5,0,[Owb,Twb,Uwb,Vwb,Wwb,$wb,cxb,hxb]))}function vDb(){vDb=pU;UCb=
new wDb("NG_INJECT",0);pCb=new wDb("ABSTRACT",1);qCb=new wDb("AUTHOR",2);rCb=new wDb("CONSISTENTIDGENERATOR",3);sCb=new wDb("CONSTANT",4);tCb=new wDb("CONSTRUCTOR",5);gDb=new wDb("RECORD",6);uCb=new wDb("DEFINE",7);vCb=new wDb("DEPRECATED",8);wCb=new wDb("DESC",9);xCb=new wDb("DICT",10);yCb=new wDb("DISPOSES",11);zCb=new wDb(aEc,12);CCb=new wDb(bEc,13);DCb=new wDb("EXTERNS",14);ACb=new wDb(cEc,15);BCb=new wDb("EXPOSE",16);ECb=new wDb("FILE_OVERVIEW",17);FCb=new wDb("FINAL",18);GCb=new wDb("HIDDEN",
19);HCb=new wDb("IDGENERATOR",20);ICb=new wDb(dEc,21);JCb=new wDb("IMPLICIT_CAST",22);KCb=new wDb("INHERIT_DOC",23);LCb=new wDb(eEc,24);MCb=new wDb("JAGGER_INJECT",25);NCb=new wDb("JAGGER_MODULE",26);OCb=new wDb("JAGGER_PROVIDE",27);PCb=new wDb("JAGGER_PROVIDE_PROMISE",28);QCb=new wDb("LENDS",29);RCb=new wDb("LICENSE",30);SCb=new wDb("MEANING",31);TCb=new wDb("MODIFIES",32);WCb=new wDb("NO_ALIAS",33);XCb=new wDb("NO_COLLAPSE",34);YCb=new wDb("NO_COMPILE",35);ZCb=new wDb("NO_SIDE_EFFECTS",36);VCb=
new wDb("NOT_IMPLEMENTED",37);$Cb=new wDb("OVERRIDE",38);_Cb=new wDb(fEc,39);aDb=new wDb("PARAM",40);bDb=new wDb("POLYMER_BEHAVIOR",41);cDb=new wDb("PRESERVE",42);dDb=new wDb(gEc,43);eDb=new wDb(hEc,44);fDb=new wDb(iEc,45);hDb=new wDb(jEc,46);iDb=new wDb("SEE",47);jDb=new wDb("STABLEIDGENERATOR",48);kDb=new wDb("STRUCT",49);lDb=new wDb("SUPPRESS",50);mDb=new wDb("TEMPLATE",51);nDb=new wDb(kEc,52);oDb=new wDb("THROWS",53);pDb=new wDb(lEc,54);qDb=new wDb("TYPEDEF",55);rDb=new wDb("UNRESTRICTED",56);
sDb=new wDb("VERSION",57);tDb=new wDb("WIZACTION",58);uDb=cq(new fq,"ngInject",UCb).cf("abstract",pCb).cf("argument",aDb).cf("author",qCb).cf("consistentIdGenerator",rCb).cf(kBc,sCb).cf("constant",sCb).cf(tBc,tCb).cf("copyright",RCb).cf("define",uCb).cf(gBc,vCb).cf("desc",wCb).cf("dict",xCb).cf("disposes",yCb).cf(hAc,zCb).cf(Rzc,ACb).cf("expose",BCb).cf(Wzc,CCb).cf("externs",DCb).cf("fileoverview",ECb).cf("final",FCb).cf("hidden",GCb).cf("idGenerator",HCb).cf(Xzc,ICb).cf("implicitCast",JCb).cf("inheritDoc",
KCb).cf(gAc,LCb).cf("record",gDb).cf("jaggerInject",MCb).cf("jaggerModule",NCb).cf("jaggerProvidePromise",PCb).cf("jaggerProvide",OCb).cf("lends",QCb).cf("license",RCb).cf("meaning",SCb).cf("modifies",TCb).cf("noalias",WCb).cf("nocollapse",XCb).cf("nocompile",YCb).cf("nosideeffects",ZCb).cf("override",$Cb).cf("owner",qCb).cf(mEc,_Cb).cf("param",aDb).cf("polymerBehavior",bDb).cf("preserve",cDb).cf(nEc,dDb).cf(oEc,eDb).cf(pEc,fDb).cf(Nzc,hDb).cf("returns",hDb).cf("see",iDb).cf("stableIdGenerator",jDb).cf("struct",
kDb).cf("suppress",lDb).cf("template",mDb).cf(Zzc,nDb).cf(LCc,oDb).cf(jAc,pDb).cf(MCc,qDb).cf("unrestricted",rDb).cf("version",sDb).cf("wizaction",tDb).bf()}function Tjb(){Tjb=pU;new q4("JSC_NULL_ARGUMENT_ERROR",(lX(),iX),new Hic('method "{0}" called without an argument'));new q4("JSC_EXPECTED_OBJECTLIT_ERROR",iX,new Hic('method "{0}" expected an object literal argument'));new q4("JSC_EXPECTED_STRING_ERROR",iX,new Hic('method "{0}" expected an object string argument'));new q4("JSC_INVALID_ARGUMENT_ERROR",
iX,new Hic('method "{0}" called with invalid argument'));new q4("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",iX,new Hic("Invalid CSS name map style {0}"));new q4("JSC_TOO_MANY_ARGUMENTS_ERROR",iX,new Hic('method "{0}" called with more than one argument'));new q4("JSC_DUPLICATE_NAMESPACE_ERROR",iX,new Hic('namespace "{0}" cannot be provided twice'));new q4("JSC_WEAK_NAMESPACE_TYPE",kX,new Hic("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 q4("JSC_CLASS_NAMESPACE_ERROR",iX,new Hic("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new q4("JSC_FUNCTION_NAMESPACE_ERROR",iX,new Hic('"{0}" cannot be both provided and declared as a function'));new q4("JSC_MISSING_PROVIDE_ERROR",iX,new Hic('required "{0}" namespace never provided'));Rjb=new q4(Kzc,iX,new Hic('required "{0}" namespace not provided yet'));Qjb=new q4("JSC_INVALID_PROVIDE_ERROR",iX,new Hic('"{0}" is not a valid {1} qualified name'));
new q4("JSC_INVALID_DEFINE_NAME_ERROR",iX,new Hic('"{0}" is not a valid JS identifier name'));new q4("JSC_INVALID_MISSING_DEFINE_ANNOTATION",iX,new Hic("Missing @define annotation"));new q4("JSC_XMODULE_REQUIRE_ERROR",kX,new Hic('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?'));Pjb=new q4("JSC_INVALID_CLOSURE_CALL_ERROR",iX,new Hic("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));
new q4("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",iX,new Hic("goog.setCssNameMapping only takes an object literal with string values"));new q4("INVALID_CSS_RENAMING_MAP",kX,new Hic("Invalid entries in css renaming map: {0}"));new q4(_Cc,iX,new Hic("incorrect use of goog.base: {0}"));new q4(_Cc,iX,new Hic("incorrect use of {0}.base: {1}"));new q4("JSC_CLOSURE_DEFINES_ERROR",iX,new Hic("Invalid CLOSURE_DEFINES definition"));new q4("JSC_INVALID_FORWARD_DECLARE",iX,new Hic("Malformed goog.forwardDeclaration"));
Sjb=new q4("JSC_USE_OF_GOOG_BASE",jX,new Hic("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 q5b(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=
Mxc;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=fAc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=Vzc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=Yzc;d=true;break g;case 108:b=aAc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=kBc;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=$zc;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=lFc;d=true}else if(c==114){b=Nzc;d=true}break g;case 104:b=LCc;d=true;break g;case 109:b=Uzc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=qEc;d=true;break g;case 117:b=
pEc;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=Rzc;d=true;break g;case 121:b=XCc;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=mEc;d=true;break g;case 101:b=Szc;d=true;break g;case 105:b=Mzc;d=true;break g;case 111:b=Axc;d=true;break g;case 114:b=nEc;d=true;break g;case 120:b=Wzc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=cAc;d=true;break g;case 100:b=eAc;d=true;break g;case 102:b=Cxc;d=true;break g;case 118:b=
"volatile";d=true;break g}break g;case 9:c=e.charCodeAt(0);if(c==105){b=gAc;d=true}else if(c==112){b=oEc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=Xzc;d=true}else if(c==110){b=YCc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!qhc(b,e))return false}return d}function EVb(){EVb=pU;cVb=new FVb("PROGRAM",0);DUb=new FVb("FUNCTION_DECLARATION",1);ZTb=new FVb("BLOCK",2);AVb=new FVb("VARIABLE_STATEMENT",3);yVb=new FVb("VARIABLE_DECLARATION",
4);tUb=new FVb("EMPTY_STATEMENT",5);xUb=new FVb("EXPRESSION_STATEMENT",6);IUb=new FVb("IF_STATEMENT",7);sUb=new FVb("DO_WHILE_STATEMENT",8);BVb=new FVb("WHILE_STATEMENT",9);AUb=new FVb("FOR_IN_STATEMENT",10);CUb=new FVb("FOR_STATEMENT",11);zVb=new FVb("VARIABLE_DECLARATION_LIST",12);oUb=new FVb("CONTINUE_STATEMENT",13);$Tb=new FVb("BREAK_STATEMENT",14);gVb=new FVb("RETURN_STATEMENT",15);CVb=new FVb("WITH_STATEMENT",16);bUb=new FVb("CASE_CLAUSE",17);qUb=new FVb("DEFAULT_CLAUSE",18);kVb=new FVb("SWITCH_STATEMENT",
19);NUb=new FVb("LABELLED_STATEMENT",20);pVb=new FVb("THROW_STATEMENT",21);cUb=new FVb(iFc,22);qVb=new FVb("TRY_STATEMENT",23);pUb=new FVb("DEBUGGER_STATEMENT",24);oVb=new FVb("THIS_EXPRESSION",25);HUb=new FVb("IDENTIFIER_EXPRESSION",26);OUb=new FVb("LITERAL_EXPRESSION",27);TTb=new FVb("ARRAY_LITERAL_EXPRESSION",28);ZUb=new FVb("OBJECT_LITERAL_EXPRESSION",29);fUb=new FVb("COMPREHENSION",30);hUb=new FVb("COMPREHENSION_IF",31);gUb=new FVb("COMPREHENSION_FOR",32);GUb=new FVb("GET_ACCESSOR",33);hVb=new FVb("SET_ACCESSOR",
34);dVb=new FVb("PROPERTY_NAME_ASSIGNMENT",35);iUb=new FVb("COMPUTED_PROPERTY_DEFINITION",36);jUb=new FVb("COMPUTED_PROPERTY_GETTER",37);lUb=new FVb("COMPUTED_PROPERTY_METHOD",38);mUb=new FVb("COMPUTED_PROPERTY_SETTER",39);SUb=new FVb("MISSING_PRIMARY_EXPRESSION",40);eUb=new FVb("COMMA_EXPRESSION",41);YTb=new FVb("BINARY_OPERATOR",42);nUb=new FVb("CONDITIONAL_EXPRESSION",43);vVb=new FVb("UNARY_EXPRESSION",44);xVb=new FVb("UPDATE_EXPRESSION",45);PUb=new FVb("MEMBER_EXPRESSION",46);WUb=new FVb("NEW_EXPRESSION",
47);STb=new FVb("ARGUMENT_LIST",48);_Tb=new FVb("CALL_EXPRESSION",49);dUb=new FVb("CLASS_DECLARATION",50);MUb=new FVb("INTERFACE_DECLARATION",51);UUb=new FVb(fFc,52);VUb=new FVb("NAMESPACE_NAME",53);uUb=new FVb("ENUM_DECLARATION",54);QUb=new FVb("MEMBER_LOOKUP_EXPRESSION",55);bVb=new FVb("PAREN_EXPRESSION",56);yUb=new FVb(mFc,57);jVb=new FVb("SUPER_EXPRESSION",58);UTb=new FVb(CFc,59);WTb=new FVb("ASSIGNMENT_REST_ELEMENT",60);$Ub=new FVb(DFc,61);zUb=new FVb("FORMAL_PARAMETER_LIST",62);iVb=new FVb("SPREAD_EXPRESSION",
63);YUb=new FVb(FDc,64);fVb=new FVb("REST_PARAMETER",65);TUb=new FVb("MODULE_IMPORT",66);vUb=new FVb("EXPORT_DECLARATION",67);wUb=new FVb("EXPORT_SPECIFIER",68);JUb=new FVb("IMPORT_DECLARATION",69);KUb=new FVb("IMPORT_SPECIFIER",70);BUb=new FVb("FOR_OF_STATEMENT",71);DVb=new FVb("YIELD_EXPRESSION",72);rUb=new FVb("DEFAULT_PARAMETER",73);lVb=new FVb("TEMPLATE_LITERAL_EXPRESSION",74);mVb=new FVb("TEMPLATE_LITERAL_PORTION",75);nVb=new FVb("TEMPLATE_SUBSTITUTION",76);tVb=new FVb("TYPE_NAME",77);uVb=new FVb("TYPE_QUERY",
78);rVb=new FVb("TYPED_PARAMETER",79);_Ub=new FVb(gFc,80);aVb=new FVb("PARAMETERIZED_TYPE_TREE",81);VTb=new FVb(EFc,82);eVb=new FVb(FFc,83);wVb=new FVb(GFc,84);EUb=new FVb(HFc,85);FUb=new FVb(IFc,86);RUb=new FVb("MEMBER_VARIABLE",87);kUb=new FVb("COMPUTED_PROPERTY_MEMBER_VARIABLE",88);sVb=new FVb(hFc,89);RTb=new FVb(cFc,90);LUb=new FVb(eFc,91);aUb=new FVb(dFc,92);XUb=new FVb("NEW_TARGET_EXPRESSION",93);XTb=new FVb("AWAIT_EXPRESSION",94)}function bSb(){bSb=pU;yQb=new eSb("END_OF_FILE",0,"End of File");
DQb=new eSb(Zyc,1,"error");LQb=new eSb("IDENTIFIER",2,"identifier");eQb=new dSb("BREAK",3);hQb=new dSb("CASE",4);iQb=new dSb(iFc,5);rQb=new dSb(jFc,6);sQb=new dSb(kFc,7);uQb=new dSb(uDc,8);vQb=new dSb("DELETE",9);wQb=new dSb("DO",10);xQb=new dSb("ELSE",11);HQb=new dSb(mFc,12);IQb=new dSb("FOR",13);JQb=new dSb(nFc,14);MQb=new dSb("IF",15);PQb=new dSb("IN",16);QQb=new dSb($Ec,17);_Qb=new dSb("NEW",18);xRb=new dSb(jEc,19);LRb=new dSb(oFc,20);PRb=new dSb(kEc,21);QRb=new dSb("THROW",22);TRb=new dSb("TRY",
23);VRb=new dSb(pFc,24);YRb=new dSb("VAR",25);ZRb=new dSb("VOID",26);$Rb=new dSb("WHILE",27);_Rb=new dSb("WITH",28);jQb=new dSb("CLASS",29);qQb=new dSb("CONST",30);zQb=new dSb(aEc,31);EQb=new dSb(cEc,32);FQb=new dSb(bEc,33);OQb=new dSb(qFc,34);KRb=new dSb(aFc,35);NQb=new dSb(dEc,36);RQb=new dSb(eEc,37);VQb=new dSb("LET",38);kRb=new dSb(fEc,39);sRb=new dSb(gEc,40);tRb=new dSb(hEc,41);uRb=new dSb(iEc,42);IRb=new dSb("STATIC",43);aSb=new dSb("YIELD",44);gRb=new eSb("OPEN_CURLY",45,"{");lQb=new eSb("CLOSE_CURLY",
46,"}");hRb=new eSb("OPEN_PAREN",47,"(");mQb=new eSb("CLOSE_PAREN",48,")");iRb=new eSb("OPEN_SQUARE",49,"[");nQb=new eSb("CLOSE_SQUARE",50,"]");nRb=new eSb("PERIOD",51,".");ARb=new eSb("SEMI_COLON",52,";");pQb=new eSb("COMMA",53,",");fRb=new eSb("OPEN_ANGLE",54,"<");kQb=new eSb("CLOSE_ANGLE",55,">");UQb=new eSb("LESS_EQUAL",56,"<=");KQb=new eSb("GREATER_EQUAL",57,">=");aQb=new eSb("ARROW",58,"=>");BQb=new eSb("EQUAL_EQUAL",59,"==");aRb=new eSb("NOT_EQUAL",60,"!=");CQb=new eSb("EQUAL_EQUAL_EQUAL",
61,"===");bRb=new eSb("NOT_EQUAL_EQUAL",62,"!==");oRb=new eSb("PLUS",63,"+");WQb=new eSb("MINUS",64,"-");ERb=new eSb("STAR",65,"*");GRb=new eSb("STAR_STAR",66,"**");lRb=new eSb("PERCENT",67,"%");qRb=new eSb("PLUS_PLUS",68,"++");YQb=new eSb("MINUS_MINUS",69,"--");SQb=new eSb("LEFT_SHIFT",70,"<<");yRb=new eSb("RIGHT_SHIFT",71,">>");WRb=new eSb("UNSIGNED_RIGHT_SHIFT",72,">>>");ZPb=new eSb("AMPERSAND",73,"&");cQb=new eSb("BAR",74,"|");fQb=new eSb("CARET",75,"^");bQb=new eSb("BANG",76,"!");RRb=new eSb("TILDE",
77,"~");_Pb=new eSb("AND",78,"&&");jRb=new eSb("OR",79,"||");vRb=new eSb("QUESTION",80,"?");oQb=new eSb("COLON",81,":");AQb=new eSb("EQUAL",82,"=");pRb=new eSb("PLUS_EQUAL",83,"+=");XQb=new eSb("MINUS_EQUAL",84,"-=");FRb=new eSb("STAR_EQUAL",85,"*=");HRb=new eSb("STAR_STAR_EQUAL",86,"**=");mRb=new eSb("PERCENT_EQUAL",87,"%=");TQb=new eSb("LEFT_SHIFT_EQUAL",88,"<<=");zRb=new eSb("RIGHT_SHIFT_EQUAL",89,">>=");XRb=new eSb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");$Pb=new eSb("AMPERSAND_EQUAL",91,"&=");
dQb=new eSb("BAR_EQUAL",92,"|=");gQb=new eSb("CARET_EQUAL",93,"^=");BRb=new eSb("SLASH",94,"/");CRb=new eSb("SLASH_EQUAL",95,"/=");rRb=new eSb("POUND",96,"#");dRb=new dSb(FDc,97);SRb=new dSb(TAc,98);GQb=new dSb(SAc,99);eRb=new eSb(GDc,100,"number literal");JRb=new eSb(HDc,101,"string literal");wRb=new eSb("REGULAR_EXPRESSION",102,"regular expression literal");DRb=new eSb("SPREAD",103,Qzc);MRb=new eSb("TEMPLATE_HEAD",104,"template head");NRb=new eSb("TEMPLATE_MIDDLE",105,"template middle");ORb=new eSb("TEMPLATE_TAIL",
106,"template tail");cRb=new eSb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");URb=new dSb(lEc,108);tQb=new dSb(rFc,109);ZQb=new dSb("MODULE",110);$Qb=new dSb(sFc,111)}function uPb(a){var b,c;yPb(a);b=a.d;if(!ePb(a,a.d))return aPb(a,(bSb(),yQb),b);c=fPb(a);switch(c){case 123:return aPb(a,(bSb(),gRb),b);case 125:return aPb(a,(bSb(),lQb),b);case 40:return aPb(a,(bSb(),hRb),b);case 41:return aPb(a,(bSb(),mQb),b);case 91:return aPb(a,(bSb(),iRb),b);case 93:return aPb(a,(bSb(),nQb),b);case 46:if(PPb(ePb(a,
a.d)?lhc(a.e.a,a.d):0))return zPb(a),pPb(a,b);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==46&&(ePb(a,a.d+1)?lhc(a.e.a,a.d+1):0)==46){fPb(a);fPb(a);return aPb(a,(bSb(),DRb),b)}return aPb(a,(bSb(),nRb),b);case 59:return aPb(a,(bSb(),ARb),b);case 44:return aPb(a,(bSb(),pQb),b);case 126:return aPb(a,(bSb(),RRb),b);case 63:return aPb(a,(bSb(),vRb),b);case 58:return aPb(a,(bSb(),oQb),b);case 60:switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 60:fPb(a);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),TQb),
b)}return aPb(a,(bSb(),SQb),b);case 61:fPb(a);return aPb(a,(bSb(),UQb),b);default:return aPb(a,(bSb(),fRb),b)}case 62:if(a.f>0)return aPb(a,(bSb(),kQb),b);switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 62:fPb(a);switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 61:fPb(a);return aPb(a,(bSb(),zRb),b);case 62:fPb(a);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),XRb),b)}return aPb(a,(bSb(),WRb),b);default:return aPb(a,(bSb(),yRb),b)}case 61:fPb(a);return aPb(a,(bSb(),KQb),b);default:return aPb(a,
(bSb(),kQb),b)}case 61:switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 61:fPb(a);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),CQb),b)}return aPb(a,(bSb(),BQb),b);case 62:fPb(a);return aPb(a,(bSb(),aQb),b);default:return aPb(a,(bSb(),AQb),b)}case 33:if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),bRb),b)}return aPb(a,(bSb(),aRb),b)}return aPb(a,(bSb(),bQb),b);case 42:if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,
(bSb(),FRb),b)}else if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==42){fPb(a);if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),HRb),b)}else return aPb(a,(bSb(),GRb),b)}return aPb(a,(bSb(),ERb),b);case 37:if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),mRb),b)}return aPb(a,(bSb(),lRb),b);case 94:if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),gQb),b)}return aPb(a,(bSb(),fQb),b);case 47:if((ePb(a,a.d)?lhc(a.e.a,a.d):0)==61){fPb(a);return aPb(a,(bSb(),CRb),b)}return aPb(a,
(bSb(),BRb),b);case 43:switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 43:fPb(a);return aPb(a,(bSb(),qRb),b);case 61:fPb(a);return aPb(a,(bSb(),pRb),b);default:return aPb(a,(bSb(),oRb),b)}case 45:switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 45:fPb(a);return aPb(a,(bSb(),YQb),b);case 61:fPb(a);return aPb(a,(bSb(),XQb),b);default:return aPb(a,(bSb(),WQb),b)}case 38:switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 38:fPb(a);return aPb(a,(bSb(),_Pb),b);case 61:fPb(a);return aPb(a,(bSb(),$Pb),b);default:return aPb(a,(bSb(),
ZPb),b)}case 124:switch(ePb(a,a.d)?lhc(a.e.a,a.d):0){case 124:fPb(a);return aPb(a,(bSb(),jRb),b);case 61:fPb(a);return aPb(a,(bSb(),dQb),b);default:return aPb(a,(bSb(),cQb),b)}case 35:return aPb(a,(bSb(),rRb),b);case 48:return sPb(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return zPb(a),qPb(a,b);case 34:case 39:return tPb(a,b,c);case 96:return!ePb(a,a.d)&&mPb(a,aMb(a.e.b,b),BFc,vC(qC(yR,1),Uxc,1,5,[])),iPb(a,(bSb(),cRb),MRb);default:return rPb(a,b,c)}}function Qac(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 O6b(a);Tac(a,(wac(),y9b),g);w=new Ybc(a);Tac(a,P9b,w);G=new bcc(a);Tac(a,V9b,G);V=new pdc(a);Tac(a,iac,V);db=new Lec(a,false);Tac(a,sac,db);hb=new Lec(a,true);Tac(a,z9b,hb);gb=new Vec(a);Tac(a,vac,gb);b=new t6b(a);Tac(a,t9b,b);a.f=new sdc(a,"IObject#KEY1");a.e=new sdc(a,"IObject#VALUE");a.a=new sdc(a,"T");Z=new K7b(a,null,null,true,null);Tac(a,mac,Z);I=new q8b(a,wCc,new D6b(a,
Gac(a,vC(qC(BQ,1),Uxc,19,0,[b])),null),null,Jac(a,(Gm(),new Vw(Ym(vC(qC(yR,1),Uxc,1,5,[a.f,a.e])))),null),true,true);I.a.b=(oe(I.e==1||I.e==2,ZFc,I),J5b(I.j));l8b(I,Z,null);Tac(a,X9b,I);M=(oe(I.e==1||I.e==2,ZFc,I),J5b(I.j));Tac(a,_9b,M);L=i8b(I);Tac(a,$9b,L);n=new q8b(a,ACc,new D6b(a,Iac(a,true,vC(qC(BQ,1),Uxc,19,0,[b])),db),null,null,true,true);m8b(n,M,null);Tac(a,G9b,n);o=i8b(n);Tac(a,I9b,o);v=new Jbc(a);Tac(a,O9b,v);t=new vbc(a);Tac(a,M9b,t);u=new Rbc(a);Tac(a,N9b,u);c=new q8b(a,jCc,new D6b(a,
Iac(a,true,vC(qC(BQ,1),Uxc,19,0,[b])),null),null,Adc(Jac(a,new Gx(a.a),null),Jac(a,new Gx(a.e),new Gx(a.a))),true,true);c.a.b=(oe(c.e==1||c.e==2,ZFc,c),J5b(c.j));i8b(c);Tac(a,u9b,c);d=(oe(c.e==1||c.e==2,ZFc,c),J5b(c.j));Tac(a,v9b,d);e=new q8b(a,CCc,new D6b(a,Gac(a,vC(qC(BQ,1),Uxc,19,0,[b])),g),null,null,true,true);i8b(e);Tac(a,w9b,e);f=(oe(e.e==1||e.e==2,ZFc,e),J5b(e.j));Tac(a,x9b,f);h=new q8b(a,"Date",new D6b(a,Gac(a,vC(qC(BQ,1),Uxc,19,0,[db,db,db,db,db,db,db])),V),null,null,true,true);i8b(h);Tac(a,
A9b,h);i=(oe(h.e==1||h.e==2,ZFc,h),J5b(h.j));Tac(a,B9b,i);j=new G8b(a,"Error");Tac(a,C9b,j);k=(oe(j.e==1||j.e==2,ZFc,j),J5b(j.j));Tac(a,D9b,k);l=new G8b(a,"EvalError");m8b(l,k,null);Tac(a,E9b,l);m=(oe(l.e==1||l.e==2,ZFc,l),J5b(l.j));Tac(a,F9b,m);N=new G8b(a,"RangeError");m8b(N,k,null);Tac(a,aac,N);O=(oe(N.e==1||N.e==2,ZFc,N),J5b(N.j));Tac(a,bac,O);P=new G8b(a,"ReferenceError");m8b(P,k,null);Tac(a,cac,P);Q=(oe(P.e==1||P.e==2,ZFc,P),J5b(P.j));Tac(a,dac,Q);X=new G8b(a,"SyntaxError");m8b(X,k,null);Tac(a,
kac,X);Y=(oe(X.e==1||X.e==2,ZFc,X),J5b(X.j));Tac(a,lac,Y);$=new G8b(a,"TypeError");m8b($,k,null);Tac(a,oac,$);ab=(oe($.e==1||$.e==2,ZFc,$),J5b($.j));Tac(a,pac,ab);eb=new G8b(a,"URIError");m8b(eb,k,null);Tac(a,tac,eb);fb=(oe(eb.e==1||eb.e==2,ZFc,eb),J5b(eb.j));Tac(a,uac,fb);B=new q8b(a,BCc,new D6b(a,Gac(a,vC(qC(BQ,1),Uxc,19,0,[b])),G),null,null,true,true);i8b(B);Tac(a,R9b,B);C=(oe(B.e==1||B.e==2,ZFc,B),J5b(B.j));Tac(a,S9b,C);R=new q8b(a,DCc,new D6b(a,Gac(a,vC(qC(BQ,1),Uxc,19,0,[b,b])),null),null,null,
true,true);R.a.b=(oe(R.e==1||R.e==2,ZFc,R),J5b(R.j));i8b(R);Tac(a,eac,R);S=(oe(R.e==1||R.e==2,ZFc,R),J5b(R.j));Tac(a,fac,S);T=new q8b(a,Myc,new D6b(a,Gac(a,vC(qC(BQ,1),Uxc,19,0,[b])),V),null,null,true,true);i8b(T);Tac(a,gac,T);U=(oe(T.e==1||T.e==2,ZFc,T),J5b(T.j));Tac(a,hac,U);A=Kac(a,vC(qC(BQ,1),Uxc,19,0,[w,gb]));Tac(a,Q9b,A);J=Kac(a,vC(qC(BQ,1),Uxc,19,0,[M,G,V]));Tac(a,Y9b,J);K=Kac(a,vC(qC(BQ,1),Uxc,19,0,[M,G,V,g]));Tac(a,Z9b,K);F=Kac(a,vC(qC(BQ,1),Uxc,19,0,[G,V,g]));Tac(a,U9b,F);D=Kac(a,vC(qC(BQ,
1),Uxc,19,0,[G,V]));Tac(a,T9b,D);W=Kac(a,vC(qC(BQ,1),Uxc,19,0,[U,V]));Tac(a,jac,W);H=Kac(a,vC(qC(BQ,1),Uxc,19,0,[C,G]));Tac(a,W9b,H);cb=Bac(a,db,vC(qC(BQ,1),Uxc,19,0,[db]));Tac(a,rac,cb);bb=new Zac(a,new D6b(a,Iac(a,true,vC(qC(BQ,1),Uxc,19,0,[db])),db),db);Tac(a,qac,bb);Tac(a,H9b,bb);n.j=bb;je(!(!!bb.f||!bb.s));bb.n=o;s=Dac(a,v,vC(qC(BQ,1),Uxc,19,0,[b]));Tac(a,L9b,s);q=new q8b(a,"global this",new D6b(a,Iac(a,false,vC(qC(BQ,1),Uxc,19,0,[b])),G),null,null,true,true);p=(oe(q.e==1||q.e==2,ZFc,q),J5b(q.j));
Tac(a,J9b,p);r=Dac(a,b,vC(qC(BQ,1),Uxc,19,0,[v]));Tac(a,K9b,r);Uac(a,Hzc,I)}function S9(){S9=pU;w9=new q4("JSC_NTI_DUPLICATE_JSDOC",(lX(),kX),new Hic("Found two JsDoc comments for variable: {0}.\n"));L9=new q4("JSC_NTI_REDECLARED_PROPERTY",kX,new Hic("Found two declarations for property {0} on {1}.\n"));F9=new q4("JSC_NTI_INVALID_PROP_OVERRIDE",kX,new Hic("Invalid redeclaration of property {0}.\ninherited type  : {1}\noverriding type : {2}\n"));v9=new q4("JSC_NTI_CTOR_IN_DIFFERENT_SCOPE",kX,new Hic("Modifying the prototype is only allowed if the constructor is in the same scope\n"));
Q9=new q4("JSC_NTI_UNRECOGNIZED_TYPE_NAME",kX,new Hic("Type annotation references non-existent type {0}."));N9=new q4("JSC_NTI_STRUCTDICT_WITHOUT_CTOR",kX,new Hic("{0} used without @constructor."));y9=new q4("JSC_NTI_EXPECTED_CONSTRUCTOR",kX,new Hic("Expected constructor name but found {0}."));z9=new q4("JSC_NTI_EXPECTED_INTERFACE",kX,new Hic("Expected interface name but found {0}."));B9=new q4("JSC_NTI_INEXISTENT_PARAM",kX,new Hic(qCc));t9=new q4("JSC_NTI_CONST_WITHOUT_INITIALIZER",kX,new Hic("Constants must be initialized when they are defined."));
u9=new q4("JSC_NTI_COULD_NOT_INFER_CONST_TYPE",kX,new Hic("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"));I9=new q4("JSC_NTI_MISPLACED_CONST_ANNOTATION",kX,new Hic("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."));
r9=new q4("JSC_NTI_CANNOT_OVERRIDE_FINAL_METHOD",kX,new Hic("Final method {0} cannot be overriden."));q9=new q4("JSC_NTI_CANNOT_INIT_TYPEDEF",kX,new Hic("A typedef variable represents a type name; it cannot be assigned a value."));o9=new q4("JSC_NTI_ANONYMOUS_NOMINAL_TYPE",kX,new Hic("Must specify a name when defining a class or interface."));H9=new q4("JSC_NTI_MALFORMED_ENUM",kX,new Hic("An enum must be initialized to a non-empty object literal."));x9=new q4("JSC_NTI_DUPLICATE_PROP_IN_ENUM",kX,new Hic("Property {0} appears twice in the enum declaration."));
G9=new q4("JSC_NTI_LENDS_ON_BAD_TYPE",kX,new Hic("May only lend properties to namespaces, constructors and their prototypes. Found {0}."));A9=new q4("JSC_NTI_FUNCTION_CONSTRUCTOR_NOT_DEFINED",iX,new Hic("You must provide externs that define the built-in Function constructor."));E9=new q4("JSC_NTI_INVALID_INTERFACE_PROP_INITIALIZER",kX,new Hic("Invalid initialization of interface property."));M9=new q4("JSC_NTI_SETTER_WITH_RETURN",kX,new Hic("Cannot declare a return type on a setter."));R9=new q4("JSC_NTI_WRONG_PARAMETER_COUNT",
kX,new Hic("Function definition does not have the declared number of parameters.\nExpected: {0}\nFound: {1}"));p9=new q4("JSC_NTI_CANNOT_ADD_PROPERTIES_TO_TYPEDEF",kX,new Hic("A typedef should only be used in type annotations, not as a value. Adding properties to typedefs is not allowed."));O9=new q4("JSC_NTI_SUPER_INTERFACES_HAVE_INCOMPATIBLE_PROPERTIES",kX,new Hic("Interface {0} has a property {1} with incompatible types in its super interfaces: {2}"));K9=new q4("JSC_NTI_ONE_TYPE_FOR_MANY_VARS",
kX,new Hic("Having one type annotation for multiple variables is not allowed."));P9=new q4("JSC_NTI_UNKNOWN_OVERRIDE",kX,new Hic("property {0} not defined on any supertype of {1}"));D9=new q4("JSC_NTI_INTERFACE_METHOD_NOT_IMPLEMENTED",kX,new Hic(rCc));C9=new q4("JSC_NTI_INTERFACE_METHOD_NOT_EMPTY",kX,new Hic(sCc));s9=new M3(vC(qC(TI,1),Uxc,5,0,[r9,x9,y9,z9,A9,B9,D9,C9,E9,F9,G9,K9,L9,N9,O9,P9,Q9,R9]));J9=new M3(vC(qC(TI,1),Uxc,5,0,[o9,p9,q9,t9,u9,v9,w9,H9,I9,M9]))}function m5b(){m5b=pU;I4b=new n5b(jEc,
0);L2b=new n5b("BITOR",1);M2b=new n5b("BITXOR",2);J2b=new n5b("BITAND",3);o3b=new n5b("EQ",4);k4b=new n5b("NE",5);a4b=new n5b("LT",6);Z3b=new n5b("LE",7);G3b=new n5b("GT",8);A3b=new n5b("GE",9);_3b=new n5b("LSH",10);J4b=new n5b("RSH",11);f5b=new n5b("URSH",12);n2b=new n5b("ADD",13);T4b=new n5b("SUB",14);f4b=new n5b("MUL",15);h3b=new n5b("DIV",16);d4b=new n5b("MOD",17);q3b=new n5b("EXPONENT",18);o4b=new n5b("NOT",19);K2b=new n5b("BITNOT",20);C4b=new n5b("POS",21);l4b=new n5b("NEG",22);m4b=new n5b("NEW",
23);f3b=new n5b("DELPROP",24);b5b=new n5b(pFc,25);E3b=new n5b("GETPROP",26);D3b=new n5b("GETELEM",27);Q2b=new n5b("CALL",28);g4b=new n5b("NAME",29);r4b=new n5b(GDc,30);Q4b=new n5b(HDc,31);p4b=new n5b(FDc,32);Z4b=new n5b(kEc,33);v3b=new n5b(SAc,34);_4b=new n5b(TAc,35);M4b=new n5b("SHEQ",36);N4b=new n5b("SHNE",37);F4b=new n5b("REGEXP",38);$4b=new n5b("THROW",39);O3b=new n5b("IN",40);R3b=new n5b($Ec,41);r2b=new n5b("ARRAYLIT",42);t4b=new n5b("OBJECTLIT",43);a5b=new n5b("TRY",44);y4b=new n5b("PARAM_LIST",
45);Y2b=new n5b("COMMA",46);u2b=new n5b("ASSIGN",47);x2b=new n5b("ASSIGN_BITOR",48);y2b=new n5b("ASSIGN_BITXOR",49);w2b=new n5b("ASSIGN_BITAND",50);B2b=new n5b("ASSIGN_LSH",51);E2b=new n5b("ASSIGN_RSH",52);G2b=new n5b("ASSIGN_URSH",53);v2b=new n5b("ASSIGN_ADD",54);F2b=new n5b("ASSIGN_SUB",55);D2b=new n5b("ASSIGN_MUL",56);z2b=new n5b("ASSIGN_DIV",57);C2b=new n5b("ASSIGN_MOD",58);A2b=new n5b("ASSIGN_EXPONENT",59);H3b=new n5b("HOOK",60);w4b=new n5b("OR",61);o2b=new n5b("AND",62);P3b=new n5b("INC",63);
b3b=new n5b("DEC",64);y3b=new n5b(nFc,65);I3b=new n5b("IF",66);V4b=new n5b(oFc,67);S2b=new n5b("CASE",68);d3b=new n5b("DEFAULT_CASE",69);j5b=new n5b("WHILE",70);i3b=new n5b("DO",71);w3b=new n5b("FOR",72);P2b=new n5b("BREAK",73);_2b=new n5b(jFc,74);g5b=new n5b("VAR",75);k5b=new n5b("WITH",76);U2b=new n5b(iFc,77);h5b=new n5b("VOID",78);k3b=new n5b("EMPTY",79);N2b=new n5b("BLOCK",80);V3b=new n5b("LABEL",81);u3b=new n5b("EXPR_RESULT",82);K4b=new n5b("SCRIPT",83);F3b=new n5b("GETTER_DEF",84);L4b=new n5b("SETTER_DEF",
85);$2b=new n5b("CONST",86);a3b=new n5b(kFc,87);W3b=new n5b("LABEL_NAME",88);R4b=new n5b("STRING_KEY",89);T2b=new n5b("CAST",90);s2b=new n5b(CFc,91);u4b=new n5b(DFc,92);g3b=new n5b("DESTRUCTURING_LHS",93);V2b=new n5b("CLASS",94);W2b=new n5b("CLASS_MEMBERS",95);b4b=new n5b("MEMBER_FUNCTION_DEF",96);U4b=new n5b(aFc,97);$3b=new n5b("LET",98);x3b=new n5b("FOR_OF",99);l5b=new n5b("YIELD",100);H2b=new n5b("AWAIT",101);K3b=new n5b(qFc,102);M3b=new n5b("IMPORT_SPECS",103);L3b=new n5b("IMPORT_SPEC",104);N3b=
new n5b("IMPORT_STAR",105);r3b=new n5b(cEc,106);t3b=new n5b("EXPORT_SPECS",107);s3b=new n5b("EXPORT_SPEC",108);e4b=new n5b("MODULE_BODY",109);G4b=new n5b("REST",110);O4b=new n5b("SPREAD",111);Z2b=new n5b("COMPUTED_PROP",112);W4b=new n5b("TAGGED_TEMPLATELIT",113);X4b=new n5b("TEMPLATELIT",114);Y4b=new n5b("TEMPLATELIT_SUB",115);e3b=new n5b("DEFAULT_VALUE",116);n4b=new n5b(bFc,117);S4b=new n5b(UFc,118);O2b=new n5b(VFc,119);s4b=new n5b(WFc,120);z3b=new n5b(HFc,121);x4b=new n5b("PARAMETERIZED_TYPE",122);
e5b=new n5b(GFc,123);q2b=new n5b("ANY_TYPE",124);q4b=new n5b("NULLABLE_TYPE",125);i5b=new n5b("VOID_TYPE",126);H4b=new n5b("REST_PARAMETER_TYPE",127);h4b=new n5b("NAMED_TYPE",128);v4b=new n5b(gFc,129);E4b=new n5b(FFc,130);d5b=new n5b("UNDEFINED_TYPE",131);t2b=new n5b(EFc,132);B3b=new n5b("GENERIC_TYPE",133);C3b=new n5b(IFc,134);p2b=new n5b(MEc,135);z4b=new n5b("PIPE",136);P4b=new n5b("STAR",137);n3b=new n5b("EOC",138);D4b=new n5b("QMARK",139);j3b=new n5b("ELLIPSIS",140);I2b=new n5b("BANG",141);p3b=
new n5b("EQUALS",142);X3b=new n5b("LB",143);Y3b=new n5b("LC",144);X2b=new n5b("COLON",145);S3b=new n5b(eEc,146);T3b=new n5b("INTERFACE_EXTENDS",147);U3b=new n5b("INTERFACE_MEMBERS",148);l3b=new n5b(aEc,149);m3b=new n5b("ENUM_MEMBERS",150);J3b=new n5b(dEc,151);c5b=new n5b(hFc,152);c3b=new n5b(rFc,153);c4b=new n5b("MEMBER_VARIABLE_DEF",154);Q3b=new n5b(eFc,155);R2b=new n5b(dFc,156);i4b=new n5b(sFc,157);j4b=new n5b("NAMESPACE_ELEMENTS",158);A4b=new n5b("PLACEHOLDER1",159);B4b=new n5b("PLACEHOLDER2",
160)}function Npb(){Npb=pU;new q4("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(lX(),iX),new Hic("Internal Error: TypeCheck doesn''t know how to handle {0}"));kpb=new q4("JSC_DETERMINISTIC_TEST",kX,new Hic("condition always evaluates to {2}\nleft : {0}\nright: {1}"));wpb=new q4("JSC_INEXISTENT_ENUM_ELEMENT",kX,new Hic("element {0} does not exist on this enum"));xpb=new q4(vDc,kX,new Hic(SCc));Ipb=new q4("JSC_POSSIBLE_INEXISTENT_PROPERTY",jX,new Hic(SCc));ypb=new q4(vDc,jX,new Hic("Property {0} never defined on {1}. Did you mean {2}?"));
Gpb=new q4("JSC_NOT_A_CONSTRUCTOR",kX,new Hic("cannot instantiate non-constructor"));zpb=new q4("JSC_INSTANTIATE_ABSTRACT_CLASS",kX,new Hic("cannot instantiate abstract class"));gpb=new q4("JSC_BAD_TYPE_FOR_BIT_OPERATION",kX,new Hic("operator {0} cannot be applied to {1}"));Hpb=new q4("JSC_NOT_FUNCTION_TYPE",kX,new Hic("{0} expressions are not callable"));jpb=new q4("JSC_CONSTRUCTOR_NOT_CALLABLE",kX,new Hic(PCc));dpb=new q4("JSC_ABSTRACT_METHOD_NOT_CALLABLE",kX,new Hic("Abstract method {0} cannot be called"));
opb=new q4("JSC_FUNCTION_MASKS_VARIABLE",kX,new Hic("function {0} masks variable (IE bug)"));Epb=new q4("JSC_MULTIPLE_VAR_DEF",kX,new Hic("declaration of multiple variables with shared type information"));lpb=new q4("JSC_ENUM_DUP",iX,new Hic("enum element {0} already defined"));Cpb=new q4("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",kX,new Hic("interface members can only be empty property declarations, empty functions{0}"));Apb=new q4("JSC_INTERFACE_METHOD_NOT_EMPTY",kX,new Hic(sCc));hpb=new q4("JSC_CONFLICTING_EXTENDED_TYPE",
kX,new Hic(wDc));mpb=new q4("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",kX,new Hic("ES5 class {0} cannot extend ES6 class {1}"));new q4("JSC_INTERFACE_EXTENDS_LOOP",kX,new Hic("extends loop involving {0}, loop: {1}"));ipb=new q4("JSC_CONFLICTING_IMPLEMENTED_TYPE",kX,new Hic(xDc));fpb=new q4("JSC_IMPLEMENTS_NON_INTERFACE",kX,new Hic("can only implement interfaces"));qpb=new q4("JSC_HIDDEN_SUPERCLASS_PROPERTY",jX,new Hic("property {0} already defined on superclass {1}; use @override to override it"));ppb=new q4("JSC_HIDDEN_INTERFACE_PROPERTY",
jX,new Hic("property {0} already defined on interface {1}; use @override to override it"));rpb=new q4("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",kX,new Hic("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));Kpb=new q4("JSC_UNKNOWN_OVERRIDE",kX,new Hic("property {0} not defined on any superclass of {1}"));Bpb=new q4("JSC_INTERFACE_METHOD_OVERRIDE",kX,new Hic("property {0} is already defined by the {1} extended interface"));
Jpb=new q4("JSC_UNKNOWN_EXPR_TYPE",jX,new Hic("could not determine the type of this expression"));Lpb=new q4("JSC_UNRESOLVED_TYPE",kX,new Hic("could not resolve the name {0} to a type"));Mpb=new q4("JSC_WRONG_ARGUMENT_COUNT",kX,new Hic(TCc));spb=new q4("JSC_ILLEGAL_IMPLICIT_CAST",kX,new Hic("Illegal annotation on {0}. @implicitCast may only be used in externs."));vpb=new q4("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",kX,new Hic("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));
npb=new q4("JSC_EXPECTED_THIS_TYPE",kX,new Hic('"{0}" must be called with a "this" type'));Dpb=new q4("JSC_IN_USED_WITH_STRUCT",kX,new Hic(RCc));upb=new q4("JSC_ILLEGAL_PROPERTY_CREATION",kX,new Hic("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.)"));tpb=new q4("JSC_ILLEGAL_OBJLIT_KEY",kX,new Hic(QCc));Fpb=new q4("JSC_NON_STRINGIFIABLE_OBJECT_KEY",kX,new Hic('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.'));
cpb=new q4("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",kX,new Hic("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));epb=new M3(vC(qC(TI,1),Uxc,5,0,[kpb,wpb,xpb,Ipb,ypb,Gpb,zpb,gpb,Hpb,jpb,opb,Epb,lpb,Cpb,Apb,hpb,ipb,fpb,rpb,Kpb,Bpb,Lpb,Mpb,spb,vpb,npb,Dpb,upb,tpb,Fpb,cpb,dpb,mpb,(Nlb(),Mlb),(Hqb(),Gqb),Eqb,Aqb,Dqb,(R8(),O8)]))}function l4(){l4=pU;h4=new q4("JSC_UNUSED",(lX(),kX),new Hic(cBc));fm();so(vC(qC(yR,1),Uxc,1,5,[dBc,eBc,fBc]));k4=new qrc;o4("commonJsModuleLoad",
vC(qC(TI,1),Uxc,5,0,[(Vjb(),Ujb)]));a4=o4("globalThis",vC(qC(TI,1),Uxc,5,0,[($W(),ZW)]));Y3=o4(gBc,vC(qC(TI,1),Uxc,5,0,[(NW(),GW),HW,IW,JW,EW,FW]));o4("underscore",vC(qC(TI,1),Uxc,5,0,[(Ftb(),Btb),Ctb]));j4=o4("visibility",vC(qC(TI,1),Uxc,5,0,[yW,zW,xW,AW,KW,LW,MW,DW]));n4("accessControls",vC(qC(SI,1),Uxc,54,0,[Y3,j4]));o4("nonStandardJsDocs",vC(qC(TI,1),Uxc,5,0,[(Nlb(),xlb),Dlb,Elb]));o4("invalidCasts",vC(qC(TI,1),Uxc,5,0,[(Zpb(),Vpb)]));m4(hBc,new L3(hBc,vC(qC(TI,1),Uxc,5,0,[h4])));m4(iBc,new L3(iBc,
vC(qC(TI,1),Uxc,5,0,[h4])));o4("strictModuleDepCheck",vC(qC(TI,1),Uxc,5,0,[(yrb(),srb),(YW(),WW)]));o4("violatedModuleDep",vC(qC(TI,1),Uxc,5,0,[xrb]));o4("externsValidation",vC(qC(TI,1),Uxc,5,0,[rrb,trb]));o4("ambiguousFunctionDecl",vC(qC(TI,1),Uxc,5,0,[(Prb(),Lrb),(Bnb(),tnb)]));o4("unknownDefines",vC(qC(TI,1),Uxc,5,0,[(Zjb(),Yjb)]));o4("tweakValidation",vC(qC(TI,1),Uxc,5,0,[(wkb(),skb),ukb,vkb]));o4("missingOverride",vC(qC(TI,1),Uxc,5,0,[(Npb(),ppb),qpb]));o4("missingProperties",vC(qC(TI,1),Uxc,
5,0,[xpb,ypb,Ipb]));o4("j2clChecks",vC(qC(TI,1),Uxc,5,0,[(Lbb(),Kbb)]));o4("missingReturn",vC(qC(TI,1),Uxc,5,0,[(pX(),oX)]));o4("internetExplorerChecks",vC(qC(TI,1),Uxc,5,0,[Llb]));o4("undefinedVars",vC(qC(TI,1),Uxc,5,0,[urb]));o4("undefinedNames",vC(qC(TI,1),Uxc,5,0,[XW]));o4("checkDebuggerStatement",vC(qC(TI,1),Uxc,5,0,[(QW(),PW)]));o4("checkRegExp",vC(qC(TI,1),Uxc,5,0,[(uX(),tX),sX]));e4=n4("oldCheckTypes",vC(qC(SI,1),Uxc,54,0,[Ppb,epb]));c4=n4("newCheckTypesCompatibility",vC(qC(SI,1),Uxc,54,0,
[(jxb(),Qwb),(S9(),s9),(afb(),peb)]));d4=n4("newCheckTypesExtraChecks",vC(qC(SI,1),Uxc,54,0,[dxb,J9,Peb]));b4=n4("newCheckTypes",vC(qC(SI,1),Uxc,54,0,[c4,d4]));W3=n4(IAc,vC(qC(SI,1),Uxc,54,0,[e4,b4]));o4("newCheckTypesAllChecks",vC(qC(TI,1),Uxc,5,0,[Teb]));o4("newCheckTypesClosureClean",vC(qC(TI,1),Uxc,5,0,[Rwb,Swb,Twb,Ywb,Zwb,axb,bxb,hxb,o9,q9,r9,t9,v9,w9,x9,y9,z9,B9,D9,G9,H9,I9,K9,N9,O9,P9,Q9,leb,oeb,teb,qeb,ueb,xeb,Aeb,Meb,Heb,Ieb,Jeb,Leb,Neb,Xeb,$eb]));o4("checkEventfulObjectDisposal",vC(qC(TI,
1),Uxc,5,0,[(VW(),RW),SW,TW,UW]));f4=o4(fBc,vC(qC(TI,1),Uxc,5,0,[Jpb]));o4(dBc,vC(qC(TI,1),Uxc,5,0,[Jpb,Yeb]));X3=o4("checkVars",vC(qC(TI,1),Uxc,5,0,[urb,wrb,Mrb,Nrb]));o4(jBc,vC(qC(TI,1),Uxc,5,0,[(CX(),BX),(KX(),JX)]));o4(kBc,vC(qC(TI,1),Uxc,5,0,[BW,CW,(n3(),m3),teb,seb,reb]));U3=o4("accessControlsConst",vC(qC(TI,1),Uxc,5,0,[BW,CW]));o4("constantProperty",vC(qC(TI,1),Uxc,5,0,[BW,CW,seb,reb]));o4("typeInvalidation",vC(qC(TI,1),Uxc,5,0,[(w4(),u4),v4]));o4(lBc,vC(qC(TI,1),Uxc,5,0,[wrb,Qpb,Rpb,Nrb,L9]));
o4(HAc,vC(qC(TI,1),Uxc,5,0,[Blb,Llb]));_3=o4("es5StrictUncommon",vC(qC(TI,1),Uxc,5,0,[Clb,ylb,Anb,xnb,wnb,snb,pnb,unb,vnb,tnb]));$3=o4("es5StrictReflection",vC(qC(TI,1),Uxc,5,0,[qnb,rnb,znb,ynb]));Z3=n4("es5Strict",vC(qC(SI,1),Uxc,54,0,[_3,$3]));o4(mBc,vC(qC(TI,1),Uxc,5,0,[(rX(),qX),(BY(),yY)]));o4(nBc,vC(qC(TI,1),Uxc,5,0,[(AX(),zX)]));g4=o4("strictMissingRequire",vC(qC(TI,1),Uxc,5,0,[zX,yX,xX]));o4("legacyGoogScopeRequire",vC(qC(TI,1),Uxc,5,0,[yX,wX]));o4("extraRequire",vC(qC(TI,1),Uxc,5,0,[vX,wX]));
o4("misplacedTypeAnnotation",vC(qC(TI,1),Uxc,5,0,[(hX(),aX),bX,cX,eX,dX,fX,gX]));o4("suspiciousCode",vC(qC(TI,1),Uxc,5,0,[(htb(),gtb),(IX(),HX),DX,FX,EX,GX,kpb]));o4("functionParams",vC(qC(TI,1),Uxc,5,0,[(R8(),J8)]));o4("deprecatedAnnotations",vC(qC(TI,1),Uxc,5,0,[_W]));i4=o4("unusedPrivateMembers",vC(qC(TI,1),Uxc,5,0,[(MX(),LX)]));o4("unusedLocalVariables",vC(qC(TI,1),Uxc,5,0,[Orb]));n4("lintChecks",vC(qC(SI,1),Uxc,54,0,[stb,new M3(vC(qC(TI,1),Uxc,5,0,[(jtb(),itb),(otb(),ktb),ltb,mtb,ntb,(rtb(),
ptb),qtb,(RX(),NX),(Htb(),Gtb),(Ntb(),Ltb),Mtb,(Ptb(),Otb),(Ttb(),Stb),Rtb,Qtb,(Vtb(),Utb),(Xtb(),Wtb),OX,PX,QX,zY,Flb,Glb,Klb,Orb]))]));V3=o4("analyzerChecksInternal",vC(qC(TI,1),Uxc,5,0,[(ftb(),etb),(Ktb(),Itb),Jtb,(Jbb(),Ibb)]));n4(eBc,vC(qC(SI,1),Uxc,54,0,[V3,i4]));o4("useOfGoogBase",vC(qC(TI,1),Uxc,5,0,[(Tjb(),Sjb)]));o4("closureDepMethodUsageChecks",vC(qC(TI,1),Uxc,5,0,[Pjb]));o4("transitionalSuspiciousCodeWarnings",vC(qC(TI,1),Uxc,5,0,[(Oib(),Lib),Mib,Nib,Kib]));o4("lateProvide",vC(qC(TI,1),
Uxc,5,0,[Rjb,xY]));o4("missingPolyfill",vC(qC(TI,1),Uxc,5,0,[(jlb(),ilb)]));o4("invalidProvide",vC(qC(TI,1),Uxc,5,0,[Qjb]));o4("es6Typed",vC(qC(TI,1),Uxc,5,0,[Hlb]));o4("duplicateZipContents",vC(qC(TI,1),Uxc,5,0,[(Fmb(),Emb)]));m4(oBc,new L3(oBc,vC(qC(TI,1),Uxc,5,0,[h4])))}function afb(){afb=pU;Oeb=new q4("JSC_NTI_MISTYPED_ASSIGN_RHS",(lX(),kX),new Hic("The right side in the assignment is not a subtype of the left side.\n{0}"));Keb=new q4("JSC_NTI_INVALID_OPERAND_TYPE",kX,new Hic("Invalid type(s) for operator {0}.\n{1}"));
Web=new q4("JSC_NTI_RETURN_NONDECLARED_TYPE",kX,new Hic("Returned type does not match declared return type.\n{0}"));Ieb=new q4("JSC_NTI_INVALID_INFERRED_RETURN_TYPE",kX,new Hic("Function called in context that expects incompatible type.\n{0}"));Feb=new q4("JSC_NTI_INVALID_ARGUMENT_TYPE",kX,new Hic("Invalid type for parameter {0} of function {1}.\n{2}"));ueb=new q4("JSC_NTI_CROSS_SCOPE_GOTCHA",kX,new Hic("Variable {0} typed inconsistently across scopes.\nIn outer scope : {1}\nIn inner scope : {2}\n"));
Ueb=new q4("JSC_NTI_POSSIBLY_INEXISTENT_PROPERTY",kX,new Hic("Property {0} may not be present on {1}."));Veb=new q4("JSC_NTI_PROPERTY_ACCESS_ON_NONOBJECT",kX,new Hic("Cannot access property {0} of non-object type {1}."));Seb=new q4("JSC_NTI_NOT_UNIQUE_INSTANTIATION",kX,new Hic("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}"));veb=new q4("JSC_NTI_FAILED_TO_UNIFY",kX,new Hic("Could not instantiate type {0} with {1}."));
Heb=new q4("JSC_NTI_INVALID_INDEX_TYPE",kX,new Hic("Invalid type for index.\n{0}"));meb=new q4("JSC_NTI_BOTTOM_INDEX_TYPE",kX,new Hic("This IObject {0} cannot be accessed with a valid type.\n Usually the result of a bad union type.\n"));Jeb=new q4("JSC_NTI_INVALID_OBJLIT_PROPERTY_TYPE",kX,new Hic("Invalid type for object-literal property.\n{0}"));web=new q4("JSC_NTI_FORIN_EXPECTS_OBJECT",kX,new Hic("For/in expects an object, found type {0}."));xeb=new q4("JSC_NTI_FORIN_EXPECTS_STRING_KEY",kX,new Hic("For/in creates string keys, but variable has declared type {1}."));
teb=new q4("JSC_NTI_CONST_REASSIGNED",kX,new Hic("Cannot change the value of a constant."));seb=new q4("JSC_NTI_CONST_PROPERTY_REASSIGNED",kX,new Hic("Cannot change the value of a constant property."));reb=new q4("JSC_NTI_CONSTANT_PROPERTY_DELETED",kX,new Hic("Constant property {0} cannot be deleted"));Qeb=new q4("JSC_NTI_NOT_A_CONSTRUCTOR",kX,new Hic("Expected a constructor but found type {0}."));Eeb=new q4("JSC_NTI_INSTANTIATE_ABSTRACT_CLASS",kX,new Hic("Cannot instantiate abstract class {0}."));
leb=new q4("JSC_NTI_ASSERT_FALSE",kX,new Hic("Assertion is always false. Please use a throw or fail() instead."));Xeb=new q4("JSC_NTI_UNKNOWN_ASSERTION_TYPE",kX,new Hic("Assert with unknown asserted type."));Leb=new q4("JSC_NTI_INVALID_THIS_TYPE_IN_BIND",kX,new Hic("Invalid type for the first argument to bind.\n{0}"));oeb=new q4("JSC_NTI_CANNOT_BIND_CTOR",kX,new Hic("We do not support using .bind on constructor functions."));zeb=new q4("JSC_NTI_GOOG_BIND_EXPECTS_FUNCTION",kX,new Hic("The first argument to goog.bind/goog.partial must be a function, found: {0}"));
neb=new q4("JSC_NTI_BOTTOM_PROP",kX,new Hic("Property {0} of {1} cannot have a valid type.Maybe the result of a union of incompatible types?"));Geb=new q4("JSC_NTI_INVALID_CAST",kX,new Hic("invalid cast - the types do not have a common subtype\nfrom: {0}\nto  : {1}"));yeb=new q4("JSC_NTI_USED_GLOBAL_THIS",kX,new Hic("Dangerous use of the global THIS object"));Neb=new q4("JSC_NTI_MISSING_RETURN_STATEMENT",kX,new Hic(uzc));qeb=new q4("JSC_NTI_CONSTRUCTOR_NOT_CALLABLE",kX,new Hic(PCc));Aeb=new q4("JSC_NTI_ILLEGAL_OBJLIT_KEY",
kX,new Hic(QCc));Ceb=new q4("JSC_NTI_ILLEGAL_PROPERTY_CREATION",kX,new Hic("Cannot add property {0} to a struct instance after it is constructed."));Meb=new q4("JSC_NTI_IN_USED_WITH_STRUCT",kX,new Hic(RCc));keb=new q4("JSC_NTI_ADDING_PROPERTY_TO_NON_OBJECT",kX,new Hic("Cannot create property {0} on non-object type {1}."));Deb=new q4("JSC_NTI_INEXISTENT_PROPERTY",kX,new Hic(SCc));Reb=new q4("JSC_NTI_NOT_FUNCTION_TYPE",kX,new Hic("Cannot call non-function type {0}"));_eb=new q4("JSC_NTI_WRONG_ARGUMENT_COUNT",
kX,new Hic(TCc));Beb=new q4("JSC_NTI_ILLEGAL_PROPERTY_ACCESS",kX,new Hic(UCc));$eb=new q4("JSC_NTI_UNKNOWN_TYPEOF_VALUE",kX,new Hic(VCc));Zeb=new q4("JSC_NTI_UNKNOWN_NAMESPACE_PROPERTY",kX,new Hic("Cannot determine the type of namespace property {0}. Maybe a prefix of the property name has been redefined?"));Teb=new q4("JSC_NTI_NULLABLE_DEREFERENCE",jX,new Hic("Attempt to use nullable type {0}."));Yeb=new q4("JSC_NTI_UNKNOWN_EXPR_TYPE",jX,new Hic("This {0} expression has the unknown type."));peb=
new M3(vC(qC(TI,1),Uxc,5,0,[leb,oeb,reb,seb,teb,qeb,veb,xeb,yeb,zeb,Aeb,Beb,Ceb,Meb,Deb,Eeb,Feb,Geb,Heb,Jeb,Neb,Oeb,Qeb,Reb,Ueb,Web,Xeb,$eb,_eb]));Peb=new M3(vC(qC(TI,1),Uxc,5,0,[keb,meb,neb,ueb,web,Ieb,Keb,Leb,Seb,Veb,Zeb]))}function iFb(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==(bSb(),GRb)||b.b.c==HRb)&&dFb(a,b,(NKb(),kKb)),eEb(a.a,b.c.o)?jEb(a.a,QEb(b.b.c),zEb(a.a,b.a),
zEb(a.a,b.c)):mFb(a,b);case 28:return jFb(a,b);case 74:return VFb(a,b);case 75:return WFb(a,b.a);case 76:return iEb(a.a,(m5b(),Y4b),zEb(a.a,b.a));case 44:return $Fb(a,b);case 2:return nFb(a,b);case 14:return oFb(a,b);case 49:return zFb(a,b);case 17:return SFb(a,b);case 18:return TFb(a,b);case 22:return jEb(a.a,(m5b(),U2b),zEb(a.a,b.b),AEb(a.a,b.a));case 13:return rFb(a,b);case 8:return jEb(a.a,(m5b(),i3b),AEb(a.a,b.a),zEb(a.a,b.b));case 5:return hEb((d=a,b,d).a,(m5b(),k3b));case 6:return vFb(a,b);
case 24:return hEb((e=a,b,e).a,(m5b(),a3b));case 25:return hEb((f=a,b,f).a,(m5b(),Z4b));case 11:return wFb(a,b);case 10:return h=zEb(a.a,b.c),i=(fm(),so(vC(qC(yR,1),Uxc,1,5,[(m5b(),r2b),t4b]))),i.contains(h.j)&&a.a.d.eh("Invalid LHS for a for-in loop",a.a.r,(XDb(),b.c.o.b.b+1),b.c.o.b.a),kEb(a.a,w3b,h,zEb(a.a,b.b),AEb(a.a,b.a));case 1:return yFb(a,b);case 55:return jEb(a.a,(m5b(),D3b),zEb(a.a,b.b),zEb(a.a,b.a));case 46:return j=zEb(a.a,b.b),k=b.a,l=JFb(a,k),!l.ei()&&!a.a.c&&eFb(a,l),jEb(a.a,(m5b(),
E3b),j,l);case 43:return kEb(a.a,(m5b(),H3b),zEb(a.a,b.a),zEb(a.a,b.b),zEb(a.a,b.c));case 7:return CFb(a,b);case 20:return jEb(a.a,(m5b(),V3b),dGb(a,b.a),zEb(a.a,b.b));case 56:return WEb(a,b),zEb(a.a,b.a);case 26:return FFb(a,b.a,false);case 47:return IFb(a,b);case 29:return KFb(a,b);case 36:return dFb(a,b,(NKb(),dKb)),jEb(a.a,(m5b(),Z2b),zEb(a.a,b.a),zEb(a.a,b.b));case 37:return dFb(a,b,(NKb(),dKb)),m=zEb(a.a,b.c),n=zEb(a.a,b.a),o=AXb((oe(thc("",Nhc(46))==-1,yzc,""),new _1b((m5b(),g4b),"")),new _0b(y4b),
n),$0b(o,n),p=jEb(a.a,Z2b,m,o),q=A0b(p,p.g,73),q!=p.g&&(p.g=q),p.g=new E1b(73,1,p.g),v0b(p,58,b.b),p;case 88:return dFb(a,b,(NKb(),dKb)),gFb(a,b,dKb),r=iEb(a.a,(m5b(),Z2b),zEb(a.a,b.d)),aFb(a,r,b.b),s=A0b(r,r.g,75),s!=r.g&&(r.g=s),r.g=new E1b(75,1,r.g),w0b(r,84,b.a),O0b(r,b.c),$Eb(r,b.a),r;case 38:return dFb(a,b,(NKb(),dKb)),t=jEb(a.a,(m5b(),Z2b),zEb(a.a,b.c),zEb(a.a,b.b)),u=A0b(t,t.g,72),u!=t.g&&(t.g=u),t.g=new E1b(72,1,t.g),b.b.i&&(v=A0b(t,t.g,58),v!=t.g&&(t.g=v),t.g=new E1b(58,1,t.g)),$Eb(t,b.a),
t;case 39:return dFb(a,b,(NKb(),dKb)),w=zEb(a.a,b.d),A=zEb(a.a,b.a),B=SXb(cGb(a,b.c)),C=AXb((oe(thc("",Nhc(46))==-1,yzc,""),new _1b((m5b(),g4b),"")),B,A),$0b(C,A),D=jEb(a.a,Z2b,w,C),F=A0b(D,D.g,74),F!=D.g&&(D.g=F),D.g=new E1b(74,1,D.g),v0b(D,58,b.b),D;case 15:return PFb(a,b);case 45:return G=UEb(b.b.c),H=zEb(a.a,b.a),XEb(a,G,b.c==1,H);case 0:return lFb(a,b);case 27:return EFb(a,b);case 19:return UFb(a,b);case 21:return iEb(a.a,(m5b(),$4b),zEb(a.a,b.a));case 23:return XFb(a,b);case 3:return iFb(a.a.u,
b.a);case 12:return bGb(a,b);case 4:return aGb(a,b);case 9:return jEb(a.a,(m5b(),j5b),zEb(a.a,b.b),AEb(a.a,b.a));case 16:return jEb(a.a,(m5b(),k5b),zEb(a.a,b.b),AEb(a.a,b.a));case 41:return qFb(a,b);case 64:return hEb((g=a,b,g).a,(m5b(),k3b));case 57:return AEb(a.a,b.a);case 40:return mEb((c=a,b,c).a,(m5b(),g4b),wEc);case 35:return I=JFb(a,b.a),Q0b(I,(m5b(),R4b)),!!b.b&&Q_b(I,zEb(a.a,b.b)),I;case 33:return J=JFb(a,b.c),Q0b(J,(m5b(),F3b)),K=zEb(a.a,b.a),L=(oe(thc("",Nhc(46))==-1,yzc,""),new _1b(g4b,
"")),wEb(L,b.a),M=new _0b(y4b),wEb(M,b.a),N=kEb(a.a,y3b,L,M,K),wEb(N,b.a),Q_b(J,N),aFb(a,N,b.d),O0b(J,b.b),J;case 34:return O=JFb(a,b.d),Q0b(O,(m5b(),L4b)),P=zEb(a.a,b.a),Q=(oe(thc("",Nhc(46))==-1,yzc,""),new _1b(g4b,"")),vEb(Q,b.d),R=SXb(cGb(a,b.c)),vEb(R,b.c),aFb(a,R.b,b.e),S=kEb(a.a,y3b,Q,R,P),wEb(S,b.a),Q_b(O,S),O0b(O,b.b),O;case 62:return xFb(a,b);case 50:return pFb(a,b);case 58:return dFb(a,b,(NKb(),IKb)),hEb(a.a,(m5b(),U4b));case 93:return dFb(a,b,(NKb(),zKb)),hEb(a.a,(m5b(),n4b));case 72:return T=
hEb(a.a,(m5b(),l5b)),!!b.a&&P_b(T,zEb(a.a,b.a)),T0b(T,b.b),T;case 94:return dFb(a,b,(NKb(),_Jb)),U=hEb(a.a,(m5b(),H2b)),P_b(U,zEb(a.a,b.a)),U;case 71:return dFb(a,b,(NKb(),mKb)),V=zEb(a.a,b.c),W=(fm(),so(vC(qC(yR,1),Uxc,1,5,[(m5b(),r2b),t4b]))),W.contains(V.j)&&a.a.d.eh("Invalid LHS for a for-of loop",a.a.r,(XDb(),b.c.o.b.b+1),b.c.o.b.a),kEb(a.a,x3b,V,zEb(a.a,b.b),AEb(a.a,b.a));case 67:return tFb(a,b);case 68:return uFb(a,b);case 69:return dFb(a,b,(NKb(),xKb)),X=gGb(a,b.a,b),Y=b.d?mEb(a.a,(m5b(),
N3b),b.d.a):fGb(a,(m5b(),M3b),b.b),i1b(Y.i)==-1&&xEb(Y,b.o.b,b.o.a),Z=QFb(a,b.c),kEb(a.a,(m5b(),K3b),X,Y,Z);case 70:return $=FFb(a,b.b,true),Q0b($,(m5b(),g4b)),ab=iEb(a.a,L3b,$),!!b.a&&P_b(ab,FFb(a,b.a,false)),ab;case 59:return kFb(a,b);case 61:return LFb(a,b);case 60:return iEb(a.a,(m5b(),G4b),BEb(a.a,b.a));case 32:case 31:case 30:return a.a.d.eh("unsupported language feature: array/generator comprehensions",a.a.r,(XDb(),b.o.b.b+1),b.o.b.a),mEb(a.a,(m5b(),g4b),wEc);case 73:return dFb(a,b,(NKb(),
gKb)),jEb(a.a,(m5b(),e3b),zEb(a.a,b.b),zEb(a.a,b.a));case 65:return dFb(a,b,(NKb(),EKb)),bb=BEb(a.a,b.a),(bb.j==(m5b(),u4b)||bb.j==s2b)&&dFb(a,b.a,hKb),iEb(a.a,G4b,bb);case 63:return dFb(a,b,(NKb(),GKb)),iEb(a.a,(m5b(),O4b),zEb(a.a,b.a));case 77:return YFb(a,b);case 79:return cb=zEb(a.a,b.a),aFb(a,cb,b.b),cb;case 80:return gFb(a,b,(NKb(),BKb)),db=zEb(a.a,b.a),eb=A0b(db,db.g,80),eb!=db.g&&(db.g=eb),db.g=new E1b(80,1,db.g),db;case 81:return MFb(a,b);case 82:return YDb(a.a,s5b(zEb(a.a,b.a)));case 83:return NFb(a,
b);case 84:return _Fb(a,b);case 85:return AFb(a,b);case 78:return ZFb(a,b);case 86:return BFb(a,b);case 87:return fb=mEb(a.a,(m5b(),c4b),b.e.a),aFb(a,fb,b.b),O0b(fb,b.d),v0b(fb,80,b.c),$Eb(fb,b.a),fb;case 51:return DFb(a,b);case 54:return sFb(a,b);case 89:return gFb(a,b,(NKb(),LKb)),gb=mEb(a.a,(m5b(),c5b),b.a.a),Q_b(gb,zEb(a.a,b.b)),gb;case 90:return gFb(a,b,(NKb(),ZJb)),iEb(a.a,(m5b(),c3b),zEb(a.a,b.a));case 52:return GFb(a,b);case 91:return gFb(a,b,(NKb(),rKb)),hb=zEb(a.a,b.b),ib=g0b(hb,78),ib.j!=
(m5b(),s4b)&&ib.j!=S4b&&a.a.d.eh("Index signature parameter type must be 'string' or 'number'",a.a.r,(XDb(),b.b.o.b.b+1),b.b.o.b.a),jb=iEb(a.a,Q3b,hb),aFb(a,jb,b.a),jb;case 92:return gFb(a,b,b.c?(NKb(),eKb):(NKb(),bKb)),kb=iEb(a.a,(m5b(),R2b),zEb(a.a,b.a)),aFb(a,kb,b.d),_Eb(a,kb,b.b),v0b(kb,83,b.c),kb}return a.a.d.eh("Unsupported syntax: "+b.p,a.a.r,(XDb(),b.o.b.b+1),0),hEb(a.a,(m5b(),k3b))}function cZ(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&&!!g0b(b,29)){G=Qbb(a.e,g0b(b,29));qhc(G,"/** */ ")||DY(a.c,G)}bb=b.j;N=nhb(bb);p=b0b(b);t=b.b;H=b.b?b.b.f:null;if(N!=null&&t!=H){pe(p==2,N,p);O=phb(bb);X=c==4?4:5;K=c==2&&t.j==(m5b(),u4b);b.j==(m5b(),u2b)&&K&&DY(a.c,"(");if(ogb(b)||bb==q3b){hZ(a,t,O+1,c);FY(a.c,N,true);hZ(a,H,O,X)}else uZ(a,b,bb,N,c,X,O,O+1);b.j==u2b&&K&&DY(a.c,")");return}a.c.wg(b);switch(bb.f){case 44:je(t.d.j==(m5b(),N2b)&&!k0b(t.d));je(p>=2&&p<=3);DY(a.c,"try");a.xg(t,3);n=t.d.b;!!n&&a.xg(n,5);
if(p==3){a.c.sg();DY(a.c,Mzc);a.xg(H,3)}break;case 77:je(p==2);a.c.sg();DY(a.c,"catch");a.c.sg();DY(a.c,"(");a.xg(t,5);DY(a.c,")");a.xg(H,3);break;case 39:je(p==1);DY(a.c,"throw");a.c.sg();a.xg(t,5);a.c.og(true);break;case 0:DY(a.c,Nzc);if(p==1){a.c.sg();a.xg(t,5)}else je(p==0);a.c.og(false);break;case 75:DY(a.c,"var ");lZ(a,t,false,c==4?4:5,",");(!b.e||(Gfb(),Ygb(b.e)))&&a.c.og(false);break;case 86:DY(a.c,"const ");lZ(a,t,false,c==4?4:5,",");(!b.e||(Gfb(),Ygb(b.e)))&&a.c.og(false);break;case 98:DY(a.c,
"let ");lZ(a,t,false,c==4?4:5,",");(!b.e||(Gfb(),Ygb(b.e)))&&a.c.og(false);break;case 88:je(b.ci().length!=0);jZ(a,b.ci());break;case 93:a.xg(t,5);if(t!=H){je(p==2);FY(a.c,"=",true);a.xg(H,5)}break;case 29:a.k&&g0b(b,40)!=null?jZ(a,g0b(b,40)):jZ(a,b.ci());e0b(b,80)!=0&&DY(a.c,"?");rZ(a,b);if(!!t&&t.j!=(m5b(),k3b)){je(p==1);FY(a.c,"=",true);t.j==(m5b(),Y2b)?hZ(a,t,phb(u2b),5):hZ(a,t,0,c==4?4:5)}break;case 42:DY(a.c,"[");fZ(a,t);DY(a.c,"]");break;case 91:DY(a.c,"[");fZ(a,t);DY(a.c,"]");rZ(a,b);break;
case 45:DY(a.c,"(");lZ(a,t,true,5,",");DY(a.c,")");break;case 116:a.xg(t,5);rZ(a,b);FY(a.c,"=",true);a.xg(t.d,5);break;case 46:je(p==2);uZ(a,b,(m5b(),Y2b),",",c,c==4?4:5,0,0);break;case 30:je(p==0);EY(a.c,b.bi());break;case 25:case 78:case 19:case 20:case 21:je(p==1);FY(a.c,ohb(bb),false);hZ(a,t,phb(bb),5);break;case 22:je(p==1);if(b.b.j==(m5b(),r4b))EY(a.c,-b.b.bi());else{FY(a.c,ohb(bb),false);hZ(a,t,phb(bb),5)}break;case 60:je(p==3);O=phb(bb);X=c==4?4:5;hZ(a,t,O+1,c);FY(a.c,"?",true);hZ(a,t.d,1,
X);FY(a.c,":",true);hZ(a,H,1,X);break;case 38:if(t.j!=(m5b(),Q4b)||H.j!=Q4b)throw QT(new nfc("Expected children to be strings"));V="/"+tZ(a,t.ci(),'"',"'","`","\\",false,true)+"/";if(p==2)dZ(a,V+H.ci());else{je(p==1);DY(a.c,V)}break;case 65:if(b.Cj!=hQ)throw QT(new nfc(Ozc));je(p==3);e0b(b,60)!=0?(je(t.ci().length==0),cb=(db=b.e,!!db&&(Gfb(),pgb(db.j)||ahb(db.j)||chb(db.j)||db.j==(m5b(),W4b)||db.j==(m5b(),E3b)||(db.j==(m5b(),D3b)||db.j==Q2b||db.j==H3b)&&(eb=b.e,!!eb&&b==eb.b))),cb&&DY(a.c,"("),fb=
g0b(t,81),!!fb&&a.xg(fb,5),e0b(b,61)!=0&&DY(a.c,Pzc),a.xg(t.d,5),rZ(a,b),FY(a.c,"=>",true),H.j==(m5b(),N2b)?a.xg(H,3):hZ(a,H,phb(Y2b)+1,3),a.c.lg(c==0),cb&&DY(a.c,")"),undefined):iZ(a,b,t,H,c);break;case 110:DY(a.c,Qzc);a.xg(t,5);rZ(a,b);break;case 111:DY(a.c,Qzc);a.xg(b.b,5);break;case 106:DY(a.c,Rzc);e0b(b,63)!=0&&DY(a.c,Szc);if(e0b(b,64)!=0){DY(a.c,"*");je(!!t&&t.j==(m5b(),k3b))}else a.xg(t,5);if(p==2){DY(a.c,Tzc);a.xg(H,5)}sZ(a,t,c);break;case 102:DY(a.c,Uzc);Y=t.d;if(t.j!=(m5b(),k3b)){a.xg(t,
5);Y.j==k3b||a.c.qg()}Y.j==k3b||a.xg(Y,5);(t.j!=k3b||Y.j!=k3b)&&DY(a.c,Tzc);a.xg(H,5);a.c.og(false);break;case 107:case 103:DY(a.c,"{");for(j=t;j;j=j.d){j!=t&&a.c.qg();a.xg(j,5)}DY(a.c,"}");break;case 108:case 104:a.xg(t,5);if(t!=H){DY(a.c,"as");a.xg(H,5)}break;case 105:DY(a.c,"*");DY(a.c,"as");dZ(a,b.ci());break;case 94:je(p==3);q=c==2;q&&DY(a.c,"(");J=t;Z=t.d;I=H;DY(a.c,Vzc);J.j==(m5b(),k3b)||a.xg(J,5);A=g0b(t,81);!!A&&a.xg(A,5);if(Z.j!=k3b){DY(a.c,Wzc);a.xg(Z,5)}D=g0b(b,82);if(D){DY(a.c,Xzc);o=
D.b;a.xg(o,5);while(o=o.d){DY(a.c,",");a.c.sg();a.xg(o,5)}}a.xg(I,5);IY(a.c,c==0);q&&DY(a.c,")");break;case 95:case 148:case 158:GY(a.c);for(k=t;k;k=k.d){a.xg(k,5);sZ(a,k,c);a.c.mg()}HY(a.c,false);break;case 150:GY(a.c);for(l=t;l;l=l.d){a.xg(l,5);!!l.d&&DY(a.c,",");a.c.mg()}HY(a.c,false);break;case 84:case 85:case 96:case 154:W0b(b.e);je(b.e.j==(m5b(),t4b)||b.e.j==W2b||b.e.j==U3b||b.e.j==E4b||b.e.j==Q3b);e=g0b(b,84);!!e&&dZ(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");e0b(b,58)!=0&&DY(a.c,"static ");
if(b.j!=c4b&&e0b(b.b,59)!=0){je(bb==b4b);DY(a.c,"*")}b.j==b4b&&e0b(b.b,61)!=0&&DY(a.c,"async ");switch(bb.f){case 84:je(!t.b.d.b);DY(a.c,"get ");break;case 85:je(l0b(t.b.d));DY(a.c,"set ")}J=b.ci();if(b.j==c4b){dZ(a,b.ci());e0b(b,80)!=0&&DY(a.c,"?");rZ(a,b)}else{je(p==1);je(t.j==y3b);je(t.b.ci().length==0);u=t;P=u.b.d;h=u.b?u.b.f:null;if(!b.ei()&&r5b(J)&&Jgb(J)){DY(a.c,J);qZ(a,u.b)}else{r=AZ(J);isNaN(r)?kZ(a,b):EY(a.c,r)}e0b(u,80)!=0&&DY(a.c,"?");a.xg(P,5);rZ(a,u);a.xg(h,3)}break;case 83:case 109:case 80:if(b.Cj!=
hQ)throw QT(new nfc(Ozc));U=c==3;U&&GY(a.c);T=bb==(m5b(),K4b)||bb==N2b&&!U&&!!b.e&&b.e.j==K4b;for(m=t;m;m=m.d){a.xg(m,0);(m.j==y3b||m.j==V2b)&&a.c.tg();T&&a.c.ug()}U&&HY(a.c,a.c.ig(b,c==0));break;case 72:if(p==4){DY(a.c,"for");a.c.sg();DY(a.c,"(");Gfb();!!t&&(t.j==(m5b(),g5b)||t.j==$3b||t.j==$2b)?a.xg(t,4):hZ(a,t,0,4);DY(a.c,";");a.xg(t.d,5);DY(a.c,";");a.xg(t.d.d,5);DY(a.c,")");mZ(a,H,c==1?1:5,false)}else{je(p==3);DY(a.c,"for");a.c.sg();DY(a.c,"(");a.xg(t,5);DY(a.c,"in");a.xg(t.d,5);DY(a.c,")");
mZ(a,H,c==1?1:5,false)}break;case 99:je(p==3);DY(a.c,"for");a.c.sg();DY(a.c,"(");a.xg(t,5);DY(a.c,"of");a.xg(t.d,5);DY(a.c,")");mZ(a,H,c==1?1:5,false);break;case 71:je(p==2);DY(a.c,"do");mZ(a,t,5,false);a.c.sg();DY(a.c,Yzc);a.c.sg();DY(a.c,"(");a.xg(H,5);DY(a.c,")");a.c.og(false);break;case 70:je(p==2);DY(a.c,Yzc);a.c.sg();DY(a.c,"(");a.xg(t,5);DY(a.c,")");mZ(a,H,c==1?1:5,false);break;case 79:je(p==0);break;case 26:if(a.k&&g0b(b,40)!=null){t0b(b.b,"$jscomp.scope")&&b.e.j==(m5b(),u2b)&&DY(a.c,"var ");
jZ(a,g0b(b,40));break}le(p==2,"Bad GETPROP: expected 2 children, but got %s",p);ke(H.j==(m5b(),Q4b),"Bad GETPROP: RHS should be STRING");K=t.j==r4b;K&&DY(a.c,"(");hZ(a,t,phb(bb),c);K&&DY(a.c,")");if(a.i&&q5b(H.ci())){DY(a.c,"[");a.xg(H,5);DY(a.c,"]")}else{DY(a.c,".");jZ(a,H.ci())}break;case 27:ne(p==2,p,b);hZ(a,t,phb(bb),c);DY(a.c,"[");a.xg(t.d,5);DY(a.c,"]");break;case 76:je(p==2);DY(a.c,"with(");a.xg(t,5);DY(a.c,")");mZ(a,H,c==1?1:5,false);break;case 63:case 64:je(p==1);M=bb==(m5b(),P3b)?"++":"--";
R=e0b(b,32)!=0;if(R){hZ(a,t,phb(bb),c);FY(a.c,M,false)}else{FY(a.c,M,false);a.xg(t,5)}break;case 28:if(t.j==(m5b(),g4b)&&qhc("eval",t.ci())&&e0b(t,49)==0||e0b(b,50)!=0&&(Gfb(),t.j==E3b||t.j==D3b)){DY(a.c,"(0,");hZ(a,t,phb(Y2b),5);DY(a.c,")")}else hZ(a,t,phb(bb),c);g=t.d;DY(a.c,"(");lZ(a,g,true,5,",");DY(a.c,")");break;case 66:B=p==3;f=c==1&&!B;f&&GY(a.c);DY(a.c,"if");a.c.sg();DY(a.c,"(");a.xg(t,5);DY(a.c,")");if(p==1)break;if(B){mZ(a,t.d,1,false);a.c.sg();DY(a.c,"else");mZ(a,H,c==1?1:5,false)}else{mZ(a,
t.d,5,false);je(p==2)}f&&HY(a.c,false);break;case 32:je(p==0);DY(a.c,Mxc);break;case 33:je(p==0);DY(a.c,Zzc);break;case 97:je(p==0);DY(a.c,$zc);break;case 117:je(p==0);DY(a.c,_zc);break;case 100:DY(a.c,"yield");if(e0b(b,62)!=0){de(t);DY(a.c,"*")}if(t){a.c.sg();hZ(a,t,phb(bb),5)}break;case 101:DY(a.c,"await ");hZ(a,t,phb(bb),5);break;case 34:je(p==0);DY(a.c,aAc);break;case 35:je(p==0);DY(a.c,bAc);break;case 74:je(p<=1);DY(a.c,cAc);if(p==1){if(t.j!=(m5b(),W3b))throw QT(new nfc(dAc));DY(a.c," ");a.xg(t,
5)}a.c.og(false);break;case 87:je(p==0);DY(a.c,eAc);a.c.og(false);break;case 73:je(p<=1);DY(a.c,"break");if(p==1){if(t.j!=(m5b(),W3b))throw QT(new nfc(dAc));DY(a.c," ");a.xg(t,5)}a.c.og(false);break;case 82:je(p==1);a.xg(t,2);a.c.og(false);break;case 23:DY(a.c,"new ");S=phb(bb);Nfb(t,(m5b(),Q2b),(Gfb(),Afb))&&(S=phb(t.j)+1);hZ(a,t,S,5);L=t.d;if(L){DY(a.c,"(");lZ(a,L,true,5,",");DY(a.c,")")}break;case 89:oZ(a,b);break;case 31:ke(p==0,"A string may not have children");kZ(a,b);break;case 24:je(p==1);
DY(a.c,"delete ");a.xg(t,5);break;case 43:K=c==2;K&&DY(a.c,"(");DY(a.c,"{");for(m=t;m;m=m.d){m!=t&&a.c.qg();je(m.j==(m5b(),Z2b)||m.j==F3b||m.j==L4b||m.j==R4b||m.j==b4b);a.xg(m,5)}DY(a.c,"}");K&&DY(a.c,")");break;case 112:d=g0b(b,84);!!d&&dZ(a,(d.e!=null?d.e:""+d.f).toLowerCase()+" ");e0b(b,58)!=0&&DY(a.c,"static ");e0b(b,73)!=0?DY(a.c,"get "):e0b(b,74)!=0?DY(a.c,"set "):e0b(H,59)!=0?DY(a.c,"*"):e0b(H,61)!=0&&DY(a.c,Pzc);DY(a.c,"[");a.xg(t,5);DY(a.c,"]");rZ(a,b);if(e0b(b,72)!=0||e0b(b,73)!=0||e0b(b,
74)!=0){v=t.d;Q=v.b.d;h=v.b?v.b.f:null;a.xg(Q,5);a.xg(h,3)}else{F=b.e.j==(m5b(),W2b);C=t.d;if(C){ke(!F,"initializers should only exist in object literals, not classes");FY(a.c,":",false);a.xg(C,5)}else ke(e0b(b,75)!=0,b)}break;case 92:nZ(a,b);rZ(a,b);break;case 67:DY(a.c,"switch(");a.xg(t,5);DY(a.c,")");GY(a.c);eZ(a,t.d);HY(a.c,c==0);break;case 68:je(p==2);DY(a.c,"case ");a.xg(t,5);gZ(a,H);break;case 69:je(p==1);DY(a.c,Szc);gZ(a,t);break;case 81:je(p==2);if(t.j!=(m5b(),W3b))throw QT(new nfc(dAc));
a.xg(t,5);DY(a.c,":");H.j==N2b||a.c.sg();mZ(a,H,c==1?1:5,true);break;case 90:DY(a.c,"(");a.xg(t,5);DY(a.c,")");break;case 113:a.xg(t,2);a.xg(t.d,5);break;case 114:DY(a.c,"`");for(i=t;i;i=i.d)if(i.j==(m5b(),Q4b))dZ(a,tZ(a,i.ci(),'"',"'","\\`","\\",false,false));else{a.c.dg("${");a.xg(i.b,2);DY(a.c,"}")}DY(a.c,"`");break;case 118:DY(a.c,Dxc);break;case 119:DY(a.c,Axc);break;case 120:DY(a.c,Bxc);break;case 124:DY(a.c,"any");break;case 126:DY(a.c,fAc);break;case 128:a.xg(t,5);break;case 132:hZ(a,t,phb((m5b(),
t2b)),c);DY(a.c,"[]");break;case 121:W=t;DY(a.c,"(");lZ(a,t.d,true,5,",");DY(a.c,")");FY(a.c,"=>",true);a.xg(W,5);break;case 123:lZ(a,t,true,5,"|");break;case 130:DY(a.c,"{");lZ(a,t,false,5,",");DY(a.c,"}");break;case 122:a.xg(t,5);DY(a.c,"<");lZ(a,t.d,true,5,",");DY(a.c,">");break;case 134:DY(a.c,"<");lZ(a,t,false,0,",");DY(a.c,">");break;case 133:jZ(a,b.ci());if(b.b){DY(a.c,Wzc);a.c.sg();a.xg(b.b,5)}break;case 146:je(p==3);J=t;ab=t.d;I=H;DY(a.c,gAc);a.xg(J,5);A=g0b(J,81);!!A&&a.xg(A,5);if(ab.j!=
(m5b(),k3b)){DY(a.c,Wzc);$=ab.b;a.xg($,5);while($=$.d){DY(a.c,",");a.c.sg();a.xg($,5)}}a.xg(I,5);break;case 149:je(p==2);J=t;I=H;DY(a.c,hAc);a.xg(J,5);a.xg(I,5);break;case 157:je(p==2);J=t;s=H;DY(a.c,iAc);a.xg(J,5);a.xg(s,5);break;case 152:DY(a.c,jAc);dZ(a,b.ci());FY(a.c,"=",true);a.xg(H,5);a.c.og(true);break;case 153:DY(a.c,kAc);a.xg(t,5);sZ(a,b,c);break;case 155:DY(a.c,"[");a.xg(t,5);DY(a.c,"]");rZ(a,b);a.c.og(true);break;case 156:e0b(b,83)!=0&&DY(a.c,"new ");w=g0b(b,81);!!w&&a.xg(w,5);a.xg(t,5);
rZ(a,b);a.c.og(true);break;default:throw QT(new yB("Unknown type "+bb+Gyc+W0b(b)));}a.c.ng(b)}function KGb(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;w=a.j.g;k=YHb(a.j);e=a.j.n;d=Yn(a.a,e);if(!d||e.length==0)qGb(a,nDc,e,a.j.g,YHb(a.j));else{s$b(a.e,e,w,k);switch(d.f){case 0:cZb(a.e.a)?oGb(a,"msg.jsdoc.nginject.extra",a.j.g,YHb(a.j)):c_b(a.e);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 25:$Yb(a.e.a)?oGb(a,"msg.jsdoc.jaggerInject.extra",
a.j.g,YHb(a.j)):V$b(a.e);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 26:_Yb(a.e.a)?oGb(a,"msg.jsdoc.jaggerModule.extra",a.j.g,YHb(a.j)):W$b(a.e);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 27:aZb(a.e.a)?oGb(a,"msg.jsdoc.jaggerProvide.extra",a.j.g,YHb(a.j)):X$b(a.e);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 28:bZb(a.e.a)?oGb(a,"msg.jsdoc.jaggerProvidePromise.extra",a.j.g,YHb(a.j)):Y$b(a.e);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 1:w$b(a.e)||rGb(a,BEc,a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 2:if(a.e.c){i=
AGb(a);h=i.a;h.length==0?oGb(a,"msg.jsdoc.authormissing",a.j.g,YHb(a.j)):m$b(a.e,h);b=i.b}else b=xGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 3:z$b(a.e)||oGb(a,"msg.jsdoc.consistidgen",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 56:z_b(a.e)||rGb(a,BEc,a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 49:q_b(a.e)||rGb(a,BEc,a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 10:G$b(a.e)||rGb(a,BEc,a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 5:B$b(a.e)||(ZYb(a.e.a)?rGb(a,
CEc,a.j.g,YHb(a.j)):rGb(a,BEc,a.j.g,YHb(a.j)));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 6:T$b(a.e)||rGb(a,"msg.jsdoc.record",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 8:D$b(a.e)||oGb(a,"msg.jsdoc.deprecated",a.j.g,YHb(a.j));L=zGb(a,b,a.f?0:2,false);K=L.a;K.length>0&&E$b(a.e,K);b=L.b;return b;case 24:U$b(a.e)||((a.e.a.a&2)!=0?rGb(a,CEc,a.j.g,YHb(a.j)):rGb(a,BEc,a.j.g,YHb(a.j)));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 9:if(CYb(a.e.a)!=null){oGb(a,"msg.jsdoc.desc.extra",a.j.g,YHb(a.j));
return xGb(a,!a.o?ZHb(a.j):vGb(a))}else{m=zGb(a,b,a.f?0:2,false);l=m.a;F$b(a.e,l);b=m.b;return b}case 17:n="";if(a.e.c&&!CGb(a,64)){o=zGb(a,b,a.f?0:1,false);n=o.a;b=o.b}else b=xGb(a,!a.o?ZHb(a.j):vGb(a));N$b(a.e,n)||oGb(a,"msg.jsdoc.fileoverview.extra",a.j.g,YHb(a.j));return b;case 30:case 42:J=zGb(a,b,0,true);I=J.a;I.length>0&&!!a.c&&n$b(a.c,I);b=J.b;return b;case 12:b=!a.o?ZHb(a.j):vGb(a);w=a.j.g;k=YHb(a.j);Y=null;if(b!=(SHb(),EHb)&&b!=CHb){bb=JGb(a,b,a.j.g,YHb(a.j),b==HHb,false);if(!!bb&&bb.j==
(m5b(),Q4b)){Z=bb.ci();!qhc(Z,Bxc)&&!qhc(Z,Dxc)&&!qhc(Z,Axc)&&(bb=lHb(a,(m5b(),I2b),bb))}Y=!bb?null:new J_b(bb,!a.g?null:a.g.Dg())}else a.o=b;!Y&&(Y=uGb(a,GGb(a,Bxc,a.j.g,YHb(a.j))));I$b(a.e,Y)||a.b.fh(zEc+m2b(BEc,null)+AEc,!a.g?null:a.g.Dg(),w,k);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 16:K$b(a.e)||oGb(a,"msg.jsdoc.expose",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 14:M$b(a.e)||oGb(a,"msg.jsdoc.externs",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 13:case 21:jHb(a);b=!a.o?
ZHb(a.j):vGb(a);w=a.j.g;k=YHb(a.j);A=false;if(b==(SHb(),HHb)){b=!a.o?ZHb(a.j):vGb(a);A=true}if(b==RHb){bb=JGb(a,b,w,k,A,true);w=a.j.g;k=YHb(a.j);bb=lHb(a,(m5b(),I2b),bb);Y=!bb?null:new J_b(bb,!a.g?null:a.g.Dg());if(d==(vDb(),CCb))Jlc(c,new pHb(Y,a.j.g,YHb(a.j)));else{je(d==ICb);R$b(a.e,Y)||a.b.fh(zEc+m2b("msg.jsdoc.implements.duplicate",null)+AEc,!a.g?null:a.g.Dg(),w,k)}b=!a.o?ZHb(a.j):vGb(a);A?b!=NHb?rGb(a,DEc,a.j.g,YHb(a.j)):b=!a.o?ZHb(a.j):vGb(a):b!=EHb&&b!=DHb&&b!=CHb&&rGb(a,"msg.end.annotation.expected",
a.j.g,YHb(a.j))}else a.b.fh(zEc+m2b("msg.no.type.name",null)+AEc,!a.g?null:a.g.Dg(),w,k);b=xGb(a,b);return b;case 19:P$b(a.e)||oGb(a,"msg.jsdoc.hidden",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 29:jHb(a);A=false;if(DGb(a,(SHb(),HHb))){b=!a.o?ZHb(a.j):vGb(a);A=true}if(DGb(a,RHb)){b=!a.o?ZHb(a.j):vGb(a);Z$b(a.e,a.j.n)||rGb(a,"msg.jsdoc.lends.incompatible",a.j.g,YHb(a.j))}else rGb(a,"msg.jsdoc.lends.missing",a.j.g,YHb(a.j));A&&!DGb(a,NHb)&&rGb(a,DEc,a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):
vGb(a));case 31:C=zGb(a,b,a.f?0:2,false);B=C.a;b=C.b;a_b(a.e,B)||oGb(a,"msg.jsdoc.meaning.extra",a.j.g,YHb(a.j));return b;case 33:d_b(a.e)||oGb(a,"msg.jsdoc.noalias",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 35:f_b(a.e)||oGb(a,"msg.jsdoc.nocompile",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 34:e_b(a.e)||oGb(a,"msg.jsdoc.nocollapse",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 37:return xGb(a,!a.o?ZHb(a.j):vGb(a));case 23:case 38:j_b(a.e)||rGb(a,"msg.jsdoc.override",
a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 41:dZb(a.e.a)?oGb(a,"msg.jsdoc.polymerBehavior.extra",a.j.g,YHb(a.j)):m_b(a.e);return xGb(a,!a.o?ZHb(a.j):vGb(a));case 53:jHb(a);b=!a.o?ZHb(a.j):vGb(a);w=a.j.g;k=YHb(a.j);Y=null;if(b==(SHb(),HHb)){Y=uGb(a,JGb(a,b,a.j.g,YHb(a.j),b==HHb,false));if(!Y)return xGb(a,!a.o?ZHb(a.j):vGb(a))}b=vGb(a);v_b(a.e,Y);t=CGb(a,64);if(a.e.c&&!t){m=zGb(a,b,a.f?0:2,false);l=m.a;l.length>0&&u_b(a.e,Y,l);b=m.b}else b=xGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 40:jHb(a);
b=!a.o?ZHb(a.j):vGb(a);w=a.j.g;k=YHb(a.j);Y=null;q=false;if(b==(SHb(),HHb)){Y=uGb(a,(Xd(b==HHb),gb=a.j.g,hb=YHb(a.j),ib=(Xd(b==HHb),jHb(a),jb=VGb(a,!a.o?ZHb(a.j):vGb(a)),!!jb&&(DGb(a,NHb)?!a.o?ZHb(a.j):vGb(a):(rGb(a,DEc,a.j.g,YHb(a.j)),null)),jb),gHb(a,gb,hb,ib,true),ib));if(!Y)return xGb(a,!a.o?ZHb(a.j):vGb(a));jHb(a);b=!a.o?ZHb(a.j):vGb(a);w=a.j.g;k=YHb(a.j);q=true}D=null;u=JHb==b;u&&(b=!a.o?ZHb(a.j):vGb(a));if(RHb!=b)a.b.fh(zEc+m2b("msg.missing.variable.name",null)+AEc,!a.g?null:a.g.Dg(),w,k);
else{q||nGb(a,a.j.g,YHb(a.j));D=a.j.n;if(u){b=!a.o?ZHb(a.j):vGb(a);if(FHb==b){b=!a.o?ZHb(a.j):vGb(a);RHb==b&&(b=!a.o?ZHb(a.j):vGb(a))}PHb!=b?(rGb(a,"msg.jsdoc.missing.rb",a.j.g,YHb(a.j)),null):!!Y&&(Y=Y.a.j==(m5b(),p3b)||Y.a.j==j3b?Y:new J_b(new b1b(p3b,Y.a),Y.b))}if(r5b(D))k_b(a.e,D,Y)||(q$b(a.e,D)?a.b.fh((g=vC(qC(yR,1),Uxc,1,5,[D]),zEc+m2b("msg.dup.variable.name",g)+AEc),!a.g?null:a.g.Dg(),w,k):a.b.fh((f=vC(qC(yR,1),Uxc,1,5,[D]),zEc+m2b(BEc,f)+AEc),!a.g?null:a.g.Dg(),w,k));else{a.b.fh((f=vC(qC(yR,
1),Uxc,1,5,[D]),m2b("msg.invalid.variable.name",f)),!a.g?null:a.g.Dg(),w,k);D=null}}if(D==null){b=xGb(a,b);return b}t$b(a.e,D,a.g,w,k);if(a.e.c&&b!=xHb){H=zGb(a,b,a.f?0:2,false);G=H.a;G.length>0&&l_b(a.e,D,G);b=H.b}else b!=CHb&&b!=DHb&&(b=xGb(a,!a.o?ZHb(a.j):vGb(a)));return b;case 36:g_b(a.e)||oGb(a,"msg.jsdoc.nosideeffects",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 32:b=UGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 22:S$b(a.e)||rGb(a,"msg.jsdoc.implicitcast",a.j.g,YHb(a.j));return xGb(a,
!a.o?ZHb(a.j):vGb(a));case 47:if(a.e.c){N=AGb(a);M=N.a;M.length==0?oGb(a,"msg.jsdoc.seemissing",a.j.g,YHb(a.j)):o$b(a.e,M);b=N.b}else b=xGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 48:p_b(a.e)||oGb(a,"msg.jsdoc.stableidgen",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 50:b=ZGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 51:S=a.j.g;Q=YHb(a.j);R=zGb(a,b,1,false);U=R.a;cb="";v=false;db=true;if(U.indexOf(":=")!=-1){X=U.indexOf(":=");T=U.substr(0,X);if(U.indexOf("=:")!=-1){v=true;V=U.indexOf("=:");cb=
Lhc(U.substr(X+2,V-(X+2)))}else{db=false;a.b.fh(zEc+m2b("msg.jsdoc.typetransformation.missing.delimiter",null)+AEc,!a.g?null:a.g.Dg(),S,Q)}}else U.indexOf(Gyc)!=-1?T=Hhc(U,0,thc(U,Nhc(10))):T=U;F=zf(Bf(Ef(new jc(44)),(Ic(),Gc)),T);if(F.b.size()==1&&F.a.getAtIndex(0).length==0)a.b.fh(zEc+m2b("msg.jsdoc.templatemissing",null)+AEc,!a.g?null:a.g.Dg(),S,Q);else for($=new yoc(F.b.Ld());$.b.Dd();){Z=$.b.Ed();Z.length!=0&&tc((sc(),rc,Z.charCodeAt(0)))&&Kb(new Dc((nc(),mc),new jc(95)),Z)?v||s_b(a.e,Z)||a.b.fh(zEc+
m2b(EEc,null)+AEc,!a.g?null:a.g.Dg(),S,Q):a.b.fh(zEc+m2b("msg.jsdoc.template.invalid.type.name",null)+AEc,!a.g?null:a.g.Dg(),S,Q)}if(v){F.b.size()>1&&a.b.fh(zEc+m2b("msg.jsdoc.typetransformation.with.multiple.names",null)+AEc,!a.g?null:a.g.Dg(),S,Q);if(cb.length==0){db=false;a.b.fh(zEc+m2b("msg.jsdoc.typetransformation.expression.missing",null)+AEc,!a.g?null:a.g.Dg(),S,Q)}if(db){W=new bJb(cb,a.g,a.b,S,Q);BIb(W)&&!x_b(a.e,F.a.getAtIndex(0),W.e)&&a.b.fh(zEc+m2b(EEc,null)+AEc,!a.g?null:a.g.Dg(),S,Q)}}b=
R.b;return b;case 20:b=SGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 58:C_b(a.e)||oGb(a,"msg.jsdoc.wizaction",a.j.g,YHb(a.j));return xGb(a,!a.o?ZHb(a.j):vGb(a));case 11:R=AGb(a);F=zf(Bf(Ef(new jc(44)),(Ic(),Gc)),R.a);F.a.isEmpty()||F.a.getAtIndex(0).length==0?rGb(a,"msg.jsdoc.disposeparameter.missing",a.j.g,YHb(a.j)):H$b(a.e,F)||rGb(a,"msg.jsdoc.disposeparameter.error",a.j.g,YHb(a.j));b=R.b;return b;case 57:fb=AGb(a);eb=fb.a;eb.length==0?oGb(a,"msg.jsdoc.versionmissing",a.j.g,YHb(a.j)):A_b(a.e,eb)||oGb(a,
"msg.jsdoc.extraversion",a.j.g,YHb(a.j));b=fb.b;return b;case 4:case 18:case 7:case 15:case 46:case 39:case 43:case 44:case 45:case 52:case 54:case 55:w=a.j.g;k=YHb(a.j);ab=null;r=CGb(a,123);s=d==(vDb(),_Cb)||d==dDb||d==eDb||d==fDb||d==sCb||d==FCb||d==ACb;j=s||d==hDb;Y=null;d==hDb&&!r&&nGb(a,a.j.g,YHb(a.j));if(r||!j){jHb(a);b=!a.o?ZHb(a.j):vGb(a);ab=JGb(a,b,a.j.g,YHb(a.j),b==(SHb(),HHb),false);d==nDb&&(ab=lHb(a,(m5b(),I2b),ab));Y=!ab?null:new J_b(ab,!a.g?null:a.g.Dg())}p=!Y&&!j;if(!p){(!!Y&&s||d==
pDb)&&!w_b(a.e,Y)&&a.b.fh(zEc+m2b(BEc,null)+AEc,!a.g?null:a.g.Dg(),w,k);t=CGb(a,64);switch(d.f){case 4:A$b(a.e)||oGb(a,"msg.jsdoc.const",a.j.g,YHb(a.j));break;case 18:O$b(a.e)||rGb(a,"msg.jsdoc.final",a.j.g,YHb(a.j));break;case 7:C$b(a.e,Y)||a.b.fh(m2b("msg.jsdoc.define",null),!a.g?null:a.g.Dg(),w,k);if(!t)return fHb(a,b);break;case 15:J$b(a.e)?B_b(a.e,(j$b(),i$b))||a.b.fh(m2b(FEc,null),!a.g?null:a.g.Dg(),w,k):a.b.fh(m2b("msg.jsdoc.export",null),!a.g?null:a.g.Dg(),w,k);if(!t)return fHb(a,b);break;
case 43:B_b(a.e,(j$b(),g$b))||a.b.fh(m2b(FEc,null),!a.g?null:a.g.Dg(),w,k);if(!t)return fHb(a,b);break;case 39:B_b(a.e,(j$b(),f$b))||a.b.fh(m2b(FEc,null),!a.g?null:a.g.Dg(),w,k);if(!t)return fHb(a,b);break;case 44:B_b(a.e,(j$b(),h$b))||a.b.fh(m2b(FEc,null),!a.g?null:a.g.Dg(),w,k);if(!t)return fHb(a,b);break;case 45:B_b(a.e,(j$b(),i$b))||a.b.fh(m2b(FEc,null),!a.g?null:a.g.Dg(),w,k);if(!t)return fHb(a,b);break;case 46:!Y&&(Y=uGb(a,FGb(a,(m5b(),D4b))));if(!o_b(a.e,Y)){a.b.fh(zEc+m2b(BEc,null)+AEc,!a.g?
null:a.g.Dg(),w,k);break}if(a.e.c&&!t){P=zGb(a,b,a.f?0:2,false);O=P.a;O.length>0&&n_b(a.e,O);b=P.b}else b=xGb(a,!a.o?ZHb(a.j):vGb(a));return b;case 52:t_b(a.e,Y)||a.b.fh(zEc+m2b(BEc,null)+AEc,!a.g?null:a.g.Dg(),w,k);break;case 55:y_b(a.e,Y)||a.b.fh(zEc+m2b(BEc,null)+AEc,!a.g?null:a.g.Dg(),w,k)}}return xGb(a,!a.o?ZHb(a.j):vGb(a))}}return!a.o?ZHb(a.j):vGb(a)}function _kb(){var a;a=new dic;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 this when the compiler understands \\"symbol\\" natively\\n/**\\n * @return {Iterator<VALUE>}\\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<VALUE>}\\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<T>}\\n * @extends {Iterable<T>}\\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<number, VALUE2>}\\n * @template VALUE2\\n */\\nfunction IArrayLike() {}\\n\\n/** @type {number} */\\nIArrayLike.prototype.length;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\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<string> in the d8 externs.\\n *\\n * @type {!Arguments}\\n * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments\\n */\\nvar arguments;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n * @const\\n */\\nvar Infinity;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n * @const\\n */\\nvar NaN;\\n\\n/**\\n * @type {undefined}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n * @const\\n */\\nvar undefined;\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\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 * @nosideeffects\\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 * @nosideeffects\\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 * @nosideeffects\\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<T>}\\n * @implements {Iterable<T>}\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n */\\nfunction Array(var_args) {}\\n\\n/**\\n * @return {Iterator<T>}\\n * @suppress {externsValidation}\\n */\\nArray.prototype[Symbol.iterator] = function() {};\\n\\n// Functions:\\n\\n/**\\n * Returns a new array comprised of this array joined with other array(s)\\n * and/or value(s).\\n *\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @this {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat\\n */\\nArray.prototype.concat = function(var_args) {};\\n\\n/**\\n * Joins all elements of an array into a string.\\n *\\n * @param {*=} opt_separator Specifies a string to separate each element of the\\n *     array. The separator is converted to a string if necessary. If omitted,\\n *     the array elements are separated with a co';
a.a+="mma.\\n * @return {string}\\n * @this {IArrayLike<?>|string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join\\n */\\nArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * Removes the last element from an array and returns that element.\\n *\\n * @return {T}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop\\n */\\nArray.prototype.pop = function() {};\\n\\n/**\\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<T>}\\n * @template T\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push\\n */\\nArray.prototype.push = function(var_args) {};\\n\\n/**\\n * Transposes the elements of an array in place: the first array element becomes the\\n * last and the last becomes the first. The mutated array is also returned.\\n *\\n * @return {THIS} A reference to the original modified array.\\n * @this {THIS}\\n * @template THIS\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse\\n */\\nArray.prototype.reverse = function() {};\\n\\n/**\\n * Removes the first element from an array and returns that element. This\\n * method changes the length of the array.\\n *\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @return {T}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift\\n */\\nArray.prototype.shift = function() {};\\n\\n/**\\n * Extracts a section of an array and returns a new array.\\n *\\n * @param {*=} 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<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\\n */\\nArray.prototype.slice = function(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<T>}\\n * @template T\\n * @modifies {this}\\n * @return {!Array<T>}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\\n */\\nArray.prototype.sort = function(opt_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<T>}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice\\n */\\nArray.prototype.splice = function(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<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce\\n */\\nArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * right-to-left) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight\\n */\\nArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every\\n */\\nArray.prototype.every = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\\n */\\nArray.prototype.filter = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\\n * @return {undefined}\\n */\\nArray.prototype.forEach = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.prototype.indexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.prototype.lastIndexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<R>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map\\n */\\nArray.prototype.map = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some\\n */\\nArray.prototype.some = function(callback, opt_thisobj) {};\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index\\n */\\nArray.prototype.index;\\n\\n/**\\n * @type {?string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input\\n */\\nArray.prototype.input;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length\\n */\\nArray.prototype.length;\\n\\n/**\\n * @param {IArrayLike<T>} 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<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {!Array<T>}\\n * @template T,S\\n */\\nArray.filter = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} 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<T>} 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<T>} 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<T>} arr\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_context\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.map = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} 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 * @type {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 * @type {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 * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN\\n */\\nNumber.NaN;\\n\\n/**\\n * @type {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 * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY\\n */\\nNumber.POSITIVE_INFINITY;\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math\\n */\\nvar Math = {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs\\n */\\nMath.abs = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos\\n */\\nMath.acos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin\\n */\\nMath.asin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan\\n */\\nMath.atan = function(x) {};\\n\\n/**\\n * @param {?} y\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2\\n */\\nMath.atan2 = function(y, x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil\\n */\\nMath.ceil = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos\\n */\\nMath.cos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp\\n */\\nMath.exp = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor\\n */\\nMath.floor = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log\\n */\\nMath.log = function(x) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max\\n */\\nMath.max = function(var_args) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min\\n */\\nMath.min = function(var_args) {};\\n\\n/**\\n * @param {?} x\\n * @param {?} y\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow\\n */\\nMath.pow = function(x, y) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random\\n */\\nMath.random = function() {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.m";
a.a+="ozilla.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 * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\\n */\\nMath.E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\\n */\\nMath.LN2;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\\n */\\nMath.LN10;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\\n */\\nMath.LOG2E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\\n */\\nMath.LOG10E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\\n */\\nMath.PI;\\n\\n/**\\n * @type {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 * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2\\n */\\nMath.SQRT2;\\n\\n\\n/**\\n * @param {?=} opt_yr_num\\n * @param {?=} opt_mo_num\\n * @param {?=} opt_day_num\\n * @param {?=} opt_hr_num\\n * @param {?=} opt_min_num\\n * @param {?=} opt_sec_num\\n * @param {?=} opt_ms_num\\n * @constructor\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n */\\nfunction Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,\\n    opt_sec_num, opt_ms_num) {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now\\n */\\nDate.now = function() {};\\n\\n/**\\n * Parses a string representation of a date, and returns the number\\n * of milliseconds since January 1, 1970, 00:00:00, local time.\\n * @param {*} date\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\\n */\\nDate.parse = function(date) {};\\n\\n/**\\n * @param {number} year\\n * @param {number} month\\n * @param {number=} opt_date\\n * @param {number=} opt_hours\\n * @param {number=} opt_minute\\n * @param {number=} opt_second\\n * @param {number=} opt_ms\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC\\n */\\nDate.UTC = function(year, month,\\n                    opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate\\n */\\nDate.prototype.getDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay\\n */\\nDate.prototype.getDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth\\n */\\nDate.prototype.getMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear\\n */\\nDate.prototype.getFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear\\n */\\nDate.prototype.getYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours\\n */\\nDate.prototype.getHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes\\n */\\nDate.prototype.getMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds\\n */\\nDate.prototype.getSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds\\n */\\nDate.prototype.getMilliseconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime\\n */\\nDate.prototype.getTime = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\\n */\\nDate.prototype.getTimezoneOffset = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate\\n */\\nDate.prototype.getUTCDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay\\n */\\nDate.prototype.getUTCDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth\\n */\\nDate.prototype.getUTCMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear\\n */\\nDate.prototype.getUTCFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours\\n */\\nDate.prototype.getUTCHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes\\n */\\nDate.prototype.getUTCMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds\\n */\\nDate.prototype.getUTCSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds\\n */\\nDate.prototype.getUTCMilliseconds = function() {};\\n\\n/**\\n * Sets the day of the month for a specified date according to local time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\\n * @return {number}\\n */\\nDate.prototype.setDate = function(dayValue) {};\\n\\n/**\\n * Set the month for a specified date according to local time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\\n * @return {number}\\n */\\nDate.prototype.setMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear\\n * @return {number}\\n */\\nDate.prototype.setFullYear =\\n    function(yearValue, opt_monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @deprecated\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear\\n * @return {number}\\n */\\nDate.prototype.setYear = function(yearValue) {};\\n\\n/**\\n * Sets the hours for a specified date according to local time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours\\n * @return {number}\\n */\\nDate.prototype.setHours = function(hoursValue, opt_minutesValue,\\n                                   opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to local time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes\\n * @return {number}\\n */\\nDate.prototype.setMinutes =\\n    function(minutesValue, opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the seconds for a specified date according to local time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds\\n * @return {number}\\n */\\nDate.prototype.setSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to local time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * Sets the Date object to the time represented by a number of milliseconds\\n * since January 1, 1970, 00:00:00 UTC.\\n *\\n * @param {number} timeValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime\\n * @return {number}\\n */\\nDate.prototype.setTime = function(timeValue) {};\\n\\n/**\\n * Sets the day of the month for a specified date according to universal time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate\\n * @return {number}\\n */\\nDate.prototype.setUTCDate = function(dayValue) {};\\n\\n/**\\n * Sets the month for a specified date according to universal time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth\\n * @return {number}\\n */\\nDate.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to universal time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear\\n * @return {number}\\n */\\nDate.prototype.setUTCFullYear = function(yearValue, opt_monthValue,\\n                                         opt_dayValue) {};\\n\\n/**\\n * Sets the hour for a specified date according to universal time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours\\n * @return {number}\\n */\\nDate.prototype.setUTCHours = function(hoursValue, opt_minutesValue,\\n                                      opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to universal time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes\\n * @return {number}\\n */\\nDate.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,\\n                                        opt_msValue) {};\\n\\n\\n/**\\n * Sets the seconds for a specified date according to universal time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds\\n * @return {number}\\n */\\nDate.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to universal time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setUTCMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource\\n * @override\\n */\\nDate.prototype.toSource = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString\\n */\\nDate.prototype.toDateString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString\\n */\\nDate.prototype.toGMTString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString\\n */\\nDate.prototype.toTimeString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\\n */\\nDate.prototype.toUTCString = function() {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\\n */\\nDate.prototype.toLocaleDateString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} formatString\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat\\n */\\nDate.prototype.toLocaleFormat = function(formatString) {};\\n\\n/**\\n * @param {string|Array<string>=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1\\n * @override\\n */\\nDate.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString\\n */\\nDate.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @this {Date}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nDate.prototype.toString = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf\\n */\\nDate.prototype.valueOf;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_str\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaSc";
a.a+="ript/Reference/Global_Objects/String\\n */\\nfunction String(opt_str) {}\\n\\n/**\\n * @param {...number} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode\\n */\\nString.fromCharCode = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor\\n */\\nString.prototype.anchor = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big\\n */\\nString.prototype.big = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink\\n */\\nString.prototype.blink = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold\\n */\\nString.prototype.bold = function() {};\\n\\n/**\\n * Returns the specified character from a string.\\n *\\n * @this {String|string}\\n * @param {number} index\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt\\n */\\nString.prototype.charAt = function(index) {};\\n\\n/**\\n * Returns a number indicating the Unicode value of the character at the given\\n * index.\\n *\\n * @this {String|string}\\n * @param {number=} opt_index\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\\n */\\nString.prototype.charCodeAt = function(opt_index) {};\\n\\n/**\\n * Combines the text of two or more strings and returns a new string.\\n *\\n * @this {String|string}\\n * @param {...*} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat\\n */\\nString.prototype.concat = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed\\n */\\nString.prototype.fixed = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} color\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor\\n */\\nString.prototype.fontcolor = function(color) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} size\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize\\n */\\nString.prototype.fontsize = function(size) {};\\n\\n/**\\n * Returns the index within the calling String object of the first occurrence\\n * of the specified value, starting the search at fromIndex, returns -1 if the\\n * value is not found.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf\\n */\\nString.prototype.indexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics\\n */\\nString.prototype.italics = function() {};\\n\\n/**\\n * Returns the index within the calling String object of the last occurrence of\\n * the specified value, or -1 if not found. The calling string is searched\\n * backward, starting at fromIndex.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf\\n */\\nString.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} hrefAttribute\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link\\n */\\nString.prototype.link = function(hrefAttribute) {};\\n\\n/**\\n * Returns a number indicating whether a reference string comes before or after\\n * or is the same as the given string in sort order.\\n *\\n * @this {*}\\n * @param {?string} compareString\\n * @param {string|Array<string>=} locales\\n * @param {Object=} options\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1\\n */\\nString.prototype.localeCompare = function(compareString, locales, options) {};\\n\\n/**\\n * Used to retrieve the matches when matching a string against a regular\\n * expression.\\n *\\n * @this {String|string}\\n * @param {*} regexp\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see Regexp.prototype.exec.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match\\n */\\nString.prototype.match = function(regexp) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote\\n */\\nString.prototype.quote = function() {};\\n\\n/**\\n * Finds a match between a regular expression and a string, and replaces the\\n * matched substring with a new substring.\\n *\\n * This may have side-effects if the replacement function has side-effects.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} 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<string>}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split\\n */\\nString.prototype.split = function(opt_separator, opt_limit) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike\\n */\\nString.prototype.strike = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub\\n */\\nString.prototype.sub = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_length\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr\\n */\\nString.prototype.substr = function(start, opt_length) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring\\n */\\nString.prototype.substring = function(start, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup\\n */\\nString.prototype.sup = function() {};\\n\\n/**\\n * @this {String|string}\\n * @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 * @nosideeffects\\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<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see 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, will be left out of the stack trace.\\n * @param {Object} error The object to add the stack trace to.\\n * @param {Function=} opt_constructor A function in the stack trace\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n * @return {undefined}\\n */\\nError.captureStackTrace = function(error, opt_construct";
a.a+='or){};\\n\\n\\n/**\\n * IE-only.\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx\\n */\\nError.prototype.description;\\n\\n\\n/**\\n * Mozilla-only.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber\\n */\\nError.prototype.lineNumber;\\n\\n/**\\n * Mozilla-only\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName\\n */\\nError.prototype.fileName;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name\\n */\\nError.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message\\n */\\nError.prototype.message;\\n\\n/**\\n * Doesn\'t seem to exist, but closure/debug.js references it.\\n */\\nError.prototype.sourceURL;\\n\\n/** @type {string} */\\nError.prototype.stack;\\n\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!EvalError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n */\\nfunction EvalError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!RangeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n */\\nfunction RangeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!ReferenceError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n */\\nfunction ReferenceError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!SyntaxError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n */\\nfunction SyntaxError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!TypeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n */\\nfunction TypeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!URIError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n */\\nfunction URIError(opt_message, opt_file, opt_line) {}\\n\\n\\n// JScript extensions.\\n// @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx\\n * @type {function(new:?, string, string=)}\\n */\\nfunction ActiveXObject(progId, opt_location) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspx\\n */\\nfunction ScriptEngine() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspx\\n */\\nfunction ScriptEngineMajorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspx\\n */\\nfunction ScriptEngineMinorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspx\\n */\\nfunction ScriptEngineBuildVersion() {}\\n","externs/es5.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 5.\\n * @see https://es5.github.io/\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n\\n/**\\n * @param {Object|undefined} selfObj Specifies the object to which |this| should\\n *     point when the function is run. If the value is null or undefined, it\\n *     will default to the global object.\\n * @param {...*} var_args Additional arguments that are partially\\n *     applied to fn.\\n * @return {!Function} A partially-applied form of the Function on which\\n *     bind() was invoked as a method.\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\\n */\\nFunction.prototype.bind = function(selfObj, var_args) {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim\\n */\\nString.prototype.trim = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLeft\\n */\\nString.prototype.trimLeft = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRight\\n */\\nString.prototype.trimRight = function() {};\\n\\n\\n/**\\n * A object property descriptor used by Object.create, Object.defineProperty,\\n * Object.defineProperties, Object.getOwnPropertyDescriptor.\\n *\\n * Note: not a real constructor.\\n * @constructor\\n * @template THIS\\n */\\nfunction ObjectPropertyDescriptor() {}\\n\\n/** @type {*} */\\nObjectPropertyDescriptor.prototype.value;\\n\\n/** @type {(function(this: THIS):?)|undefined} */\\nObjectPropertyDescriptor.prototype.get;\\n\\n/** @type {(function(this: THIS, ?):void)|undefined} */\\nObjectPropertyDescriptor.prototype.set;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.writable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.enumerable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.configurable;\\n\\n\\n/**\\n * @param {Object} proto\\n * @param {Object=} opt_properties  A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create\\n */\\nObject.create = function(proto, opt_properties) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @param {!Object} descriptor A ObjectPropertyDescriptor.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty\\n */\\nObject.defineProperty = function(obj, prop, descriptor) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {!Object} props A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties\\n */\\nObject.defineProperties = function(obj, props) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @return {!ObjectPropertyDescriptor|undefined}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor\\n */\\nObject.getOwnPropertyDescriptor = function(obj, prop) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys\\n */\\nObject.keys = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames\\n */\\nObject.getOwnPropertyNames = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf\\n */\\nObject.getPrototypeOf = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions\\n */\\nObject.preventExtensions = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal\\n */\\nObject.seal = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze\\n */\\nObject.freeze = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible\\n */\\nObject.isExtensible = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed\\n */\\nObject.isSealed = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen\\n */\\nObject.isFrozen = function(obj) {};\\n\\n\\n/**\\n * @param {string=} opt_key The JSON key for this object.\\n * @return {*} The serializable representation of this object. Note that this\\n *     need not be a string. See http://goo.gl/PEUvs.\\n * @see https://es5.github.io/#x15.12.3\\n */\\nObject.prototype.toJSON = function(opt_key) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString\\n * @return {string}\\n */\\nDate.prototype.toISOString = function() {};\\n\\n\\n/**\\n * @param {*=} opt_ignoredKey\\n * @return {string}\\n * @override\\n */\\nDate.prototype.toJSON = function(opt_ignoredKey) {};\\n\\n\\n/**\\n * A fake type to model the JSON object.\\n * @constructor\\n */\\nfunction JSONType() {}\\n\\n\\n/**\\n * @param {string} jsonStr The string to parse.\\n * @param {(function(string, *) : *)=} opt_reviver\\n * @return {*} The JSON object.\\n * @throws {Error}\\n */\\nJSONType.prototype.parse = function(jsonStr, opt_reviver) {};\\n\\n\\n/**\\n * @param {*} jsonObj Input object.\\n * @param {(Array<string>|(function(string, *) : *)|null)=} opt_replacer\\n * @param {(number|string)=} opt_space\\n * @return {string} JSON string which represents jsonObj.\\n * @throws {Error}\\n */\\nJSONType.prototype.stringify = function(jsonObj, opt_replacer, opt_space) {};\\n\\n\\n/**\\n * @type {!JSONType}\\n * @suppress {duplicate}\\n */\\nvar JSON;\\n","externs/es6.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6 and later.\\n * @see https://tc39.github.io/ecma262/\\n * @see https://www.khronos.org/registry/typedarray/specs/latest/\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n * @implements {IteratorIterable<VALUE>}\\n * @template VALUE\\n */\\nfunction Generator() {}\\n\\n/**\\n * @param {?=} opt_value\\n * @return {!IIterableResult<VALUE>}\\n * @override\\n */\\nGenerator.prototype.next = function(opt_value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.return = function(value) {};\\n\\n/**\\n * @param {?} exception\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.throw = function(exception) {};\\n\\n\\n// TODO(johnlenz): Array and Arguments should be Iterable.\\n\\n\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log10 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log2 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log1p = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.expm1 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.tanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.acosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.asinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.atanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.trunc = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sign = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cbrt = function(value) {};\\n\\n/**\\n * @param {number} value1\\n * @param {...number} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot\\n */\\nMath.hypot = function(value1, var_args) {};\\n\\n/**\\n * @param {number} value1\\n * @param {number} value2\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\\n */\\nMath.imul = function(value1, value2) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\\n */\\nMath.clz32 = function(value) {};\\n\\n\\n/**\\n * @param {*} a\\n * @param {*} b\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n */\\nObject.is;\\n\\n\\n/**\\n * Returns a language-sensitive string representation of this number.\\n * @param {(string|!Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1\\n * @override\\n */\\nNumber.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n\\n/**\\n * Repeats the string the given number of times.\\n *\\n * @param {number} count The number of times the string is repeated.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\\n */\\nString.prototype.repeat = function(count) {};\\n\\n/**\\n * @constructor\\n * @extends {Array<string>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject\\n */\\nvar ITemplateArray = function() {};\\n\\n/**\\n * @type {!Array<string>}\\n */\\nITemplateArray.prototype.raw;\\n\\n/**\\n * @param {!ITemplateArray} template\\n * @param {...*} var_args Substitution values.\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw\\n */\\nString.raw = function(template, var_args) {};\\n\\n\\n/**\\n * @param {number} codePoint\\n * @param {...nu';
a.a+="mber} var_args Additional codepoints\\n * @return {string}\\n */\\nString.fromCodePoint = function(codePoint, var_args) {};\\n\\n\\n/**\\n * @param {number} index\\n * @return {number}\\n * @nosideeffects\\n */\\nString.prototype.codePointAt = function(index) {};\\n\\n\\n/**\\n * @param {string=} opt_form\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize\\n */\\nString.prototype.normalize = function(opt_form) {};\\n\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\\n */\\nString.prototype.startsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\\n */\\nString.prototype.endsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\\n */\\nString.prototype.includes = function(searchString, opt_position) {};\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/postmsg/\\n * @interface\\n */\\nfunction Transferable() {}\\n\\n/**\\n * @param {number} length The length in bytes\\n * @constructor\\n * @noalias\\n * @throws {Error}\\n * @implements {Transferable}\\n */\\nfunction ArrayBuffer(length) {}\\n\\n/** @type {number} */\\nArrayBuffer.prototype.byteLength;\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {!ArrayBuffer}\\n * @nosideeffects\\n */\\nArrayBuffer.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @param {*} arg\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView\\n */\\nArrayBuffer.isView = function(arg) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction ArrayBufferView() {}\\n\\n/** @type {!ArrayBuffer} */\\nArrayBufferView.prototype.buffer;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteOffset;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteLength;\\n\\n\\n/**\\n * @typedef {!ArrayBuffer|!ArrayBufferView}\\n */\\nvar BufferSource;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<number>}\\n * @extends {ArrayBufferView}\\n */\\nfunction TypedArray() {};\\n\\n/** @const {number} */\\nTypedArray.prototype.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\\n */\\nTypedArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<number>>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\\n */\\nTypedArray.prototype.entries = function() {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\\n */\\nTypedArray.prototype.every = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\\n */\\nTypedArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\\n */\\nTypedArray.prototype.filter = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {(number|undefined)}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\\n */\\nTypedArray.prototype.find = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {number}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\\n */\\nTypedArray.prototype.findIndex = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {undefined}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\\n */\\nTypedArray.prototype.forEach = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\\n */\\nTypedArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\\n */\\nTypedArray.prototype.indexOf = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {string=} opt_separator\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\\n */\\nTypedArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\\n */\\nTypedArray.prototype.keys = function() {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\\n */\\nTypedArray.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};\\n\\n/** @type {number} */\\nTypedArray.prototype.length;\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : number} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\\n */\\nTypedArray.prototype.map = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\\n */\\nTypedArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\\n */\\nTypedArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\\n */\\nTypedArray.prototype.reverse = function() {};\\n\\n/**\\n * @param {!ArrayBufferView|!Array<number>} array\\n * @param {number=} opt_offset\\n * @return {undefined}\\n * @throws {!RangeError}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\\n */\\nTypedArray.prototype.set = function(array, opt_offset) {};\\n\\n/**\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\\n */\\nTypedArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\\n */\\nTypedArray.prototype.some = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {(function(number, number) : number)=} opt_compareFunction\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\\n */\\nTypedArray.prototype.sort = function(opt_compareFunction) {};\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\\n */\\nTypedArray.prototype.subarray = function(begin, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\\n */\\nTypedArray.prototype.values = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\\n * @override\\n */\\nTypedArray.prototype.toLocaleString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\\n * @override\\n */\\nTypedArray.prototype.toString = function() {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments} If the user passes a backing array, then indexed\\n *     accesses will modify the backing array. JSCompiler does not model\\n *     this well. In other words, if you have:\\n *     <code>\\n *     var x = new ArrayBuffer(1);\\n *     var y = new Int8Array(x);\\n *     y[0] = 2;\\n *     </code>\\n *     JSCompiler will not recognize that the last assignment modifies x.\\n *     We workaround this by marking all these arrays as @modifies {arguments},\\n *     to introduce the possibility that x aliases y.\\n */\\nfunction Int8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8ClampedArray(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8ClampedArray.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8ClampedArray.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8ClampedArray.of = function(var_args) {};\\n\\n\\n/**\\n * @typedef {Uint8ClampedArray}\\n * @deprecated CanvasPixelArray has been replaced by Uint8ClampedArray\\n *     in the latest spec.\\n * @see http://www.w3.org/TR/2dcontext/#imagedata\\n */\\nvar CanvasPixelArray;\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer";
a.a+="ence/Global_Objects/TypedArray/from\\n */\\nInt32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float64Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat64Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat64Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat64Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {ArrayBuffer} buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_byteLength\\n * @constructor\\n * @extends {ArrayBufferView}\\n * @noalias\\n * @throws {Error}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataView\\n */\\nfunction DataView(buffer, opt_byteOffset, opt_byteLength) {}\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat64 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat32 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat64 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n\\n/**\\n * @see https://github.com/promises-aplus/promises-spec\\n * @typedef {{then: ?}}\\n */\\nvar Thenable;\\n\\n\\n/**\\n * This is not an official DOM interface. It is used to add generic typing\\n * and respective type inference where available.\\n * {@see goog.Thenable} inherits from this making all promises\\n * interoperate.\\n * @interface\\n * @template TYPE\\n */\\nfunction IThenable() {}\\n\\n\\n/**\\n * @param {?(function(TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(*): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('IThenable',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nIThenable.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {function(\\n *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n *             function(*=))} resolver\\n * @constructor\\n * @implements {IThenable<TYPE>}\\n * @template TYPE\\n */\\nfunction Promise(resolver) {}\\n\\n\\n/**\\n * @param {VALUE=} opt_value\\n * @return {RESULT}\\n * @template VALUE\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nPromise.resolve = function(opt_value) {};\\n\\n\\n/**\\n * @param {*=} opt_error\\n * @return {!Promise<?>}\\n */\\nPromise.reject = function(opt_error) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<!Array<RESULT>>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.all = function(iterable) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<RESULT>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.race = function(iterable) {};\\n\\n\\n/**\\n * @param {?(function(this:void, TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(this:void, *): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n * @override\\n */\\nPromise.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @param {function(*): RESULT} onRejected\\n * @return {!Promise<RESULT>}\\n * @template RESULT\\n */\\nPromise.prototype.catch = function(onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @template T\\n */\\nArray.of = function(var_args) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from\\n * @param {string|!IArrayLike<T>|!Iterable<T>} arrayLike\\n * @param {function(this:S, (string|T), number): R=} opt_mapFn\\n * @param {S=} opt_this\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.from = function(arrayLike, opt_mapFn, opt_this) {};\\n\\n\\n/** @return {!IteratorIterable<number>} */\\nArray.prototype.keys;\\n\\n\\n/**\\n * @return {!IteratorIterable<!Array<number|T>>} Iterator of [key, value] pairs.\\n */\\nArray.prototype.entries;\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicate\\n * @param {S=} opt_this\\n * @return {T|undefined}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.find\\n */\\nArray.prototype.find = function(predicate, opt_this) {};\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicate\\n * @param {S=} opt_this\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.findindex\\n */\\nArray.prototype.findIndex = function(predicate, opt_this) {};\\n\\n\\n/**\\n * @param {T} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {!IArrayLike<T>}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.fill\\n */\\nArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.copywithin\\n * @template T\\n * @return {!IArrayLike<T>}\\n */\\nArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n\\n/**\\n * @param {T} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see https://tc39.github.io/ecma262/#sec-array.prototype.includes\\n */\\nArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<symbol>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.getownpropertysymbols\\n */\\nObject.getOwnPropertySymbols = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {?} proto\\n * @return {!Object}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.setprototypeof\\n */\\nObject.setPrototypeOf = function(obj, proto) {};\\n\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON\\n */\\nNumber.EPSILON;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER\\n */\\nNumber.MIN_SAFE_INTEGER;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\\n */\\nNumber.MAX_SAFE_INTEGER;\\n\\n\\n\\n/**\\n * Parse an integer. Use of {@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 {string} string\\n * @param {number|undefined} radix\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt\\n */\\nNumber.parseInt = function(string, radix) {};\\n\\n/**\\n * @param {string} string\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat\\n */\\nNumber.parseFloat = function(string) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN\\n */\\nNumber.isNaN = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite\\n */\\nNumber.isFinite = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\\n */\\nNumber.isInteger = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger\\n */\\nNumber.isSafeInteger = function(value) {};\\n\\n\\n\\n/**\\n * @param {!Object} target\\n * @param {...Object} var_args\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n */\\nObject.assign = function(target, var_args) {};\\n\\n/**\\n * TODO(dbeam): find a better place for ES2017 externs like this one.\\n * @param {!Object<T>} obj\\n * @return {!Array<T>} values\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\\n * @throws {Error}\\n * @template T\\n */\\nObject.values = function(obj) {};\\n\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n */\\nvar Reflect = {};\\n\\n/**\\n * @param {function(this: THIS, ...?): RESULT} target\\n * @param {THIS} thisArg\\n * @param {!Arra";
a.a+='y} argList\\n * @return {RESULT}\\n * @template THIS, RESULT\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n */\\nReflect.apply = function(target, thisArg, argList) {};\\n\\n/**\\n * @param {function(new: ?, ...?)} target\\n * @param {!Array} argList\\n * @param {function(new: TARGET, ...?)=} opt_newTarget\\n * @return {TARGET}\\n * @template TARGET\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n */\\nReflect.construct = function(target, argList, opt_newTarget) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object} attributes\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n */\\nReflect.defineProperty = function(target, propertyKey, attributes) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n */\\nReflect.deleteProperty = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object=} opt_receiver\\n * @return {*}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n */\\nReflect.get = function(target, propertyKey, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {?ObjectPropertyDescriptor}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor\\n */\\nReflect.getOwnPropertyDescriptor = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {?Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf\\n */\\nReflect.getPrototypeOf = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n */\\nReflect.has = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible\\n */\\nReflect.isExtensible = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {!Array<(string|symbol)>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n */\\nReflect.ownKeys = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n */\\nReflect.preventExtensions = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {*} value\\n * @param {!Object=} opt_receiver\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n */\\nReflect.set = function(target, propertyKey, value, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {?Object} proto\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n */\\nReflect.setPrototypeOf = function(target, proto) {};\\n","externs/es6_collections.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6.\\n * @see http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts\\n * @externs\\n */\\n\\n// TODO(johnlenz): Use Tuples for the Map and Set iterators where appropriate.\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @implements {Iterable<!Array<KEY|VALUE>>}\\n * @template KEY, VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n */\\nfunction Map(opt_iterable) {}\\n\\n/** @return {void} */\\nMap.prototype.clear;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nMap.prototype.delete;\\n\\n/**\\n * @return {!IteratorIterable<!Array<KEY|VALUE>>}\\n * @nosideeffects\\n */\\nMap.prototype.entries;\\n\\n/**\\n * @param {function(this:THIS, VALUE, KEY, MAP)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {MAP}\\n * @template MAP,THIS\\n */\\nMap.prototype.forEach;\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nMap.prototype.get;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nMap.prototype.has;\\n\\n/**\\n * @return {!IteratorIterable<KEY>}\\n */\\nMap.prototype.keys;\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nMap.prototype.set;\\n\\n/**\\n * @type {number}\\n * (readonly)\\n */\\nMap.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nMap.prototype.values;\\n\\n/**\\n * @return {!Iterator<!Array<KEY|VALUE>>}\\n */\\nMap.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @template KEY, VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n */\\nfunction WeakMap(opt_iterable) {}\\n\\n/** @return {void} */\\nWeakMap.prototype.clear;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nWeakMap.prototype.delete;\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nWeakMap.prototype.get;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakMap.prototype.has;\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakMap.prototype.set;\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @implements {Iterable<VALUE>}\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction Set(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nSet.prototype.add;\\n\\n/**\\n * @return {void}\\n */\\nSet.prototype.clear;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nSet.prototype.delete;\\n\\n/**\\n * @return {!IteratorIterable<!Array<VALUE>>} Where each array has two entries:\\n *     [value, value]\\n * @nosideeffects\\n */\\nSet.prototype.entries;\\n\\n/**\\n * @param {function(this: THIS, VALUE, VALUE, SET)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {SET}\\n * @template SET,THIS\\n */\\nSet.prototype.forEach;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nSet.prototype.has;\\n\\n/**\\n * @type {number} (readonly)\\n */\\nSet.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.keys;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.values;\\n\\n/**\\n * @return {!Iterator<VALUE>}\\n */\\nSet.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction WeakSet(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakSet.prototype.add;\\n\\n/**\\n * @return {void}\\n */\\nWeakSet.prototype.clear;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nWeakSet.prototype.delete;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakSet.prototype.has;\\n","externs/intl.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the JS Internationalization API as defined in\\n * http://www.ecma-international.org/ecma-402/1.0/\\n *\\n * @externs\\n */\\n\\n/** @const */\\nvar Intl = {};\\n\\n/**\\n * NOTE: this API is not from ecma402 and is subject to change.\\n * @param {string|Array<string>=} opt_locales\\n * @param {{type: (string|undefined)}=}\\n *         opt_options\\n * @constructor\\n */\\nIntl.v8BreakIterator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n */\\nIntl.v8BreakIterator.prototype.adoptText = function(text) {};\\n\\n/**\\n * @return {string}\\n */\\nIntl.v8BreakIterator.prototype.breakType = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.current = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.first = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.next = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{usage: (string|undefined), localeMatcher: (string|undefined),\\n *     sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined),\\n *     numeric: (boolean|undefined), caseFirst: (string|undefined)}=}\\n *         opt_options\\n */\\nIntl.Collator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.Collator.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {string} arg1\\n * @param {string} arg2\\n * @return {number}\\n */\\nIntl.Collator.prototype.compare = function(arg1, arg2) {};\\n\\n/**\\n * @return {{locale: string, usage: string, sensitivity: string,\\n *     ignorePunctuation: boolean, collation: string, numeric: boolean,\\n *     caseFirst: string}}\\n */\\nIntl.Collator.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined),\\n *     numberingSystem: (string|undefined), style: (string|undefined),\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: (number|undefined),\\n *     minimumFractionDigits: (number|undefined),\\n *     maximumFractionDigits: (number|undefined),\\n *     minimumSignificantDigits: (number|undefined),\\n *     maximumSignificantDigits: (number|undefined)}=}\\n *         opt_options\\n */\\nIntl.NumberFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.NumberFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {number} num\\n * @return {string}\\n */\\nIntl.NumberFormat.prototype.format = function(num) {};\\n\\n/**\\n * @return {{locale: string, numberingSystem: string, style: string,\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: number, minimumFractionDigits: number,\\n *     maximumFractionDigits: number, minimumSignificantDigits: number,\\n *     maximumSignificantDigits: number, useGrouping: boolean}}\\n */\\nIntl.NumberFormat.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined),\\n *    formatMatcher: (string|undefined), calendar: (string|undefined),\\n *    numberingSystem: (string|undefined), tz: (string|undefined),\\n *    weekday: (string|undefined), era: (string|undefined),\\n *    year: (string|undefined), month: (string|undefined),\\n *    day: (string|undefined), hour: (string|undefined),\\n *    minute: (string|undefined), second: (string|undefined),\\n *    timeZoneName: (string|undefined), hour12: (boolean|undefined)}=}\\n *        opt_options\\n */\\nIntl.DateTimeFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: string}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.DateTimeFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {(!Date|number)=} date\\n * @return {string}\\n */\\nIntl.DateTimeFormat.prototype.format = function(date) {};\\n\\n/**\\n * @return {{locale: string, calendar: string, numberingSystem: string,\\n *    timeZone: (string|undefined), weekday: (string|undefined),\\n *    era: (string|undefined), year: (string|undefined),\\n *    month: (string|undefined), day: (string|undefined),\\n *    hour: (string|undefined), minute: (string|undefined),\\n *    second: (string|undefined), timeZoneName: (string|undefined),\\n *    hour12: (boolean|undefined)}}\\n */\\nIntl.DateTimeFormat.prototype.resolvedOptions = function() {};\\n","externs/w3c_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event specification.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @interface\\n */\\nfunction EventTarget() {}\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {boolean} useCapture\\n * @return {undefined}\\n */\\nEventTarget.prototype.addEventListener = function(type, listener, useCapture)\\n    {};\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {boolean} useCapture\\n * @return {undefined}\\n */\\nEventTarget.prototype.removeEventListener = function(type, listener, useCapture)\\n    {};\\n\\n/**\\n * @param {!Event} evt\\n * @return {boolean}\\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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar EventInit;\\n\\n/**\\n * @constructor';
a.a+='\\n * @param {string} type\\n * @param {EventInit=} opt_eventInitDict\\n */\\nfunction Event(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.AT_TARGET;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.BUBBLING_PHASE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.CAPTURING_PHASE;\\n\\n\\n/** @type {string} */\\nEvent.prototype.type;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.target;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.currentTarget;\\n\\n/** @type {number} */\\nEvent.prototype.eventPhase;\\n\\n/** @type {boolean} */\\nEvent.prototype.bubbles;\\n\\n/** @type {boolean} */\\nEvent.prototype.cancelable;\\n\\n/** @type {number} */\\nEvent.prototype.timeStamp;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {Array<!Element>|undefined}\\n */\\nEvent.prototype.path;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {function():Array<!EventTarget>|undefined}\\n * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath\\n */\\nEvent.prototype.deepPath;\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.stopPropagation = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.preventDefault = function() {};\\n\\n/**\\n * @param {string} eventTypeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @return {undefined}\\n */\\nEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   detail: *\\n * }}\\n */\\nvar CustomEventInit;\\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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined)\\n * }}\\n */\\nvar UIEventInit;\\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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined)\\n * }}\\n */\\nvar MouseEventInit;\\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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   char: (string|undefined),\\n *   key: (string|undefined),\\n *   code: (string|undefined),\\n *   location: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   repeat: (boolean|undefined),\\n *   locale: (string|undefined)\\n * }}\\n */\\nvar KeyboardEventInit;\\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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined)\\n * }}\\n */\\nvar FocusEventInit;\\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","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 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';
a.a+=' * @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-one-core.html#ID-102161490\\n */\\nfunction DOMImplementation() {}\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.hasFeature = function(feature, version) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nfunction Node() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNode.prototype.addEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNode.prototype.removeEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {NamedNodeMap<!Attr>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nNode.prototype.attributes;\\n\\n/**\\n * @type {!NodeList<!Node>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes\\n */\\nNode.prototype.childNodes;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild\\n */\\nNode.prototype.firstChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild\\n */\\nNode.prototype.lastChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling\\n */\\nNode.prototype.nextSibling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName\\n */\\nNode.prototype.nodeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue\\n */\\nNode.prototype.nodeValue;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType\\n */\\nNode.prototype.nodeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument\\n */\\nNode.prototype.ownerDocument;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode\\n */\\nNode.prototype.parentNode;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling\\n */\\nNode.prototype.previousSibling;\\n\\n/**\\n * @param {Node} newChild\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild\\n */\\nNode.prototype.appendChild = function(newChild) {};\\n\\n/**\\n * @param {boolean} deep\\n * @return {!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-Leve';
a.a+="l-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<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094\\n * @nosideeffects\\n */\\nDocument.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177\\n */\\nfunction NodeList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337\\n */\\nNodeList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136\\n */\\nNodeList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number), T>}\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922\\n */\\nfunction NamedNodeMap() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E\\n */\\nNamedNodeMap.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.getNamedItem = function(name) {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193\\n */\\nNamedNodeMap.prototype.removeNamedItem = function(name) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788\\n */\\nNamedNodeMap.prototype.setNamedItem = function(arg) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306\\n */\\nfunction CharacterData() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359\\n */\\nCharacterData.prototype.data;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C\\n */\\nCharacterData.prototype.length;\\n\\n/**\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F\\n */\\nCharacterData.prototype.appendData = function(arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781\\n */\\nCharacterData.prototype.deleteData = function(offset, count) {};\\n\\n/**\\n * @param {number} offset\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F\\n */\\nCharacterData.prototype.insertData = function(offset, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB\\n */\\nCharacterData.prototype.replaceData = function(offset, count, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF\\n * @nosideeffects\\n */\\nCharacterData.prototype.substringData = function(offset, count) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024\\n */\\nfunction Attr() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403\\n */\\nAttr.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273\\n */\\nAttr.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474\\n */\\nAttr.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614\\n */\\nfunction Element() {}\\n\\n/**\\n * @type {string}\\n * @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<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute\\n */\\nElement.prototype.removeAttribute = function(name) {};\\n\\n/**\\n * @param {Attr} oldAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode\\n */\\nElement.prototype.removeAttributeNode = function(oldAttr) {};\\n\\n/**\\n * @param {string} name\\n * @param {string|number|boolean} 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-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<!Entity>}\\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<!Notation>}\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWindow.prototype.addEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWindow.prototype.removeEventListener = function(type, listener, opt_useCapture)\\n    {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWindow.prototype.dispatchEvent = function(evt) {};\\n\\n/** @t";
a.a+='ype {?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<!Element>}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\\n */\\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @param {boolean} deep\\n * @return {Node}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\\n */\\nDocument.prototype.importNode = function(externalNode, deep) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),T>}\\n * @implements {IArrayLike<T>}\\n * @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<!HTMLOptionElement>}\\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<!HTMLImageElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\\n */\\nHTMLDocument.prototype.images;\\n\\n/**\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\\n */\\nHTMLDocument.prototype.applets;\\n\\n/**\\n * @type {HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\\n */\\nHTMLDocument.prototype.links;\\n\\n/**\\n * @type {HTMLCollection<!HTMLFormElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\\n */\\nHTMLDocument.prototype.forms;\\n\\n/**\\n * @type {HTMLCollection<!HTMLAnchorElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\\n */\\nHTMLDocument.prototype.anchors;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\\n */\\nHTMLDocument.prototype.cookie;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * @override\\n */\\nHTMLDocument.prototype.open = function() {};\\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<!Element>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\\n\\n/**\\n * @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 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 */\\n';
a.a+="HTMLLinkElement.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<T>}\\n * @implements {IObject<string, (T|RadioNodeList<T>)>}\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\\n */\\nfunction HTMLFormControlsCollection() {}\\n\\n/**\\n * @param {string} name\\n * @return {T|RadioNodeList<T>|null}\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\\n * @nosideeffects\\n * @override\\n * @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<!HTMLElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\\n */\\nHTMLFormElement.prototype.elements;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\\n */\\nHTMLFormElement.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\\n */\\nHTMLFormElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\\n */\\nHTMLFormElement.prototype.acceptCharset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\\n */\\nHTMLFormElement.prototype.action;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\\n */\\nHTMLFormElement.prototype.enctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\\n */\\nHTMLFormElement.prototype.method;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\\n */\\nHTMLFormElement.prototype.target;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\\n */\\nHTMLFormElement.prototype.submit = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\\n */\\nHTMLFormElement.prototype.reset = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\\n */\\nfunction HTMLSelectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\\n */\\nHTMLSelectElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\\n */\\nHTMLSelectElement.prototype.selectedIndex;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\\n */\\nHTMLSelectElement.prototype.value;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\\n */\\nHTMLSelectElement.prototype.length;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\\n */\\nHTMLSelectElement.prototype.form;\\n\\n/**\\n * @type {!HTMLOptionsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\\n */\\nHTMLSelectElement.prototype.options;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\\n */\\nHTMLSelectElement.prototype.disabled;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\\n */\\nHTMLSelectElement.prototype.multiple;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\\n */\\nHTMLSelectElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\\n */\\nHTMLSelectElement.prototype.size;\\n\\n/**\\n * @param {HTMLElement} element\\n * @param {HTMLElement=} opt_before\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\\n */\\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\\n * @override\\n */\\nHTMLSelectElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\\n * @override\\n */\\nHTMLSelectElement.prototype.focus = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\\n * @override\\n */\\nHTMLSelectElement.prototype.remove = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\\n */\\nfunction HTMLOptGroupElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\\n */\\nHTMLOptGroupElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\\n */\\nHTMLOptGroupElement.prototype.label;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\\n */\\nfunction HTMLOptionElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\\n */\\nHTMLOptionElement.prototype.defaultSelected;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\\n */\\nHTMLOptionElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\\n */\\nHTMLOptionElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\\n */\\nHTMLOptionElement.prototype.index;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\\n */\\nHTMLOptionElement.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\\n */\\nHTMLOptionElement.prototype.selected;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\\n */\\nHTMLOptionElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\\n */\\nHTMLOptionElement.prototype.value;\\n\\n/**\\n * @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 ";
a.a+="{number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\\n */\\nHTMLTextAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\\n */\\nHTMLTextAreaElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\\n */\\nHTMLTextAreaElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\\n * @override\\n */\\nHTMLTextAreaElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\\n * @override\\n */\\nHTMLTextAreaElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\\n */\\nHTMLTextAreaElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\\n */\\nfunction HTMLButtonElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\\n */\\nHTMLButtonElement.prototype.accessKey;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\\n */\\nHTMLButtonElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\\n */\\nHTMLButtonElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\\n */\\nHTMLButtonElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\\n */\\nHTMLButtonElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\\n */\\nHTMLButtonElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\\n */\\nHTMLButtonElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\\n */\\nfunction HTMLLabelElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\\n */\\nHTMLLabelElement.prototype.accessKey;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\\n */\\nHTMLLabelElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\\n */\\nHTMLLabelElement.prototype.htmlFor;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\\n */\\nfunction HTMLFieldSetElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\\n */\\nHTMLFieldSetElement.prototype.form;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\\n */\\nHTMLFieldSetElement.prototype.disabled;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\\n */\\nfunction HTMLLegendElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\\n */\\nHTMLLegendElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\\n */\\nHTMLLegendElement.prototype.align;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\\n */\\nHTMLLegendElement.prototype.form;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457\\n */\\nfunction HTMLUListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\\n */\\nHTMLUListElement.prototype.compact;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\\n */\\nHTMLUListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\\n */\\nfunction HTMLOListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\\n */\\nHTMLOListElement.prototype.compact;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\\n */\\nHTMLOListElement.prototype.start;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\\n */\\nHTMLOListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\\n */\\nfunction HTMLDListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\\n */\\nHTMLDListElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\\n */\\nfunction HTMLDirectoryElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\\n */\\nHTMLDirectoryElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\\n */\\nfunction HTMLMenuElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\\n */\\nHTMLMenuElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\\n */\\nfunction HTMLLIElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\\n */\\nHTMLLIElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\\n */\\nHTMLLIElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\\n */\\nfunction HTMLDivElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\\n */\\nHTMLDivElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\\n */\\nfunction HTMLParagraphElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\\n */\\nHTMLParagraphElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\\n */\\nfunction HTMLHeadingElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\\n */\\nHTMLHeadingElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\\n */\\nfunction HTMLQuoteElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\\n */\\nHTMLQuoteElement.prototype.cite;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\\n */\\nfunction HTMLPreElement() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\\n */\\nHTMLPreElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\\n */\\nfunction HTMLBRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\\n */\\nHTMLBRElement.prototype.clear;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\\n */\\nfunction HTMLBaseFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\\n */\\nHTMLBaseFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\\n */\\nHTMLBaseFontElement.prototype.face;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\\n */\\nHTMLBaseFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\\n */\\nfunction HTMLFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\\n */\\nHTMLFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\\n */\\nHTMLFontElement.prototype.face;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\\n */\\nHTMLFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\\n */\\nfunction HTMLHRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\\n */\\nHTMLHRElement.prototype.align;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\\n */\\nHTMLHRElement.prototype.noShade;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\\n */\\nHTMLHRElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\\n */\\nHTMLHRElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\\n */\\nfunction HTMLModElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\\n */\\nHTMLModElement.prototype.cite;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\\n */\\nHTMLModElement.prototype.dateTime;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\\n */\\nfunction HTMLAnchorElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\\n */\\nHTMLAnchorElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\\n */\\nHTMLAnchorElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\\n */\\nHTMLAnchorElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @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 {";
a.a+="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<!HTMLAreaElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\\n */\\nHTMLMapElement.prototype.areas;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\\n */\\nHTMLMapElement.prototype.name;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\\n */\\nfunction HTMLAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\\n */\\nHTMLAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\\n */\\nHTMLAreaElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\\n */\\nHTMLAreaElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @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<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\\n */\\nHTMLTableElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\\n */\\nHTMLTableElement.prototype.rules;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\\n */\\nHTMLTableElement.prototype.summary;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableSectionElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\\n */\\nHTMLTableElement.prototype.tBodies;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\\n */\\nHTMLTableElement.prototype.tFoot;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944\\n */\\nHTMLTableElement.prototype.tHead;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\\n */\\nHTMLTableElement.prototype.width;\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\\n */\\nHTMLTableElement.prototype.createCaption = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\\n */\\nHTMLTableElement.prototype.createTFoot = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\\n */\\nHTMLTableElement.prototype.createTHead = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\\n */\\nHTMLTableElement.prototype.deleteCaption = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\\n */\\nHTMLTableElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\\n */\\nHTMLTableElement.prototype.deleteTFoot = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\\n */\\nHTMLTableElement.prototype.deleteTHead = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\\n */\\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\\n */\\nfunction HTMLTableCaptionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\\n */\\nHTMLTableCaptionElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\\n */\\nfunction HTMLTableColElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\\n */\\nHTMLTableColElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\\n */\\nHTMLTableColElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\\n */\\nHTMLTableColElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\\n */\\nHTMLTableColElement.prototype.span;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\\n */\\nHTMLTableColElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\\n */\\nHTMLTableColElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\\n */\\nfunction HTMLTableSectionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\\n */\\nHTMLTableSectionElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\\n */\\nHTMLTableSectionElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\\n */\\nHTMLTableSectionElement.prototype.chOff;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\\n */\\nHTMLTableSectionElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\\n */\\nHTMLTableSectionElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\\n */\\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\\n */\\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\\n */\\nfunction HTMLTableRowElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\\n */\\nHTMLTableRowElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\\n */\\nHTMLTableRowElement.prototype.bgColor;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableCellElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\\n */\\nHTMLTableRowElement.prototype.cells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\\n */\\nHTMLTableRowElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\\n */\\nHTMLTableRowElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\\n */\\nHTMLTableRowElement.prototype.rowIndex;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79105901\\n */\\nHTMLTableRowElement.prototype.sectionRowIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\\n */\\nHTMLTableRowElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\\n */\\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\\n */\\nHTMLTableRowElement.prototype.insertCell = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\\n */\\nfunction HTMLTableCellElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\\n */\\nHTMLTableCell";
a.a+='Element.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<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\\n */\\nfunction DOMStringList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\\n */\\nDOMStringList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\\n * @nosideeffects\\n */\\nDOMStringList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\\n * @nosideeffects\\n */\\nDOMStringList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\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/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<!DOMImplementation>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\\n */\\nfunction DOMImplementationList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\\n */\\nDOMImplementationList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\\n * @nosideeffects\\n */\\nDOMImplementationList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\\n */\\nfunction DOMImplementationSource() {}\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} publicId\\n * @param {DocumentType} doctype\\n * @return {Document}\\n * @see 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';
a.a+='.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<!Element>}\\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\\n * @nosideeffects\\n */\\nNode.prototype.querySelectorAll = function(query) {};\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\\n */\\nAttr.prototype.ownerElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\\n */\\nAttr.prototype.isId;\\n\\n/**\\n * @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<!Element>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\\n * @nosideeffects\\n */\\nElement.prototype.hasAttribute = function(name) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\\n */\\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\\n */\\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\\n */\\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\\n\\n/**\\n * @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.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","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/windo';
a.a+="w.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<!BatteryManager>}\\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<!HTMLAnchorElement>}\\n */\\nDocument.prototype.anchors;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.applets\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n */\\nDocument.prototype.applets;\\n/** @type {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;\\nDocument.prototype.defaultView;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.designMode\\n * @type {string}\\n */\\nDocument.prototype.designMode;\\n\\nDocument.prototype.documentURIObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.domain\\n * @type {string}\\n */\\nDocument.prototype.domain;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.embeds\\n * @type {HTMLCollection<!HTMLEmbedElement>}\\n */\\nDocument.prototype.embeds;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\\n * @type {string}\\n */\\nDocument.prototype.fgColor;\\n\\n/** @type {Element} */ Document.prototype.firstChild;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.forms\\n * @type {HTMLCollection<!HTMLFormElement>}\\n */\\nDocument.prototype.forms;\\n\\n/** @type {number} */\\nDocument.prototype.height;\\n\\n/** @type {HTMLCollection<!HTMLImageElement>} */\\nDocument.prototype.images;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\\n */\\nDocument.prototype.lastModified;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\\n */\\nDocument.prototype.linkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.links\\n * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>}\\n */\\nDocument.prototype.links;\\n\\n/**\\n * @type {!Location}\\n * @implicitCast\\n */\\nDocument.prototype.location;\\n\\nDocument.prototype.namespaceURI;\\nDocument.prototype.nodePrincipal;\\nDocument.prototype.plugins;\\nDocument.prototype.popupNode;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.referrer\\n */\\nDocument.prototype.referrer;\\n\\n/**\\n * @type {StyleSheetList}\\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\\n */\\nDocument.prototype.styleSheets;\\n\\n/** @type {?string} */ Document.prototype.title;\\nDocument.prototype.tooltipNode;\\n/** @type {string} */ Document.prototype.URL;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\\n */\\nDocument.prototype.vlinkColor;\\n\\n/** @type {number} */ Document.prototype.width;\\n\\n// Methods of Document\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.clear\\n * @return {undefined}\\n */\\nDocument.prototype.clear = function() {};\\n\\n/**\\n * @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<!Element>}\\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<!Element>}\\n * @see https://developer.mozilla.org/en/DOM/element.children\\n */\\nElement.prototype.children;\\n\\n/**\\n * Firebug s";
a.a+="ets 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<string>|undefined}\\n * @see https://developer.mozilla.org/en/Navigator.languages\\n */\\nNavigator.prototype.languages;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.oscpu\\n */\\nNavigator.prototype.oscpu;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.productSub\\n */\\nNavigator.prototype.productSub;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\\n */\\nNavigator.prototype.securityPolicy;\\n\\n/**\\n * @param {string} url\\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\\n */\\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendor\\n */\\nNavigator.prototype.vendor;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\\n */\\nNavigator.prototype.vendorSub;\\n\\n\\n/** @constructor */\\nfunction BoxObject() {}\\n\\n/** @type {Element} */\\nBoxObject.prototype.element;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenX;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenY;\\n\\n/** @type {number} */\\nBoxObject.prototype.x;\\n\\n/** @type {number} */\\nBoxObject.prototype.y;\\n\\n/** @type {number} */\\nBoxObject.prototype.width;\\n\\n\\n/**\\n * @param {Element} element\\n * @param {?string=} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @nosideeffects\\n */\\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 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<!Node>}\\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectNodes = function(expression) {};\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectSingleNode = function(expression) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.transformNode = function(stylesheet) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @param {Object} outputObject\\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\\n * @return {Object}\\n */\\nNode.prototype.transformNodeToObject =\\n    function(stylesheet, outputObject) {};\\n\\n//==============================================================================\\n// Node methods\\n\\n/**\\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\\n *    Defaults to false.\\n * @return {Node} The object that was removed.\\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\\n */\\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\\n\\n/**\\n * @constructor\\n */\\nfunction ClipboardData() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\\n *     'URL' or 'File' or 'HTML' or 'Image'.\\n * @return {undefined}\\n */\\nClipboardData.prototype.clearData = function(opt_type) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\\n * @param {string} data Data to set\\n * @return {boolean} Whether the data were set correctly.\\n */\\nClipboardData.prototype.setData = function(type, data) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\\n * @return {string} The current data\\n */\\nClipboardData.prototype.getData = function(type) { };\\n\\n/**\\n * @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 */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\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 htt";
a.a+="p://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 * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\\n */\\nTextRange.prototype.text;\\n\\n/**\\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 * @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 * @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 */\\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 * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\\n */\\nTextRange.prototype.select;\\n\\n/**\\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<TextRange>}\\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/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 */\\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 */\\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 */\\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.pr";
a.a+='ototype.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 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 http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpp\\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<ScriptProfileNode>} */\\nScriptProfileNode.prototype.children;\\n\\n/** @type {boolean} */\\nScriptProfileNode.prototype.visible;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.callUID;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\\n */\\nfunction ScriptProfile() {};\\n\\n/** @type {string} */\\nScriptProfile.prototype.title;\\n\\n/** @type {number} */\\nScriptProfile.prototype.uid;\\n\\n/** @type {ScriptProfileNode} */\\nScriptProfile.prototype.head;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cpp\\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<ScriptProfile>} */\\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-S';
a.a+="tyleSheet-owner\\n */\\nStyleSheet.prototype.ownerNode;\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\\n */\\nStyleSheet.prototype.parentStyleSheet;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\\n */\\nStyleSheet.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\\n */\\nStyleSheet.prototype.title;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\\n */\\nStyleSheet.prototype.media;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!StyleSheet>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\\n */\\nfunction StyleSheetList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\\n */\\nStyleSheetList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\\n */\\nStyleSheetList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!MediaList>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\\n */\\nfunction MediaList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\\n */\\nMediaList.prototype.mediaText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\\n */\\nMediaList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\\n */\\nMediaList.prototype.item = function(index) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\\n */\\nfunction LinkStyle() {}\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\\n */\\nLinkStyle.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\\n */\\nfunction DocumentStyle() {}\\n\\n/**\\n * @type {StyleSheetList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\\n */\\nDocumentStyle.prototype.styleSheets;\\n\\n/**\\n * @constructor\\n * @extends {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\\n */\\nfunction CSSStyleSheet() {}\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule\\n */\\nCSSStyleSheet.prototype.ownerRule;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\\n */\\nCSSStyleSheet.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\\n */\\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\\n * @return {undefined}\\n */\\nCSSStyleSheet.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!CSSRule>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\\n */\\nfunction CSSRuleList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\\n */\\nCSSRuleList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\\n */\\nCSSRuleList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\\n */\\nfunction CSSRule() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\\n */\\nCSSRule.prototype.cssText;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\\n */\\nCSSRule.prototype.parentStyleSheet;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\\n */\\nCSSRule.prototype.parentRule;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nCSSRule.prototype.style;\\n\\n/**\\n * Indicates that the rule is a {@see CSSUnknownRule}.\\n * @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.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 * @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-CSSPrimitiveValu";
a.a+="e\\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<!CSSValue>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\\n */\\nfunction CSSValueList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\\n */\\nCSSValueList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\\n */\\nCSSValueList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\\n */\\nfunction RGBColor() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\\n */\\nRGBColor.prototype.red;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\\n */\\nRGBColor.prototype.green;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\\n */\\nRGBColor.prototype.blue;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\\n */\\nfunction Rect() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\\n */\\nRect.prototype.top;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\\n */\\nRect.prototype.right;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\\n */\\nRect.prototype.bottom;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\\n */\\nRect.prototype.left;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\\n */\\nfunction Counter() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\\n */\\nCounter.prototype.identifier;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\\n */\\nCounter.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\\n */\\nCounter.prototype.separator;\\n\\n/**\\n * @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 */\\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.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-cueBefor";
a.a+="e\\n */\\nCSSProperties.prototype.cueBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\\n */\\nCSSProperties.prototype.cursor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\\n */\\nCSSProperties.prototype.direction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\\n */\\nCSSProperties.prototype.display;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\\n */\\nCSSProperties.prototype.elevation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\\n */\\nCSSProperties.prototype.emptyCells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\\n */\\nCSSProperties.prototype.cssFloat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\\n */\\nCSSProperties.prototype.font;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\\n */\\nCSSProperties.prototype.fontFamily;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\\n */\\nCSSProperties.prototype.fontSize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\\n */\\nCSSProperties.prototype.fontSizeAdjust;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\\n */\\nCSSProperties.prototype.fontStretch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\\n */\\nCSSProperties.prototype.fontStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\\n */\\nCSSProperties.prototype.fontVariant;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\\n */\\nCSSProperties.prototype.fontWeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\\n */\\nCSSProperties.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\\n */\\nCSSProperties.prototype.left;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\\n */\\nCSSProperties.prototype.letterSpacing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\\n */\\nCSSProperties.prototype.lineHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\\n */\\nCSSProperties.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\\n */\\nCSSProperties.prototype.listStyleImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\\n */\\nCSSProperties.prototype.listStylePosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\\n */\\nCSSProperties.prototype.listStyleType;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\\n */\\nCSSProperties.prototype.margin;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\\n */\\nCSSProperties.prototype.marginTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\\n */\\nCSSProperties.prototype.marginRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\\n */\\nCSSProperties.prototype.marginBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\\n */\\nCSSProperties.prototype.marginLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\\n */\\nCSSProperties.prototype.markerOffset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\\n */\\nCSSProperties.prototype.marks;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\\n */\\nCSSProperties.prototype.maxHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\\n */\\nCSSProperties.prototype.maxWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\\n */\\nCSSProperties.prototype.minHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\\n */\\nCSSProperties.prototype.minWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\\n */\\nCSSProperties.prototype.orphans;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\\n */\\nCSSProperties.prototype.outline;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\\n */\\nCSSProperties.prototype.outlineColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\\n */\\nCSSProperties.prototype.outlineStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\\n */\\nCSSProperties.prototype.outlineWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\\n */\\nCSSProperties.prototype.overflow;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\\n */\\nCSSProperties.prototype.padding;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\\n */\\nCSSProperties.prototype.paddingTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\\n */\\nCSSProperties.prototype.paddingRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\\n */\\nCSSProperties.prototype.paddingBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\\n */\\nCSSProperties.prototype.paddingLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\\n */\\nCSSProperties.prototype.page;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\\n */\\nCSSProperties.prototype.pageBreakAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\\n */\\nCSSProperties.prototype.pageBreakBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\\n */\\nCSSProperties.prototype.pageBreakInside;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\\n */\\nCSSProperties.prototype.pause;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\\n */\\nCSSProperties.prototype.pauseAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\\n */\\nCSSProperties.prototype.pauseBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\\n */\\nCSSProperties.prototype.pitch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\\n */\\nCSSProperties.prototype.pitchRange;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\\n */\\nCSSProperties.prototype.playDuring;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\\n */\\nCSSProperties.prototype.position;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\\n */\\nCSSProperties.prototype.quotes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#resize\\n */\\nCSSProperties.prototype.resize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\\n */\\nCSSProperties.prototype.richness;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\\n */\\nCSSProperties.prototype.right;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\\n */\\nCSSProperties.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\\n */\\nCSSProperties.prototype.speak;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\\n */\\nCSSProperties.prototype.speakHeader;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\\n */\\nCSSProperties.prototype.speakNumeral;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\\n */\\nCSSProperties.prototype.speakPunctuation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\\n */\\nCSSProperties.prototype.speechRate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\\n */\\nCSSProperties.prototype.stress;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\\n */\\nCSSProperties.prototype.tableLayout;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\\n */\\nCSSProperties.prototype.textAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\\n */\\nCSSProperties.prototype.textDecoration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\\n */\\nCSSProperties.prototype.textIndent;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\\n */\\nCSSProperties.prototype.textShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\\n */\\nCSSProperties.prototype.textTransform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\\n */\\nCSSProperties.prototype.top;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\\n */\\nCSSProperties.prototype.unicodeBidi;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\\n */\\nCSSProperties.prototype.verticalAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\\n */\\nCSSProperties.prototype.visibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\\n */\\nCSSProperties.prototype.voiceFamily;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\\n */\\nCSSProperties.prototype.volume;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\\n */\\nCSSProperties.prototype.whiteSpace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\\n */\\nCSSProperties.prototype.widows;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\\n */\\nCSSProperties.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\\n */\\nCSSProperties.prototype.wordSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\\n */\\nCSSProperties.prototype.wordWrap;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\\n */\\nCSSProperties.prototype.zIndex;\\n\\n// CSS 3 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#box-shadow\\n */\\nCSSProperties.prototype.boxShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\\n */\\nCSSProperties.prototype.boxSizing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-color/#transparency\\n */\\nCSSProperties.prototype.opacity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\\n */\\nCSSProperties.prototype.textOverflow;\\n\\n// CSS 3 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";
a.a+=".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 {!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<!ClientRect>}\\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 * @enum {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus = {\\n  ERROR: 'error',\\n  LOADED: 'loaded',\\n  LOADING: 'loading',\\n  UNLOADED: 'unloaded'\\n};\\n\\n/**\\n * @typedef {{\\n *   style: (string|undefined),\\n *   weight: (string|undefined),\\n *   stretch: (string|undefined),\\n *   unicodeRange: (string|undefined),\\n *   variant: (string|undefined),\\n *   featureSettings: (string|undefined)\\n * }}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\\n */\\nvar FontFaceDescriptors;\\n\\n/**\\n * @constructor\\n * @param {string} fontFamily\\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\\n * @param {!FontFaceDescriptors=} opt_descriptors\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\\n */\\nfunction FontFace(fontFamily, source, opt_descriptors) {}\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\\n */\\nFontFace.prototype.family;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\\n */\\nFontFace.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\\n */\\nFontFace.prototype.weight;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\\n */\\nFontFace.prototype.stretch;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\\n */\\nFontFace.prototype.unicodeRange;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\\n */\\nFontFace.prototype.variant;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\\n */\\nFontFace.prototype.featureSettings;\\n\\n/**\\n * @type {FontFaceLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\\n */\\nFontFace.prototype.status;\\n\\n/**\\n * @return {!Promise<!FontFace>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\\n */\\nFontFace.prototype.load = function() {};\\n\\n/**\\n * @enum\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus = {\\n  LOADED: 'loaded',\\n  LOADING: 'loading'\\n};\\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<!Array<!FontFace>>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\\n */\\nFontFaceSet.prototype.lo";
a.a+='ad = function(font, opt_text) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\\n */\\nFontFaceSet.prototype.check = function(font, opt_text) {};\\n\\n/**\\n * @type {!Promise<!FontFaceSet>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\\n */\\nFontFaceSet.prototype.ready;\\n\\n/**\\n * @type {FontFaceSetLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\\n */\\nFontFaceSet.prototype.status;\\n","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=} 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.';
a.a+="WebkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitOrder;\\n/** @type {string} */ CSSProperties.prototype.WebkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\\n\\n// WebKit also adds bindings for the lowercase versions of these properties.\\n// The uppercase version is preferred.\\n\\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\\n/** @type {string} */ ";
a.a+='CSSProperties.prototype.webkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitMask;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\\n\\n/**\\n * @constructor\\n * @param {number} x\\n * @param {number} y\\n */\\nfunction WebKitPoint(x, y) {}\\n\\n/** @type {number} */\\nWebKitPoint.prototype.x;\\n\\n/** @type {number} */\\nWebKitPoint.prototype.y;\\n","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<ArrayBuffer|ArrayBufferView|Blob|string>=} 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-g';
a.a+="etBlob\\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<!Entry>)} 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<string|!Blob|!ArrayBuffer>=} 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 = 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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nFileReader.prototype.addEventListener = function(type, listener, opt_useCapture)\\n    {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nFileReader.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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*/\\nWin";
a.a+='dow.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","externs/flash.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\\n * file depends on w3c_dom2.js.\\n * Created from\\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\\n *\\n * @externs\\n * @author ajp@google.com (Andy Perelson)\\n */\\n\\n\\n// Standard Methods.\\n\\n/**\\n * Call a Flash function exported by ExternalInterface.\\n * @param {string} xmlString The XML string passed to Flash. The outer element\\n *     should be {@code <invoke>}. A sample invocation string:\\n *     {@code <invoke name=\\"function_name\\" returntype=\\"javascript\\">\\n *     <string>test</string></invoke>}\\n * @return {string} The serialized return value from Flash that you can eval.\\n */\\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\\n\\n/**\\n * Returns the value of the Flash variable specified by varName or null if the\\n * variable does not exist.\\n * @param {string} varName The variable name.\\n * @return {string?} The variable value.\\n */\\nHTMLObjectElement.prototype.GetVariable = function(varName) {};\\n\\n/**\\n * Activates the frame number specified by {@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 {str';
a.a+='ing} 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\\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\\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 * @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/**\\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/**\\n * @constructor\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @type {!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\\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 {HTMLImageElement|HTMLCanvasElement} image\\n * @param {string} repetition\\n * @return {CanvasPattern}\\n * @throws {Error}\\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 {string=} opt_fillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(opt_fillRule) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function() {};\\n\\n/**\\n * @param {string=} opt_fillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(opt_fillRule) {};\\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 {HTMLImageElement|HTMLCanvasElement|Image|HTMLVideoElement} 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 * @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<number>}\\n */\\nCanvasRenderingContext2D.prototype.getLineDash;\\n\\n/**\\n * @param {Array<number>} 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/** @type {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/script';
a.a+="ing.html#imagedata\\n * @constructor\\n */\\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\\n\\n/** @type {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @type {number} */\\nImageData.prototype.width;\\n\\n/** @type {number} */\\nImageData.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<!Object>}\\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\\n */\\nfunction SQLResultSetRowList() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSetRowList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Object}\\n * @nosideeffects\\n */\\nSQLResultSetRowList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {Database}\\n */\\nfunction openDatabase(name, version, description, size, opt_callback) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {Database}\\n */\\nWindow.prototype.openDatabase =\\n    function(name, version, description, size, opt_callback) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete\\n */\\nHTMLImageElement.prototype.complete;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\\n */\\nHTMLImageElement.prototype.naturalWidth;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\\n */\\nHTMLImageElement.prototype.naturalHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\\n */\\nHTMLImageElement.prototype.crossOrigin;\\n\\n/**\\n * This is a superposition of the Window and Worker postMessage methods.\\n * @param {*} message\\n * @param {(string|!Array<!Transferable>)=} opt_targetOriginOrTransfer\\n * @param {(string|!Array<!MessagePort>|!Array<!Transferable>)=}\\n *     opt_targetOriginOrPortsOrTransfer\\n * @return {void}\\n */\\nfunction postMessage(message, opt_targetOriginOrTransfer,\\n    opt_targetOriginOrPortsOrTransfer) {}\\n\\n/**\\n * 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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSharedWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSharedWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction DedicatedWorkerGlobalScope() {}\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.postMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the creator posts a message to this worker.\\n * @type {?function(!MessageEvent<*>)}\\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 {Element} */\\nHTMLElement.prototype.contextMenu;\\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<!Element>}\\n * @nosideeffects\\n */\\nHTMLElement.prototype.getElementsByClassName = function(classNames) {};\\n// NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js\\n\\n/** @type {boolean";
a.a+="} */\\nHTMLElement.prototype.hidden;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.spellcheck;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\\n * @typedef {{\\n *   composed: boolean\\n * }}\\n */\\nvar GetRootNodeOptions;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\\n * @param {GetRootNodeOptions=} opt_options\\n * @return {?Node}\\n */\\nNode.prototype.getRootNode = function(opt_options) {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.createShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.webkitCreateShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @type {ShadowRoot}\\n */\\nHTMLElement.prototype.shadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @type {function()}\\n */\\nHTMLElement.prototype.createdCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.attachedCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.detachedCallback;\\n\\n/** @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.  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/**\\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 {undefined}\\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/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nText.prototype.getDestinationInsertionPoints = function() {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\\n * @constructor\\n * @implements {IArrayLike<!TextTrack>}\\n */\\nfunction TextTrackList() {}\\n\\n/** @type {number} */\\nTextTrackList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrack}\\n */\\nTextTrackList.prototype.getTrackById = function(id) {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction TextTrack() {}\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.addCue = function(cue) {};\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeCue = function(cue) {};\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.activeCues;\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.cues;\\n\\n/**\\n * @type {string}\\n */\\nTextTrack.prototype.mode;\\n\\n/**\\n * @override\\n * @return {undefined}\\n */\\nTextTrack.prototype.addEventListener = function(type, listener, useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @override\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeEventListener = function(type, listener, useCapture)\\n    {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\\n * @constructor\\n * @implements {IArrayLike<!TextTrackCue>}\\n */\\nfunction TextTrackCueList() {}\\n\\n/** @const {number} */\\nTextTrackCueList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrackCue}\\n */\\nTextTrackCueList.prototype.getCueById = function(id) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\\n * @constructor\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction TextTrackCue(startTime, endTime, text) {}\\n\\n/** @type {string} */\\nTextTrackCue.prototype.id;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.startTime;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.endTime;\\n\\n/** @type {string} */\\nTextTrackCue.prototype.text;\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\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 */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMessagePort.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMessagePort.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMessagePort.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Posts a message through the channel, optionally with the given\\n * Array of Transferables.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\\n};\\n\\n/**\\n * Begins dispatching messages received on the port.\\n * @return {undefined}\\n */\\nMessagePort.prototype.start = function() {};\\n\\n/**\\n * Disconnects the port, so that it is no longer active.\\n * @return {undefined}\\n */\\nMessagePort.prototype.close = function() {};\\n\\n/**\\n * TODO(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 * @see http://dev.w3.org/html5/spec/comms.html#messageevent\\n * @constructor\\n * @extends {Event}\\n * @template T\\n */\\nfunction MessageEvent() {}\\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 e";
a.a+="vent ID, for server-sent events.\\n * @type {string}\\n */\\nMessageEvent.prototype.lastEventId;\\n\\n/**\\n * The window that dispatched the event.\\n * @type {Window}\\n */\\nMessageEvent.prototype.source;\\n\\n/**\\n * The Array of MessagePorts sent with the message, for cross-document\\n * messaging and channel messaging.\\n * @type {Array<MessagePort>}\\n */\\nMessageEvent.prototype.ports;\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {T} dataArg\\n * @param {string} originArg\\n * @param {string} lastEventIdArg\\n * @param {Window} sourceArg\\n * @param {Array<MessagePort>} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} namespaceURI\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {T} dataArg\\n * @param {string} originArg\\n * @param {string} lastEventIdArg\\n * @param {Window} sourceArg\\n * @param {Array<MessagePort>} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\\n    canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\\n    portsArg) {};\\n\\n/**\\n * 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, useCapture) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n    type, listener, useCapture) {};\\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<string>} */\\nDataTransfer.prototype.types;\\n\\n/** @type {FileList} */\\nDataTransfer.prototype.files;\\n\\n/**\\n * @param {string=} opt_format Format for which to remove data.\\n * @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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   deltaX: (number|undefined),\\n *   deltaY: (number|undefined),\\n *   deltaZ: (number|undefined),\\n *   deltaMode: (number|undefined)\\n * }}\\n */\\nvar WheelEventInit;\\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<!DataTransferItem>}\\n */\\nfunction DataTransferItemList() {}\\n\\n/** @type {number} */\\nDataTransferItemList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {DataTransferItem} The ith DataTransferItem in the list, or null.\\n * @nosideeffects\\n */\\nDataTransferItemList.prototype.item = function(i) { return null; };\\n\\n/**\\n * Adds an item to the list.\\n * @param {string|!File} data Data for the item being added.\\n * @param {string=} opt_type Mime type of the item being added. MUST be present\\n *     if the {@code data} parameter is a string.\\n * @return {DataTransferItem}\\n */\\nDataTransferItemList.prototype.add = function(data, opt_type) {};\\n\\n/**\\n * Removes an item from the list.\\n * @param {number} i File to remove from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.remove = function(i) {};\\n\\n/**\\n * Removes all items from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.clear = function() {};\\n\\n/** @type {!DataTransferItemList} */\\nDataTransfer.prototype.items;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   dataTransfer: (DataTransfer|undefined)\\n * }}\\n */\\nvar DragEventInit;\\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 * @typedef {{\\n *   lengthComputable: (boolean|undefined),\\n *   loaded: (number|undefined),\\n *   total: (number|undefined)\\n * }}\\n */\\nvar ProgressEventInit;\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebSocket.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebSocket.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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 * @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-wor";
a.a+="k/#pagetransitionevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{persisted: boolean}=} opt_eventInitDict\\n */\\nfunction PageTransitionEvent(type, opt_eventInitDict) {}\\n\\n/** @type {boolean} */\\nPageTransitionEvent.prototype.persisted;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} persistedArg\\n * @return {undefined}\\n */\\nPageTransitionEvent.prototype.initPageTransitionEvent = function(typeArg,\\n    canBubbleArg, cancelableArg, persistedArg) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!File>}\\n */\\nfunction FileList() {}\\n\\n/** @type {number} */\\nFileList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {File} The ith file in the list.\\n * @nosideeffects\\n */\\nFileList.prototype.item = function(i) { return null; };\\n\\n/**\\n * @type {boolean}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials\\n */\\nXMLHttpRequest.prototype.withCredentials;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadstart\\n */\\nXMLHttpRequest.prototype.onloadstart;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequest.prototype.onprogress;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onabort\\n */\\nXMLHttpRequest.prototype.onabort;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onload\\n */\\nXMLHttpRequest.prototype.onload;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-ontimeout\\n */\\nXMLHttpRequest.prototype.ontimeout;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadend\\n */\\nXMLHttpRequest.prototype.onloadend;\\n\\n/**\\n * @type {XMLHttpRequestUpload}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attribute\\n */\\nXMLHttpRequest.prototype.upload;\\n\\n/**\\n * @param {string} mimeType The mime type to override with.\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.overrideMimeType = function(mimeType) {};\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute\\n */\\nXMLHttpRequest.prototype.responseType;\\n\\n/**\\n * @type {?(ArrayBuffer|Blob|Document|Object|string)}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attribute\\n */\\nXMLHttpRequest.prototype.response;\\n\\n\\n/**\\n * @type {ArrayBuffer}\\n * Implemented as a draft spec in Firefox 4 as the way to get a requested array\\n * buffer from an XMLHttpRequest.\\n * @see https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays\\n *\\n * This property is not used anymore and should be removed.\\n * @see https://github.com/google/closure-compiler/pull/1389\\n */\\nXMLHttpRequest.prototype.mozResponseArrayBuffer;\\n\\n/**\\n * XMLHttpRequestEventTarget defines events for checking the status of a data\\n * transfer between a client and a server. This should be a common base class\\n * for XMLHttpRequest and XMLHttpRequestUpload.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction XMLHttpRequestEventTarget() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequestEventTarget.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequestEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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<string>}\\n * @see https://dom.spec.whatwg.org/#interface-domtokenlist\\n */\\nfunction DOMTokenList() {}\\n\\n/**\\n * Returns the number of CSS classes applied to this Element.\\n * @type {number}\\n */\\nDOMTokenList.prototype.length;\\n\\n/**\\n * @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 * @const\\n * @type {NodeList<!HTMLLabelElement>}\\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 * @const\\n * @type {NodeList<!HTMLLabelElement>}\\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 * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLSelectElement.prototype.selectedOptions;\\n\\n/** @type {string} */\\nHTMLSelectElement.prototype.validationMessage;\\n\\n/**\\n * @const\\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 * @const\\n * @type {NodeList<!HTMLLabelElement>}\\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 {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<string>|undefined)\\n * }}\\n */\\nvar MutationObserverInit;\\n\\n\\n/** @constructor */\\nfunction MutationRecord() {}\\n\\n/** @type {string} */\\nMutationRecord.prototype.type;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.target;\\n\\n/** @type {NodeList<!Node>} */\\nMutationRecord.prototype.addedNodes;\\n\\n/** @type {NodeList<!Node>} */\\nMutationRecord.prototype.removedNodes;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.previousSibling;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.nextSibling;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeName;\\n\\n/** @type {?";
a.a+="string} */\\nMutationRecord.prototype.attributeNamespace;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.oldValue;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/domcore/#mutation-observers\\n * @param {function(Array<MutationRecord>, MutationObserver)} callback\\n * @constructor\\n */\\nfunction MutationObserver(callback) {}\\n\\n/**\\n * @param {Node} target\\n * @param {MutationObserverInit=} options\\n * @return {undefined}\\n */\\nMutationObserver.prototype.observe = function(target, options) {};\\n\\nMutationObserver.prototype.disconnect = function() {};\\n\\n/**\\n * @return {!Array<!MutationRecord>}\\n */\\nMutationObserver.prototype.takeRecords = function() {};\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.WebKitMutationObserver;\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.MozMutationObserver;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {VisibilityState}\\n */\\nDocument.prototype.visibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.mozVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.webkitVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.msVisibilityState;\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {boolean}\\n */\\nDocument.prototype.hidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.mozHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.webkitHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.msHidden;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}=} 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;\\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;\\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 * @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<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByClassName = function(className) {};\\n\\n\\n/**\\n * @param {string} tagName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagName = function(tagName) {};\\n\\n\\n/**\\n * @param {string} namespace\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\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<!Node>}\\n */\\nHTMLContentElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-shadow-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLShadowElement() {}\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLShadowElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {ErrorEventInit=} opt_eventInitDict\\n */\\nfunction ErrorEvent(type, opt_eventInitDict) {}\\n\\n/** @const {string} */\\nErrorEvent.prototype.message;\\n\\n/** @const {string} */\\nErrorEvent.prototype.filename;\\n\\n/** @const {number} */\\nErrorEvent.prototype.lineno;\\n\\n/** @const {number} */\\nErrorEvent.prototype.colno;\\n\\n/** @const {*} */\\nErrorEvent.prototype.error;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   message: string,\\n *   filename: string,\\n *   lineno: number,\\n *   colno: number,\\n *   error: *\\n * }}\\n */\\n var ErrorEventInit;\\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, <summary> has no special web IDL interface nor global\\n// constructor (i.e. HTMLSummaryElement).\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.label;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMenuItemElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.label;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.icon;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.disabled;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.checked;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.radiogroup;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.default;\\n\\n// TODO(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<T>}\\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<!HTMLOptionElement>} */\\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<!HTMLLabelElement>}\\n */\\nHTMLOutputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLOutputElement.prototype.validationMessage;\\n\\n/**\\n * @const {ValidityState}\\n */\\nHTMLOutputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLOutputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.reportValidity = function() {};\\n\\n/** @param {string} message */\\nHTMLOutputElement.prototype.setCustomValidity = function(message) {};\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-progress-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLProgressElement() {}\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.position;\\n\\n\\n/** @type {NodeList<!Node>} */\\nHTMLProgressElement.prototype.labels;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTrackElement() {}\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.kind;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.src;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.srclang;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.label;\\n\\n\\n/** @type {boolean} */\\nHTMLTrackElement.prototype.default;\\n\\n\\n/** @const {number} */\\nHTMLTrackElement.prototype.readyState;\\n\\n\\n/** @const {TextTrack} */\\nHTMLTrackElement.prototype.track;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-meter-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMeterElement() {}\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.min;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.low;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.high;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.optimum;\\n\\n\\n/** @type {NodeList<!Node>} */\\nHTMLMeterElement.prototype.labels;\\n\\n\\n/**\\n * ";
a.a+='@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 * @constructor\\n * @implements {IObject<(string|number),!Plugin>}\\n * @implements {IArrayLike<!Plugin>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#pluginarray\\n */\\nfunction PluginArray() {}\\n\\n/** @type {number} */\\nPluginArray.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Plugin}\\n */\\nPluginArray.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Plugin}\\n */\\nPluginArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @param {boolean=} reloadDocuments\\n * @return {undefined}\\n */\\nPluginArray.prototype.refresh = function(reloadDocuments) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!MimeType>}\\n * @implements {IArrayLike<!MimeType>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetypearray\\n */\\nfunction MimeTypeArray() {}\\n\\n/**\\n * @param {number} index\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.item = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes\\n */\\nMimeTypeArray.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetype\\n */\\nfunction MimeType() {}\\n\\n/** @type {string} */\\nMimeType.prototype.description;\\n\\n/** @type {Plugin} */\\nMimeType.prototype.enabledPlugin;\\n\\n/** @type {string} */\\nMimeType.prototype.suffixes;\\n\\n/** @type {string} */\\nMimeType.prototype.type;\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-plugin\\n */\\nfunction Plugin() {}\\n\\n/** @type {string} */\\nPlugin.prototype.description;\\n\\n/** @type {string} */\\nPlugin.prototype.filename;\\n\\n/** @type {number} */\\nPlugin.prototype.length;\\n\\n/** @type {string} */\\nPlugin.prototype.name;\\n","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/iphone.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all iPhone extensions. Created from:\\n * http://developer.apple.com/library/safari/navigation/\\n *\\n * @externs\\n * @author agrieve@google.com (Andrew Grieve)\\n */\\n\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitForce;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusX;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusY;\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nTouchEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nTouchEvent.prototype.rotation;\\n\\n/**\\n * Initializes a newly created TouchEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {TouchList} touches\\n * @param {TouchList} targetTouches\\n * @param {TouchList} changedTouches\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nTouchEvent.prototype.initTouchEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, touches, targetTouches, changedTouches, scale, rotation) {};\\n\\n/**\\n * The GestureEvent class encapsulates information about a multi-touch gesture.\\n *\\n * GestureEvent objects are high-level events that encapsulate the low-level\\n * TouchEvent objects. Both GestureEvent and TouchEvent events are sent during\\n * a multi-touch sequence. Gesture events contain scaling and rotation\\n * information allowing gestures to be combined, if supported by the platform.\\n * If not supported, one gesture ends before another starts. Listen for\\n * GestureEvent events if you want to respond to gestures only, not process\\n * the low-level TouchEvent objects.\\n *\\n * @see http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction GestureEvent() {}\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nGestureEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nGestureEvent.prototype.rotation;\\n\\n/**\\n * The target of this gesture.\\n * @type {EventTarget}\\n */\\nGestureEvent.prototype.target;\\n\\n/**\\n * Initializes a newly created GestureEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {EventTarget} target\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nGestureEvent.prototype.initGestureEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, target, scale, rotation) {};\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture is started by\\n * two or more fingers touching the surface.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturestart;\\n\\n/**\\n * Specifies the JavaScript method to invoke when fingers are moved during a\\n * gesture.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturechange;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture ends (when there are\\n * 0 or 1 fingers touching the surface).\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongestureend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when the browser device\'s\\n * orientation changes, i.e.the device is rotated.\\n * @type {?function(!Event)}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.onorientationchange;\\n\\n/**\\n * Returns the orientation of the browser\'s device, one of [-90, 0, 90, 180].\\n * @type {number}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.orientation;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocapitalize;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocapitalize;\\n","externs/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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaSource.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaSource.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaSource.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.sourceBuffers;\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.activeSourceBuffers;\\n\\n/** @type {number} */\\nMediaSource.prototype.duration;\\n\\n/**\\n * @param {string} type\\n * @return {SourceBuffer}\\n */\\nMediaSource.prototype.addSourceBuffer = function(type) {};\\n\\n/**\\n * @param {SourceBuffer} sourceBuffer\\n * @return {undefined}\\n */\\nMediaSource.prototype.removeSourceBuffer = function(sourceBuffer) {};\\n\\n/**\\n * Updates the live seekable range.\\n * @param {number} start\\n * @param {number} end\\n */\\nMediaSource.prototype.setLiveSeekableRange = function(start, end) {};\\n\\n/**\\n * Clears the live seekable range.\\n * @return {void}\\n */\\nMediaSource.prototype.clearLiveSeekableRange = function() {};\\n\\n/** @type {string} */\\nMediaSource.prototype.readyState;\\n\\n/**\\n * @param {string=} opt_error\\n * @return {undefined}\\n */\\nMediaSource.prototype.endOfStream = function(opt_error) {};\\n\\n/**\\n * @param {string} type\\n * @return {boolean}\\n */\\nMediaSource.isTypeSupported = function(type) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SourceBuffer() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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;\\';
a.a+='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 * @enum {string}\\n * @see http://www.w3.org/TR/page-visibility/#VisibilityState\\n */\\nvar VisibilityState = {\\n  HIDDEN: \'hidden\',\\n  VISIBLE: \'visible\',\\n  PRERENDER: \'prerender\',\\n  UNLOADED: \'unloaded\'\\n};\\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 * @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<string>}\\n */\\nURLSearchParams.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nURLSearchParams.prototype.has = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.set = function(name, value) {};\\n\\n/**\\n * @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 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)} 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';
a.a+=" 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 15 March 2012.\\n * @see http://www.w3.org/TR/webaudio/\\n *\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n */\\nfunction AudioContext() {}\\n\\n/** @type {!AudioDestinationNode} */\\nAudioContext.prototype.destination;\\n\\n/** @type {number} */\\nAudioContext.prototype.sampleRate;\\n\\n/** @type {number} */\\nAudioContext.prototype.currentTime;\\n\\n/** @type {!AudioListener} */\\nAudioContext.prototype.listener;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/state\\n */\\nAudioContext.prototype.state;\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @return {!AudioBuffer}\\n */\\nAudioContext.prototype.createBuffer =\\n    function(numberOfChannels, length, sampleRate) {};\\n\\n/**\\n * @param {ArrayBuffer} audioData\\n * @param {function(AudioBuffer)=} successCallback\\n * @param {function(?)=} errorCallback\\n * @return {!Promise<AudioBuffer>}\\n */\\nAudioContext.prototype.decodeAudioData =\\n    function(audioData, successCallback, errorCallback) {};\\n\\n/**\\n * @return {!AudioBufferSourceNode}\\n */\\nAudioContext.prototype.createBufferSource = function() {};\\n\\n/**\\n * @param {HTMLMediaElement} mediaElement\\n * @return {!MediaElementAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaElementSource = function(mediaElement) {};\\n\\n/**\\n * @param {MediaStream} mediaStream\\n * @return {!MediaStreamAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaStreamSource = function(mediaStream) {};\\n\\n/**\\n * @return {!MediaStreamAudioDestinationNode}\\n */\\nAudioContext.prototype.createMediaStreamDestination = function() {};\\n\\n/**\\n * To be 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 * @param {number} bufferSize\\n * @param {number=} numberOfInputChannels_opt\\n * @param {number=} numberOfOutputChannels_opt\\n * @return {!ScriptProcessorNode}\\n */\\nAudioContext.prototype.createScriptProcessor = function(bufferSize,\\n    numberOfInputChannels_opt, numberOfOutputChannels_opt) {};\\n\\n/**\\n * @return {!RealtimeAnalyserNode}\\n */\\nAudioContext.prototype.createAnalyser = function() {};\\n\\n/**\\n * @deprecated Use createGain instead.\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGainNode = function() {};\\n\\n/**\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGain = function() {};\\n\\n/**\\n * To be deprecated. Use createDelay instead.\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelayNode = function(maxDelayTime) {};\\n\\n/**\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelay = function(maxDelayTime) {};\\n\\n/**\\n * @return {!BiquadFilterNode}\\n */\\nAudioContext.prototype.createBiquadFilter = function() {};\\n\\n/**\\n * @return {!WaveShaperNode}\\n */\\nAudioContext.prototype.createWaveShaper = function() {};\\n\\n/**\\n * @return {!AudioPannerNode}\\n */\\nAudioContext.prototype.createPanner = function() {};\\n\\n/**\\n * @return {!StereoPannerNode}\\n */\\nAudioContext.prototype.createStereoPanner = function() {};\\n\\n/**\\n * @return {!ConvolverNode}\\n */\\nAudioContext.prototype.createConvolver = function() {};\\n\\n/**\\n * @param {number=} numberOfOutputs\\n * @return {!AudioChannelSplitter}\\n */\\nAudioContext.prototype.createChannelSplitter = function(numberOfOutputs) {};\\n\\n/**\\n * @param {number=} numberOfInputs\\n * @return {!AudioChannelMerger}\\n */\\nAudioContext.prototype.createChannelMerger = function(numberOfInputs) {};\\n\\n/**\\n * @return {!DynamicsCompressorNode}\\n */\\nAudioContext.prototype.createDynamicsCompressor = function() {};\\n\\n/**\\n * @return {!OscillatorNode}\\n */\\nAudioContext.prototype.createOscillator = function() {};\\n\\n/**\\n * @param {Float32Array} real\\n * @param {Float32Array} imag\\n * @return {!PeriodicWave}\\n */\\nAudioContext.prototype.createPeriodicWave = function(real, imag) {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/resume\\n */\\nAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/suspend\\n */\\nAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/close\\n */\\nAudioContext.prototype.close = function() {};\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {AudioContext}\\n */\\nfunction OfflineAudioContext(numberOfChannels, length, sampleRate) {}\\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/**\\n * @param {AudioNode|AudioParam} destination\\n * @param {number=} output\\n * @param {number=} input\\n * @return {undefined}\\n */\\nAudioNode.prototype.connect = function(destination, output, input) {};\\n\\n/**\\n * @param {number=} output\\n * @return {undefined}\\n */\\nAudioNode.prototype.disconnect = function(output) {};\\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/** @type {string} */\\nAudioNode.prototype.channelCountMode;\\n\\n/** @type {string} */\\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 * To be deprecated. Use maxChannelCount instead.\\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 * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.maxValue;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.minValue;\\n\\n/** @type {number} */\\nAudioParam.prototype.defaultValue;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.units;\\n\\n/**\\n * @param {number} value\\n * @param {number} startTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setValueAtTime = function(value, startTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.linearRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {AudioParam}\\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 */\\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 */\\nAudioParam.prototype.setValueCurveAtTime = function(values, startTime,\\n    duration) {};\\n\\n/**\\n * @param {number} startTime\\n * @return {AudioParam}\\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 {AudioGain} */\\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 * To be 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 * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction AudioBufferSourceNode() {}\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.UNSCHEDULED_STATE; /* = 0 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.SCHEDULED_STATE; /* = 1 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.PLAYING_STATE; /* = 2 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.FINISHED_STATE; /* = 3 */\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.playbackState;\\n\\n/** @type {AudioBuffer} */\\nAudioBufferSourceNode.prototype.buffer;\\n\\n/**\\n * To be 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/**\\n * @param {number} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.start = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.stop = function(when) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOn = function(when) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @param {number} grainOffset\\n * @param {number} grainDuration\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteGrainOn = function(when, grainOffset,\\n    grainDuration) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOff = function(when) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction MediaElementAudioSourceNode() {}\\n\\n/**\\n * To be deprecated. Use ScriptProcessorNode instead.\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction JavaScriptAudioNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n */\\nJavaScriptAudioNode.prototype.onaudioprocess;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nJavaScriptAudioNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ScriptProcessorNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n */\\nScriptProcessorNode.prototype.onaudioprocess;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nScriptProcessorNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioProcessingEvent() {}\\n\\n/** @type {ScriptProcessorNode} */\\nAudioProcessingEvent.prototype.node;\\n\\n/** @type {number} */\\nAudioProcessingEvent.prototype.playbackTime;\\n\\n/** @type {AudioBuffer} */\\nAudioProcessingEvent.prototype.inputBuffer;\\n\\n/** @type {AudioBuffer} */\\nAudioProcessingEvent.prototype.outputBuffer;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioPannerNode() {}\\n\\n/**\\n * To be deprecated. Use 'equalpower' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.EQUALPOWER = 0;\\n\\n/**\\n * To be deprecated. Use 'HRTF' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.HRTF = 1;\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.SOUNDFIELD = 2;\\n\\n/**\\n * To be deprecated. Use 'linear' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.LINEAR_DISTANCE = 0;\\n\\n/**\\n * To be deprecated. Use 'inverse' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.INVERSE_DISTANCE = 1;\\n\\n/**\\n * To be deprecated. Use 'exponential' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.EXPONENTIAL_DISTANCE = 2;\\n\\n/** @type {number|string} */\\nAudioPannerNode.prototype.panningModel;\\n\\n/**\\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 * @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 * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setVelocity = function(x, y, z) {};\\n\\n/** @type {number|string} */\\nAudioPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.maxDistance;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.rolloffFactor;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioPannerNode.prototype.coneGain;\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioPannerNode.prototype.distanceGain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @see http://webaudio.github.io/web-audio-api/#the-stereopannernode-interface\\n */\\nfunction StereoPannerNode() {}\\n\\n/** @type {!AudioParam} */\\nStereoPannerNode.prototype.pan;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioListener() {}\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioListener.prototype.gain;\\n\\n/** @type {number} */\\nAudioListener.prototype.dopplerFactor;\\n\\n/** @type {number} */\\nAudioListener.prototype.speedOfSound;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\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 * @return {undefined}\\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 * @return {undefined}\\n */\\nAudioListener.prototype.setVelocity = function(x, y, z) {};\\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 * @return {undefined}\\n */\\nAnalyserNode.prototype.getFloatFrequencyData = function(array) {};\\n\\n/**\\n * @param {Uint8Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getByteFrequencyData = function(array) {};\\n\\n/**\\n * @param {Uint8Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getByteTimeDomainData = function(array) {};\\n\\n/** @type {number} */\\nAnalyserNode.prototype.fftSize;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.frequencyBinCount;\\n\\n/** @type {number} */\\nAnalyserNode.prototype";
a.a+='.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 AudioChannelSplitter() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\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 {!AudioParam} */\\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/**\\n * @param {Float32Array} frequencyHz\\n * @param {Float32Array} magResponse\\n * @param {Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nBiquadFilterNode.prototype.getFrequencyResponse = function(frequencyHz,\\n    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 * @constructor\\n */\\nfunction WaveTable() {}\\n\\n/**\\n * @constructor\\n */\\nfunction PeriodicWave() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction OscillatorNode() {}\\n\\n/** @type {string} */\\nOscillatorNode.prototype.type;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nOscillatorNode.prototype.playbackState;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.detune;\\n\\n/** @type {function(number)} */\\nOscillatorNode.prototype.start;\\n\\n/** @type {function(number)} */\\nOscillatorNode.prototype.stop;\\n\\n/**\\n * To be deprecated.\\n * @type {function(WaveTable)}\\n */\\nOscillatorNode.prototype.setWaveTable;\\n\\n/** @type {function(PeriodicWave)} */\\nOscillatorNode.prototype.setPeriodicWave;\\n\\n/** @type {EventListener} */\\nOscillatorNode.prototype.onended;\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction MediaStreamAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioDestinationNode}\\n */\\nfunction MediaStreamAudioDestinationNode() {}\\n\\n/**\\n * @type {!MediaStream}\\n * @const\\n */\\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 * 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 * @return {undefined}\\n */\\nAudio.prototype.mozSetup = function(channels, rate) {};\\n\\n/**\\n * @param {Array|Float32Array} buffer\\n * @return {undefined}\\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 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, eit';
a.a+='her express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Gamepad specification.\\n * @see http://www.w3.org/TR/gamepad/\\n * @externs\\n */\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.getGamepads = function() {};\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.webkitGetGamepads = function() {};\\n\\n\\n/**\\n * @interface\\n */\\nvar Gamepad = function() {};\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.id;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.index;  // read-only\\n\\n/**\\n * @type {boolean}\\n */\\nGamepad.prototype.connected;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.timestamp;  // read-only\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.mapping;  // read-only\\n\\n/**\\n * @type {!Array.<number>}\\n */\\nGamepad.prototype.axes;  // read-only\\n\\n/**\\n * Note: The W3C spec changed, this property now returns an array of\\n * GamepadButton objects.\\n *\\n * @type {(!Array.<!GamepadButton>|!Array.<number>)}\\n */\\nGamepad.prototype.buttons;\\n\\n\\n/**\\n * @interface\\n */\\nvar GamepadButton = function() {};\\n\\n/**\\n * @type {boolean}\\n */\\nGamepadButton.prototype.pressed;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepadButton.prototype.value;  // read-only\\n","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 {Date} */\\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. In Chrome all the\\n * IndexedDB classes are prefixed with \'webkit\'. In order to access constants\\n * and static methods of these classes they must be duplicated with the\\n * prefix here.\\n * @see http://www.w3.org/TR/IndexedDB/\\n *\\n * @externs\\n * @author guido.tapia@picnet.com.au (Guido Tapia)\\n */\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.msIndexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.indexedDB;\\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 * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException\\n */\\nfunction IDBDatabaseException() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBDatabaseException}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException\\n */\\nfunction webkitIDBDatabaseException() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.UNKNOWN_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.UNKNOWN_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NON_TRANSIENT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NON_TRANSIENT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NOT_FOUND_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NOT_FOUND_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.CONSTRAINT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.CONSTRAINT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.DATA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.DATA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NOT_ALLOWED_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NOT_ALLOWED_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.TRANSACTION_INACTIVE_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.TRANSACTION_INACTIVE_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.ABORT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.ABORT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.READ_ONLY_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.READ_ONLY_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.TIMEOUT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.TIMEOUT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.QUOTA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.QUOTA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.prototype.code;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.prototype.code;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nIDBDatabaseException.prototype.message;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nwebkitIDBDatabaseException.prototype.message;\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n */\\nfunction IDBRequest() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBRequest.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBRequest.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nIDBRequest.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nwebkitIDBRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBRequest.DONE;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nwebkitIDBRequest.DONE;\\n\\n/**\\n * @type {number}\\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} */\\nIDBRequest.prototype.error; // readonly\\n\\n/** @type {Object} */\\nIDBRequest.prototype.source; // readonly\\n\\n/** @type {IDBTransaction} */\\nIDBRequest.prototype.transaction; // readonly\\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 * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase\\n */\\nfunction IDBDatabase() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.description;\\n\\n/**\\n * @type {string}\\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 {Object=} 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} version The new version of the database.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBDatabase.prototype.setVersion = function(version) {};\\n\\n/**\\n * @param {string|Array<string>} storeNames The stores to open in this\\n *     transaction.\\n * @param {(number|string)=} 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}\\n */\\nIDBDatabase.prototype.onabort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onerror = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onversionchange = function() {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nIDBDatabase.prototype.dispatchEvent = function(evt) {};\\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 * @typedef {number|string|!Date|!Array<?>}\\n */\\nvar IDBKeyType;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore\\n */\\nfunction IDBObjectStore() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.name;\\n\\n/**\\n * @type {string}\\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} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.delete = function(key) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The key of the document to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.get = function(key) {};\\n\\n/**\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.clear = function() {};\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {string} name The name of the index.\\n * @param {string|!Array<string>} keyPath The path to the index key.\\n * @param {Object=} 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 *';
a.a+=' @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 * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex\\n */\\nfunction IDBIndex() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBIndex.prototype.name;\\n\\n/**\\n * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.unique;\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} 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 * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n */\\nfunction IDBCursor() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.NEXT;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.NEXT;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.NEXT_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.NEXT_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.PREV;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.PREV;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.PREV_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.PREV_NO_DUPLICATE;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {number}\\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 {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 * @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 * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n */\\nfunction IDBTransaction() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.READ_WRITE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.READ_WRITE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.READ_ONLY;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.READ_ONLY;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.VERSION_CHANGE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.VERSION_CHANGE;\\n\\n/**\\n * @type {number|string}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {IDBDatabase}\\n * @const\\n */\\nIDBTransaction.prototype.db;\\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}\\n */\\nIDBTransaction.prototype.onabort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.oncomplete = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.onerror = function() {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n */\\nfunction IDBKeyRange() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\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 {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {*}\\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} value The single key value of this range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.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 a lower bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.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} bound Creates an upper bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.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} 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 */\\nwebkitIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction IDBVersionChangeEvent() {}\\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 * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent() {}\\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.<!MIDIAccess>}\\n */\\nnavigator.requestMIDIAccess = function(opt_options) {};\\n\\n\\n/**\\n * @typedef {{\\n *   sysex: boolean\\n * }}\\n */\\nvar MIDIOptions;\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIInputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIInputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIInputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIInputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIInput)} iterator\\n */\\nMIDIInputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIInput}\\n */\\nMIDIInputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIInputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIOutputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIOutputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIOutputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIOutputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIOutput)} iterator\\n */\\nMIDIOutputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIOutput}\\n */\\nMIDIOutputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIOutputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIAccess = function() {};\\n\\n\\n/**\\n * @const {!MIDIInputMap}\\n */\\nMIDIAccess.prototype.inputs;\\n\\n\\n/**\\n * @const {!MIDIOutputMap}\\n */\\nMIDIAccess.prototype.outputs;\\n\\n\\n/**\\n * @const {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.onconnect;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.ondisconnect;\\n\\n\\n/**\\n * @const {boolean}\\n */\\nMIDIAccess.prototype.sysexEnabled;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIPort = function() {};\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.id;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.manufacturer;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.name;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.type;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.version;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIPort.prototype.ondisconnect;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIInput = function() {};\\n\\n\\n/**\\n * @type {function(!MIDIMessageEvent)}\\n */\\nMIDIInput.prototype.onmidimessage;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIOutput = function() {};\\n\\n\\n/**\\n * @param {!Uint8Array} data\\n * @param {number=} opt_timestamp\\n */\\nMIDIOutput.prototype.send = function(data, opt_timestamp) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIMessageEventInit=} opt_init\\n */\\nvar MIDIMessageEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIMessageEvent.prototype.receivedTime;\\n\\n\\n/**\\n * @const {!Uint8Array}\\n */\\nMIDIMessageEvent.prototype.data;\\n\\n\\n/**\\n * @typedef {{\\n *   receivedTime: number,\\n *   data: !Uint8Array\\n * }}\\n */\\nvar MIDIMessageEventInit;\\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 * @typedef {{\\n *   port: !MIDIPort\\n * }}\\n */\\nvar MIDIConnectionEventInit;\\n","externs/w3c_navigation_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Navigation Timing specification.\\n *\\n * Created from\\n * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html\\n * @see http://w3c-test.org/webperf/specs/ResourceTiming\\n * @see http://www.w3.org/TR/performance-timeline\\n * @see http://www.w3.org/TR/user-timing/\\n *\\n * @externs\\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\\n */\\n\\n/** @constructor */\\nfunction PerformanceTiming() {}\\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\\n\\n/** @constructor */\\nfunction PerformanceEntry() {}\\n/** @type {string} */ PerformanceEntry.prototype.name;\\n/** @type {string} */ PerformanceEntry.prototype.entryType;\\n/** @type {number} */ PerformanceEntry.prototype.startTime;\\n/** @type {number} */ PerformanceEntry.prototype.duration;\\n\\n/**\\n * @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.req';
a.a+='uestStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\\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// Only available in WebKit, and only with the --enable-memory-info flag.\\n/** @constructor */\\nfunction PerformanceMemory() {}\\n/** @type {number} */ PerformanceMemory.prototype.jsHeapSizeLimit;\\n/** @type {number} */ PerformanceMemory.prototype.totalJSHeapSize;\\n/** @type {number} */ PerformanceMemory.prototype.usedJSHeapSize;\\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<PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntries = function() {};\\n\\n/**\\n * @param {string} entryType Only return {@code PerformanceEntry}s with this\\n *     entryType.\\n * @return {Array<PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByType = function(entryType) {};\\n\\n/**\\n * @param {string} name Only return {@code PerformanceEntry}s with this name.\\n * @param {string=} opt_entryType Only return {@code PerformanceEntry}s with\\n *     this entryType.\\n * @return {Array<PerformanceEntry>} PerformanceEntry list in chronological\\n *     order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByName = function(name, opt_entryType) {};\\n\\n// Only available in WebKit, and only with the --enable-memory-info flag.\\n/** @type {PerformanceMemory} */ 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 =\\n    function(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","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 * @enum {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionName\\n */\\nvar PermissionName = {\\n  GEOLOCATION: \'geolocation\',\\n  NOTIFICATIONS: \'notifications\',\\n  PUSH: \'push\',\\n  MIDI: \'midi\'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionState\\n */\\nvar PermissionState = {\\n  GRANTED: \'granted\',\\n  DENIED: \'denied\',\\n  PROMPT: \'prompt\'\\n};\\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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nPermissionStatus.prototype.addEventListener = function(type,\\n                                                       listener,\\n                                                       opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nPermissionStatus.prototype.removeEventListener = function(type,\\n                                                          listener,\\n                                                          opt_useCapture) {};\\n/**\\n * @override\\n * @return {boolean}\\n */\\nPermissionStatus.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * @constructor\\n * @see https://w3c.github.io/permissions/#idl-def-permissions\\n */\\nfunction Permissions() {}\\n\\n/**\\n * @param {PermissionDescriptor} permission The permission to look up\\n * @return {!Promise<!PermissionStatus>}\\n * @see https://w3c.github.io/permissions/#dom-permissions-query\\n */\\nPermissions.prototype.query = function(permission) {};\\n\\n\\n/** @type {Permissions} */\\nNavigator.prototype.permissions;\\n","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 * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   pointerId: (number|undefined),\\n *   width: (number|undefined),\\n *   height: (number|undefined),\\n *   pressure: (number|undefined),\\n *   tiltX: (number|undefined),\\n *   tiltY: (number|undefined),\\n *   pointerType: (string|undefined),\\n *   isPrimary: (boolean|undefined)\\n * }}\\n */\\nvar PointerEventInit;\\n\\n/**\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {PointerEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\\n */\\nfunction PointerEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nPointerEvent.prototype.width;\\n\\n/** @type {number} */\\nPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltY;\\n\\n/** @type {string} */\\nPointerEvent.prototype.pointerType;\\n\\n/** @type {boolean} */\\nPointerEvent.prototype.isPrimary;\\n\\n// Microsoft pointerType values\\n/** @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","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/**\\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 * @type {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 * @type {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 * @type {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 * @type {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 * @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';
a.a+="://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 http://dev.w3.org/2011/webrtc/editor/webrtc.html\\n * @see http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-01\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API\\n * @see http://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 {http://dev.w3.org/2011/webrtc/editor/getusermedia.html\\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 * @extends {EventTarget}\\n * @see http://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array<!SourceInfo>)} callback\\n * @return {undefined}\\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 {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 * @return {!MediaStreamTrack}\\n */\\nMediaStreamTrack.prototype.clone = function() {};\\n\\n/** @return {void} */\\nMediaStreamTrack.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @private\\n * @see http://dev.w3.org/2011/webrtc/editor/\\n * webrtc-20120720.html#mediastreamtrackevent\\n * TODO(bemasc): Update this link to the final definition once one exists\\n * (https://www.w3.org/Bugs/Public/show_bug.cgi?id=19568)\\n */\\nfunction MediaStreamTrackEvent() {}\\n\\n/**\\n * @type {!MediaStreamTrack}\\n * @const\\n */\\nMediaStreamTrackEvent.prototype.track;\\n\\n/**\\n * @param {!MediaStream|!Array<!MediaStreamTrack>=} streamOrTracks\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/mediacapture-streams/#mediastream\\n */\\nfunction MediaStream(streamOrTracks) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaStream.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\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<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getAudioTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getVideoTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getTracks = function() {};\\n\\n/**\\n * @param {string} trackId\\n * @return {MediaStreamTrack}\\n */\\nMediaStream.prototype.getTrackById = function(trackId) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.addTrack = function(track) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.removeTrack = function(track) {};\\n\\n/**\\n * @return {!MediaStream}\\n */\\nMediaStream.prototype.clone = function() {};\\n\\n/**\\n * @deprecated\\n * @type {boolean}\\n */\\nMediaStream.prototype.ended;\\n\\n/**\\n * @deprecated\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onended;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStream.prototype.active;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onactive;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.oninactive;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onaddtrack;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onremovetrack;\\n\\n/**\\n * @deprecated\\n * TODO(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<!MediaStreamTrack>)=)}\\n */\\nvar webkitMediaStream;\\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 {?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 * 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<!MediaTrackConstraintSet>}\\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 http://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 * @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<!Array<!MediaDeviceInfo>>}\\n */\\nMediaDevices.prototype.enumerateDevices = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\\n * @param {!MediaStreamConstraints} constraints\\n * @return {!Promise<!MediaStream>}\\n */\\nMediaDevices.prototype.getUserMedia = function(constraints) {}\\n\\n/** @const {!MediaDevices} */\\nNavigator.prototype.mediaDevices;\\n\\n/**\\n * @typedef {string}\\n * @see http://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 http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcsessiondescription-class\\n */\\nfunction RTCSessionDescription(descriptionInitDict) {}\\n\\n/**\\n * @type {?RTCSdpType}\\n * @see http://www.w3.org/TR/webrtc/#widl-RTCSessionDescription-type\\n */\\nRTCSessionDescription.prototype.type;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/webrtc/#widl-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 http://www.w3.org/TR/webrtc/#rtcicecandidate-type\\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 {{url: string}}\\n * @private\\n * @see http://www.w3.org/TR/webrtc/#rtciceserver-type\\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}\\n */\\nRTCIceServerInterface_.prototype.url;\\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<!RTCIceServer>}}\\n * @private\\n */\\nvar RTCConfigurationRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCConfigurationInterface_() {}\\n\\n/**\\n * @type {!Array<!RTCIceServer>}\\n */\\nRTCConfigurationInterface_.prototype.iceServers;\\n\\n/**\\n * @typedef {RTCConfigurationRecord_";
a.a+='|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<!string>}\\n */\\nRTCStatsReport.prototype.names = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {string}\\n */\\nRTCStatsReport.prototype.stat = function(name) {};\\n\\n/**\\n * @deprecated\\n * @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/**\\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<!RTCStatsReport>}\\n */\\nRTCStatsResponse.prototype.result = function() {};\\n\\n/**\\n * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)}\\n */\\nvar RTCStatsCallback;\\n\\n/**\\n * This type is not yet standardized, so the properties here only represent\\n * the current capabilities of libjingle (and hence Chromium).\\n * TODO(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<!MediaConstraintSet_>}\\n */\\nMediaConstraintsInterface_.prototype.optional;\\n\\n/**\\n * This type is used extensively in\\n * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet\\n * defined.\\n *\\n * @typedef {Object|MediaConstraintsInterface_}\\n */\\nvar MediaConstraints;\\n\\n/**\\n * @interface\\n */\\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 * @param {RTCConfiguration} configuration\\n * @param {!MediaConstraints=} constraints\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction RTCPeerConnection(configuration, constraints) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\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 * @param {!RTCSessionDescriptionCallback} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallback,\\n    failureCallback, constraints) {};\\n\\n/**\\n * @param {RTCSessionDescriptionCallback} successCallback\\n * @param {?RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer = function(successCallback,\\n    failureCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {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 {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 * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate) {};\\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<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getLocalStreams = function() {};\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getRemoteStreams = function() {};\\n\\n/**\\n * @param {string} streamId\\n * @return {MediaStream}\\n */\\nRTCPeerConnection.prototype.getStreamById = function(streamId) {};\\n\\n/**\\n * @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// TODO(bemasc): Add identity provider stuff once implementations exist\\n\\n/**\\n * @param {!RTCStatsCallback} successCallback\\n * @param {MediaStreamTrack=} selector\\n * @return {undefined}\\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(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onremovestream;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.oniceconnectionstatechange;\\n\\n/**\\n * @type {?function(!RTCDataChannelEvent)}\\n */\\nRTCPeerConnection.prototype.ondatachannel;\\n\\n/**\\n * @type {function(new: RTCPeerConnection, RTCConfiguration,\\n *     !MediaConstraints=)}\\n */\\nvar webkitRTCPeerConnection;\\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<void>}\\n */\\nScreenOrientation.prototype.lock = function(orientation) {};\\n\\n/** @return {void} */\\nScreenOrientation.prototype.unlock = function() {};\\n\\n/** @const {string} */\\nScreenOrientation.prototype.type;\\n\\n/** @const {number} */\\nScreenOrientation.prototype.angle;\\n\\n/** @type {?function(!Event)} */\\nScreenOrientation.prototype.onchange;\\n\\n/**\\n * @type {?ScreenOrientation}\\n * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface\\n */\\nScreen.prototype.orientation;\\n","externs/w3c_selectors.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Selectors API.\\n *  This file depends on w3c_dom1.js.\\n *  @see http://www.w3.org/TR/selectors-api2/\\n *\\n * @externs\\n * @author mihaip@google.com (Mihai Parparita)\\n */\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-closest\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest\\n * @param {string} selectors\\n * @return {?Element}\\n * @nosideeffects\\n */\\nElement.prototype.closest = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-matches\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matches = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @param {(Node|NodeList<?>)=} refNodes\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matchesSelector = function(selectors, refNodes) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.mozMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.webkitMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.msMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://www.opera.com/docs/changelogs/windows/1150/\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.oMatchesSelector = function(selectors) {};\\n","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/** @enum {string} */\\nvar ServiceWorkerState = {\\n  INSTALLING: \'installing\',\\n  INSTALLED: \'installed\',\\n  ACTIVATING: \'activating\',\\n  ACTIVATED: \'activated\',\\n  REDUNDANT: \'redundant\'\\n};\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @constructor\\n */\\nfunction PushSubscription() {}\\n\\n/** @type {string} */\\nPushSubscription.prototype.endpoint;\\n\\n/**\\n * Please note there is an intent to deprecate this field in Chrome 43 or 44.\\n * See https://';
a.a+="www.chromestatus.com/feature/5283829761703936.\\n * @type {string}\\n */\\nPushSubscription.prototype.subscriptionId;\\n\\n/** @return {!Promise<boolean>} */\\nPushSubscription.prototype.unsubscribe = function() {};\\n\\n/** @enum {string} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// var PushPermissionStatus  = {\\n//  GRANTED: 'granted',\\n//  DENIED: 'denied',\\n//  DEFAULT: 'default'\\n//};\\n\\n/**\\n * @see https://w3c.github.io/push-api/#idl-def-PushManager\\n * @constructor\\n */\\nfunction PushManager() {}\\n\\n/**\\n * @param {PushSubscriptionOptions=} opt_options\\n * @return {!Promise<PushSubscription>}\\n */\\nPushManager.prototype.subscribe = function(opt_options) {};\\n\\n/** @return {!Promise<PushSubscription>} */\\nPushManager.prototype.getSubscription = function() {};\\n\\n/** @return {!Promise<PushPermissionStatus>} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// PushManager.prototype.hasPermission = function() {};\\n\\n/**\\n * @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 {string} */\\nServiceWorkerRegistration.prototype.scope;\\n\\n/** @return {!Promise<boolean>} */\\nServiceWorkerRegistration.prototype.unregister = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerRegistration.prototype.onupdatefound;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerRegistration.prototype.update = function() {};\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @type {!PushManager}\\n */\\nServiceWorkerRegistration.prototype.pushManager;\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @return {!Promise<void>}\\n */\\nServiceWorkerRegistration.prototype.showNotification =\\n    function(title, opt_options) {};\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {!GetNotificationOptions=} opt_filter\\n * @return {!Promise<?Array<?Notification>>}\\n */\\nServiceWorkerRegistration.prototype.getNotifications = function(opt_filter) {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerContainer() {}\\n\\n/** @type {?ServiceWorker} */\\nServiceWorkerContainer.prototype.controller;\\n\\n/** @type {!Promise<!ServiceWorkerRegistration>} */\\nServiceWorkerContainer.prototype.ready;\\n\\n/**\\n * @param {string} scriptURL\\n * @param {RegistrationOptions=} opt_options\\n * @return {!Promise<!ServiceWorkerRegistration>}\\n */\\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\\n\\n/**\\n * @param {string=} opt_documentURL\\n * @return {!Promise<!ServiceWorkerRegistration|undefined>}\\n */\\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\\n\\n/**\\n * @return {!Promise<Array<!ServiceWorkerRegistration>>}\\n */\\nServiceWorkerContainer.prototype.getRegistrations = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: string}}\\n */\\nvar RegistrationOptions;\\n\\n/** @type {!ServiceWorkerContainer} */\\nNavigator.prototype.serviceWorker;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction ServiceWorkerGlobalScope() {}\\n\\n/** @type {!Cache} */\\nServiceWorkerGlobalScope.prototype.scriptCache;\\n\\n/** @type {!CacheStorage} */\\nServiceWorkerGlobalScope.prototype.caches;\\n\\n/** @type {!ServiceWorkerClients} */\\nServiceWorkerGlobalScope.prototype.clients;\\n\\n/** @type {string} */\\nServiceWorkerGlobalScope.prototype.scope;\\n\\n/** @type {!ServiceWorkerRegistration} */\\nServiceWorkerGlobalScope.prototype.registration;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerGlobalScope.prototype.skipWaiting = function() {};\\n\\n/** @type {!Console} */\\nServiceWorkerGlobalScope.prototype.console;\\n\\n/** @type {?function(!InstallEvent)} */\\nServiceWorkerGlobalScope.prototype.oninstall;\\n\\n/** @type {?function(!ExtendableEvent)} */\\nServiceWorkerGlobalScope.prototype.onactivate;\\n\\n/** @type {?function(!FetchEvent)} */\\nServiceWorkerGlobalScope.prototype.onfetch;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onbeforeevicted;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onevicted;\\n\\n/** @type {?function(!MessageEvent)} */\\nServiceWorkerGlobalScope.prototype.onmessage;\\n\\n/** @type {IDBFactory} */\\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<void>} */\\nServiceWorkerClient.prototype.ready;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.hidden;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.focused;\\n\\n/** @type {VisibilityState} */\\nServiceWorkerClient.prototype.visibilityState;\\n\\n/** @type {string} */\\nServiceWorkerClient.prototype.url;\\n\\n/**\\n * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once\\n * the enum is defined.\\n * @type {string}\\n */\\nServiceWorkerClient.prototype.frameType;\\n\\n/**\\n * @param {*} message\\n * @param {(!Array<!Transferable>|undefined)=} opt_transfer\\n * @return {undefined}\\n */\\nServiceWorkerClient.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/** @return {!Promise} */\\nServiceWorkerClient.prototype.focus = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface\\n * @interface\\n */\\nfunction ServiceWorkerClients() {}\\n\\n/**\\n * Deprecated in Chrome M43+, use matchAll instead. Reference:\\n * https://github.com/slightlyoff/ServiceWorker/issues/610.\\n * TODO(joeltine): Remove when getAll is fully deprecated.\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\\n\\n/**\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nServiceWorkerClients.prototype.claim = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!ServiceWorkerClient>}\\n */\\nServiceWorkerClients.prototype.openWindow = function(url) {};\\n\\n/** @typedef {{includeUncontrolled: (boolean|undefined)}} */\\nvar ServiceWorkerClientQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-interface\\n * @interface\\n */\\nfunction Cache() {}\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCache.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Response>>}\\n */\\nCache.prototype.matchAll = function(opt_request, opt_options) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @return {!Promise<void>}\\n */\\nCache.prototype.add = function(request) {};\\n\\n/**\\n * @param {!Array<!RequestInfo>} requests\\n * @return {!Promise<void>}\\n */\\nCache.prototype.addAll = function(requests) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {!Response} response\\n * @return {!Promise<void>}\\n */\\nCache.prototype.put = function(request, response) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<boolean>}\\n */\\nCache.prototype.delete = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Request>>}\\n */\\nCache.prototype.keys = function(opt_request, opt_options) {};\\n\\n/**\\n * @typedef {{\\n *   ignoreSearch: (boolean|undefined),\\n *   ignoreMethod: (boolean|undefined),\\n *   ignoreVary: (boolean|undefined),\\n *   prefixMatch: (boolean|undefined),\\n *   cacheName: (string|undefined)\\n * }}\\n */\\nvar CacheQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-storage-interface\\n * @interface\\n */\\nfunction CacheStorage() {}\\n\\n/**\\n * Window instances have a property called caches which implements CacheStorage\\n * @see https://www.w3.org/TR/service-workers/#cache-objects\\n * @type {!CacheStorage}\\n */\\nWindow.prototype.caches;\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCacheStorage.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.has = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<!Cache>}\\n */\\nCacheStorage.prototype.open = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.delete = function(cacheName) {};\\n\\n/** @return {!Promise<!Array<string>>} */\\nCacheStorage.prototype.keys = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#extendable-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {ExtendableEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction ExtendableEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {IThenable} f\\n * @return {undefined}\\n */\\nExtendableEvent.prototype.waitUntil = function(f) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar ExtendableEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#install-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {InstallEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction InstallEvent(type, opt_eventInitDict) {}\\n\\n/** @type {ServiceWorker} */\\nExtendableEvent.prototype.activeWorker;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   activeWorker: (!ServiceWorker|undefined)\\n * }}\\n */\\nvar InstallEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#fetch-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {FetchEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction FetchEvent(type, opt_eventInitDict) {}\\n\\n/** @type {!Request} */\\nFetchEvent.prototype.request;\\n\\n/** @type {!ServiceWorkerClient} */\\nFetchEvent.prototype.client;\\n\\n/** @type {!boolean} */\\nFetchEvent.prototype.isReload;\\n\\n/**\\n * @param {(Response|Promise<Response>)} r\\n * @return {undefined}\\n */\\nFetchEvent.prototype.respondWith = function(r) {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.forwardTo = function(url) {};\\n\\n/**\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.default = function() {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   request: (!Request|undefined),\\n *   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   ";
a.a+=' pageY, screenX, screenY) {};\\n\\n\\n/**\\n * The TouchList class is used to represent a collection of Touch objects.\\n * @see http://www.w3.org/TR/touch-events/#touchlist-interface\\n * @constructor\\n * @implements {IArrayLike<!Touch>}\\n */\\nfunction TouchList() {}\\n\\n/**\\n * The number of Touch objects in this TouchList object.\\n * @type {number}\\n */\\nTouchList.prototype.length;\\n\\n/**\\n * Returns the Touch object at the given index.\\n * @param {number} index\\n * @return {?Touch}\\n */\\nTouchList.prototype.item = function(index) {};\\n\\n/**\\n * @param {number} identifier\\n * @return {?Touch}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier\\n */\\nTouchList.prototype.identifiedTouch = function(identifier) {};\\n\\n/**\\n * Creates a new TouchList object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches\\n * @param {Array<Touch>} touches\\n * @return {TouchList}\\n */\\nDocument.prototype.createTouchList = function(touches) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   touches: (!Array<Touch>|undefined),\\n *   targetTouches: (!Array<Touch>|undefined),\\n *   changedTouches: (!Array<Touch>|undefined)\\n * }}\\n */\\nvar TouchEventInit;\\n\\n/**\\n * The TouchEvent class encapsulates information about a touch event.\\n *\\n * <p>The system continually sends TouchEvent objects to an application as\\n * fingers touch and move across a surface. A touch event provides a snapshot of\\n * all touches during a multi-touch sequence, most importantly the touches that\\n * are new or have changed for a particular target. A multi-touch sequence\\n * begins when a finger first touches the surface. Other fingers may\\n * subsequently touch the surface, and all fingers may move across the surface.\\n * The sequence ends when the last of these fingers is lifted from the surface.\\n * An application receives touch event objects during each phase of any touch.\\n * </p>\\n *\\n * <p>The different types of TouchEvent objects that can occur are:\\n * <ul>\\n *   <li>touchstart - Sent when a finger for a given event touches the surface.\\n *   <li>touchmove - Sent when a given event moves on the surface.\\n *   <li>touchend - Sent when a given event lifts from the surface.\\n *   <li>touchcancel - Sent when the system cancels tracking for the touch.\\n * </ul>\\n * TouchEvent objects are combined together to form high-level GestureEvent\\n * objects that are also sent during a multi-touch sequence.</p>\\n *\\n * @see http://www.w3.org/TR/touch-events/#touchevent-interface\\n * @param {string} type\\n * @param {!TouchEventInit=} opt_eventInitDict\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction TouchEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.touches;\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.targetTouches;\\n\\n/**\\n * A collection of Touch objects representing all touches that changed in this event.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.changedTouches;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.altKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.metaKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.ctrlKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.shiftKey;\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when the system cancels tracking\\n * for the touch.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchcancel;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a given event lifts from the\\n * surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * moves on the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchmove;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * touches the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchstart;\\n","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<string>} Identifies the operation(s) that the key is\\n *     intended to be used for.\\n */\\nwebCrypto.JsonWebKey.prototype.key_ops;\\n\\n\\n/**\\n * @type {string} Identifies the algorithm intended for use with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.alg;\\n\\n\\n/**\\n * @type {boolean} Boolean to be used with kty values.\\n */\\nwebCrypto.JsonWebKey.prototype.ext;\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic curve used with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.crv;\\n\\n\\n/**\\n * @type {string} Contains the x coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.x;\\n\\n\\n/**\\n * @type {string} Contains the y coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.y;\\n\\n\\n/**\\n * @type {string} Contains the Elliptic Curve private key value.\\n */\\nwebCrypto.JsonWebKey.prototype.d;\\n\\n\\n/**\\n * @type {string} Contains the modulus value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.n;\\n\\n\\n/**\\n * @type {string} Contains the exponent value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.e;\\n\\n\\n/**\\n * @type {string} Contains the first prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.p;\\n\\n\\n/**\\n * @type {string} Contains the second prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.q;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the first factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dp;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dq;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient\\n *     of the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.qi;\\n\\n\\n/**\\n * @type {!Array<!webCrypto.RsaOtherPrimesInfo>} Contains an array of\\n *     information about any third and subsequent primes, should they exist.\\n */\\nwebCrypto.JsonWebKey.prototype.oth;\\n\\n\\n/**\\n * @type {string} Contains the value of the symmetric (or other\\n *     single-valued) key.\\n */\\nwebCrypto.JsonWebKey.prototype.k;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo\\n * @see Section-6.3.2.7:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40\\n */\\nwebCrypto.RsaOtherPrimesInfo = function() {};\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the value\\n *     of a subsequent prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.r;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     exponent of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.d;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     coefficient of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.t;\\n\\n\\n/**\\n * @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<string>} 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<string>} 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<string>} 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 fol';
a.a+='lowing: raw, pkcs8, spki, jwk.\\n * @param {!BufferSource} wrappedKey Contains the wrapped key in the given\\n *     format.\\n * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform\\n *     the unwrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm\\n *    used to perform the unwrapping. It is one of the following: AES-CBC,\\n *    AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm\\n *     Represents the algorithm of the wrapped key.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<*>} 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 * Web Cryptography API\\n * @see http://www.w3.org/TR/WebCryptoAPI/\\n */\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues\\n * @param {!ArrayBufferView} typedArray\\n * @return {!ArrayBufferView}\\n * @throws {Error}\\n */\\nWindow.prototype.crypto.getRandomValues = function(typedArray) {};\\n\\n\\n/**\\n * @type {webCrypto.SubtleCrypto}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle\\n */\\nWindow.prototype.crypto.subtle;\\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#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/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.prototype.onreadystatechange;\\n\\n/**\\n * @type {Function}\\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 doe';
a.a+='sn\'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 * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nfunction alert(x) {}\\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 * @see http://notifications.spec.whatwg.org/#notificationoptions\\n */\\nvar NotificationOptions;\\n\\n/**\\n * @typedef {{tag: (string|undefined)}}\\n * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions\\n */\\nvar GetNotificationOptions;\\n\\n/** @interface */\\nvar NotificationOptionsInterface_ = function() {}\\n/** @type {string} */ NotificationOptionsInterface_.prototype.dir;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.lang;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.body;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.tag;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.icon;\\n/** @type {boolean} */\\n  NotificationOptionsInterface_.prototype.requireInteraction;\\n\\n/**\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://notifications.spec.whatwg.org/#notification\\n */\\nfunction Notification(title, opt_options) {}\\n\\n/**\\n * @type {string}\\n */\\nNotification.permission;\\n\\n/**\\n * @param {NotificationPermissionCallback=} opt_callback\\n * @return {!Promise<string>}\\n */\\nNotification.requestPermission = function(opt_callback) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNotification.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNotification.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\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<string, UserMessageHandler>}\\n */\\nfunction UserMessageHandlersNamespace() {}\\n\\n\\n/** @constructor */\\nfunction UserMessageHandler() {}\\n\\n\\n/**\\n * @param {*} message\\n * @return {undefined}\\n */\\nUserMessageHandler.prototype.postMessage = function(message) {};\\n\\n\\n/**\\n * @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 {num';
a.a+="ber} */\\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} */\\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.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;";
a.a+="\\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} */\\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} */\\nW";
a.a+="ebGLRenderingContext.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<string>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getSupportedExtensions = function() {};\\n\\n/**\\n * Note that this has side effects by enabling the extension even if the\\n * result is not used.\\n * @param {string} name\\n * @return {Object}\\n */\\nWebGLRenderingContext.prototype.getExtension = function(name) {};\\n\\n/**\\n * @param {number} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.activeTexture = function(texture) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.attachShader = function(program, shader) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @param {string} name\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindAttribLocation = function(\\n    program, index, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindBuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindFramebuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindRenderbuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindTexture = function(target, texture) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquation = function(mode) {};\\n\\n/**\\n * @param {number} modeRGB\\n * @param {number} modeAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquationSeparate = function(\\n    modeRGB, modeAlpha) {};\\n\\n/**\\n * @param {number} sfactor\\n * @param {number} dfactor\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFunc = function(sfactor, dfactor) {};\\n\\n/**\\n * @param {number} srcRGB\\n * @param {number} dstRGB\\n * @param {number} srcAlpha\\n * @param {number} dstAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFuncSeparate = function(\\n    srcRGB, dstRGB, srcAlpha, dstAlpha) {};\\n\\n/**\\n * @param {number} target\\n * @param {ArrayBufferView|ArrayBuffer|number} data\\n * @param {number} usage\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferData = function(target, data, usage) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} offset\\n * @param {ArrayBufferView|ArrayBuffer} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferSubData = function(\\n    target, offset, data) {};\\n\\n/**\\n * @param {number} target\\n * @return {number}\\n */\\nWebGLRenderingContext.prototype.checkFramebufferStatus = function(target) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clear = function(mask) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} depth\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearDepth = function(depth) {};\\n\\n/**\\n * @param {number} s\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearStencil = function(s) {};\\n\\n/**\\n * @param {boolean} red\\n * @param {boolean} green\\n * @param {boolean} blue\\n * @param {boolean} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.colorMask = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compileShader = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexImage2D = function(\\n    target, level, internalformat, width, height, border, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexSubImage2D = function(\\n    target, level, xoffset, yoffset, width, height, format, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} format\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexImage2D = function(\\n    target, level, format, x, y, width, height, border) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexSubImage2D = function(\\n    target, level, xoffset, yoffset, x, y, width, height) {};\\n\\n/**\\n * @return {!WebGLBuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createBuffer = function() {};\\n\\n/**\\n * @return {!WebGLFramebuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createFramebuffer = function() {};\\n\\n/**\\n * @return {!WebGLProgram}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createProgram = function() {};\\n\\n/**\\n * @return {!WebGLRenderbuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createRenderbuffer = function() {};\\n\\n/**\\n * @param {number} type\\n * @return {!WebGLShader}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createShader = function(type) {};\\n\\n/**\\n * @return {!WebGLTexture}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createTexture = function() {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.cullFace = function(mode) {};\\n\\n/**\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteBuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteFramebuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteProgram = function(program) {};\\n\\n/**\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteRenderbuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteShader = function(shader) {};\\n\\n/**\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteTexture = function(texture) {};\\n\\n/**\\n * @param {number} func\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthFunc = function(func) {};\\n\\n/**\\n * @param {boolean} flag\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthMask = function(flag) {};\\n\\n/**\\n * @param {number} nearVal\\n * @param {number} farVal\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthRange = function(nearVal, farVal) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.detachShader = function(program, shader) {};\\n\\n/**\\n * @param {number} flags\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disable = function(flags) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disableVertexAttribArray = function(\\n    index) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} first\\n * @param {number} count\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawArrays = function(mode, first, count) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} count\\n * @param {number} type\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawElements = function(\\n    mode, count, type, offset) {};\\n\\n/**\\n * @param {number} cap\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enable = function(cap) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enableVertexAttribArray = function(\\n    index) {};\\n\\nWebGLRenderingContext.prototype.finish = function() {};\\n\\nWebGLRenderingContext.prototype.flush = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} renderbuffertarget\\n * @param {WebGLRenderbuffer} renderbuffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferRenderbuffer = function(\\n    target, attachment, renderbuffertarget, renderbuffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} textarget\\n * @param {WebGLTexture} texture\\n * @param {number} level\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferTexture2D = function(\\n    target, attachment, textarget, texture, level) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.frontFace = function(mode) {};\\n\\n/**\\n * @param {number} target\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.generateMipmap = function(target) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveAttrib = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveUniform = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {!Array<WebGLShader>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttachedShaders = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttribLocation = function(program, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getBufferParameter = function(target, pname) {};\\n\\n/**\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getParameter = function(pname) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getError = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getFramebufferAttachmentParameter = function(\\n    target, attachment, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramParameter = function(\\n    program, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n *";
a.a+=" @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} 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 * @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<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1i = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2f = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2i = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3f = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3i = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @param {number} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4f = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @param {number|boolean} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4i = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix2fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix3fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix4fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.useProgram = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.validateProgram = function(program) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1f = function(indx, x) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2f = function(\\n    indx, x, y) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2fv = function(\\n    indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3f = function(\\n    indx, x, y, z) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} w\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4f = function(\\n    indx, x, y, z, w) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} size\\n * @param {number} type\\n * @param {boolean} normalized\\n * @param {number} stride\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttribPointer = function(\\n    indx, size, type, normalized, stride, offset) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.viewport = function(x, y, width, height) {};\\n\\n\\n/**\\n * @constructor\\n * @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 * @noalia";
a.a+="s\\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<number>} buffers Draw buffers.\\n * @return {undefined}\\n */\\nWEBGL_draw_buffers.prototype.drawBuffersWEBGL = function(buffers) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/\\n * @constructor\\n * @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 * @enum {string}\\n * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy\\n */\\nvar ReferrerPolicy = {\\n  NONE: '',\\n  NO_REFERRER: 'no-referrer',\\n  NO_REFERRER_WHEN_DOWNGRADE: 'no-referrer-when-downgrade',\\n  SAMEO_RIGIN: 'same-origin',\\n  ORIGIN: 'origin',\\n  STRICT_ORIGIN: 'strict-origin',\\n  ORIGIN_WHEN_CROSS_ORIGIN: 'origin-when-cross-origin',\\n  STRICT_ORIGIN_WHEN_CROSS_ORIGIN: 'strict-origin-when-cross-origin',\\n  UNSAFE_URL: 'unsafe-url'\\n};\\n\\n\\n/**\\n * @typedef {!Headers|!Array<!Array<string>>|!IObject<string,string>}\\n * @see https://fetch.spec.whatwg.org/#headersinit\\n */\\nvar HeadersInit;\\n\\n\\n/**\\n * @param {!HeadersInit=} opt_headersInit\\n * @constructor\\n * @implements {Iterable<!Array<string>>}\\n * @see https://fetch.spec.whatwg.org/#headers\\n */\\nfunction Headers(opt_headersInit) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nHeaders.prototype.delete = function(name) {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype.entries = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nHeaders.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nHeaders.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nHeaders.prototype.has = function(name) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.keys = function() {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.set = function(name, value) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.values = function() {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @typedef {!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<!ArrayBuffer>} */\\nBody.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Promise<!Blob>} */\\nBody.prototype.blob = function() {};\\n\\n/** @return {!Promise<!FormData>} */\\nBody.prototype.formData = function() {};\\n\\n/** @return {!Promise<*>} */\\nBody.prototype.json = function() {};\\n\\n/** @return {!Promise<string>} */\\nBody.prototype.text = function() {};\\n\\n\\n/**\\n * @typedef {!Request|string}\\n * @see https://fetch.spec.whatwg.org/#requestinfo\\n */\\nvar RequestInfo;\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#request\\n */\\nfunction Request(input, opt_init) {}\\n\\n/** @override */\\nRequest.prototype.bodyUsed;\\n\\n/** @override */\\nRequest.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nRequest.prototype.blob = function() {};\\n\\n/** @override */\\nRequest.prototype.formData = function() {};\\n\\n/** @override */\\nRequest.prototype.json = function() {};\\n\\n/** @override */\\nRequest.prototype.text = function() {};\\n\\n/** @type {string} */\\nRequest.prototype.method;\\n\\n/** @type {string} */\\nRequest.prototype.url;\\n\\n/** @type {!Headers} */\\nRequest.prototype.headers;\\n\\n/** @type {!FetchRequestType} */\\nRequest.prototype.type;\\n\\n/** @type {!RequestDestination} */\\nRequest.prototype.destination;\\n\\n/** @type {string} */\\nRequest.prototype.referrer;\\n\\n/** @type {!RequestMode} */\\nRequest.prototype.mode;\\n\\n/** @type {!RequestCredentials} */\\nRequest.prototype.credentials;\\n\\n/** @type {!RequestCache} */\\nRequest.prototype.cache;\\n\\n/** @type {!RequestRedirect} */\\nRequest.prototype.redirect;\\n\\n/** @type {string} */\\nRequest.prototype.integrity;\\n\\n/** @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.intergrity;\\n\\n/** @type {(undefined|null)} */\\nRequestInit.prototype.window;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n */\\nvar FetchRequestType = {\\n  NONE: '',\\n  AUDIO: 'audio',\\n  FONT: 'font',\\n  IMAGE: 'image',\\n  SCRIPT: 'script',\\n  STYLE: 'style',\\n  TRACK: 'track',\\n  VIDEO: 'video'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n */\\nvar RequestDestination = {\\n  NONE: '',\\n  DOCUMENT: 'document',\\n  EMBED: 'embed',\\n  FONT: 'font',\\n  IMAGE: 'image',\\n  MANIFEST: 'manifest',\\n  MEDIA: 'media',\\n  OBJECT: 'object',\\n  REPORT: 'report',\\n  SCRIPT: 'script',\\n  SERVICEWORKER: 'serviceworker',\\n  SHAREDWORKER: 'sharedworker',\\n  STYLE: 'style',\\n  WORKER: 'worker',\\n  XSLT: 'xslt'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n */\\nvar RequestMode = {\\n  NAVIGATE: 'navigate',\\n  SAME_ORIGIN: 'same-origin',\\n  NO_CORS: 'no-cors',\\n  CORS: 'cors'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n */\\nvar RequestCredentials = {\\n  OMIT: 'omit',\\n  SAME_ORIGIN: 'same-origin',\\n  INCLUDE: 'include'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n */\\nvar RequestCache = {\\n  DEFAULT: 'default',\\n  NO_STORE: 'no-store',\\n  RELOAD: 'reload',\\n  NO_CACHE: 'no-cache',\\n  FORCE_CACHE: 'force-cache',\\n  ONLY_IF_CACHED: 'only-if-cached'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n */\\nvar RequestRedirect = {\\n  FOLLOW: 'follow',\\n  ERROR: 'error',\\n  MANUAL: 'manual'\\n};\\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 */\\nResp";
a.a+="onse.redirect = function(url, opt_status) {};\\n\\n/** @override */\\nResponse.prototype.bodyUsed;\\n\\n/** @override */\\nResponse.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nResponse.prototype.blob = function() {};\\n\\n/** @override */\\nResponse.prototype.formData = function() {};\\n\\n/** @override */\\nResponse.prototype.json = function() {};\\n\\n/** @override */\\nResponse.prototype.text = function() {};\\n\\n/** @type {!ResponseType} */\\nResponse.prototype.type;\\n\\n/** @type {string} */\\nResponse.prototype.url;\\n\\n/** @type {boolean} */\\nResponse.prototype.redirected;\\n\\n/** @type {number} */\\nResponse.prototype.status;\\n\\n/** @type {boolean} */\\nResponse.prototype.ok;\\n\\n/** @type {string} */\\nResponse.prototype.statusText;\\n\\n/** @type {!Headers} */\\nResponse.prototype.headers;\\n\\n/** @type {?ReadableStream} */\\nResponse.prototype.body;\\n\\n/** @type {!Promise<!Headers>} */\\nResponse.prototype.trailer;\\n\\n/** @return {!Response} */\\nResponse.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#responseinit\\n */\\nfunction ResponseInit() {};\\n\\n/** @type {(undefined|number)} */\\nResponseInit.prototype.status;\\n\\n/** @type {(undefined|string)} */\\nResponseInit.prototype.statusText;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nResponseInit.prototype.headers;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#responsetype\\n */\\nvar ResponseType = {\\n  BASIC: 'basic',\\n  CORS: 'cors',\\n  DEFAULT: 'default',\\n  ERROR: 'error',\\n  OPAQUE: 'opaque',\\n  OPAQUEREDIRECT: 'opaqueredirect'\\n};\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nfunction fetch(input, opt_init) {}\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWindow.prototype.fetch = function(input, opt_init) {};\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWorkerGlobalScope.prototype.fetch = function(input, opt_init) {};\\n\",\"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 {boolean} */\\nPipeOptions.prototype.preventClose;\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventAbort;\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventCancel;\\n\\n\\n/**\\n * @record\\n */\\nfunction ReadableStreamSource() {};\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!Promise<*>|undefined))}\\n */\\nReadableStreamSource.prototype.start;\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!Promise<*>|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<void>}\\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<void>}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\\n */\\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\\n\\n/**\\n * @return {!Array<!ReadableStream>}\\n * @see https://streams.spec.whatwg.org/#rs-tee\\n */\\nReadableStream.prototype.tee = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultReader constructor is generally not meant to be used directly;\\n * instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-reader-class\\n */\\nfunction ReadableStreamDefaultReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#default-reader-closed\\n */\\nReadableStreamDefaultReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#default-reader-cancel\\n */\\nReadableStreamDefaultReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#default-reader-read\\n */\\nReadableStreamDefaultReader.prototype.read = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-reader-release-lock\\n */\\nReadableStreamDefaultReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamBYOBReader constructor is generally not meant to be used\\n * directly; instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#byob-reader-class\\n */\\nfunction ReadableStreamBYOBReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-closed\\n */\\nReadableStreamBYOBReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-cancel\\n */\\nReadableStreamBYOBReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-read\\n */\\nReadableStreamBYOBReader.prototype.read = function(view) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#byob-reader-release-lock\\n */\\nReadableStreamBYOBReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-class\\n */\\nfunction ReadableStreamDefaultController() {};\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-desired-size\\n */\\nReadableStreamDefaultController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-close\\n */\\nReadableStreamDefaultController.prototype.close = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-enqueue\\n */\\nReadableStreamDefaultController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-error\\n */\\nReadableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * The ReadableByteStreamController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rbs-controller-class\\n */\\nfunction ReadableByteStreamController() {};\\n\\n/**\\n * @type {!ReadableStreamBYOBRequest}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-byob-request\\n */\\nReadableByteStreamController.prototype.byobRequest;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-desired-size\\n */\\nReadableByteStreamController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-close\\n */\\nReadableByteStreamController.prototype.close = function() {};\\n\\n/**\\n * @param {!ArrayBufferView} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-enqueue\\n */\\nReadableByteStreamController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-error\\n */\\nReadableByteStreamController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-class\\n */\\nfunction ReadableStreamBYOBRequest() {};\\n\\n/**\\n * @type {!ArrayBufferView}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-view\\n */\\nReadableStreamBYOBRequest.prototype.view;\\n\\n/**\\n * @param {number} bytesWritten\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond\\n */\\nReadableStreamBYOBRequest.prototype.respond = function(bytesWritten) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view\\n */\\nReadableStreamBYOBRequest.prototype.respondWithNewView = function(view) {};\\n\\n\\n/**\\n * @record\\n */\\nfunction WritableStreamSink() {};\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!Promise<*>|undefined))}*/\\nWritableStreamSink.prototype.start;\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!Promise<*>|undefined))}*/\\nWritableStreamSink.prototype.write;\\n\\n/** @type {(undefined|function():(!Promise<*>|undefined))} */\\nWritableStreamSink.prototype.close;\\n\\n/** @type {(undefined|function(*):(!Promise<*>|undefined))} */\\nWritableStreamSink.prototype.abort;\\n\\n\\n/**\\n * @param {!WritableStreamSink=} opt_underlyingSink\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#ws-class\\n */\\nfunction WritableStream(opt_underlyingSink, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#ws-locked\\n */\\nWritableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-abort\\n */\\nWritableStream.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!WritableStreamDefaultWriter}\\n * @see https://streams.spec.whatwg.org/#ws-get-writer\\n */\\nWritableStream.prototype.getWriter = function() {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-writer-class\\n */\\nfunction WritableStreamDefaultWriter() {};\\n\\n/**\\n * @type {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-closed\\n */\\nWritableStreamDefaultWriter.prototype.closed;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#default-writer-desiredSize\\n */\\nWritableStreamDefaultWriter.prototype.desiredSize;\\n\\n/**\\n * @type {!Promise<number>}\\n * @see https://streams.spec.whatwg.org/#default-writer-ready\\n */\\nWritableStreamDefaultWriter.prototype.ready;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-abort\\n */\\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-close\\n */\\nWritableStreamDefaultWriter.prototype.close = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-writer-release-lock\\n */\\nWritableStreamDefaultWriter.prototype.releaseLock = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-write\\n */\\nWritableStreamDefaultWriter.prototype.write = function(chunk) {};\\n\\n\\n/**\\n * The WritableStreamDefaultController constructor cannot be used directly;\\n * it only works on a WritableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-class\\n */\\nfunction WritableStreamDefaultController() {};\\n\\n/**\\n * @param {*} err\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-error\\n */\\nWritableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#blqs-class\\n */\\nfunction ByteLengthQueuingStrategy(config) {}\\n\\n/**\\n * If we don't want to be strict we can define chunk as {*}\\n * and return as {number|undefined}\\n *\\n * @param {{ byteLength:number }} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#blqs-size\\n */\\nByteLengthQueuingStrategy.prototype.size = function(chunk) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#cqs-class\\n */\\nfunction CountQueuingStrategy(config) {}\\n\\n/**\\n * @param {*} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#cqs-size\\n */\\nCountQueuingStrategy.prototype.size = function(chunk) {};\\n\",\"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-impl', '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<string, !Array<string>>} */\\n    this.symbolToFile = new Map();\\n    /** @const {!Map<string, !Set<string>>} */\\n    this.deps = new Map();\\n    /** @const {!Map<string, string>} */\\n    this.versions = new Map();\\n    /** @const {!Array<!Array<string>>} */\\n    this.rows = [];\\n  }\\n\\n  /**\\n   * Returns a shim for $jscomp.polyfill.\\n   * @param {string} lib Library currently being scanned.\\n   * @return {function(str";
a.a+="ing, ?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<string>} errors\\n * @param {!Map<string, !Set<string>>} deps\\n * @param {!Map<string, string>} 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-impl es3 es6/array/from\\nArray.of es6-impl es3 es6/array/of\\nArray.prototype.copyWithin es6-impl es3 es6/array/copywithin\\nArray.prototype.entries es6-impl es3 es6/array/entries\\nArray.prototype.fill es6-impl es3 es6/array/fill\\nArray.prototype.find es6-impl es3 es6/array/find\\nArray.prototype.findIndex es6-impl es3 es6/array/findindex\\nArray.prototype.keys es6-impl es3 es6/array/keys\\nArray.prototype.values es6 es3 es6/array/values\\nMap es6-impl es3 es6/map\\nMath.acosh es6-impl es3 es6/math/acosh\\nMath.asinh es6-impl es3 es6/math/asinh\\nMath.atanh es6-impl es3 es6/math/atanh\\nMath.cbrt es6-impl es3 es6/math/cbrt\\nMath.clz32 es6-impl es3 es6/math/clz32\\nMath.cosh es6-impl es3 es6/math/cosh\\nMath.expm1 es6-impl es3 es6/math/exp1m\\nMath.hypot es6-impl es3 es6/math/hypot\\nMath.imul es6-impl es3 es6/math/imul\\nMath.log10 es6-impl es3 es6/math/log10\\nMath.log1p es6-impl es3 es6/math/log1p\\nMath.log2 es6-impl es3 es6/math/log2\\nMath.sign es6-impl es3 es6/math/sign\\nMath.sinh es6-impl es3 es6/math/sinh\\nMath.tanh es6-impl es3 es6/math/tanh\\nMath.trunc es6-impl es3 es6/math/trunc\\nNumber.EPSILON es6-impl es3 es6/number/constants\\nNumber.MAX_SAFE_INTEGER es6-impl es3 es6/number/constants\\nNumber.MIN_SAFE_INTEGER es6-impl es3 es6/number/constants\\nNumber.isFinite es6-impl es3 es6/number/isfinite\\nNumber.isInteger es6-impl es3 es6/number/isinteger\\nNumber.isNaN es6-impl es3 es6/number/isnan\\nNumber.isSafeInteger es6-impl es3 es6/number/issafeinteger\\nObject.assign es6-impl es3 es6/object/assign\\nObject.getOwnPropertySymbols es6-impl es5 es6/object/getownpropertysymbols\\nObject.is es6-impl es3 es6/object/is\\nObject.setPrototypeOf es6 es5 es6/object/setprototypeof\\nPromise es6-impl es3 es6/promise\\nProxy es6 es6\\nReflect.apply es6 es3 es6/reflect/apply\\nReflect.construct es6 es5 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-impl es3 es6/set\\nString.fromCodePoint es6-impl es3 es6/string/fromcodepoint\\nString.prototype.codePointAt es6-impl es3 es6/string/codepointat\\nString.prototype.endsWith es6-impl es3 es6/string/endswith\\nString.prototype.includes es6-impl es3 es6/string/includes\\nString.prototype.normalize es6-impl es6-impl\\nString.prototype.repeat es6-impl es3 es6/string/repeat\\nString.prototype.startsWith es6-impl es3 es6/string/startswith\\nString.raw es6-impl es6-impl\\nWeakMap es6-impl es3 es6/weakmap\\nWeakSet es6-impl 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 = {};\\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/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<VALUE>}\\n   * @param {number} target Start index to copy elements to.\\n   * @param {number} start Start index to copy elements from.\\n   * @param {number=} opt_end Index from which to end copying.\\n   * @return {!IArrayLike<VALUE>} The array, with the copy performed in-place.\\n   * @template VALUE\\n   */\\n  var polyfill = function(target, start, opt_end) {\\n    var len = this.length;\\n    target = 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-impl', '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<VALUE>}\\n   * @return {!IteratorIterable<!Array<number|VALUE>>}\\n   * @template VALUE\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(\\n        this, function(i, v) { return [i, v]; });\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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<VALUE>}\\n   * @param {VALUE} value Value to fill.\\n   * @param {number=} opt_start Start index, or zero if omitted.\\n   * @param {number=} opt_end End index, or length if omitted.\\n   * @return {!IArrayLike<VALUE>} The array, with the fill performed in-place.\\n   * @template VALUE\\n   */\\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-impl', '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<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {VALUE|undefined} The found value, or undefined.\\n   * @template VALUE, THIS\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).v;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\";
a.a+="n   * @param {THIS=} opt_thisArg\\n   * @return {number} The found value, or undefined.\\n   * @template VALUE, THIS\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).i;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Array.from().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).from), and\\n   * relies on the compiler to check the validity of inputs rather\\n   * than producing spec-compliant TypeErrors.\\n   *\\n   * @param {!IArrayLike<INPUT>|!Iterable<INPUT>} arrayLike\\n   *     An array-like or iterable.\\n   * @param {(function(this: THIS, INPUT): OUTPUT)=} opt_mapFn\\n   *     Function to call on each argument.\\n   * @param {THIS=} opt_thisArg\\n   *     Object to use as 'this' when calling mapFn.\\n   * @return {!Array<OUTPUT>}\\n   * @template INPUT, OUTPUT, THIS\\n   */\\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-impl', '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<number>}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(i) { return i; });\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Array.of().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).of).\\n   *\\n   * @param {...T} var_args Elements to include in the array.\\n   * @return {!Array<T>}\\n   * @template T\\n   */\\n  var polyfill = function(var_args) {\\n    return Array.from(arguments);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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<VALUE>}\\n   * @return {!IteratorIterable<VALUE>}\\n   * @template VALUE\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(k, v) { return v; });\\n  };\\n\\n  return polyfill;\\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\\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 */\\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/owns';\\n'require util/polyfill';\\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$jscomp.polyfill('Map', function(NativeMap) {\\n\\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<!Array> */ iter = map.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != key || item.value[1] != 's') {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0].x != 4 ||\\n          item.value[1] != 't' || !iter.next().done) {\\n        return false;\\n      }\\n      return true;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  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<!Object, string>} */\\n  var idMap = new WeakMap();\\n\\n\\n  /**\\n   * Internal record type for entries.\\n   * @record\\n   * @template KEY, VALUE\\n   */\\n  var MapEntry = function() {};\\n\\n\\n  /** @type {!MapEntry<KEY, VALUE>} */\\n  MapEntry.prototype.previous;\\n\\n\\n  /** @type {!MapEntry<KEY, VALUE>} */\\n  MapEntry.prototype.next;\\n\\n\\n  /** @type {?Object} */\\n  MapEntry.prototype.head;\\n\\n\\n  /** @type {KEY} */\\n  MapEntry.prototype.key;\\n\\n\\n  /** @type {VALUE} */\\n  MapEntry.prototype.value;\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Map<KEY, VALUE>}\\n   * @implements {Iterable<!Array<KEY|VALUE>>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional data to populate the map.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillMap = function(opt_iterable) {\\n    /** @private {!Object<!Array<!MapEntry<KEY, VALUE>>>} */\\n    this.data_ = {};\\n\\n    /** @private {!MapEntry<KEY, VALUE>} */\\n    this.head_ = createHead();\\n\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    /** @type {number} */\\n    this.size = 0;\\n\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item =\\n            /** @type {!IIterableResult<!Array<KEY|VALUE>>} */ (entry).value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.set = function(key, value) {\\n    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(\\n        this, function(entry) { return [entry.key, entry.value]; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.keys = function() {\\n    return makeIterator(this, function(entry) { return entry.key; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.values = function() {\\n    return makeIterator(this, function(entry) { return entry.value; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.forEach = function(callback, opt_thisArg) {\\n    var iter = this.entries();\\n    var item;\\n    while (!(item = iter.next()).done) {\\n      var entry = item.value;\\n      callback.call(\\n          /** @type {?} */ (opt_thisArg),\\n          /** @type {VALUE} */ (entry[1]),\\n          /** @type {KEY} */ (entry[0]),\\n          this);\\n    }\\n  };\\n\\n\\n  /** @type {?} */ (PolyfillMap.prototype)[Symbol.iterator] =\\n      PolyfillMap.prototype.entries;\\n\\n\\n  /**\\n   * Returns an entry or undefined.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {KEY} key\\n   * @return {{id: string,\\n   *           list: (!Array<!MapEntry<KEY, VALUE>>|undefined),\\n   *           index: number,\\n   *           entry: (!MapEntry<KEY, VALUE>|undefined)}}\\n   * @template KEY, VALUE\\n   */\\n  var maybeGetEntry = function(map, key) {\\n    var id = getId(key);\\n    var list = map.data_[id];\\n    if (list && $jscomp.owns(map.data_, id)) {\\n      for (var index = 0; index < list.length; index++) {\\n        var entry = list[index];\\n        if ((key !== key && entry.key !== entry.key) || key === entry.key) {\\n          return {id: id, list: list, index: index, entry: entry};\\n        }\\n      }\\n    }\\n    return {id: id, list: list, index: -1, entry: undefined};\\n  };\\n\\n\\n  /**\\n   * Maps over the entries with the given function.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {function(!MapEntry<KEY, VALUE>): T} func\\n   * @return {!IteratorIterable<T>}\\n   * @template KEY, VALUE, T\\n   * @private\\n   */\\n  var makeIterator = function(map, func) {\\n    var entry = map.head_;\\n    return $jscomp.iteratorPrototype(function() {\\n      if (entry) {\\n        while (entry.head != map.head_) {\\n          entry = entry.previous;\\n        }\\n        while (entry.next != entry.head) {\\n          entry = entry.next;\\n          return {done: false, value: func(entry)};\\n        }\\n        entry = null; // make ";
a.a+="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 {!MapEntry<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @suppress {checkTypes} ignore missing key/value for head only\\n   */\\n  var createHead = function() {\\n    var head = /** type {!MapEntry<KEY, VALUE>} */ ({});\\n    head.previous = head.next = head.head = head;\\n    return head;\\n  };\\n\\n\\n  /**\\n   * Counter for generating IDs.\\n   * @private {number}\\n   */\\n  var mapIndex = 0;\\n\\n\\n  /**\\n   * @param {*} obj An extensible object.\\n   * @return {string} A unique ID.\\n   */\\n  var getId = function(obj) {\\n    var type = obj && typeof obj;\\n    if (type == 'object' || type == 'function') {\\n      obj = /** @type {!Object} */ (obj);\\n      if (!idMap.has(obj)) {\\n        var id = '' + (++mapIndex);\\n        idMap.set(obj, id);\\n        return id;\\n      }\\n      return idMap.get(obj);\\n    }\\n    // Add a prefix since obj could be '__proto__';\\n    return 'p_' + obj;\\n  };\\n\\n\\n  return PolyfillMap;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.acosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return Math.log(x + Math.sqrt(x * x - 1));\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.asinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    var y = Math.log(Math.abs(x) + Math.sqrt(x * x + 1));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.atanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic tangent +x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (log1p(x) - log1p(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.cbrt().\\n   *\\n   * @param {number} x Any number, or value that can be coerced into a number.\\n   * @return {number} The cube root of x.\\n   */\\n  var polyfill = function(x) {\\n    if (x === 0) return x;\\n    x = Number(x);\\n    var y = Math.pow(Math.abs(x), 1 / 3);\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.clz32().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The number of leading zero bits.\\n   */\\n  var polyfill = function(x) {\\n    // This binary search algorithm is taken from v8.\\n    x = Number(x) >>> 0;  // first ensure we have a 32-bit unsigned integer.\\n    if (x === 0) return 32;\\n    var result = 0;\\n    if ((x & 0xFFFF0000) === 0) {\\n      x <<= 16;\\n      result += 16;\\n    }\\n    if ((x & 0xFF000000) === 0) {\\n      x <<= 8;\\n      result += 8;\\n    }\\n    if ((x & 0xF0000000) === 0) {\\n      x <<= 4;\\n      result += 4;\\n    }\\n    if ((x & 0xC0000000) === 0) {\\n      x <<= 2;\\n      result += 2;\\n    }\\n    if ((x & 0x80000000) === 0) result++;\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.cosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (exp(x) + exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.expm1().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The exponential of x, less 1.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   exp(x) ~ 1 + x + x^2/2 + x^3/6 + x^4/24 + ...\\n    x = Number(x);\\n    if (x < .25 && x > -.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      while (zPrev != z) {\\n        y *= x / (++d);\\n        z = (zPrev = z) + y;\\n      }\\n      return z;\\n    }\\n    return Math.exp(x) - 1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>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-impl', '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   * <p>Polyfills the static function Math.imul().\\n   *\\n   * @param {number} a Any number, or value that can be coerced to a number.\\n   * @param {number} b Any number, or value that can be coerced to a number.\\n   * @return {number} The 32-bit integer product of a and b.\\n   */\\n  var polyfill = function(a, b) {\\n    // This algorithm is taken from v8.\\n    // Note: If multiplication overflows 32 bits, then we risk losing\\n    // precision.  We must therefore break the inputs into 16-bit\\n    // words and multiply separately.\\n    a = Number(a);\\n    b = Number(b);\\n    var ah = (a >>> 16) & 0xFFFF;  // Treat individual words as unsigned\\n    var al = a & 0xFFFF;\\n    var bh = (b >>> 16) & 0xFFFF;\\n    var bl = b & 0xFFFF;\\n    var lh = ((ah * bl + al * bh) << 16) >>> 0;  // >>> 0 casts to uint\\n    return (al * bl + lh) | 0;  // | 0 casts back to signed\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.log10().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The common log of x.\\n   */\\n  var polyfill =";
a.a+=" function(x) {\\n    return Math.log(x) / Math.LN10;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.log1p().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The natural log of 1+x.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   log(1 + x) ~ x - x^2/2 + x^3/3 - x^4/4 + x^5/5 - ...\\n    x = Number(x);\\n    if (x < 0.25 && x > -0.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      var s = 1;\\n      while (zPrev != z) {\\n        y *= x;\\n        s *= -1;\\n        z = (zPrev = z) + s * y / (++d);\\n      }\\n      return z;\\n    }\\n    return Math.log(1 + x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.log2().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The base-2 log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.sign().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The sign, +1 if x is positive, -1 if x is\\n   *     negative, or 0 if x is zero.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return x === 0 || isNaN(x) ? x : x > 0 ? 1 : -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.sinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    return (exp(x) - exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.tanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic tangent of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    // Ensure exponent is negative to prevent overflow.\\n    var y = Math.exp(-2 * Math.abs(x));\\n    var z = (1 - y) / (1 + y);\\n    return x < 0 ? -z : z;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Math.trunc().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number}\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (isNaN(x) || x === Infinity || x === -Infinity || x === 0) return x;\\n    var y = Math.floor(Math.abs(x));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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-impl', 'es6-impl');\\n$jscomp.polyfill('String.prototype.normalize', null, 'es6-impl', 'es6-impl');\\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   * <p>Polyfills the static field Number.EPSILON.\\n   */\\n  return Math.pow(2, -52);\\n}, 'es6-impl', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MAX_SAFE_INTEGER', function() {\\n  /**\\n   * The maximum safe integer, 2^53 - 1.\\n   *\\n   * <p>Polyfills the static field Number.MAX_SAFE_INTEGER.\\n   */\\n  return 0x1fffffffffffff;\\n}, 'es6-impl', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MIN_SAFE_INTEGER', function() {\\n  /**\\n   * The minimum safe integer, -(2^53 - 1).\\n   *\\n   * <p>Polyfills the static field Number.MIN_SAFE_INTEGER.\\n   */\\n  return -0x1fffffffffffff;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Number.isFinite().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a number and not NaN or infinite.\\n   */\\n  var polyfill = function(x) {\\n    if (typeof x !== 'number') return false;\\n    return !isNaN(x) && x !== Infinity && x !== -Infinity;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Number.isInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is an integer.\\n   */\\n  var polyfill = function(x) {\\n    if (!Number.isFinite(x)) return false;\\n    return x === Math.floor(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Number.isNaN().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is exactly NaN.\\n   */\\n  var polyfill = function(x) {\\n    return typeof x === 'number' && isNaN(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function Number.isSafeInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a safe integer.\\n   */\\n  var polyfill = function(x) {\\n    return Number.isInteger(x) && Math.abs(x) <= Number.MAX_SAFE_INTEGER;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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 *    ";
a.a+=" http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 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/getownpropertysymbols';\\n'require es6/object/is';\\n'require es6/object/setprototypeof';\\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   */\\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-impl', 'es3');\\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-impl', '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-impl', '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'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Object.setPrototypeOf', function(orig) {\\n  if (orig) return orig;\\n\\n  // IE<11 has no way to polyfill this, so don't even try.\\n  if (typeof ''.__proto__ != 'object') return null;\\n\\n  /**\\n   * Polyfill for Object.setPrototypeOf() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf\\n   *\\n   * Sets the prototype in a \\\"standard\\\" way.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {?Object} proto The new prototype.\\n   * @return {!Object}\\n   */\\n  var polyfill = 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  return polyfill;\\n}, 'es6', 'es5');\\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 expose AsyncExecutor for testing?\\n * TODO(bradfordcsmith): Set this false here & arrange for it to be set to true\\n * only for tests.\\n * @define {boolean}\\n */\\n$jscomp.EXPOSE_ASYNC_EXECUTOR = true;\\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', 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<function():?>}\\n     */\\n    this.batch_ = null;\\n  }\\n\\n  /**\\n   * Schedule a function to execute asynchronously.\\n   *\\n   * -   The function will execute:\\n   *     -   After the current call stack has completed executing.\\n   *     -   After any functions previously scheduled using this object.\\n   * -   The return value will be ignored.\\n   * -   An exception thrown by the method will be caught and asynchronously\\n   *     rethrown when it cannot interrupt any other code. This class provides\\n   *     no way to catch such exceptions.\\n   * @param {function():?} f\\n   * @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 */ 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<TYPE>|Thenable|null)=),\\n   *             function(*=))} executor\\n   * @constructor\\n   * @extends {Promise<TYPE>}\\n   * @template TYPE\\n   */\\n  var PolyfillPromise = function(executor) {\\n    /** @private {PromiseState} */\\n    this.state_ = PromiseState.PENDING;\\n\\n    /**\\n     * The settled result of the Promise. Immutable once set with either a\\n     * fulfillment value or rejection reason.\\n     * @private {*}\\n     */\\n    this.result_ = undefined;\\n\\n    /**\\n     * These functions must be executed when this promise settles.\\n     * @private {Array<function()>}\\n     */\\n    this.onSettledCallbacks_ = [];\\n\\n    var resolveAndReject = this.createResolveAndReject_();\\n    try {\\n      executor(resolveAndReject.resolve, resolveAndReject.reject);\\n    } catch (e) {\\n      resolveAndReject.reject(e);\\n    }\\n  };\\n\\n\\n  /**\\n   * Create a pair of functions for resolving or rejecting this Promise.\\n   *\\n   * <p>After the resolve or reject function has been called once, later calls\\n   * do nothing.\\n   * @private\\n   * @return {{\\n   *     resolve: function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     reject:  function(*=)\\n   * }}\\n   */\\n  PolyfillPromise.prototype.createResolveAndReject_ = function() {\\n    var thisPromise = this;\\n    var alreadyCalled = false;\\n    /**\\n     * @param {function(this:PolyfillPromise<TYPE>, T)} method\\n     * @return {function(T)}\\n     * @template T\\n     */\\n    function firstCallWins(method) {\\n      return function(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<?function()> */ 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 {!AsyncExe";
a.a+="cutor}\\n   */\\n  var asyncExecutor = new AsyncExecutor();\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!PolyfillPromise} promise\\n   */\\n  PolyfillPromise.prototype.settleSameAsPromise_ = function(promise) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Calling then() would create an unnecessary extra promise.\\n    promise.callWhenSettled_(methods.resolve, methods.reject);\\n  };\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!function(\\n   *     function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     function(*=))\\n   * } thenMethod\\n   * @param {!Thenable} thenable\\n   */\\n  PolyfillPromise.prototype.settleSameAsThenable_ = function(\\n      thenMethod, thenable) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Don't trust an unknown thenable implementation not to throw exceptions.\\n    try {\\n      thenMethod.call(thenable, methods.resolve, methods.reject);\\n    } catch (error) {\\n      methods.reject(error);\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.then = function(onFulfilled, onRejected) {\\n    var resolveChild;\\n    var rejectChild;\\n    var childPromise = new PolyfillPromise(function(resolve, reject) {\\n      resolveChild = resolve;\\n      rejectChild = reject;\\n    });\\n    function createCallback(paramF, defaultF) {\\n      // The spec says to ignore non-function values for onFulfilled and\\n      // onRejected\\n      if (typeof paramF == 'function') {\\n        return function(x) {\\n          try {\\n            resolveChild(paramF(x));\\n          } catch (error) {\\n            rejectChild(error);\\n          }\\n        };\\n      } else {\\n        return defaultF;\\n      }\\n    }\\n\\n    this.callWhenSettled_(\\n        createCallback(onFulfilled, resolveChild),\\n        createCallback(onRejected, rejectChild));\\n    return childPromise;\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.catch = function(onRejected) {\\n    return this.then(undefined, onRejected);\\n  };\\n\\n\\n  PolyfillPromise.prototype.callWhenSettled_ = function(\\n      onFulfilled, onRejected) {\\n    var 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  /**\\n   * Returns a PolyfillPromise that resolves to the given value.\\n   *\\n   * <p>If the type of {@code opt_value} (VALUE) is a {@code Thenable<T>},\\n   * the RESULT type will be {@code T}.\\n   * Otherwise, the RESULT type will be the same as VALUE.\\n   *\\n   * <p>NOTE: The RESULT template expression is the same as the one used for\\n   * {@code goog.IThenable.prototype.then()}.\\n   *\\n   * <p>TODO(bradfordcsmith): The spec actually requires {@code resolve} to\\n   * use its {@code this} value as the constructor for building the promise to\\n   * return. Right now we're always using the {@link PolyfillPromise}\\n   * constructor.\\n   * @param {VALUE=} opt_value\\n   * @return {RESULT}\\n   * @template VALUE\\n   * @template RESULT := type('PolyfillPromise',\\n   *     cond(isUnknown(VALUE), unknown(),\\n   *       mapunion(VALUE, (V) =>\\n   *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n   *           templateTypeOf(V, 0),\\n   *           cond(sub(V, 'Thenable'),\\n   *              unknown(),\\n   *              V)))))\\n   * =:\\n   */\\n  PolyfillPromise.resolve = function(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\\n\\n  /**\\n   * @param {*=} opt_reason\\n   * @return {!Promise<?>}\\n   */\\n  PolyfillPromise.reject = function(opt_reason) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      reject(opt_reason);\\n    });\\n  };\\n\\n\\n  /**\\n   * @param {!Array<(TYPE|!IThenable<TYPE>)>} thenablesOrValues\\n   * @return {!Promise<TYPE>} A Promise that receives the result of the\\n   *     first Promise (or Promise-like) input to settle immediately after it\\n   *     settles.\\n   * @template TYPE\\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 Promise.resolve() allows us to treat all elements the same way.\\n        // NOTE: Promise.resolve(promise) always returns the argument unchanged.\\n        // Using .callWhenSettled_() instead of .then() avoids creating an\\n        // unnecessary extra promise.\\n        PolyfillPromise.resolve(iterRec.value)\\n            .callWhenSettled_(resolve, reject);\\n      }\\n    });\\n  };\\n\\n\\n  /**\\n   * @template T\\n   * @param {!Array<T|!Promise<T>>|!Iterable<T|!Promise<T>>} thenablesOrValues\\n   * @return {!Promise<!Array<T>>}\\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 PolyfillPromise.resolve([]);\\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 Promise.resolve() allows us to treat all elements the same\\n          // way.\\n          // NOTE: Promise.resolve(promise) always returns the argument\\n          // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n          // creating an unnecessary extra promise.\\n          PolyfillPromise.resolve(iterRec.value)\\n              .callWhenSettled_(\\n                  onFulfilled(resultsArray.length - 1), rejectAll);\\n          iterRec = iterator.next();\\n        } while (!iterRec.done);\\n      });\\n    }\\n  };\\n\\n  if ($jscomp.EXPOSE_ASYNC_EXECUTOR) {\\n    // expose AsyncExecutor so it can be tested independently.\\n    PolyfillPromise['$jscomp$new$AsyncExecutor'] = function() {\\n      return new AsyncExecutor();\\n    };\\n  }\\n\\n  return PolyfillPromise;\\n}, 'es6-impl', '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   */\\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'require es6/reflect/apply';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.construct', function(orig) {\\n  if (orig) return orig;\\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  var polyfill = function(target, argList, opt_newTarget) {\\n    // if (arguments.length < 3 || opt_newTarget == target) {\\n    //   return new target(...argList);\\n    // }\\n    if (opt_newTarget === undefined) opt_newTarget = target;\\n    var proto = opt_newTarget.prototype || Object.prototype;\\n    var obj = Object.create(proto);\\n    var out = Reflect.apply(target, obj, argList);\\n    return out || obj;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.create\\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 ";
a.a+="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   */\\n  var polyfill = function(target, propertyKey, opt_receiver) {\\n    if (arguments.length <= 2) {\\n      return target[propertyKey];\\n    }\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (property) {\\n      return property.get ? property.get.call(opt_receiver) : property.value;\\n    }\\n    return undefined;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/getownpropertydescriptor.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getOwnPropertyDescriptor', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getOwnPropertyDescriptor;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyDescriptor\\n\",\"js/es6/reflect/getprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getPrototypeOf', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getPrototypeOf;\\n}, 'es6', 'es5'); // ES5: Requires Object.getPrototypeOf\\n\",\"js/es6/reflect/has.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.has', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.has() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n   *\\n   * Applies the 'in' operator as a function.\\n   *\\n   * @param {!Object} target\\n   * @param {*} propertyKey\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    return propertyKey in target;\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/isextensible.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.isExtensible', function(orig) {\\n  if (orig) return orig;\\n  if (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', 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/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.preventExtensions', function(orig) {\\n  if (orig) return orig;\\n\\n  if (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'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.setPrototypeOf', function(orig) {\\n  if (orig) return orig;\\n\\n  // IE<11 has no way to polyfill this, so don't even try.\\n  if (typeof ''.__proto__ != 'object') return null;\\n\\n  /**\\n   * Polyfill for Reflect.setPrototypeOf() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n   *\\n   * Sets the prototype in a \\\"standard\\\" way.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {?Object} proto The new prototype.\\n   * @return {boolean} Whether the prototype was successfully set.\\n   */\\n  var polyfill = function(target, proto) {\\n    try {\\n      target.__proto__ = proto;\\n      return target.__proto__ === proto;\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\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/polyfill';\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_SET = false;\\n\\n$jscomp.polyfill('Set', 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<VALUE>}\\n   * @implements {Iterable<VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<VALUE>|!Array<VALUE>|null=} opt_iterable\\n   *     Optional data to populate the set.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillSet = function(opt_iterable) {\\n    /** @private @const {!Map<VALUE, VALUE>} */\\n    this.map_ = new Map();\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = /** @type {!IIterableResult<VALUE>} */ (entry).value;\\n        this.add(item);\\n      }\\n    }\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    this.size = this.map_.size;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.add = function(value) {\\n    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  /** @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-impl', '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";
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 * @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/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   * <p>Polyfills the instance method String.prototype.codePointAt().\\n   *\\n   * @this {string}\\n   * @param {number} position\\n   * @return {number|undefined} The codepoint.\\n   */\\n  var polyfill = function(position) {\\n    // NOTE: this is taken from v8's harmony-string.js StringCodePointAt\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'codePointAt');\\n    var size = string.length;\\n    // Make 'position' a number (non-number coerced to NaN and then or to zero).\\n    position = Number(position) || 0;\\n    if (!(position >= 0 && position < size)) {\\n      return void 0;\\n    }\\n    // Truncate 'position' to an integer.\\n    position = position | 0;\\n    var first = string.charCodeAt(position);\\n    if (first < 0xD800 || first > 0xDBFF || position + 1 === size) {\\n      return first;\\n    }\\n    var second = string.charCodeAt(position + 1);\\n    if (second < 0xDC00 || second > 0xDFFF) {\\n      return first;\\n    }\\n    return (first - 0xD800) * 0x400 + second + 0x2400;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the instance method String.prototype.endsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'endsWith');\\n    searchString = searchString + '';\\n    if (opt_position === void 0) opt_position = string.length;\\n    var i = Math.max(0, Math.min(opt_position | 0, string.length));\\n    var j = searchString.length;\\n    while (j > 0 && i > 0) {\\n      if (string[--i] != searchString[--j]) return false;\\n    }\\n    return j <= 0;\\n  };\\nreturn polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the static function String.fromCodePoint().\\n   *\\n   * @param {...number} var_args\\n   * @return {string}\\n   */\\n  var polyfill = function(var_args) {\\n    // Note: this is taken from v8's harmony-string.js StringFromCodePoint.\\n    var result = '';\\n    for (var i = 0; i < arguments.length; i++) {\\n      var code = Number(arguments[i]);\\n      if (code < 0 || code > 0x10FFFF || code !== Math.floor(code)) {\\n        throw new RangeError('invalid_code_point ' + code);\\n      }\\n      if (code <= 0xFFFF) {\\n        result += String.fromCharCode(code);\\n      } else {\\n        code -= 0x10000;\\n        result += String.fromCharCode((code >>> 10) & 0x3FF | 0xD800);\\n        result += String.fromCharCode(code & 0x3FF | 0xDC00);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the instance method String.prototype.includes().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'includes');\\n    return string.indexOf(searchString, opt_position || 0) !== -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the instance method String.prototype.repeat().\\n   *\\n   * @this {string}\\n   * @param {number} copies\\n   * @return {string}\\n   */\\n  var polyfill = function(copies) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'repeat');\\n    if (copies < 0 || copies > 0x4FFFFFFF) { // impose a 1GB limit\\n      throw new RangeError('Invalid count value');\\n    }\\n    copies = copies | 0; // cast to a signed integer.\\n    var result = '';\\n    while (copies) {\\n      if (copies & 1) result += string;\\n      if ((copies >>>= 1)) string += string;\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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   * <p>Polyfills the instance method String.prototype.startsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'startsWith');\\n    searchString = searchString + '';\\n    var strLen = string.length;\\n    var searchLen = searchString.length;\\n    var i = Math.max(\\n        0,\\n        Math.min(/** @type {number} */ (opt_position) | 0, string.length));\\n    var j = 0;\\n    while (j < searchLen && i < strLen) {\\n      if (string[i++] != searchString[j++]) return false;\\n    }\\n    return j >= searchLen;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', '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/** @private {number} */\\n$jscomp.symbolCounter_ = 0;\\n\\n\\n/**\\n * Produces \\\"symbols\\\" (actually just unique strings).\\n * @param {string=} opt_description\\n * @return {symbol}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.Symbol = function(opt_description) {\\n  return /** @type {symbol} */ (\\n      $jscomp.SYMBOL_PREFIX + (opt_description || '') + ($jscomp.symbolCounter_++));\\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<T>} array\\n * @return {!IteratorIterable<T>}\\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>): T} next\\n * @return {!IteratorIterable<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.iteratorPrototype = function(next) {\\n  $jscomp.initSymbolIterator();\\n\\n  var iterator = {next: next};\\n  /**\\n   * @this {IteratorIterable}\\n   * @return {!IteratorIterable}\\n   */\\n  iterator[$jscomp.global.Symbol.iterator] = function() { 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<T>|!Iterable<T>|!Arguments<T>} iterable\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterable = function(iterable) {\\n  if (iterable instanceof Array) {\\n    return iterable;\\n  } else {\\n    return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable));\\n  }\\n};\\n\",\"js/es6/util/arrayfromiterator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n'require base';\\n\\n\\n/**\\n * Copies the values from an Iterator into an Array. The important difference\\n * between this and $jscomp.arrayFromIterable is that if the iterator's\\n * next() method has already been called one or more times, this method returns\\n * only the values that haven't been yielded yet.\\n * @param {!Iterator<T>} iterator\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterator = function(iterator) {\\n  var ";
a.a+="i;\\n  var arr = [];\\n  while (!(i = iterator.next()).done) {\\n    arr.push(i.value);\\n  }\\n  return arr;\\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 */\\n'require base';\\n\\n\\n/**\\n * Inherit the prototype methods and static methods from one constructor\\n * into another.\\n *\\n * This wires up the prototype chain (like goog.inherits) and copies static\\n * properties, for ES6-to-ES{3,5} transpilation.\\n *\\n * Usage:\\n * <pre>\\n *   function ParentClass() {}\\n *\\n *   // Regular method.\\n *   ParentClass.prototype.foo = function(a) {};\\n *\\n *   // Static method.\\n *   ParentClass.bar = function() {};\\n *\\n *   function ChildClass() {\\n *     ParentClass.call(this);\\n *   }\\n *   $jscomp.inherits(ChildClass, ParentClass);\\n *\\n *   var child = new ChildClass();\\n *   child.foo();\\n *   ChildClass.bar();  // Static inheritance.\\n * </pre>\\n *\\n * @param {!Function} childCtor Child class.\\n * @param {!Function} parentCtor Parent class.\\n */\\n$jscomp.inherits = function(childCtor, parentCtor) {\\n  /** @constructor */\\n  function tempCtor() {}\\n  tempCtor.prototype = parentCtor.prototype;\\n  childCtor.prototype = new tempCtor();\\n  /** @override */\\n    childCtor.prototype.constructor = childCtor;\\n\\n  for (var p in parentCtor) {\\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\",\"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$jscomp.array = $jscomp.array || {};\\n\\n\\n/**\\n * Creates an iterator from an array-like, with a transformation function.\\n * @param {!IArrayLike<INPUT>} array\\n * @param {function(number, INPUT): OUTPUT} transform\\n * @return {!IteratorIterable<OUTPUT>}\\n * @template INPUT, OUTPUT\\n * @suppress {checkTypes}\\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|!Array<T>|!Iterable<T>|!Iterator<T>|!Arguments<T>} iterable\\n * @return {!Iterator<T>}\\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/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', 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<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterator<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional initial data.\\n   */\\n  var PolyfillWeakMap = function(opt_iterable) {\\n    /** @private @const {string} */\\n    this.id_ = (index += (Math.random() + 1)).toString();\\n\\n    if (opt_iterable) {\\n      $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-impl', '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', 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<TYPE>}\\n   * @template TYPE\\n   * @param {!Iterator<TYPE>|!Array<TYPE>|null=} opt_iterable\\n   */\\n  var PolyfillWeakSet = function(opt_iterable) {\\n    /** @private @const {!WeakMap<TYPE, boolean>} */\\n    this.map_ = new WeakMap();\\n\\n    if (opt_iterable) {\\n      $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-impl', '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 c";
a.a+="ompliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 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.<!$jscomp.typecheck.Checker>} checkers the checkers to\\n *     use in checking, one of these has to match for checking to succeed.\\n * @return {*} the given expression back.\\n */\\n$jscomp.typecheck.checkType = function(expr, checkers) {\\n  if ($jscomp.typecheck.suspendChecking) {\\n    return expr;\\n  }\\n  $jscomp.typecheck.suspendChecking = true;\\n\\n  for (var i = 0; i < checkers.length; i++) {\\n    var checker = checkers[i];\\n    var ok = checker.check(expr);\\n    if (ok) {\\n      $jscomp.typecheck.suspendChecking = false;\\n      return expr;\\n    }\\n  }\\n\\n  var warning = $jscomp.typecheck.prettify_(expr) + ' not in ' +\\n      checkers.join(' ');\\n\\n  $jscomp.typecheck.log(warning, expr);\\n\\n  $jscomp.typecheck.suspendChecking = false;\\n  return expr;\\n};\\n\\n\\n/**\\n * Prettify the given expression for printing.\\n *\\n * @param {*} expr the expression.\\n * @return {string} a string representation of the given expression.\\n * @private\\n */\\n$jscomp.typecheck.prettify_ = function(expr) {\\n  var className = $jscomp.typecheck.getClassName_(expr);\\n  if (className) {\\n    return className;\\n  }\\n  try {\\n    return String(expr);\\n  }\\n  catch (e) {}\\n  return '<unknown>';\\n};\\n\\n/**\\n * Gets the class name if the given expression is an object.\\n *\\n * @param {*} expr the expression.\\n * @return {string|undefined} the class name or undefined if the\\n *     expression is not an object.\\n * @private\\n */\\n$jscomp.typecheck.getClassName_ = function(expr) {\\n  var className = void 0;\\n  if (typeof expr == 'object' && expr && expr.constructor) {\\n    className = expr.constructor.name;\\n    if (!className) {\\n      var funNameRe = /function (.{1,})\\\\(/;\\n      var m = (funNameRe).exec(expr.constructor.toString());\\n      className = m && m.length > 1 ? m[1] : void 0;\\n    }\\n  }\\n  return className;\\n};\\n\\n/**\\n * Interface for all checkers.\\n *\\n * @interface\\n */\\n$jscomp.typecheck.Checker = function() {};\\n\\n\\n/**\\n * Checks the given expression.\\n *\\n * @param {*} expr the expression to check.\\n * @return {boolean} whether the given expression matches this checker.\\n */\\n$jscomp.typecheck.Checker.prototype.check = function(expr) {};\\n\\n\\n\\n/**\\n * A class for all value checkers, except the null checker.\\n *\\n * @param {string} type the value type (e.g. 'number') of this checker.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ValueChecker_ = function(type) {\\n  /**\\n   * The value type of this checker.\\n   * @type {string}\\n   * @private\\n   */\\n  this.type_ = type;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.check = function(expr) {\\n  return typeof(expr) == this.type_;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.toString = function() {\\n  return 'value(' + this.type_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker class for null values.\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.NullChecker_ = function() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.check = function(expr) {\\n  return expr === null;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.toString = function() {\\n  return 'value(null)';\\n};\\n\\n\\n/**\\n * A checker class for a class defined in externs, including built-in\\n * JS types.\\n *\\n * <p>If the class type is undefined, then checking is suspended to\\n * avoid spurious warnings. This is necessary because some externs\\n * types are not defined in all browsers. For example, Window is not\\n * defined Chrome, as window has the type DOMWindow.\\n *\\n * <p>Another subtlety is that a built-in type may be referenced in a\\n * different frame than the one in which it was created. This causes\\n * instanceOf to return false even though the object is of the correct\\n * type. We work around this by checking as many windows as possible,\\n * redefining open on top and window to keep track of them.\\n *\\n * @param {string} className the name of the extern class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_ = function(className) {\\n  /**\\n   * The name of the extern class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/**\\n * A list of (hopefully all) open windows.\\n *\\n * @type {!Array.<!Window>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.windows = [];\\n\\n\\n/**\\n * A list of the original open methods that have been redefined.\\n *\\n * @type {!Array.<!Function>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.oldOpenFuns = [];\\n\\n\\n/**\\n * Redefines the open method on the given window, adding tracking.\\n *\\n * @param {!Window} win the window to track.\\n */\\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 * @return {!Window}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.getGlobalThis_ = function() {\\n  return (function() { return this; }).call(null);\\n};\\n\\n\\n// Install listeners on the global 'this' object.\\n(function() {\\n  var globalThis = $jscomp.typecheck.ExternClassChecker_.getGlobalThis_();\\n  $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(globalThis);\\n\\n  var theTop = globalThis['top'];\\n  if (theTop) {\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(theTop);\\n  }\\n})();\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.check = function(expr) {\\n  var classTypeDefined = [ false ];\\n  for (var i = 0; i < $jscomp.typecheck.ExternClassChecker_.windows.length;\\n      i++) {\\n    var w = $jscomp.typecheck.ExternClassChecker_.windows[i];\\n    if (this.checkWindow_(w, expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return !classTypeDefined[0];\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.toString = function() {\\n  return 'ext_class(' + this.className_ + ')';\\n};\\n\\n\\n/**\\n * Checks whether the given expression is an instance of this extern\\n * class in this window or any of its frames and subframes.\\n *\\n * @param {!Window} w the window to start checking from.\\n * @param {*} expr the expression to check.\\n * @param {!Array.<boolean>} classTypeDefined a wrapped boolean\\n *     updated to indicate whether the class type was seen in any frame.\\n * @return 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 */\\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";
a.a+=' objects.\\n */\\n\'require base\';\\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 * Obviously we can\'t support getters and setters in ES3, so we\\n * throw a TypeError in that case.  We also refuse to define\\n * properties on Array.prototype and Object.prototype, since we\\n * 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 */\\n$jscomp.defineProperty =\\n    typeof Object.defineProperties == \'function\' ?\\n    Object.defineProperty :\\n    function(target, property, descriptor) {\\n      descriptor = /** @type {!ObjectPropertyDescriptor} */ (descriptor);\\n      if (descriptor.get || descriptor.set) {\\n        throw new TypeError(\'ES3 does not support getters and setters.\');\\n      }\\n      if (target == Array.prototype || target == Object.prototype) return;\\n      target[property] = descriptor.value;\\n    };\\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 {!Object|undefined} Property descriptor, or 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<VALUE>} array\\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *} callback\\n * @param {THIS} thisArg\\n * @return {{i: number, v: (VALUE|undefined)}}\\n * @template THIS, VALUE\\n */\\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}\\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/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 */\\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","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    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    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    unnecessaryCasts,\\\\\\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.\\ncompiler.reserved.vars = i,j,s,$,$j,o\\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 =\\\\';
a.a+='\\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.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.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 zxc="object",Axc="boolean",Bxc="number",Cxc="function",Dxc="string",Exc=2147483647,Fxc={3:1,4:1,11:1},Gxc={85:1,3:1},Hxc=65536,Ixc=55296,Jxc=1023,Kxc=65535,Lxc=56320,Mxc="null",Nxc={3:1},Oxc="use Optional.orNull() instead of Optional.or(null)",Pxc={28:1},Qxc="0123456789ABCDEF",Rxc={95:1,52:1,53:1},Sxc=", ",Txc={16:1,21:1},Uxc={3:1,4:1},Vxc={16:1,21:1,47:1},Wxc="%s (%s) must not be negative",Xxc="index",Yxc="negative size: ",Zxc={3:1,15:1,4:1},$xc={52:1,128:1,3:1,23:1,14:1,53:1},_xc=
{16:1},ayc={106:1,28:1},byc={106:1,28:1,146:1},cyc={121:1,3:1},dyc={48:1},eyc={16:1,21:1,33:1},fyc="no calls to next() since the last call to remove()",gyc={16:1,21:1,47:1,76:1},hyc={28:1,146:1},iyc={16:1,21:1,33:1,154:1},jyc="occurrences cannot be negative: %s",kyc={215:1,58:1},lyc=1073741824,myc={72:1,3:1,16:1,21:1},nyc={72:1,112:1,3:1,16:1,21:1,47:1,76:1},oyc={3:1,4:1,147:1},pyc={120:1,3:1,48:1},qyc={72:1,141:1,3:1,16:1,21:1,33:1},ryc={58:1},syc={552:1,3:1},tyc={585:1,3:1},uyc="limit is negative",
vyc="position (",wyc="expectedValuesPerKey",xyc=461845907,yyc=-862048943,zyc={136:1,183:1,3:1,23:1,14:1,137:1},Ayc={136:1,137:1},Byc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Cyc={371:1,3:1},Dyc="__noinit__",Eyc="__java$exception",Fyc={3:1,38:1},Gyc="\n",Hyc={3:1,40:1,38:1},Iyc=-2147483648,Jyc={l:0,m:0,h:524288},Kyc={132:1,3:1},Lyc=1114111,Myc="String",Nyc="anonymous",Oyc="fnStack",Pyc="Unknown",Qyc=4194303,Ryc=1048575,Syc=524288,Tyc=4194304,Uyc=17592186044416,Vyc=4095,Wyc=
-17592186044416,Xyc="CSS1Compat",Yyc={199:1},Zyc="ERROR",$yc="WARNING",_yc="OFF",azc="Expected 0 children, but was ",bzc="Expected ",czc=" children, but was ",dzc="Expected assignment target expression but was ",ezc="Missing 'synthetic block' annotation.",fzc="Expected 1 children, but was ",gzc="Expected 2 children, but was ",hzc="Expected child count in [1, 2], but was ",izc="Feature 'template literal' is only allowed in ES6 mode.",jzc="Expected child count in [0, 1], but was ",kzc="Expected non-null string.",
lzc="Expected non-empty string.",mzc="Invalid child for ",nzc="Expected unnamed function expression.",ozc="Expected child count in [2, 3], but was ",pzc={62:1},qzc={561:1,3:1,4:1},rzc={134:1},szc={29:1},tzc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",uzc="Missing return statement. Function expected to return {0}.",vzc="missing require: ''{0}''",wzc="JSC_AT_EXPORT_IN_GOOG_MODULE",xzc="goog",yzc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",
zzc={35:1,3:1,4:1},Azc="getInstance",Bzc="goog.bind",Czc="goog.partial",Dzc="goog$partial",Ezc="goog.provide",Fzc="goog.module",Gzc="goog.require",Hzc="prototype",Izc="goog.addSingletonGetter",Jzc="goog$addSingletonGetter",Kzc="JSC_LATE_PROVIDE_ERROR",Lzc="use strict",Mzc="finally",Nzc="return",Ozc="Unexpected Node subclass.",Pzc="async",Qzc="...",Rzc="export",Szc="default",Tzc="from",Uzc="import",Vzc="class",Wzc="extends",Xzc="implements",Yzc="while",Zzc="this",$zc="super",_zc="new.target",aAc="false",
bAc="true",cAc="continue",dAc="Unexpected token type. Should be LABEL_NAME.",eAc="debugger",fAc="void",gAc="interface",hAc="enum",iAc="namespace",jAc="type",kAc="declare",lAc="async function",mAc="Function.prototype.bind.call",nAc="only implemented in ClosureCodingConvention",oAc="$jscomp.inherits",pAc="$jscomp$inherits",qAc="JSC_MISSING_ENTRY_ERROR",rAc="JSC_OPTIMIZE_LOOP_ERROR",sAc="generateReport",tAc="recordFunctionInformation",uAc=".js",vAc=" [synthetic:",wAc="{SyntheticVarsDeclar}",xAc=32768,
yAc=131072,zAc="toSource",AAc="externExports",BAc="parseInputs",CAc="runTranspileOnlyPasses",DAc="runWhitespaceOnlyPasses",EAc="unexpected language mode: ",FAc={78:1},GAc="module",HAc="es3",IAc="checkTypes",JAc="collapseObjectLiterals",KAc="crossModuleCodeMotion",LAc="crossModuleMethodMotion",MAc="inlineFunctions",NAc="inlineVariables",OAc="locale",PAc="removeUnusedClassProperties",QAc="removeUnusedPrototypeProperties",RAc="removeUnusedVars",SAc="FALSE",TAc="TRUE",UAc="ECMASCRIPT3",VAc="ECMASCRIPT5",
WAc="ECMASCRIPT5_STRICT",XAc="ECMASCRIPT6",YAc="ECMASCRIPT6_STRICT",ZAc="ECMASCRIPT6_TYPED",$Ac="ECMASCRIPT7",_Ac="ECMASCRIPT8",aBc={173:1,3:1},bBc={3:1,134:1},cBc="{0}",dBc="reportUnknownTypes",eBc="analyzerChecks",fBc="oldReportUnknownTypes",gBc="deprecated",hBc="inferredConstCheck",iBc="fileoverviewTags",jBc="uselessCode",kBc="const",lBc="duplicate",mBc="missingProvide",nBc="missingRequire",oBc="unnecessaryCasts",pBc={126:1,3:1,23:1,14:1},qBc="apply",rBc="arguments",sBc="var_args",tBc="constructor",
uBc="call",vBc={62:1,29:1},wBc="%20",xBc="%5B",yBc="%5D",zBc="%3C",ABc="%3E",BBc="^\\.",CBc="$jscomp$this",DBc="$jscomp$arguments",EBc="undefined",FBc={52:1,53:1},GBc="$jscomp$destructuring$var",HBc="next",IBc="value",JBc="$jscomp$generator$forin$array",KBc="$jscomp$generator$forin$var",LBc="$jscomp$generator$forin$iter",MBc="$jscomp$generator$state",NBc="done",OBc="es6/symbol",PBc="$jscomp$generator$arguments",QBc="$jscomp$generator$this",RBc="$jscomp$generator$first$do",SBc="$jscomp$generator$global$errortemp",
TBc="$jscomp$generator$global$error",UBc="$jscomp$generator$throw$arg",VBc="$jscomp$generator$yield$all",WBc="$jscomp$generator$yield$entry",XBc="$jscomp$generator$next$arg",YBc="JSC_CANNOT_CONVERT",ZBc=".prototype",$Bc=-536870912,_Bc="Symbol",aCc=2097152,bCc=8388608,cCc="util/global",dCc="$jscomp.global.Object.defineProperties",eCc=536870912,fCc=1024,gCc="$jscomp$key$",hCc="Symbol.iterator",iCc="$jscomp$restParams",jCc="Array",kCc="$jscomp$restIndex",lCc="$jscomp$",mCc="Unexpected.",nCc=134217728,
oCc=1610612736,pCc="@implements used without @constructor or @interface for {0}",qCc="parameter {0} does not appear in {1}''s parameter list",rCc="property {0} on interface {1} is not implemented by type {2}",sCc="interface member functions must have an empty body",tCc="IObject",uCc="IObject<K,V>#index",vCc="Window",wCc="Object",xCc=16384,yCc="window",zCc="%anon_fun",ACc="Function",BCc="Number",CCc="Boolean",DCc="RegExp",ECc="goog.getMsg",FCc="java.lang.Integer",GCc="java/lang/Integer.impl.java.js",
HCc="java.lang.Float",ICc="java/lang/Float.impl.java.js",JCc="goog.math.Long",KCc="closure/goog/math/long.js",LCc="throws",MCc="typedef",NCc={29:1,866:1},OCc="module$",PCc='Constructor {0} should be called with the "new" keyword',QCc="Illegal key, the object literal is a {0}",RCc="Cannot use the IN operator with structs",SCc="Property {0} never defined on {1}",TCc="Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.",UCc="Cannot do {0} access on a {1}",
VCc="unknown type: {0}",WCc="Infinity",XCc="typeof",YCc="instanceof",ZCc=1048576,$Cc="Unexpected const change.\n  name: ",_Cc="JSC_BASE_CLASS_ERROR",aDc='Failed to load module "{0}"',bDc="$jscompDefaultExport",cDc="$jscomp$async$this",dDc="$jscomp$async$arguments",eDc="$jscomp$async$generator",fDc="$jscomp",gDc="es6-impl",hDc="$jscomp.polyfill",iDc="goog.global.",jDc="Parse error. {0}",kDc="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.",
lDc="Can only have JSDoc or inline type annotations, not both",mDc="Trailing comma is not legal in an ECMA-262 object initializer",nDc="msg.bad.jsdoc.tag",oDc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?",pDc="Sanity Check failed",qDc={175:1,3:1,23:1,14:1},rDc={161:1,864:1,3:1},sDc={52:1,181:1,3:1,23:1,14:1,53:1},tDc={180:1,3:1,23:1,14:1},uDc="DEFAULT",vDc="JSC_INEXISTENT_PROPERTY",wDc="{1} cannot extend this type; {0}s can only extend {0}s",xDc="{0} cannot implement this type; an interface can only extend, but not implement interfaces",
yDc={136:1,267:1,3:1,23:1,14:1,137:1},zDc="Expected state DURING_RESOLUTION but found %s",ADc="NOT_RESOLVED",BDc="DURING_RESOLUTION",CDc="LOOSE_TOP_FUNCTION",DDc="TOP_FUNCTION",EDc="FALSE_TYPE",FDc="NULL",GDc="NUMBER",HDc="STRING",IDc="TOP_SCALAR",JDc="TRUTHY",KDc="UNKNOWN",LDc="UNDEFINED_OR_BOOLEAN",MDc="UNDEFINED_OR_NUMBER",NDc="UNDEFINED_OR_STRING",ODc="NULL_OR_BOOLEAN",PDc="NULL_OR_NUMBER",QDc="NULL_OR_STRING",RDc="NULL_OR_UNDEFINED",SDc="NUMBER_OR_STRING",TDc={129:1,61:1},UDc=268435456,VDc="QMARK_FUNCTION",
WDc="BOTTOM_FUNCTION",XDc="TOP_OBJECTTYPE",YDc="TOP_STRUCT",ZDc="BOTTOM_OBJECT",$Dc={545:1,48:1},_Dc="Type variable %s not in the domain: %s",aEc="ENUM",bEc="EXTENDS",cEc="EXPORT",dEc="IMPLEMENTS",eEc="INTERFACE",fEc="PACKAGE",gEc="PRIVATE",hEc="PROTECTED",iEc="PUBLIC",jEc="RETURN",kEc="THIS",lEc="TYPE",mEc="package",nEc="private",oEc="protected",pEc="public",qEc="static",rEc="Octal integer literals are not supported in Ecmascript 5 strict mode.",sEc="Invalid octal digit in octal literal.",tEc="unexpected: ",
uEc="this language feature is only supported for ",vEc=" mode or better: ",wEc="__missing_expression__",xEc="unique",yEc="consistent",zEc="Bad type annotation. ",AEc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.",BEc="msg.jsdoc.incompat.type",CEc="msg.jsdoc.interface.constructor",DEc="msg.jsdoc.missing.rc",EEc="msg.jsdoc.template.name.declared.twice",FEc="msg.jsdoc.extra.visibility",GEc="msg.jsdoc.type.syntax",HEc="msg.jsdoc.missing.rp",IEc="msg.jsdoc.idgen.bad",
JEc="msg.jsdoc.idgen.duplicate",KEc="msg.jsdoc.modifies",LEc="msg.jsdoc.suppress",MEc="ANNOTATION",NEc="com.google.javascript.jscomp.parsing.ParserConfig",OEc="Expected a call node, found %s",PEc="msg.jsdoc.typetransformation.invalid",QEc="type transformation",REc="msg.jsdoc.typetransformation.invalid.expression",SEc="msg.jsdoc.typetransformation.invalid.inside",TEc="conditional",UEc="map function",VEc="Expected a function node, found %s",WEc="msg.jsdoc.typetransformation.missing.param",XEc="msg.jsdoc.typetransformation.extra.param",
YEc="map function body",ZEc="template type operation",$Ec="INSTANCEOF",_Ec="unknown",aFc="SUPER",bFc="NEW_TARGET",cFc="AMBIENT_DECLARATION",dFc="CALL_SIGNATURE",eFc="INDEX_SIGNATURE",fFc="NAMESPACE_DECLARATION",gFc="OPTIONAL_PARAMETER",hFc="TYPE_ALIAS",iFc="CATCH",jFc="CONTINUE",kFc="DEBUGGER",lFc="delete",mFc="FINALLY",nFc="FUNCTION",oFc="SWITCH",pFc="TYPEOF",qFc="IMPORT",rFc="DECLARE",sFc="NAMESPACE",tFc="No newline allowed before '=>'",uFc="'%s' expected",vFc="invalid assignment target",wFc="async functions cannot be generators",
xFc="invalid parenthesized expression",yFc="cannot use keyword '%s' here.",zFc="unreachable",AFc="invalid arrow function parameters",BFc="Unterminated template literal",CFc="ARRAY_PATTERN",DFc="OBJECT_PATTERN",EFc="ARRAY_TYPE",FFc="RECORD_TYPE",GFc="UNION_TYPE",HFc="FUNCTION_TYPE",IFc="GENERIC_TYPE_LIST",JFc=4294967295,KFc="Bit index should be non-negative integer",LFc="String has leading or trailing whitespace",MFc="The new child node has next siblings.",NFc="The new child node has previous siblings.",
OFc="The new child node already has a parent.",PFc="Number node not created with Node.newNumber",QFc="String node not created with Node.newString",RFc=" is not a string node",SFc="StringNode: str is null",TFc="com.google.javascript.rhino.Messages",UFc="STRING_TYPE",VFc="BOOLEAN_TYPE",WFc="NUMBER_TYPE",XFc={61:1,19:1,3:1},YFc={61:1,19:1,55:1,3:1},ZFc="Expected a constructor; got %s",$Fc={61:1,69:1,19:1,55:1,3:1},_Fc={152:1,3:1,23:1,14:1},aGc='For input string: "',bGc={23:1,172:1},cGc="_gwt_modCount",
dGc={3:1,16:1,21:1,47:1,76:1},eGc={3:1,16:1,21:1,33:1},fGc={3:1,16:1,21:1,47:1},gGc={3:1,48:1},hGc={3:1,23:1,14:1,140:1},iGc={3:1,4:1,930:1},jGc="Invalid UTF8 sequence",kGc=", length: ",lGc="fromIndex: ",mGc=", toIndex: ",nGc="user.agent";var _,mU,hU,OT=-1;nU();oU(1,null,{},lb);_.wd=function mb(a){return this===a};_.xd=function ob(){return this.Cj};_.yd=function qb(){return qxc(this)};_.zd=function sb(){return Qfc(pb(this))+"@"+(rb(this)>>>0).toString(16)};_.equals=function(a){return this.wd(a)};
_.hashCode=function(){return this.yd()};_.toString=function(){return this.zd()};var cD,dD,eD;oU(373,1,{},Rfc);_.mj=function Sfc(a){var b;b=new Rfc;b.g=4;a>1?b.c=Zfc(this,a-1):b.c=this;return b};_.nj=function Yfc(){Ofc(this);return this.b};_.Dg=function $fc(){return Qfc(this)};_.oj=function agc(){return Ofc(this),this.k};_.pj=function cgc(){return(this.g&4)!=0};_.qj=function dgc(){return(this.g&1)!=0};_.zd=function ggc(){return((this.g&2)!=0?"interface ":(this.g&1)!=0?"":"class ")+(Ofc(this),this.o)};
_.g=0;_.j=0;var Nfc=1;eD={3:1,374:1,23:1,2:1};var yR=Ufc(1);var jR=Ufc(373);var DR=Ufc(2);oU(875,1,Nxc);var QD=Ufc(875);oU(618,875,Nxc,vb);_.wd=function wb(a){return a===this};_.Ad=function xb(){throw QT(new sgc("Optional.get() cannot be called on an absent value"));};_.yd=function yb(){return 2040732332};_.Bd=function zb(){return false};_.Cd=function Ab(a){return ee(a,Oxc)};_.zd=function Bb(){return"Optional.absent()"};var tb;var uD=Ufc(618);var VS=Wfc();oU(594,1,Pxc);_.Dd=function Fb(){return Cb(this)};
_.Ed=function Gb(){return Db(this)};_.Fd=function Hb(){throw QT(new jic);};_.i=1;var vD=Ufc(594);var SD=Wfc();oU(95,1,Rxc);_.Gd=function Lb(a){return this.Hd(a.a)};_.wd=function Mb(a){return this===a};_.zd=function Ob(){return Qfc(this.Cj)+"@"+(rb(this)>>>0).toString(16)};_.Id=function Pb(a){var b,c;c=a.length;for(b=c-1;b>=0;b--)if(!this.Hd(a.charCodeAt(b)))return Khc(a.substr(0,b+1));return""};var JD=Ufc(95);oU(593,95,Rxc,Qb);_.Hd=function Rb(a){return tmc(this.a,a)>=0};_.zd=function Sb(){var a,
b,c,d,e;e=new gic('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c<d;++c){a=b[c];_hc(e,Nb(a))}e.a+='")';return e.a};var wD=Ufc(593);oU(874,95,Rxc);var yD=Ufc(874);oU(290,874,Rxc);_.zd=function Ub(){return this.a};var ED=Ufc(290);oU(588,290,Rxc,Yb);_.Hd=function Zb(a){return Xb(a)};var Vb;var xD=Ufc(588);oU(392,874,Rxc,$b);_.Hd=function _b(a){return this.b<=a&&a<=this.a};_.zd=function ac(){return"CharMatcher.inRange('"+Nb(this.b)+"', '"+Nb(this.a)+"')"};_.a=0;_.b=0;var zD=Ufc(392);oU(589,95,Rxc);
_.Hd=function dc(a){return bc(this,a)};_.zd=function ec(){return this.a};var HD=Ufc(589);oU(592,589,Rxc,hc);var fc;var AD=Ufc(592);oU(80,874,Rxc,jc);_.Hd=function kc(a){return ic(this,a)};_.zd=function lc(){return"CharMatcher.is('"+Nb(this.a)+"')"};_.a=0;var BD=Ufc(80);oU(590,95,Rxc,oc);_.Hd=function pc(a){return/[A-Z\d]/i.test(String.fromCharCode(a))};_.zd=function qc(){return"CharMatcher.javaLetterOrDigit()"};var mc;var CD=Ufc(590);oU(591,95,Rxc,uc);_.Hd=function vc(a){return tc(a)};_.zd=function wc(){return"CharMatcher.javaUpperCase()"};
var rc;var DD=Ufc(591);oU(586,290,Rxc,zc);_.Hd=function Ac(a){return false};_.Id=function Bc(a){return exc(a),a};var xc;var FD=Ufc(586);oU(291,95,Rxc,Dc);_.Hd=function Ec(a){return Cc(this,a)};_.zd=function Fc(){return"CharMatcher.or("+this.a+Sxc+this.b+")"};var GD=Ufc(291);oU(587,290,Rxc,Jc);_.Hd=function Kc(a){return lhc("\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\x0B\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001\u202f\u00a0\f\u2009\u3000\u2004\u3000\u3000\u2028\n\u2007\u3000",1682554634*
a>>>Hc)==a};var Gc,Hc=0;var ID=Ufc(587);oU(954,1,{});oU(56,1,{},Sc);_.Kd=function Tc(a){return Qc(a)};var ND=Ufc(56);oU(628,56,{},Vc);_.Kd=function Wc(a){return Uc(this,a)};var KD=Ufc(628);oU(891,1,Txc);_.add=function cd(a){throw QT(new kic("Add not supported on this collection"));};_.addAll=function dd(a){return Xc(this,a)};_.clear=function ed(){Zc(this)};_.contains=function fd(a){return Yc(this,a,false)};_.containsAll=function gd(a){return $c(this,a)};_.isEmpty=function hd(){return this.size()==
0};_.remove=function jd(a){return Yc(this,a,true)};_.removeAll=function kd(a){return _c(this,a)};_.retainAll=function ld(a){return ad(this,a)};_.toArray=function md(){return this.Md(sC(yR,Uxc,1,this.size(),5,1))};_.Md=function nd(a){var b,c,d,e,f;f=this.size();a.length<f&&(a=(e=new Array(f),wC(e,a)));d=a;c=this.Ld();for(b=0;b<f;++b)d[b]=c.Ed();a.length>f&&(a[f]=null);return a};_.zd=function od(){return bd(this)};var LR=Ufc(891);oU(893,891,Vxc);_.addAtIndex=function rd(a,b){throw QT(new kic("Add not supported on this list"));
};_.add=function sd(a){this.addAtIndex(this.size(),a);return true};_.addAllAtIndex=function td(a,b){var c,d,e;exc(b);c=false;for(e=b.Ld();e.Dd();){d=e.Ed();this.addAtIndex(a++,d);c=true}return c};_.clear=function ud(){this.Pd(0,this.size())};_.wd=function vd(a){return pd(this,a)};_.yd=function wd(){return jnc(this)};_.indexOf=function xd(a){return qd(this,a)};_.Ld=function yd(){return new tjc(this)};_.lastIndexOf=function zd(a){var b;for(b=this.size()-1;b>-1;--b)if(Mtc(a,this.getAtIndex(b)))return b;
return-1};_.Nd=function Ad(){return this.Od(0)};_.Od=function Bd(a){return new yjc(this,a)};_.removeAtIndex=function Cd(a){throw QT(new kic("Remove not supported on this list"));};_.Pd=function Dd(a,b){var c,d;d=this.Od(a);for(c=a;c<b;++c){d.Ed();d.Fd()}};_.setAtIndex=function Ed(a,b){throw QT(new kic("Set not supported on this list"));};_.subList=function Fd(a,b){return new Ejc(this,a,b)};var SR=Ufc(893);oU(629,893,Vxc,Gd);_.getAtIndex=function Hd(a){switch(a){case 0:return this.a;case 1:return this.c;
default:return this.b[a-2]}};_.size=function Id(){return this.b.length+2};var LD=Ufc(629);oU(627,1,{},Ld);var MD=Ufc(627);oU(257,1,{},Pd);_.zd=function Qd(){return Od(this)};_.d=false;var PD=Ufc(257);oU(402,1,{},Rd);var OD=Ufc(402);oU(873,1,{});var RD=Ufc(873);oU(269,1,{52:1,269:1,3:1,53:1},we);_.Gd=function xe(a){return ve(this,a)};_.wd=function ye(a){var b;if(iD(a,269)){b=a;return nb(this.a,b.a)}return false};_.yd=function ze(){return rb(this.a)};_.zd=function Ae(){return"Predicates.in("+this.a+
")"};var TD=Ufc(269);oU(337,1,{52:1,337:1,3:1,53:1},Be);_.Gd=function Ce(a){return nb(this.a,a)};_.wd=function De(a){var b;if(iD(a,337)){b=a;return nb(this.a,b.a)}return false};_.yd=function Ee(){return rb(this.a)};_.zd=function Fe(){return"Predicates.equalTo("+this.a+")"};var UD=Ufc(337);oU(336,1,{52:1,336:1,3:1,53:1},Ge);_.Gd=function He(a){return!this.a.Gd(a)};_.wd=function Ie(a){var b;if(iD(a,336)){b=a;return this.a.wd(b.a)}return false};_.yd=function Je(){return~rb(this.a)};_.zd=function Ke(){return"Predicates.not("+
this.a+")"};var VD=Ufc(336);oU(14,1,{3:1,23:1,14:1});_.Qd=function Pe(a){return this.f-a.f};_.compareTo=function Oe(a){return this.f-a.f};_.equals=function Re(a){return this===a};_.wd=function(a){return this.equals(a)};_.hashCode=function Se(){return qxc(this)};_.yd=function(){return this.hashCode()};_.name=function Te(){return this.e!=null?this.e:""+this.f};_.ordinal=function Ue(){return this.f};_.toString=function Ve(){return Me(this)};_.zd=function(){return this.toString()};_.f=0;var lR=Ufc(14);
oU(128,14,$xc);var Xe,Ye,Ze,$e;var $D=Vfc(128,lR,bf);oU(777,128,$xc,cf);_.Gd=function df(a){return true};_.toString=function ef(){return"Predicates.alwaysTrue()"};var WD=Vfc(777,$D,null);oU(778,128,$xc,ff);_.Gd=function gf(a){return false};_.toString=function hf(){return"Predicates.alwaysFalse()"};var XD=Vfc(778,$D,null);oU(779,128,$xc,jf);_.Gd=function kf(a){return a==null};_.toString=function lf(){return"Predicates.isNull()"};var YD=Vfc(779,$D,null);oU(780,128,$xc,mf);_.Gd=function nf(a){return a!=
null};_.toString=function of(){return"Predicates.notNull()"};var ZD=Vfc(780,$D,null);oU(256,875,{256:1,3:1},pf);_.wd=function qf(a){var b;if(iD(a,256)){b=a;return nb(this.a,b.a)}return false};_.Ad=function rf(){return this.a};_.yd=function sf(){return 1502476572+rb(this.a)};_.Bd=function tf(){return true};_.Cd=function uf(a){ee(a,Oxc);return this.a};_.zd=function vf(){return"Optional.of("+this.a+")"};var _D=Ufc(256);oU(219,1,{},Cf,Df);_.a=0;_.b=false;var eE=Ufc(219);oU(709,1,{},Gf);var bE=Ufc(709);
oU(710,594,Pxc);_.b=0;_.c=0;_.d=false;var dE=Ufc(710);oU(711,710,Pxc,Jf);var aE=Ufc(711);oU(712,1,_xc,Lf);_.Ld=function Mf(){return Kf(this)};_.zd=function Nf(){return Uhc(Nc(new Sc(Sxc),Uhc(new dic,91),Af(this.a,this.b)),93).a};var cE=Ufc(712);oU(106,1,ayc);_.Fd=function Pf(){Of()};var cH=Ufc(106);oU(889,106,byc);_.Fd=function Rf(){Of()};_.Rd=function Qf(a){throw QT(new jic);};_.Ud=function Sf(a){throw QT(new jic);};var dH=Ufc(889);oU(604,889,byc);_.Dd=function Uf(){return this.b<this.c};_.Sd=function Vf(){return this.b>
0};_.Ed=function Wf(){return Tf(this)};_.Td=function Xf(){if(this.b<=0)throw QT(new Ltc);return Vp(this,--this.b)};_.b=0;_.c=0;var fE=Ufc(604);oU(413,106,ayc);_.Dd=function ag(){return Yf(this)};_.Ed=function bg(){return Zf(this)};_.d=1;var gE=Ufc(413);oU(913,1,{121:1});_.Wd=function eg(){var a;return a=this.f,!a?this.f=this.Zd():a};_.$d=function fg(){return new ci(this.Wd())};_.wd=function gg(a){return _v(this,a)};_.yd=function hg(){return rb(this.Wd())};_.ae=function ig(){return this.fe()==0};_.be=
function jg(){return dg(this)};_.ce=function kg(a,b){return this._d(a).add(b)};_.de=function lg(a,b){var c;return c=this.Wd().oe(a),!!c&&c.remove(b)};_.zd=function mg(){return sU(this.Wd())};var AE=Ufc(913);oU(442,913,cyc);_.Xd=function xg(){ng(this)};_.Yd=function yg(a){return this.c.containsKey(a)};_.Zd=function zg(){return new wh(this,this.c)};_.he=function Ag(a){return this.ge()};_.$d=function Bg(){return new ji(this,this.c)};_.ie=function Cg(){return tg(this.ge())};_._d=function Dg(a){return og(this,
a)};_.ce=function Eg(a,b){return qg(this,a,b)};_.ee=function Fg(a){return rg(this,a)};_.fe=function Gg(){return this.d};_.d=0;var uE=Ufc(442);oU(450,442,cyc);_.ge=function Jg(){return this.je()};_.ie=function Kg(){return Gm(),Gm(),Fm};_._d=function Mg(a){return og(this,a)};_.ee=function Pg(a){return rg(this,a)};_.Wd=function Ig(){var a;return a=this.f,!a?this.f=new wh(this,this.c):a};_.wd=function Lg(a){return _v(this,a)};_.ke=function Ng(a){return og(this,a)};_.ce=function Og(a,b){return qg(this,
a,b)};_.le=function Qg(a){return rg(this,a)};var hE=Ufc(450);oU(890,1,dyc);_.getOrDefault=function dh(a,b){var c;return c=this.oe(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function jh(a,b){var c;return c=this.oe(a),c!=null?c:this.put(a,b)};_.replace=function lh(a,b){return this.containsKey(a)?this.put(a,b):null};_.clear=function Xg(){this.ne().clear()};_.me=function Yg(a){return Rg(this,a)};_.containsKey=function Zg(a){return!!Tg(this,a,false)};_.containsValue=function $g(a){var b,c,d;for(c=
this.ne().Ld();c.Dd();){b=c.Ed();d=b.ye();if(oD(a)===oD(d)||a!=null&&nb(a,d))return true}return false};_.wd=function _g(a){return Sg(this,a)};_.oe=function ah(a){return bh(Tg(this,a,false))};_.yd=function eh(){return inc(this.ne())};_.isEmpty=function fh(){return this.size()==0};_.keySet=function gh(){return new Kjc(this)};_.put=function hh(a,b){throw QT(new kic("Put not supported on this map"));};_.putAll=function ih(a){Ug(this,a)};_.remove=function kh(a){return bh(Tg(this,a,true))};_.size=function mh(){return this.ne().size()};
_.zd=function nh(){return Vg(this)};_.values=function oh(){return new Ujc(this)};var $R=Ufc(890);oU(914,890,dyc);_.ne=function qh(){return ph(this)};_.keySet=function rh(){var a;a=this.d;return!a?this.d=new ci(this):a};_.values=function sh(){var a;a=this.e;return!a?this.e=new Lv(this):a};var lG=Ufc(914);oU(186,914,dyc,wh);_.oe=function Bh(a){return th(this,a)};_.remove=function Eh(a){return uh(this,a)};_.clear=function xh(){this.a==this.b.c?this.b.Xd():Qr(new $h(this))};_.containsKey=function yh(a){return sv(this.a,
a)};_.qe=function zh(){return new Vh(this)};_.pe=function(){return this.qe()};_.wd=function Ah(a){return this===a||Sg(this.a,a)};_.yd=function Ch(){return inc(this.a.ne())};_.keySet=function Dh(){return this.b.be()};_.size=function Fh(){return this.a.size()};_.zd=function Gh(){return Vg(this.a)};var kE=Ufc(186);oU(892,891,eyc);_.wd=function Ih(a){return Hh(this,a)};_.yd=function Jh(){return inc(this)};_.removeAll=function Kh(a){var b,c,d,e;exc(a);e=this.size();if(e<a.size())for(b=this.Ld();b.Dd();){c=
b.Ed();a.contains(c)&&b.Fd()}else for(d=a.Ld();d.Dd();){c=d.Ed();this.remove(c)}return e!=this.size()};var fS=Ufc(892);oU(902,892,eyc);_.removeAll=function Lh(a){return fx(this,a)};_.retainAll=function Mh(a){return ad(this,de(a))};var NG=Ufc(902);oU(903,902,eyc);_.clear=function Oh(){this.re().clear()};_.contains=function Ph(a){return Nh(this,a)};_.isEmpty=function Qh(){return this.re().isEmpty()};_.remove=function Rh(a){var b;if(this.contains(a)){b=a;return this.re().keySet().remove(b.xe())}return false};
_.removeAll=function Sh(b){try{return fx(this,de(b))}catch(a){a=PT(a);if(iD(a,20))return gx(this,b.Ld());else throw QT(a);}};_.retainAll=function Th(b){var c,d,e,f;try{return ad(this,de(de(b)))}catch(a){a=PT(a);if(iD(a,20)){d=new Arc(pv(b.size()));for(f=b.Ld();f.Dd();){e=f.Ed();if(this.contains(e)){c=e;wrc(d,c.xe())}}return this.re().keySet().retainAll(d)}else throw QT(a);}};_.size=function Uh(){return this.re().size()};var gG=Ufc(903);oU(763,903,eyc,Vh);_.contains=function Wh(a){return al(this.a.a.ne(),
a)};_.Ld=function Xh(){return new $h(this.a)};_.re=function Yh(){return this.a};_.remove=function Zh(a){var b;if(!al(this.a.a.ne(),a))return false;b=a;sg(this.a.b,b.xe());return true};var iE=Ufc(763);oU(448,1,Pxc,$h);_.Ed=function ai(){var a;return a=this.b.Ed(),this.a=a.ye(),vh(this.c,a)};_.Dd=function _h(){return this.b.Dd()};_.Fd=function bi(){this.b.Fd();this.c.b.d-=this.a.size();this.a.clear()};var jE=Ufc(448);oU(301,902,eyc,ci);_.clear=function di(){this.b.clear()};_.contains=function ei(a){return this.b.containsKey(a)};
_.isEmpty=function fi(){return this.b.isEmpty()};_.Ld=function gi(){return nv(),ds(this.b.ne().Ld(),(zv(),xv))};_.remove=function hi(a){if(this.b.containsKey(a)){this.b.remove(a);return true}return false};_.size=function ii(){return this.b.size()};var jG=Ufc(301);oU(268,301,eyc,ji);_.clear=function ki(){var a;Qr((a=this.b.ne().Ld(),new qi(this,a)))};_.containsAll=function li(a){return this.b.keySet().containsAll(a)};_.wd=function mi(a){return this===a||nb(this.b.keySet(),a)};_.yd=function ni(){return rb(this.b.keySet())};
_.Ld=function oi(){var a;return a=this.b.ne().Ld(),new qi(this,a)};_.remove=function pi(a){var b,c;c=0;b=this.b.remove(a);if(b){c=b.size();b.clear();this.a.d-=c}return c>0};var mE=Ufc(268);oU(449,1,Pxc,qi);_.Dd=function ri(){return this.c.Dd()};_.Ed=function si(){this.a=this.c.Ed();return this.a.xe()};_.Fd=function ti(){var a;ke(!!this.a,fyc);a=this.a.ye();this.c.Fd();this.b.a.d-=a.size();a.clear()};var lE=Ufc(449);oU(226,891,Txc,yi);_.add=function zi(a){var b,c;vi(this);c=this.d.isEmpty();b=this.d.add(a);
if(b){++this.f.d;c&&ui(this)}return b};_.addAll=function Ai(a){var b,c,d;if(a.isEmpty())return false;d=(vi(this),this.d.size());b=this.d.addAll(a);if(b){c=this.d.size();this.f.d+=c-d;d==0&&ui(this)}return b};_.clear=function Bi(){var a;a=(vi(this),this.d.size());if(a==0)return;this.d.clear();this.f.d-=a;wi(this)};_.contains=function Ci(a){vi(this);return this.d.contains(a)};_.containsAll=function Di(a){vi(this);return this.d.containsAll(a)};_.wd=function Ei(a){if(a===this)return true;vi(this);return nb(this.d,
a)};_.yd=function Fi(){vi(this);return rb(this.d)};_.Ld=function Gi(){vi(this);return new _i(this)};_.remove=function Hi(a){var b;vi(this);b=this.d.remove(a);if(b){--this.f.d;wi(this)}return b};_.removeAll=function Ii(a){var b,c,d;if(a.isEmpty())return false;d=(vi(this),this.d.size());b=this.d.removeAll(a);if(b){c=this.d.size();this.f.d+=c-d;wi(this)}return b};_.retainAll=function Ji(a){var b,c,d;de(a);d=(vi(this),this.d.size());b=this.d.retainAll(a);if(b){c=this.d.size();this.f.d+=c-d;wi(this)}return b};
_.size=function Ki(){return xi(this)};_.zd=function Li(){vi(this);return sU(this.d)};var pE=Ufc(226);oU(446,226,Vxc,Mi);_.addAtIndex=function Ni(a,b){var c;vi(this);c=this.d.isEmpty();this.d.addAtIndex(a,b);++this.a.d;c&&ui(this)};_.addAllAtIndex=function Oi(a,b){var c,d,e;if(b.isEmpty())return false;e=(vi(this),this.d.size());c=this.d.addAllAtIndex(a,b);if(c){d=this.d.size();this.a.d+=d-e;e==0&&ui(this)}return c};_.getAtIndex=function Pi(a){vi(this);return this.d.getAtIndex(a)};_.indexOf=function Qi(a){vi(this);
return this.d.indexOf(a)};_.lastIndexOf=function Ri(a){vi(this);return this.d.lastIndexOf(a)};_.Nd=function Si(){vi(this);return new ej(this)};_.Od=function Ti(a){vi(this);return new fj(this,a)};_.removeAtIndex=function Ui(a){var b;vi(this);b=this.d.removeAtIndex(a);--this.a.d;wi(this);return b};_.setAtIndex=function Vi(a,b){vi(this);return this.d.setAtIndex(a,b)};_.subList=function Wi(a,b){vi(this);return vg(this.a,this.e,this.d.subList(a,b),!this.b?this:this.b)};var rE=Ufc(446);oU(762,446,gyc,Xi);
var nE=Ufc(762);oU(333,1,Pxc,_i);_.Dd=function bj(){$i(this);return this.b.Dd()};_.Ed=function cj(){$i(this);return this.b.Ed()};_.Fd=function dj(){Zi(this)};var oE=Ufc(333);oU(447,333,hyc,ej,fj);_.Fd=function jj(){Zi(this)};_.Rd=function gj(a){var b;b=xi(this.a)==0;($i(this),this.b).Rd(a);++this.a.a.d;b&&ui(this.a)};_.Sd=function hj(){return($i(this),this.b).Sd()};_.Td=function ij(){return($i(this),this.b).Td()};_.Ud=function kj(a){($i(this),this.b).Ud(a)};var qE=Ufc(447);oU(444,226,eyc,lj);_.removeAll=
function mj(a){var b,c,d;if(a.isEmpty())return false;d=(vi(this),this.d.size());b=fx(this.d,a);if(b){c=this.d.size();this.a.d+=c-d;wi(this)}return b};var sE=Ufc(444);oU(445,226,iyc,nj);var tE=Ufc(445);oU(915,891,{372:1,16:1,21:1});_.add=function qj(a){return this.se(a,1),true};_.se=function rj(a,b){throw QT(new jic);};_.addAll=function sj(a){return tw(this,a)};_.clear=function tj(){var a;Qr((a=this.a.ne().Ld(),new Vj(this,a)))};_.contains=function uj(a){var b;return b=tv(this.a,a),(!b?0:b.a)>0};_.te=
function vj(a){var b,c;for(c=pj(this).Ld();c.Dd();){b=c.Ed();if(Sd(b.b.xe(),a))return ak(b)}return 0};_.ue=function wj(){return oj(this)};_.ne=function xj(){return pj(this)};_.wd=function yj(a){return uw(this,a)};_.yd=function zj(){return rb(this.ne())};_.isEmpty=function Aj(){return pj(this).isEmpty()};_.Ld=function Bj(){return new zw(this,pj(this).Ld())};_.remove=function Cj(a){return Lj(this,a,1)>0};_.removeAll=function Dj(a){var b;return b=iD(a,229)?oj(a):a,oj(this).removeAll(b)};_.retainAll=
function Ej(a){var b;return de(a),b=iD(a,229)?oj(a):a,oj(this).retainAll(b)};_.size=function Fj(){return ww(this)};_.zd=function Gj(){return sU(this.ne())};var DE=Ufc(915);oU(804,915,{372:1,3:1,16:1,21:1});_.se=function Oj(a,b){return Hj(this,a,b)};_.clear=function Pj(){Ij(this)};_.te=function Qj(a){return Jj(this,a)};_.ne=function Rj(){return pj(this)};_.Ld=function Tj(){return new ek(this)};_.size=function Uj(){return Hz(this.b)};_.b=0;var yE=Ufc(804);oU(459,1,Pxc,Vj);_.Ed=function Xj(){var a;return a=
this.c.Ed(),this.b=a,new bk(this,a)};_.Dd=function Wj(){return this.c.Dd()};_.Fd=function Yj(){ke(!!this.b,fyc);this.a.b=bU(this.a.b,ll(this.b.ye(),0));this.c.Fd();this.b=null};var wE=Ufc(459);oU(917,1,{869:1});_.wd=function Zj(a){var b;if(iD(a,869)){b=a;return this.ve()==b.ve()&&Sd(this.we(),b.we())}return false};_.yd=function $j(){var a;a=this.we();return(a==null?0:rb(a))^this.ve()};_.zd=function _j(){var a,b;b=Qhc(this.we());a=this.ve();return a==1?b:b+" x "+a};var wG=Ufc(917);oU(272,917,{272:1,
869:1},bk);_.ve=function ck(){return ak(this)};_.we=function dk(){return this.b.xe()};var vE=Ufc(272);oU(805,1,Pxc,ek);_.Dd=function fk(){return this.d>0||this.c.Dd()};_.Ed=function gk(){if(this.d==0){this.b=this.c.Ed();this.d=this.b.ye().a}--this.d;this.a=true;return this.b.xe()};_.Fd=function hk(){var a;ke(this.a,fyc);a=this.b.ye().a;if(a<=0)throw QT(new gqc);(this.b.ye().a+=-1)==0&&this.c.Fd();this.e.b=bU(this.e.b,1);this.a=false};_.a=false;_.d=0;var xE=Ufc(805);var fT=Wfc();oU(215,1,kyc);_.wd=
function ik(a){var b;if(iD(a,58)){b=a;return Sd(this.xe(),b.xe())&&Sd(this.ye(),b.ye())}return false};_.yd=function jk(){var a,b;a=this.xe();b=this.ye();return(a==null?0:rb(a))^(b==null?0:rb(b))};_.ze=function kk(a){throw QT(new jic);};_.zd=function lk(){return this.xe()+"="+this.ye()};var zE=Ufc(215);oU(918,902,eyc);_.clear=function mk(){Ij(this.a)};_.contains=function nk(a){return Jj(this.a,a)>0};_.containsAll=function ok(a){return $c(this.a,a)};_.isEmpty=function pk(){return pj(this.a).isEmpty()};
_.Ld=function qk(){return new xw(pj(this.a).Ld())};_.remove=function rk(a){return Lj(this.a,a,Exc)>0};_.size=function sk(){return pj(this.a).size()};var yG=Ufc(918);oU(767,918,eyc,tk);var BE=Ufc(767);oU(916,902,eyc);_.clear=function uk(){Ij(this.a)};_.contains=function vk(a){var b,c;if(iD(a,272)){c=a;if(ak(c)<=0)return false;b=Jj(this.a,c.b.xe());return b==ak(c)}return false};_.remove=function wk(a){var b,c,d,e;if(iD(a,272)){c=a;b=c.b.xe();d=ak(c);if(d!=0){e=this.a;return vw(e,b,d,0)}}return false};
var zG=Ufc(916);oU(768,916,eyc,xk);_.Ld=function yk(){return Kj(this.a)};_.size=function zk(){return this.a.a.size()};var CE=Ufc(768);oU(443,442,cyc);_.ge=function Ck(){return this.Ae()};_.ie=function Dk(){return fm(),$w(),Zw};_._d=function Fk(a){return og(this,a)};_.ee=function Ik(a){return rg(this,a)};_.Wd=function Bk(){var a;return a=this.f,!a?this.f=new wh(this,this.c):a};_.wd=function Ek(a){return _v(this,a)};_.Be=function Gk(a){return og(this,a)};_.ce=function Hk(a,b){return qg(this,a,b)};_.Ce=
function Jk(a){return rg(this,a)};var EE=Ufc(443);oU(921,1,{552:1});_.Ee=function Kk(){var a;return a=this.d,!a?this.d=new Pk(this):a};_.Xd=function Lk(){Qr(this.Ee().a.De())};_.wd=function Mk(a){return yy(this,a)};_.yd=function Nk(){return inc(this.Ee())};_.zd=function Ok(){return Vg(this.Fe())};var GE=Ufc(921);oU(468,892,eyc,Pk);_.clear=function Qk(){this.a.Xd()};_.contains=function Rk(a){var b,c;if(iD(a,243)){b=a;c=tv(this.a.Fe(),b.b);return!!c&&al(c.ne(),(nv(),new Pp(b.a,b.c)))}return false};
_.Ld=function Sk(){return this.a.De()};_.remove=function Tk(a){var b,c;if(iD(a,243)){b=a;c=tv(this.a.Fe(),b.b);return!!c&&bl(c.ne(),(nv(),new Pp(b.a,b.c)))}return false};_.size=function Uk(){return this.a.fe()};var FE=Ufc(468);oU(452,450,cyc,Vk);_.je=function Wk(){return new Vlc(this.a)};_.a=0;var HE=Ufc(452);var Zk;oU(217,1,{217:1,134:1});_.wd=function cl(a){return this===a};_.Ie=function dl(){return new Jw(this)};var EG=Ufc(217);oU(312,217,{312:1,217:1,3:1,134:1},el);_.He=function fl(a,b){return this.a.He(a,
b)};_.wd=function gl(a){var b;if(a===this)return true;if(iD(a,312)){b=a;return this.a.wd(b.a)}return false};_.yd=function hl(){return rb(this.a)};_.zd=function il(){return sU(this.a)};var IE=Ufc(312);oU(852,413,ayc,jl);_.Vd=function kl(){return _kc(this.a)?(this.d=2,null):glc(this.a)};var JE=Ufc(852);oU(280,1,{280:1,3:1},ml);_.wd=function nl(a){return iD(a,280)&&a.a==this.a};_.yd=function ol(){return this.a};_.zd=function pl(){return""+this.a};_.a=0;var KE=Ufc(280);oU(859,913,cyc);_.Wd=function ql(){return this.a};
_._d=function ul(a){return this.Je(a)};_.be=function vl(){return this.a.Ve()};_.ee=function zl(a){return this.Ke(a)};_.Xd=function rl(){throw QT(new jic);};_.Yd=function sl(a){return Xn(this.a,a)};_.Zd=function tl(){throw QT(new qfc("should never be called"));};_.ce=function wl(a,b){throw QT(new jic);};_.de=function xl(a,b){throw QT(new jic);};_.Ke=function yl(a){throw QT(new jic);};_.fe=function Al(){return this.b};_.b=0;var rF=Ufc(859);oU(547,859,cyc,Dl);_.Wd=function El(){return this.a};_.wd=function Gl(a){return _v(this,
a)};_.Je=function Hl(a){return Bl(this,a)};_._d=function Il(a){var b;return b=Yn(this.a,a),!b?(Gm(),Gm(),Fm):b};_.ke=function Jl(a){var b;return b=Yn(this.a,a),!b?(Gm(),Gm(),Fm):b};_.Ke=function Kl(a){return Cl()};_.ee=function Ll(a){return Cl()};_.le=function Ml(a){return Cl()};var hF=Ufc(547);oU(861,547,cyc,Pl);var Nl;var LE=Ufc(861);oU(313,1,_xc);_.zd=function Rl(){return cs(this.c.Cd(this).Ld())};var ME=Ufc(313);oU(897,1,{});_.zd=function Sl(){return sU(this.Le())};var VE=Ufc(897);oU(898,897,
Txc);_.Le=function Yl(){return Yoc(this.a.d)};_.add=function Tl(a){return Yoc(this.a.d),_nc()};_.addAll=function Ul(a){return Yoc(this.a.d),aoc()};_.clear=function Vl(){Yoc(this.a.d),boc()};_.contains=function Wl(a){return xpc(Yoc(this.a.d),a)};_.containsAll=function Xl(a){return ypc(Yoc(this.a.d),a)};_.isEmpty=function Zl(){return Yoc(this.a.d).b.isEmpty()};_.Ld=function $l(){var a;return a=Yoc(this.a.d).b.Ld(),new Ipc(a)};_.remove=function _l(a){return Yoc(this.a.d),eoc()};_.removeAll=function am(a){return Yoc(this.a.d),
foc()};_.retainAll=function bm(a){return Yoc(this.a.d),goc()};_.size=function cm(){return Yoc(this.a.d).b.size()};_.toArray=function dm(){return zpc(Yoc(this.a.d))};_.Md=function em(a){return Apc(Yoc(this.a.d),a)};var NE=Ufc(898);oU(72,891,myc);_.Ld=function rm(){return this.Oe()};_.add=function lm(a){return gm()};_.addAll=function mm(a){throw QT(new jic);};_.Me=function nm(){return hm(this)};_.clear=function om(){throw QT(new jic);};_.contains=function pm(a){return a!=null&&Yc(this,a,false)};_.Ne=
function qm(){switch(this.size()){case 0:return Gm(),Gm(),Fm;case 1:return Gm(),new Gx(this.Oe().Ed());default:return new Sq(this,this.toArray())}};_.remove=function sm(a){return im()};_.removeAll=function tm(a){return jm()};_.retainAll=function um(a){return km()};var cF=Ufc(72);oU(401,72,myc,vm);_.Ld=function Am(){return es(this.a.Ld())};_.contains=function wm(a){return a!=null&&this.a.contains(a)};_.containsAll=function xm(a){return this.a.containsAll(a)};_.isEmpty=function ym(){return this.a.isEmpty()};
_.Oe=function zm(){return es(this.a.Ld())};_.size=function Bm(){return this.a.size()};_.toArray=function Cm(){return this.a.toArray()};_.Md=function Dm(a){return this.a.Md(a)};_.zd=function Em(){return sU(this.a)};var OE=Ufc(401);oU(112,72,nyc);_.Ld=function Tm(){return this.Oe()};_.Nd=function Vm(){return this.Pe(0)};_.Od=function Xm(a){return this.Pe(a)};_.subList=function an(a,b){return this.Qe(a,b)};_.addAtIndex=function Jm(a,b){throw QT(new jic);};_.addAllAtIndex=function Km(a,b){throw QT(new jic);
};_.Me=function Lm(){return this};_.wd=function Pm(a){return vu(this,a)};_.yd=function Qm(){return wu(this)};_.indexOf=function Rm(a){return a==null?-1:xu(this,a)};_.Oe=function Sm(){return this.Pe(0)};_.lastIndexOf=function Um(a){return a==null?-1:yu(this,a)};_.Pe=function Wm(a){return Hm(this,a)};_.removeAtIndex=function Zm(a){throw QT(new jic);};_.setAtIndex=function $m(a,b){throw QT(new jic);};_.Qe=function _m(a,b){var c;return bn((c=new Iu(this),new Ejc(c,a,b)))};var Fm;var iF=Ufc(112);oU(895,
112,nyc);_.Ld=function nn(){return es(this.Re().Ld())};_.subList=function rn(a,b){return bn(this.Re().subList(a,b))};_.contains=function en(a){return cn(this,a)};_.containsAll=function fn(a){return this.Re().containsAll(a)};_.wd=function gn(a){return nb(this.Re(),a)};_.getAtIndex=function hn(a){return dn(this,a)};_.yd=function jn(){return rb(this.Re())};_.indexOf=function kn(a){return this.Re().indexOf(a)};_.isEmpty=function ln(){return this.Re().isEmpty()};_.Oe=function mn(){return es(this.Re().Ld())};
_.lastIndexOf=function on(a){return this.Re().lastIndexOf(a)};_.size=function pn(){return this.Re().size()};_.Qe=function qn(a,b){return bn(this.Re().subList(a,b))};_.toArray=function sn(){return this.Re().Md(sC(yR,Uxc,1,this.Re().size(),5,1))};_.Md=function tn(a){return this.Re().Md(a)};_.zd=function un(){return sU(this.Re())};var PE=Ufc(895);oU(120,1,pyc);_.ne=function Gn(){return vn(this)};_.getOrDefault=function Jn(a,b){var c;return c=this.oe(a),c==null&&!this.containsKey(a)?b:c};_.keySet=function Nn(){return this.Ve()};
_.putIfAbsent=function Rn(a,b){var c;return c=this.oe(a),c!=null?c:this.put(a,b)};_.replace=function Tn(a,b){return this.containsKey(a)?this.put(a,b):null};_.values=function Wn(){return this.We()};_.clear=function zn(){throw QT(new jic);};_.containsKey=function An(a){return this.oe(a)!=null};_.containsValue=function Bn(a){return this.We().contains(a)};_.Te=function Dn(){return new oq(this)};_.Ue=function En(){return new tq(this)};_.wd=function Hn(a){return qv(this,a)};_.yd=function Kn(){return vn(this).yd()};
_.isEmpty=function Ln(){return this.size()==0};_.Ve=function Mn(){return wn(this)};_.put=function Pn(a,b){return xn()};_.putAll=function Qn(a){yn()};_.remove=function Sn(a){throw QT(new jic);};_.zd=function Un(){var a;return nv(),a=Uhc(_k(this.size()),123),Kd(mv,a,vn(this).Ld()),(a.a+="}",a).a};_.We=function Vn(){if(this.g)return this.g;return this.g=this.Ue()};_.e=null;_.f=null;_.g=null;var pF=Ufc(120);oU(216,120,pyc);_.containsKey=function _n(a){return Xn(this,a)};_.containsValue=function ao(a){return Xoc(this.d,
a)};_.Se=function bo(){return xo(new no(this))};_.Te=function co(){return xo($oc(this.d))};_.Ue=function eo(){return fm(),new vm(_oc(this.d))};_.wd=function fo(a){return Zoc(this.d,a)};_.oe=function go(a){return Yn(this,a)};_.yd=function ho(){return rb(this.d.d)};_.isEmpty=function io(){return this.d.d.isEmpty()};_.size=function jo(){return this.d.d.size()};_.zd=function ko(){return sU(this.d.d)};var RE=Ufc(216);oU(899,898,eyc);_.wd=function lo(a){return a===this||tpc(Yoc(this.a.d),a)};_.yd=function mo(){return rb(Yoc(this.a.d).b)};
var WE=Ufc(899);oU(626,899,eyc,no);_.contains=function oo(a){if(iD(a,58)&&a.xe()==null)return false;return xpc(Yoc(this.a.d),a)};_.Md=function po(a){var b;b=Apc(Yoc(this.a.d),a);Yoc(this.a.d).b.size()<b.length&&(b[Yoc(this.a.d).b.size()]=null);return b};var QE=Ufc(626);oU(141,72,qyc);_.Ld=function vo(){return this.Oe()};_.wd=function to(a){return dx(this,a)};_.yd=function uo(){return ex(this)};var vF=Ufc(141);oU(417,141,qyc);_.Ld=function Eo(){return this.Oe()};_.contains=function zo(a){return a!=
null&&coc(this.b,a)};_.containsAll=function Ao(a){de(this.b);return doc(this.b,a)};_.yd=function Bo(){return rb(this.b.b)};_.isEmpty=function Co(){return this.b.b.isEmpty()};_.Oe=function Do(){return es(new yoc(this.b.b.Ld()))};_.size=function Fo(){return this.b.b.size()};_.toArray=function Go(){return this.b.b.toArray()};_.Md=function Ho(a){return hoc(this.b,a)};_.zd=function Io(){return sU(this.b.b)};var SE=Ufc(417);oU(912,897,dyc);_.Le=function Oo(){return this.a};_.getOrDefault=function So(a,
b){var c;return c=this.oe(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function Yo(a,b){var c;return c=this.oe(a),c!=null?c:this.put(a,b)};_.replace=function $o(a,b){return this.containsKey(a)?this.put(a,b):null};_.clear=function Lo(){qqc(this.a)};_.containsKey=function Mo(a){return rqc(this.a,a)};_.containsValue=function No(a){return sqc(this.a,a)};_.ne=function Po(){return new Kqc(this.a)};_.wd=function Qo(a){return a===this||Sg(this.a,a)};_.oe=function Ro(a){return Jo(this,a)};_.yd=function To(){return inc(new Kqc(this.a))};
_.isEmpty=function Uo(){return this.a.a.c==0};_.keySet=function Vo(){return new Kjc(this.a)};_.put=function Wo(a,b){return Ko(this,a,b)};_.putAll=function Xo(a){Ug(this.a,a)};_.remove=function Zo(a){return wqc(this.a,a)};_.size=function _o(){return this.a.a.c};_.values=function ap(){return new Ujc(this.a)};var UE=Ufc(912);oU(920,897,ryc);_.Le=function dp(){return this.Xe()};_.wd=function ep(a){return this.Xe().wd(a)};_.xe=function fp(){return this.Xe().xe()};_.ye=function gp(){return this.Xe().ye()};
_.yd=function hp(){return this.Xe().yd()};_.ze=function ip(a){return bp(this,a)};var TE=Ufc(920);oU(831,921,syc);_.De=function mp(){return new Px(this)};_.Ee=function np(){var a;return a=this.d,!a?this.d=new Pk(this):a};_.Xd=function op(){tsc(this.a)};_.Ye=function pp(a){return a!=null&&sv(this.a,a)};_.Fe=function qp(){var a;return a=this.c,!a?this.c=new iy(this):a};_.fe=function rp(){var a,b,c,d,e;e=0;for(c=(d=(new Ujc(this.a)).a.ne().Ld(),new Zjc(d));c.a.Dd();){b=(a=c.a.Ed(),a.ye());e+=b.size()}return e};
var $G=Ufc(831);oU(273,831,syc,up);_.Ye=function vp(a){return a!=null&&sv(this.a,a)};_.wd=function wp(a){return yy(this,a)};var YE=Ufc(273);oU(274,1,tyc,yp);_.Ad=function zp(){return xp(this)};_.a=0;var XE=Ufc(274);oU(791,443,cyc,Ap);_.Ae=function Bp(){return new Arc(pv(this.a))};_.a=2;var ZE=Ufc(791);oU(229,804,{229:1,372:1,3:1,16:1,21:1},Cp);var $E=Ufc(229);oU(894,112,nyc);_.contains=function Fp(a){return this.Ze().contains(a)};_.isEmpty=function Gp(){return this.Ze().isEmpty()};_.size=function Hp(){return this.Ze().size()};
var _E=Ufc(894);oU(302,216,pyc);_.We=function Jp(){return this._e()};_.values=function Lp(){return this._e()};_.Ge=function Mp(){return this._e()};_._e=function Kp(){return wn(this.$e())};var aF=Ufc(302);oU(888,1,{});var bF=Ufc(888);oU(73,215,{215:1,73:1,3:1,58:1},Pp);_.xe=function Qp(){return this.g};_.ye=function Rp(){return this.i};_.ze=function Sp(a){throw QT(new jic);};var dF=Ufc(73);oU(714,216,pyc,Tp);var eF=Ufc(714);oU(605,604,byc,Wp);var fF=Ufc(605);oU(42,888,{},Zp);_.af=function $p(a){return Jlc(this.a,
de(a)),this};var gF=Ufc(42);oU(297,106,ayc,_p);_.Dd=function aq(){return this.a.Dd()};_.Ed=function bq(){return this.a.Ed().xe()};var jF=Ufc(297);oU(99,1,{},fq,gq);_.bf=function hq(){return In(this.b)};_.cf=function iq(a,b){return cq(this,a,b)};_.df=function jq(a){return dq(this,a)};var kF=Ufc(99);oU(910,141,qyc);_.Ld=function mq(){var a;return a=vn(this.a).Oe(),new _p(a)};_.Ne=function kq(){return new Oq(this)};_.Oe=function lq(){var a;return(a=this.c,!a?this.c=new Oq(this):a).Oe()};var uF=Ufc(910);
oU(708,910,qyc,oq);_.Ld=function rq(){var a;return a=vn(this.a).Oe(),new _p(a)};_.contains=function pq(a){return this.a.containsKey(a)};_.Oe=function qq(){var a;return a=vn(this.a).Oe(),new _p(a)};_.size=function sq(){return this.a.size()};var lF=Ufc(708);oU(706,72,myc,tq);_.Ld=function xq(){return new zq(this)};_.Me=function uq(){var a;a=hm(vn(this.a));return new Cq(this,a)};_.contains=function vq(a){return a!=null&&Sr(new zq(this),a)};_.Oe=function wq(){return new zq(this)};_.size=function yq(){return this.a.size()};
var oF=Ufc(706);oU(318,106,ayc,zq);_.Dd=function Aq(){return this.a.Dd()};_.Ed=function Bq(){return this.a.Ed().ye()};var mF=Ufc(318);oU(707,894,nyc,Cq);_.Ze=function Dq(){return this.a};_.getAtIndex=function Eq(a){return this.b.getAtIndex(a).ye()};var nF=Ufc(707);oU(544,1,{},Gq);var qF=Ufc(544);oU(68,888,{},Mq);_.af=function Nq(a){return Iq(this,a)};var sF=Ufc(68);oU(400,894,nyc,Oq);_.Ze=function Pq(){return this.a};_.getAtIndex=function Qq(a){return nq(this.a,a)};var tF=Ufc(400);oU(309,894,nyc,
Sq);_.Od=function Wq(a){return Hm(this.b,a)};_.Ze=function Tq(){return this.a};_.getAtIndex=function Uq(a){return dn(this.b,a)};_.Pe=function Vq(a){return Hm(this.b,a)};var FG=Ufc(309);oU(863,309,nyc,Xq);_.Ze=function Zq(){return this.a};_.Ld=function $q(){return Hm(this.b,0)};_.contains=function Yq(a){return(a==null?-1:xu(this,a))>=0};var wF=Ufc(863);oU(322,216,{120:1,322:1,3:1,48:1},ar);_.Te=function br(){return rr(this.a,$oc(this.c))};_.Ve=function cr(){var a;return a=this.b,!a?this.b=rr(this.a,
$oc(this.c)):a};_.keySet=function dr(){var a;return a=this.b,!a?this.b=rr(this.a,$oc(this.c)):a};var yF=Ufc(322);oU(713,99,{},ir);_.bf=function jr(){return gr(this)};_.cf=function kr(a,b){return Jlc(this.b,(Xk(a,b),nv(),new Pp(a,b))),this};_.df=function lr(a){return dq(this,a),this};var xF=Ufc(713);oU(369,417,{72:1,141:1,369:1,3:1,16:1,21:1,33:1,154:1});_.Ld=function ur(){return es(new yoc(this.b.b.Ld()))};_.contains=function pr(a){return a!=null&&coc(this.a,a)};_.containsAll=function qr(a){var b,
c;for(c=a.Ld();c.Dd();){b=c.Ed();if(b==null)return false}return doc(this.a,a)};_.Oe=function tr(){return es(new yoc(this.b.b.Ld()))};_.toArray=function vr(){return Pw(this,sC(yR,Uxc,1,this.b.b.size(),5,1))};_.Md=function wr(a){return Qw(this,a)};var mr,nr;var zF=Ufc(369);oU(680,313,_xc,Cr);_.Ld=function Dr(){return ds(this.a.Ld(),this.b)};var AF=Ufc(680);oU(681,313,_xc,Fr);_.Ld=function Gr(){return Er(this)};_.b=0;var BF=Ufc(681);oU(682,313,_xc,Ir);_.Ld=function Jr(){return Hr(this)};_.b=0;var CF=
Ufc(682);var Kr,Lr;oU(665,889,byc,fs);_.Dd=function gs(){return false};_.Sd=function hs(){return false};_.Ed=function is(){throw QT(new Ltc);};_.Td=function js(){throw QT(new Ltc);};var EF=Ufc(665);oU(308,106,ayc,ks);_.Dd=function ls(){return!this.a};_.Ed=function ms(){if(this.a)throw QT(new Ltc);this.a=true;return this.b};_.a=false;var DF=Ufc(308);oU(666,1,Pxc,ns);_.Dd=function os(){return false};_.Ed=function ps(){throw QT(new Ltc);};_.Fd=function qs(){ke(false,fyc)};var FF=Ufc(666);oU(667,106,
ayc,rs);_.Dd=function ss(){return this.a.Dd()};_.Ed=function ts(){return this.a.Ed()};var GF=Ufc(667);oU(668,413,ayc,us);_.Vd=function vs(){var a;while(this.b.Dd()){a=this.b.Ed();if(this.a.Gd(a))return a}return this.d=2,null};var HF=Ufc(668);oU(261,1,Pxc);_.Dd=function xs(){return this.b.Dd()};_.Ed=function ys(){return this.ef(this.b.Ed())};_.Fd=function zs(){this.b.Fd()};var bH=Ufc(261);oU(669,261,Pxc,Bs);_.ef=function Cs(a){return As(this,a)};var IF=Ufc(669);oU(670,1,Pxc,Ds);_.Dd=function Es(){return this.a<
this.c&&this.b.b.Dd()};_.Ed=function Fs(){if(!(this.a<this.c&&this.b.b.Dd()))throw QT(new Ltc);++this.a;return this.b.b.Ed()};_.Fd=function Gs(){xoc()};_.a=0;_.c=0;var JF=Ufc(670);oU(411,1,Pxc);_.Dd=function Js(){return Hs(this)};_.Ed=function Ks(){if(!Hs(this))throw QT(new Ltc);this.c=this.b;return this.b.Ed()};_.Fd=function Ls(){ke(!!this.c,fyc);this.c.Fd();this.c=null};var BG=Ufc(411);oU(307,411,{307:1,28:1},Ms);_.ff=function Ns(a){return a};var LF=Ufc(307);oU(412,411,Pxc,Ps);_.ff=function Qs(a){return Os(a)};
var KF=Ufc(412);oU(168,443,cyc,Ts);_.Xd=function Us(){Rs(this)};_.Ae=function Vs(){return new ctc(this.b)};_.he=function Ws(a){return new et(this,a,this.b)};_.be=function Xs(){return Ss(this)};_.b=2;var PF=Ufc(168);oU(225,73,{215:1,73:1,225:1,931:1,3:1,58:1},$s);_.gf=function _s(){return this.f};_.hf=function at(a){this.c=a};_.jf=function bt(a){this.f=a};_.d=0;var MF=Ufc(225);oU(760,902,{931:1,16:1,21:1,33:1},et);_.add=function ft(a){var b,c,d,e,f;f=xyc*Egc((a==null?0:rb(a))*yyc,15);b=f&this.b.length-
1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Sd(c.i,a))return false;d=new $s(this.c,a,f,e);Zs(this.d,d);d.f=this;this.d=d;Ys(this.g.a.b,d);Ys(d,this.g.a);this.b[b]=d;++this.f;++this.e;ct(this);return true};_.clear=function gt(){var a,b;Cmc(this.b);this.f=0;for(a=this.a;a!=this;a=a.gf()){b=a;Ys(b.b,b.e)}this.a=this;this.d=this;++this.e};_.contains=function ht(a){var b,c;c=xyc*Egc((a==null?0:rb(a))*yyc,15);for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Sd(b.i,a))return true;return false};_.gf=function it(){return this.a};
_.Ld=function jt(){return new pt(this)};_.remove=function kt(a){return dt(this,a)};_.hf=function lt(a){this.d=a};_.jf=function mt(a){this.a=a};_.size=function nt(){return this.f};_.e=0;_.f=0;var OF=Ufc(760);oU(761,1,Pxc,pt);_.Dd=function qt(){return ot(this),this.b!=this.c};_.Ed=function rt(){var a,b;ot(this);if(this.b==this.c)throw QT(new Ltc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Fd=function st(){ot(this);ke(!!this.d,fyc);dt(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var NF=Ufc(761);
oU(788,913,cyc,xt);_.Wd=function yt(){var a;return a=this.f,!a?this.f=new bw(this):a};_.wd=function Et(a){return _v(this,a)};_._d=function Ft(a){return new Ut(this,a)};_.ee=function Jt(a){return vt(this,a)};_.Xd=function At(){this.a=null;this.e=null;Tic(this.b);this.d=0;++this.c};_.Yd=function Bt(a){return ut(this,a)};_.Zd=function Ct(){return new bw(this)};_.$d=function Dt(){return new Xt(this)};_.ke=function Gt(a){return new Ut(this,a)};_.ae=function Ht(){return!this.a};_.ce=function It(a,b){return tt(this,
a,b,null),true};_.le=function Kt(a){return vt(this,a)};_.fe=function Lt(){return this.d};_.c=0;_.d=0;var WF=Ufc(788);oU(900,893,Vxc);_.addAtIndex=function Ot(a,b){var c;c=this.Od(a);c.Rd(b)};_.addAllAtIndex=function Pt(a,b){var c,d,e,f;exc(b);f=false;e=this.Od(a);for(d=b.Ld();d.Dd();){c=d.Ed();e.Rd(c);f=true}return f};_.getAtIndex=function Qt(a){return Mt(this,a)};_.Ld=function Rt(){return this.Od(0)};_.removeAtIndex=function St(a){return Nt(this,a)};_.setAtIndex=function Tt(b,c){var d,e;d=this.Od(b);
try{e=d.Ed();d.Ud(c);return e}catch(a){a=PT(a);if(iD(a,64))throw QT(new lfc("Can't set element "+b));else throw QT(a);}};var eS=Ufc(900);oU(339,900,Vxc,Ut);_.Od=function Vt(a){return new nu(this.a,this.b,a)};_.size=function Wt(){var a;a=Mic(this.a.b,this.b);return!a?0:a.a};var RF=Ufc(339);oU(455,902,eyc,Xt);_.contains=function Yt(a){return ut(this.a,a)};_.Ld=function Zt(){return new bu(this.a)};_.remove=function $t(a){return!vt(this.a,a).a.isEmpty()};_.size=function _t(){return Uic(this.a.b)};var QF=
Ufc(455);oU(790,1,Pxc,bu);_.Dd=function cu(){au(this);return!!this.c};_.Ed=function du(){au(this);zt(this.c);this.a=this.c;wrc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!wrc(this.d,this.c.a));return this.a.a};_.Fd=function eu(){au(this);ke(!!this.a,fyc);Qr(new mu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var SF=Ufc(790);oU(338,1,{338:1},fu);_.a=0;var TF=Ufc(338);oU(789,215,kyc,gu);_.xe=function hu(){return this.a};_.ye=function iu(){return this.f};_.ze=function ju(a){var b;b=
this.f;this.f=a;return b};var UF=Ufc(789);oU(270,1,hyc,mu,nu);_.Rd=function ou(a){this.e=tt(this.f,this.b,a,this.c);++this.d;this.a=null};_.Dd=function pu(){return!!this.c};_.Sd=function qu(){return!!this.e};_.Ed=function ru(){return ku(this)};_.Td=function su(){return lu(this)};_.Fd=function tu(){ke(!!this.a,fyc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;wt(this.f,this.a);this.a=null};_.Ud=function uu(a){je(!!this.a);this.a.f=a};_.d=0;var VF=Ufc(270);oU(630,893,Vxc);_.addAtIndex=
function Bu(a,b){this.a.addAtIndex(a,b)};_.addAllAtIndex=function Cu(a,b){return this.a.addAllAtIndex(a,b)};_.contains=function Du(a){return this.a.contains(a)};_.getAtIndex=function Eu(a){return this.a.getAtIndex(a)};_.removeAtIndex=function Fu(a){return this.a.removeAtIndex(a)};_.setAtIndex=function Gu(a,b){return this.a.setAtIndex(a,b)};_.size=function Hu(){return this.a.size()};var YF=Ufc(630);oU(631,630,gyc);var ZF=Ufc(631);oU(633,631,gyc,Iu);_.Od=function Ju(a){return this.a.Od(a)};var XF=Ufc(633);
oU(163,893,{163:1,16:1,21:1,47:1},Nu);_.addAtIndex=function Ou(a,b){this.a.addAtIndex(Mu(this,a),b)};_.clear=function Pu(){this.a.clear()};_.getAtIndex=function Qu(a){return this.a.getAtIndex(Lu(this,a))};_.Ld=function Ru(){return Ku(this,0)};_.Od=function Su(a){return Ku(this,a)};_.removeAtIndex=function Tu(a){return this.a.removeAtIndex(Lu(this,a))};_.Pd=function Uu(a,b){(ie(a,b,this.a.size()),Au(this.a.subList(Mu(this,b),Mu(this,a)))).clear()};_.setAtIndex=function Vu(a,b){return this.a.setAtIndex(Lu(this,
a),b)};_.size=function Wu(){return this.a.size()};_.subList=function Xu(a,b){return ie(a,b,this.a.size()),Au(this.a.subList(Mu(this,b),Mu(this,a)))};var aG=Ufc(163);oU(406,163,{163:1,16:1,21:1,47:1,76:1},Yu);var $F=Ufc(406);oU(632,1,hyc,Zu);_.Rd=function $u(a){this.b.Rd(a);this.b.Td();this.a=false};_.Dd=function _u(){return this.b.Sd()};_.Sd=function av(){return this.b.Dd()};_.Ed=function bv(){if(!this.b.Sd())throw QT(new Ltc);this.a=true;return this.b.Td()};_.Td=function cv(){if(!this.b.Dd())throw QT(new Ltc);
this.a=true;return this.b.Ed()};_.Fd=function dv(){ke(this.a,fyc);this.b.Fd();this.a=false};_.Ud=function ev(a){je(this.a);this.b.Ud(a)};_.a=false;var _F=Ufc(632);oU(300,112,nyc,fv);_.getAtIndex=function gv(a){return ce(a,this.a.length),Kfc(lhc(this.a,a))};_.subList=function lv(a,b){return ie(a,b,this.a.length),new fv(de(Hhc(this.a,a,b)))};_.indexOf=function hv(a){return iD(a,149)?thc(this.a,Nhc(a.a)):-1};_.lastIndexOf=function iv(a){return iD(a,149)?whc(this.a,Nhc(a.a)):-1};_.size=function jv(){return this.a.length};
_.Qe=function kv(a,b){return ie(a,b,this.a.length),new fv(de(Hhc(this.a,a,b)))};var bG=Ufc(300);var mv;oU(641,261,Pxc,vv);_.ef=function wv(a){return nv(),new Pp(a,this.a.Jd(a))};var cG=Ufc(641);oU(183,14,zyc);var xv,yv;var fG=Vfc(183,lR,Bv);oU(638,183,zyc,Cv);_.Jd=function Dv(a){return a.xe()};var dG=Vfc(638,fG,null);oU(639,183,zyc,Ev);_.Jd=function Fv(a){return a.ye()};var eG=Vfc(639,fG,null);oU(922,890,dyc);_.clear=function Gv(){Qr(Tx(this))};_.ne=function Hv(){return new Iv(this)};var iG=Ufc(922);
oU(640,903,eyc,Iv);_.Ld=function Jv(){return Tx(this.a)};_.re=function Kv(){return this.a};var hG=Ufc(640);oU(637,891,Txc,Lv);_.clear=function Mv(){this.a.clear()};_.contains=function Nv(a){return this.a.containsValue(a)};_.isEmpty=function Ov(){return this.a.isEmpty()};_.Ld=function Pv(){return nv(),ds(this.a.ne().Ld(),(zv(),yv))};_.remove=function Qv(b){var c,d;try{return Yc(this,b,true)}catch(a){a=PT(a);if(iD(a,20)){for(d=this.a.ne().Ld();d.Dd();){c=d.Ed();if(Sd(b,c.ye())){this.a.remove(c.xe());
return true}}return false}else throw QT(a);}};_.removeAll=function Rv(b){var c,d,e;try{return _c(this,de(b))}catch(a){a=PT(a);if(iD(a,20)){e=new zrc;for(d=this.a.ne().Ld();d.Dd();){c=d.Ed();b.contains(c.ye())&&wrc(e,c.xe())}return this.a.keySet().removeAll(e)}else throw QT(a);}};_.retainAll=function Sv(b){var c,d,e;try{return ad(this,de(b))}catch(a){a=PT(a);if(iD(a,20)){e=new zrc;for(d=this.a.ne().Ld();d.Dd();){c=d.Ed();b.contains(c.ye())&&wrc(e,c.xe())}return this.a.keySet().retainAll(e)}else throw QT(a);
}};_.size=function Tv(){return this.a.size()};var kG=Ufc(637);oU(924,1,{});var rG=Ufc(924);oU(926,1,{});var qG=Ufc(926);oU(855,926,{},Wv);_.a=0;var mG=Ufc(855);oU(853,1,tyc,Xv);_.Ad=function Yv(){return new Vlc(this.a)};_.a=0;var nG=Ufc(853);oU(925,924,{});var oG=Ufc(925);oU(854,925,{},$v);_.b=0;var pG=Ufc(854);oU(451,914,dyc,bw);_.oe=function fw(a){return this.a.Yd(a)?this.a._d(a):null};_.remove=function iw(a){return this.a.Yd(a)?this.a.ee(a):null};_.clear=function cw(){this.a.Xd()};_.containsKey=
function dw(a){return this.a.Yd(a)};_.qe=function ew(){return new kw(this)};_.pe=function(){return this.qe()};_.isEmpty=function gw(){return this.a.ae()};_.keySet=function hw(){return this.a.be()};_.size=function jw(){return this.a.be().size()};var uG=Ufc(451);oU(765,903,eyc,kw);_.Ld=function lw(){return ov(this.a.a.be(),new ow(this))};_.re=function mw(){return this.a};_.remove=function nw(a){var b;if(!Nh(this,a))return false;b=a;aw(this.a,b.xe());return true};var tG=Ufc(765);oU(766,1,Ayc,ow);_.Jd=
function pw(a){return this.a.a.a._d(a)};_.wd=function qw(a){return this===a};var sG=Ufc(766);oU(764,450,cyc,rw);_.kf=function sw(){return this.a.Ad()};_.je=function(){return this.kf()};var vG=Ufc(764);oU(770,261,Pxc,xw);_.ef=function yw(a){return a.b.xe()};var xG=Ufc(770);oU(769,1,Pxc,zw);_.Dd=function Aw(){return this.d>0||this.c.Dd()};_.Ed=function Bw(){if(!(this.d>0||this.c.Dd()))throw QT(new Ltc);if(this.d==0){this.b=this.c.Ed();this.f=this.d=ak(this.b)}--this.d;this.a=true;return this.b.b.xe()};
_.Fd=function Cw(){ke(this.a,fyc);this.f==1?this.c.Fd():Lj(this.e,this.b.b.xe(),1)>0;--this.f;this.a=false};_.a=false;_.d=0;_.f=0;var AG=Ufc(769);oU(776,217,{217:1,3:1,134:1},Fw);_.He=function Gw(a,b){return de(a),de(b),wfc(a,b)};_.Ie=function Hw(){var a;a=this.a;!a&&(a=this.a=new Jw(this));return a};_.zd=function Iw(){return"Ordering.natural()"};var Dw;var CG=Ufc(776);oU(283,217,{283:1,217:1,3:1,134:1},Jw);_.He=function Kw(a,b){if(oD(a)===oD(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.He(a,
b)};_.wd=function Lw(a){var b;if(a===this)return true;if(iD(a,283)){b=a;return this.a.wd(b.a)}return false};_.yd=function Mw(){return rb(this.a)^957692532};_.Ie=function Nw(){return this};_.zd=function Ow(){return this.a+".nullsFirst()"};var DG=Ufc(283);oU(642,302,pyc,Tw);_.$e=function Uw(){return this.a};var Rw;var GG=Ufc(642);oU(139,895,nyc,Vw);_.Re=function Ww(){return this.a};var HG=Ufc(139);oU(264,216,pyc,Xw,Yw);var IG=Ufc(264);oU(311,417,qyc,_w);var Zw;var JG=Ufc(311);oU(245,369,{72:1,141:1,
369:1,245:1,3:1,16:1,21:1,33:1,154:1},ax);_.Ne=function bx(){return new Xq(this,(Gm(),bn(new Zmc(Pw(this,sC(yR,Uxc,1,this.b.b.size(),5,1))))))};var KG=Ufc(245);oU(896,892,eyc);_.Ld=function jx(){return this.Oe()};var OG=Ufc(896);oU(624,896,eyc,mx);_.Ld=function qx(){return lx(this)};_.contains=function nx(a){return this.a.contains(a)||this.b.contains(a)};_.isEmpty=function ox(){return this.a.isEmpty()&&this.b.isEmpty()};_.Oe=function px(){return es(Rr(this.a.Ld(),sx(this.c)))};_.size=function rx(){return Ez(this.a.size(),
tx(this.c))};var LG=Ufc(624);oU(625,896,eyc,ux);_.Ld=function yx(){return sx(this)};_.contains=function vx(a){return this.b.contains(a)&&!this.c.contains(a)};_.isEmpty=function wx(){return this.c.containsAll(this.b)};_.Oe=function xx(){return Ur(this.b.Ld(),this.a)};_.size=function zx(){return tx(this)};var MG=Ufc(625);oU(319,302,pyc,Ax,Bx);_.values=function Ex(){return fm(),new Jx(this.c)};_.Ge=function Fx(){return fm(),new Jx(this.c)};_.$e=function Cx(){var a;return a=this.a,!a?this.a=new Bx(this.c,
this.b,this):a};_._e=function Dx(){return fm(),new Jx(this.c)};var PG=Ufc(319);oU(90,895,nyc,Gx);_.Re=function Hx(){return this.a};var QG=Ufc(90);oU(71,141,qyc,Jx);_.Ld=function Mx(){return Mr(),new ks(this.a)};_.contains=function Kx(a){return Ix(this,a)};_.Oe=function Lx(){return Mr(),new ks(this.a)};_.size=function Nx(){return 1};var RG=Ufc(71);oU(832,1,Pxc,Px);_.Ed=function Rx(){return Ox(this)};_.Dd=function Qx(){return Wsc(this.c)||this.a.Dd()};_.Fd=function Sx(){this.a.Fd();this.b.e.isEmpty()&&
Ysc(this.c)};var SG=Ufc(832);oU(467,922,dyc,Vx);_.clear=function Wx(){var a;a=!this.a||this.a.isEmpty()&&usc(this.c.a,this.b)?this.a=vsc(this.c.a,this.b):this.a;!!a&&a.clear();Ux(this)};_.containsKey=function Xx(a){var b;b=!this.a||this.a.isEmpty()&&usc(this.c.a,this.b)?this.a=vsc(this.c.a,this.b):this.a;return a!=null&&!!b&&sv(b,a)};_.oe=function Yx(a){var b;b=!this.a||this.a.isEmpty()&&usc(this.c.a,this.b)?this.a=vsc(this.c.a,this.b):this.a;return a!=null&&!!b?tv(b,a):null};_.put=function Zx(a,
b){de(a);de(b);if(!!this.a&&!this.a.isEmpty())return this.a.put(a,b);return lp(this.c,this.b,a,b)};_.remove=function $x(a){var b,c;b=!this.a||this.a.isEmpty()&&usc(this.c.a,this.b)?this.a=vsc(this.c.a,this.b):this.a;if(!b)return null;c=uv(b,a);Ux(this);return c};_.size=function _x(){var a;a=!this.a||this.a.isEmpty()&&usc(this.c.a,this.b)?this.a=vsc(this.c.a,this.b):this.a;return!a?0:a.size()};var YG=Ufc(467);oU(835,1,Pxc,ay);_.Ed=function cy(){var a;return a=this.b.Ed(),new ey(a)};_.Dd=function by(){return this.b.Dd()};
_.Fd=function dy(){this.b.Fd();Ux(this.a)};var UG=Ufc(835);oU(836,920,ryc,ey);_.Xe=function fy(){return this.a};_.wd=function gy(a){return cp(this,a)};_.ze=function hy(a){return bp(this,de(a))};var TG=Ufc(836);oU(275,914,dyc,iy);_.oe=function ly(a){return this.a.Ye(a)?new Vx(this.a,a):null};_.remove=function my(a){return a==null?null:ysc(this.a.a,a)};_.containsKey=function jy(a){return this.a.Ye(a)};_.qe=function ky(){return new qy(this)};_.pe=function(){return this.qe()};var XG=Ufc(275);oU(833,902,
eyc);_.clear=function oy(){tsc(this.b.a)};_.isEmpty=function py(){return Uic(this.b.a.c)==0};var ZG=Ufc(833);oU(834,833,eyc,qy);_.contains=function ry(a){var b;if(iD(a,58)){b=a;return b.xe()!=null&&iD(b.ye(),48)&&al(new Qsc(this.a.a.a),b)}return false};_.Ld=function sy(){return ov(new Kjc(this.a.a.a),new vy(this))};_.remove=function ty(a){var b;if(iD(a,58)){b=a;return b.xe()!=null&&iD(b.ye(),48)&&Psc(new Qsc(this.a.a.a),b)}return false};_.size=function uy(){return Uic(this.a.a.a.c)};var WG=Ufc(834);
oU(837,1,Ayc,vy);_.Jd=function wy(a){return new Vx(this.a.a.a,a)};_.wd=function xy(a){return this===a};var VG=Ufc(837);oU(927,1,{932:1});_.wd=function zy(a){var b;if(a===this)return true;if(iD(a,243)){b=a;return Sd(this.b,b.b)&&Sd(this.a,b.a)&&Sd(this.c,b.c)}return false};_.yd=function Ay(){return Imc(vC(qC(yR,1),Uxc,1,5,[this.b,this.a,this.c]))};_.zd=function By(){return"("+this.b+","+this.a+")="+this.c};var _G=Ufc(927);oU(243,927,{932:1,243:1,3:1},Cy);var aH=Ufc(243);oU(753,912,dyc,Dy);_.ne=function Ey(){var a;
a=this.b;if(a)return a;return this.b=new Fy(this)};var hH=Ufc(753);oU(754,903,eyc,Fy);_.Ld=function Gy(){var a;return new Iy(this,(a=(new Kjc(this.a.a)).a.ne().Ld(),new Qjc(a)))};_.re=function Hy(){return this.a};var gH=Ufc(754);oU(755,261,Pxc,Iy);_.ef=function Jy(a){return new Ky(this,a)};var fH=Ufc(755);oU(756,215,kyc,Ky);_.xe=function Ly(){return this.b};_.ye=function My(){return Jo(this.a.a.a,this.b)};_.ze=function Ny(a){return Ko(this.a.a.a,this.b,a)};var eH=Ufc(756);oU(928,1,{});var Oy;var nH=
Ufc(928);oU(246,95,{95:1,52:1,246:1,53:1},Xy);_.wd=function Yy(a){return Uy(this,a)};_.yd=function Zy(){return Hmc(this.c)};_.Hd=function $y(a){return Wy(this,a)};_.zd=function _y(){return this.f};_.a=0;_.b=0;_.d=0;var iH=Ufc(246);oU(145,928,{145:1},cz);_.wd=function dz(a){var b;if(iD(a,145)){b=a;return Uy(this.b,b.b)&&Sd(this.c,b.c)}return false};_.yd=function ez(){return Hmc(this.b.c)^Imc(vC(qC(yR,1),Uxc,1,5,[this.c]))};_.zd=function fz(){var a;a=new gic("BaseEncoding.");_hc(a,this.b.f);8%this.b.a!=
0&&(!this.c?(a.a+=".omitPadding()",a):_hc($hc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var mH=Ufc(145);oU(549,145,{145:1},hz);var jH=Ufc(549);oU(370,145,{145:1},kz);var kH=Ufc(370);oU(38,1,Fyc);_.lf=function tz(a){return new $wnd.Error(a)};_.mf=function vz(){return this.f};_.nf=function wz(){var a,b,c;c=this.f==null?null:this.f.replace(new $wnd.RegExp(Gyc,"g")," ");b=(a=Qfc(this.Cj),c==null?a:a+": "+c);nz(this,uz(this.lf(b)));cC(this)};_.zd=function yz(){return pz(this,this.mf())};_.backingJsObject=
Dyc;_.j=true;var ER=Ufc(38);oU(40,38,Hyc);var nR=Ufc(40);oU(94,40,{94:1,3:1,40:1,38:1});var cR=Ufc(94);oU(284,94,{284:1,94:1,3:1,40:1,38:1},Az);var lH=Ufc(284);var Iz;var Nz;oU(114,1,{},Sz);_.a=0;_.b=0;var oH=Ufc(114);oU(427,1,{},$z);_.b=0;_.c=null;var vH=Ufc(427);oU(701,1,{},aA);var pH=Ufc(701);oU(702,1,{},gA);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var qH=Ufc(702);oU(428,1,{867:1},hA);_.pf=function iA(){return this.e};_.qf=function jA(){return-1};_.rf=function kA(){return-1};_.sf=function lA(){return-1};
_.tf=function mA(){return-1};_.e=0;var tH=Ufc(428);oU(429,428,{867:1},nA);_.qf=function oA(){return-1};_.rf=function pA(){return this.b};_.sf=function qA(){return this.c};_.tf=function rA(){return this.d};_.b=0;_.c=0;_.d=0;var uH=Ufc(429);oU(704,429,{867:1},sA);_.qf=function tA(){return this.a};_.a=0;var rH=Ufc(704);oU(703,1,{},xA);_.b=0;_.c=0;var sH=Ufc(703);oU(697,1,{},FA);_.c=null;_.d=-1;var BH=Ufc(697);oU(698,1,{},JA);var wH=Ufc(698);oU(700,1,{},MA);_.uf=function NA(a,b,c,d,e){var f;this.d!=b&&
(this.c=0);if(b!=d||c!=e)if(b<this.a){this.d==b&&Thc(this.b,44);LA(this,a,c);this.d=b;this.c=c}else je(!a);for(f=b;f<=d&&f<this.a;f++){if(f==d)break;Thc(this.b,59)}};_.a=0;_.c=0;_.d=-1;_.e=0;_.f=0;_.g=0;_.i=0;var xH=Ufc(700);oU(425,1,{425:1},OA);_.f=false;var zH=Ufc(425);oU(426,1,{},VA);_.a=0;_.b=0;var yH=Ufc(426);oU(699,1,{},WA);_.uf=function XA(a,b,c,d,e){!!a&&(a.f=true)};var AH=Ufc(699);oU(596,1,{},YA);_.c=0;_.i=0;var EH=Ufc(596);oU(595,1,{},fB);_.c=0;_.i=0;var CH=Ufc(595);oU(876,1,{});var DH=
Ufc(876);oU(124,40,{124:1,3:1,40:1,38:1},jB);var FH=Ufc(124);oU(292,1,{292:1},kB);_.a=0;_.b=0;_.c=0;var GH=Ufc(292);var lB;oU(431,1,{},qB);_.a=0;_.c=0;var IH=Ufc(431);oU(390,1,{},wB);_.a=0;_.b=null;_.c=0;_.d=null;var HH=Ufc(390);oU(32,40,Hyc,yB,zB,AB);var zR=Ufc(32);oU(197,32,Hyc,BB);var sR=Ufc(197);oU(613,197,Hyc);var MH=Ufc(613);oU(254,613,{254:1,3:1,40:1,38:1},FB);_.mf=function GB(){EB(this);return this.c};_.vf=function HB(){return oD(this.b)===oD(CB)?null:this.b};var CB;var JH=Ufc(254);var KH=
Ufc(0);oU(870,1,{});var LH=Ufc(870);var JB=0,KB=0,LB=-1;oU(645,870,{},ZB);var VB;var NH=Ufc(645);var aC;oU(886,1,{});var RH=Ufc(886);oU(600,886,{},hC);_.wf=function iC(a){var b={},j;var c=[];a[Oyc]=c;var d=arguments.callee.caller;while(d){var e=(bC(),d.name||(d.name=eC(d.toString())));c.push(e);var f=":"+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++)if(g[h]===d)return}(g||(b[f]=[])).push(d);d=d.caller}};_.xf=function jC(a){var b,c,d,e;d=(bC(),a&&a[Oyc]?a[Oyc]:[]);c=d.length;e=sC(AR,Uxc,133,
c,0,1);for(b=0;b<c;b++)e[b]=new hhc(d[b],null,-1);return e};var OH=Ufc(600);oU(887,886,{});_.wf=function lC(a){};_.yf=function mC(a,b,c,d){return new hhc(b,a+"@"+d,c<0?-1:c)};_.xf=function nC(a){var b,c,d,e,f,g,h;e=(bC(),h=a.backingJsObject,h&&h.stack?h.stack.split(Gyc):[]);f=sC(AR,Uxc,133,0,0,1);b=0;d=e.length;if(d==0)return f;g=kC(this,e[0]);qhc(g.d,Nyc)||(f[b++]=g);for(c=1;c<d;c++)f[b++]=kC(this,e[c]);return f};var QH=Ufc(887);oU(601,887,{},oC);_.yf=function pC(a,b,c,d){return new hhc(b,a,-1)};
var PH=Ufc(601);var xC;var ZC,$C,_C,aD;oU(199,1,Yyc);_.Y=0;var xU;var TH=Ufc(199);oU(201,14,{201:1,3:1,23:1,14:1},EU);var AU,BU,CU;var SH=Vfc(201,lR,FU);oU(409,1,{});_.b=false;var VH=Ufc(409);oU(164,14,{164:1,3:1,23:1,14:1},RU);var LU,MU,NU,OU,PU;var UH=Vfc(164,lR,SU);oU(212,14,{212:1,3:1,23:1,14:1},XU);var TU,UU,VU;var WH=Vfc(212,lR,YU);oU(439,1,pzc,lW);_.Jf=function mW(a,b){!!a&&kV(this,a);!!b&&kV(this,b)};var XH=Ufc(439);oU(376,1,{});_.c=0;_.e=0;var _H=Ufc(376);oU(377,1,{377:1},sW);var YH=Ufc(377);
oU(560,1,rzc,uW);_.He=function vW(a,b){return tW(a,b)};_.wd=function wW(a){return this===a};var ZH=Ufc(560);var xW,yW,zW,AW,BW,CW,DW,EW,FW,GW,HW,IW,JW,KW,LW,MW;var mK=Wfc();oU(906,1,szc);_.Mf=function OW(a,b,c){return true};var jK=Ufc(906);var PW;var RW,SW,TW,UW;var WW,XW;var ZW;var _W,aX,bX,cX,dX,eX,fX,gX;oU(208,14,{208:1,3:1,23:1,14:1},mX);var iX,jX,kX;var aI=Vfc(208,lR,nX);var oX;var qX;var sX,tX;var vX,wX,xX,yX,zX;var BX;var DX,EX,FX,GX,HX;var JX;var LX;var NX,OX,PX,QX;oU(671,1,Nxc);_.Of=function SX(a,
b,c){};_.Pf=function TX(a,b,c){return D$(a,b,c)};_.Qf=function UX(a,b){return E$()};_.Rf=function VX(a,b){return F$()};_.Sf=function WX(a,b){return G$()};_.Tf=function XX(){return null};_.Uf=function YX(a){return H$(a)};_.Vf=function ZX(){return null};_.Wf=function $X(){return null};_.Xf=function _X(a){return null};_.Yf=function aY(a){return false};_.Zf=function bY(a){return false};_.$f=function cY(a){return qhc(a.substr(0,6),"$super")};_._f=function dY(a){return I$(a)};_.ag=function eY(a){return J$(a)};
_.bg=function fY(a){return K$(a)};var oI=Ufc(671);oU(380,671,Nxc,hY);_.Of=function jY(a,b,c){je(!a.e);oub(a,Azc,null,b,true);je(!a.e);oub(a,"instance_",null,c,true)};_.Pf=function kY(a,b,c){var d,e,f;if(a.j!=(m5b(),Q2b))return null;d=a.b;if(o0b(d)){if(u0b(d,Bzc,Bzc.length)||u0b(d,"goog$bind","goog$bind".length)){e=d.d;if(!e)return null;f=vY(e);vY(f);return new w$(f)}if(u0b(d,Czc,Czc.length)||u0b(d,Dzc,Dzc.length)){e=d.d;if(!e)return null;vY(e);return new w$(null)}}return D$(a,b,c)};_.Qf=function mY(a,
b){var c;c=lY(a,b,Ezc);c==null&&(c=lY(a,b,Fzc));return c};_.Rf=function nY(a,b){return lY(a,b,Gzc)};_.Sf=function oY(a,b){var c;c=lY(a,b,Fzc);return c!=null};_.Tf=function pY(){return"goog.abstractMethod"};_.Uf=function qY(a){var b,c,d,e,f,g;d=H$(a);if(d)return d;b=a.b;g=wY(b);if(g){e=null;f=a.b?a.b.f:null;c=b0b(a)==2&&b.j==(m5b(),E3b);if(c)e=b.b;else if(b0b(a)==3)e=b.d;else return null;if(g==(A$(),z$)){if(!(f.j==(m5b(),E3b)&&qhc((f.b?f.b.f:null).ci(),Hzc)))return null;if(!c){if(!(e.j==E3b&&qhc((e.b?
e.b.f:null).ci(),Hzc)))return null;e=e.b}f=f.b}if(!!e&&p0b(e)&&p0b(f))return new x$(e,f)}return null};_.Vf=function rY(){return"goog.exportProperty"};_.Wf=function sY(){return"goog.exportSymbol"};_.Xf=function tY(a){var b;b=a.b;if(b0b(a)==2&&(u0b(b,Izc,Izc.length)||u0b(b,Jzc,Jzc.length)))return h0b(b.d);return null};_.ag=function uY(a){Xd(a.j==(m5b(),Q2b));return this.a.contains(h0b(a.b))||J$(a)};var bI=Ufc(380);var xY,yY,zY,AY;oU(416,1,{});_.eg=function KY(){this.dg("}")};_.fg=function LY(){this.dg("{")};
_.gg=function MY(a,b){this.dg(a)};_.hg=function NY(){this.dg(":")};_.ig=function OY(a,b){return b};_.jg=function PY(){};_.kg=function QY(){};_.lg=function RY(a){this.q=true;a&&this.mg()};_.mg=function SY(){};_.ng=function TY(a){};_.og=function UY(a){if(a){this.dg(";");this.tg();this.r=false}else this.s&&(this.r=true)};_.qg=function WY(){DY(this,",");this.tg()};_.rg=function XY(){};_.sg=function YY(){};_.tg=function ZY(){this.rg()};_.ug=function $Y(){};_.vg=function _Y(){return false};_.wg=function aZ(a){};
_.q=false;_.r=false;_.s=false;var cI=Ufc(416);oU(315,1,{},vZ,wZ);_.xg=function xZ(a,b){cZ(this,a,b)};_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;var dI=Ufc(315);oU(385,1,{},MZ);_.b=false;_.d=false;_.e=false;_.i=false;_.j=false;var fI=Ufc(385);oU(775,1,{},NZ);var eI=Ufc(775);oU(454,416,{});_.ng=function RZ(a){var b,c;if(this.j&&!null.Fj()&&null.Fj().Gj==a){null.Fj();c=this.k;b=this.n;je(c>=0);new Sz(c,b)}};_.pg=function SZ(){return this.i.a.length>0?bfc(this.i,this.i.a.length-1):0};_.wg=function TZ(a){var b,
c,d,e;je(!!this.p);je(!!a);if(this.j&&(b=g0b(a,51),(!b?null:b.Dg())!=null)&&i1b(a.i)>0&&true){d=this.k;c=this.n;je(d>=0);e=new c$;e.b=new Sz(d,c);null.Fj();null.Fj()}};_.j=false;_.k=0;_.n=0;_.o=0;var iI=Ufc(454);oU(774,454,{},XZ);_.dg=function YZ(a){UZ(this,a)};_.kg=function ZZ(){if(!this.c)return;if(this.n>(this.o/2|0)){UZ(this,";");WZ(this)}else if(this.e>0){dfc(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;OZ(this,this.k,this.e+1,false);--this.k;this.e=0;this.f=0;UZ(this,";");WZ(this)}};
_.rg=function $Z(){VZ(this)};_.tg=function _Z(){var a,b;if(this.a)if(this.q){WZ(this);this.q=false}b=this.i.a.length;if(this.d==b-1){a=bfc(this.i,b-1);a==59&&(this.d=b)}VZ(this)};_.ug=function a$(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var gI=Ufc(774);oU(453,1,{453:1},c$);var hI=Ufc(453);oU(773,454,{},f$);_.dg=function g$(a){d$(this,a)};_.eg=function h$(){JY(this);e$(this);--this.a;d$(this,"}")};_.fg=function i$(){(this.i.a.length>0?bfc(this.i,this.i.a.length-1):0)!=
32&&DY(this," ");d$(this,"{");++this.a};_.gg=function j$(a,b){(this.i.a.length>0?bfc(this.i,this.i.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&d$(this," ");d$(this,a);b&&d$(this," ")};_.hg=function k$(){d$(this,":");++this.a;e$(this)};_.ig=function l$(a,b){var c,d;ke(a.j==(m5b(),N2b),a);c=a.e;if(c){d=c.j;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 77:return!ngb(!c.e?null:c.e.e);case 66:return a==(c.b?c.b.f:null)}}return true};_.jg=function m$(){--this.a};_.kg=function n$(){JY(this)};
_.lg=function o$(a){this.q=true;a&&e$(this);a&&e$(this)};_.mg=function p$(){e$(this)};_.og=function q$(a){d$(this,";");e$(this);this.r=false};_.qg=function r$(){DY(this,Sxc);this.n>this.o&&e$(this)};_.rg=function s$(){this.n>this.o&&e$(this)};_.sg=function t$(){(this.i.a.length>0?bfc(this.i,this.i.a.length-1):0)!=32&&DY(this," ")};_.tg=function u$(){this.n>this.o&&e$(this)};_.vg=function v$(){return true};_.a=0;var jI=Ufc(773);oU(258,1,{},w$);var kI=Ufc(258);oU(403,1,{},x$);var lI=Ufc(403);oU(259,
14,{259:1,3:1,23:1,14:1},B$);var y$,z$;var mI=Vfc(259,lR,C$);oU(672,1,Nxc,L$);_.Of=function M$(a,b,c){};_.Pf=function N$(a,b,c){return D$(a,b,c)};_.Qf=function O$(a,b){return E$()};_.Rf=function P$(a,b){return F$()};_.Sf=function Q$(a,b){return G$()};_.Tf=function R$(){return null};_.Uf=function S$(a){return H$(a)};_.Vf=function T$(){return null};_.Wf=function U$(){return null};_.Xf=function V$(a){return null};_.Yf=function W$(a){return false};_.Zf=function X$(a){return false};_.$f=function Y$(a){return qhc(a.substr(0,
6),"$super")};_._f=function Z$(a){return I$(a)};_.ag=function $$(a){return J$(a)};_.bg=function _$(a){return K$(a)};var nI=Ufc(672);oU(378,199,Yyc);_.zf=function n0(a,b){vvc(this.r,a,b)};_.Af=function q0(){return r_(this)};_.Bf=function r0(){return this.G};_.Cf=function s0(){return u_(this)};_.Df=function t0(){return this.H};_.Ef=function u0(a){if(!this.J)switch(this.H.Ub.f){case 0:this.J=o_(this,(PDb(),HDb));this.k=o_(this,IDb);break;case 1:this.J=o_(this,(PDb(),IDb));this.k=this.J;break;case 2:this.J=
o_(this,(PDb(),JDb));this.k=this.J;break;case 3:this.J=o_(this,(PDb(),KDb));this.k=this.J;break;case 4:this.J=o_(this,(PDb(),LDb));this.k=this.J;break;case 5:this.J=o_(this,(PDb(),MDb));this.k=this.J;break;case 6:this.J=o_(this,(PDb(),NDb));this.k=this.J;break;case 7:this.J=o_(this,(PDb(),ODb));this.k=this.J;break;default:throw QT(new sgc(EAc+this.H.Ub));}switch(a){case 1:return this.k;default:return this.J}};_.Ff=function v0(){return E_(this)};_.Gf=function w0(){return this.p};_.Hf=function x0(a){var b;
b=new Jjb(this);Hjb(b,null,a)};_.If=function y0(a){Z_(this,a)};_.b=null;_.c=null;_.i=null;_.k=null;_.p=true;_.A=null;_.H=null;_.J=null;_.K=null;_.L=null;_.M=0;_.R=null;_.S=null;_.T=0;_.W=0;var b_,c_,d_,e_,f_,g_;var KI=Ufc(378);oU(562,1,Ayc,A0);_.Jd=function B0(a){return z0(a)};_.wd=function C0(a){return this===a};var qI=Ufc(562);oU(575,1,{},E0);_.yg=function F0(){return D0(this)};_.c=0;var pI=Ufc(575);oU(78,1,FAc);_.a=false;var JK=Ufc(78);oU(564,78,FAc,I0);_.zg=function J0(a){return H0(a)};var rI=
Ufc(564);oU(567,1,{},K0);_.yg=function L0(){return n_(this.a),y_(this.a)};var sI=Ufc(567);oU(116,1,{585:1},M0);_.Ad=function N0(){return""+this.a.W++};var tI=Ufc(116);oU(375,1,{},P0);_.yg=function Q0(){return O0(this)};var uI=Ufc(375);oU(578,1,{},U0);_.zd=function V0(){return this.c.a};_.a=0;_.b=0;var vI=Ufc(578);oU(122,1,{122:1,551:1,3:1},f1,g1,h1);_.Ag=function j1(a){return $0(this,a)};_.Bg=function k1(){return this.f};_.Cg=function l1(){return _0(this).Cg()};_.Dg=function m1(){return this.f.a};
_.Eg=function n1(){return _0(this).Eg()};_.Fg=function o1(){return _0(this).Fg()};_.Gg=function p1(){return this.a.Gg()};_.zd=function q1(){return this.f.a};var xI=Ufc(122);oU(663,1,{},t1);var wI=Ufc(663);oU(155,1,{},D1);_.zd=function F1(){return Od(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Nd(new Pd((Ofc(JI),
JI.k))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",aAc),"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),"checkEventfulObjectDisposalPolicy",
this.r),"checkGlobalNamesLevel",this.s),"checkGlobalThisLevel",this.t),"checkMissingGetCssNameBlacklist",this.u),"checkMissingGetCssNameLevel",this.v),"checksOnly",""+this.C),"checkSuspiciousCode",""+this.w),"checkSymbols",""+this.A),IAc,""+this.B),"closurePass",""+this.D),"coalesceVariableNames",""+this.F),"codingConvention",this.G),"collapseAnonymousFunctions",""+this.H),JAc,""+this.I),"collapseProperties",""+this.J),"collapseVariableDeclarations",""+this.K),"colorizeErrorOutput",""+this.L),"computeFunctionSideEffects",
""+this.M),"conformanceConfigs",this.N),"continueAfterErrors",aAc),"convertToDottedProperties",""+this.O),KAc,""+this.P),"crossModuleCodeMotionNoStubMethods",""+this.Q),LAc,""+this.R),"cssRenamingMap",this.S),"cssRenamingWhitelist",this.T),"customPasses",this.U),"dartPass",""+this.V),"deadAssignmentElimination",""+this.W),"debugFunctionSideEffectsPath",this.X),"declaredGlobalExternsOnWindow",""+this.Y),"defineReplacements",E1(this.Z)),"dependencyOptions",this.$),"devirtualizePrototypeMethods",""+
this.ab),"devMode",this._),"disambiguatePrivateProperties",""+this.bb),"disambiguateProperties",""+this.cb),"enforceAccessControlCodingConventions",""+this.db),"environment",this.eb),"errorFormat",this.fb),"errorHandler",this.gb),"exportLocalPropertyDefinitions",""+this.hb),"exportTestFunctions",""+this.ib),AAc,""+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",""+this.wb),"idGenerators",this.xb),"idGeneratorsMapSerialized",this.yb),"inferConsts",""+this.zb),"inferTypes",""+this.Ab),"inlineConstantVars",""+this.Bb),MAc,""+this.Cb),"inlineGetters",""+this.Db),"inlineLocalFunctions",""+this.Eb),"inlineLocalVariables",""+this.Fb),
"inlineProperties",""+this.Gb),NAc,""+this.Hb),"inputAnonymousFunctionNamingMap",this.Ib),"inputDelimiter",this.Jb),"inputPropertyMap",this.Kb),"inputSourceMaps",this.Lb),"inputVariableMap",this.Mb),"instrumentationTemplateFile",this.Qb),"instrumentationTemplate",this.Pb),"instrumentForCoverage",""+this.Ob),"instrumentBranchCoverage",""+this.Nb),"j2clPassMode",this.Rb),"jqueryPass",""+this.Sb),"labelRenaming",""+this.Tb),"languageIn",this.Ub),"languageOut",z1(this)),"legacyCodeCompile",aAc),"lineBreak",
""+this.Wb),"lineLengthThreshold",""+this.Xb),OAc,this.Yb),"markAsCompiled",""+this.Zb),"markNoSideEffectCalls",""+this.$b),"maxFunctionSizeAfterInlining",""+this._b),"messageBundle",null),"moduleRoots",this.ac),"moveFunctionDeclarations",""+this.bc),"nameGenerator",this.cc),"optimizeArgumentsArray",""+this.dc),"optimizeCalls",""+this.ec),"optimizeParameters",""+this.fc),"optimizeReturns",""+this.gc),"outputCharset",this.hc),"outputJs",this.ic),"outputJsStringUsage",""+this.jc),"parentModuleCanSeeSymbolsDeclaredInChildren",
""+this.kc),"parseJsDocDocumentation",this.lc),"polymerPass",""+this.mc),"preferLineBreakAtEndOfFile",""+this.nc),"preferSingleQuotes",""+this.oc),"preferStableNames",""+this.pc),"preserveDetailedSourceInfo",aAc),"preserveGoogProvidesAndRequires",""+this.qc),"preserveTypeAnnotations",""+this.rc),"prettyPrint",""+this.sc),"preventLibraryInjection",aAc),"printConfig",aAc),"printInputDelimiter",""+this.tc),"printSourceAfterEachPass",""+this.uc),"processCommonJSModules",aAc),"processObjectPropertyString",
""+this.vc),"propertyInvalidationErrors",this.wc),"propertyRenaming",this.xc),"protectHiddenSideEffects",""+this.yc),"quoteKeywordProperties",""+this.zc),tAc,""+this.Ac),"removeAbstractMethods",""+this.Bc),"removeSuperMethods",""+this.Ec),"removeClosureAsserts",""+this.Cc),"removeDeadCode",""+this.Dc),PAc,""+this.Fc),"removeUnusedConstructorProperties",""+this.Gc),"removeUnusedLocalVars",""+this.Hc),"removeUnusedPrototypePropertiesInExterns",""+this.Jc),QAc,""+this.Ic),RAc,""+this.Kc),"renamePrefixNamespaceAssumeCrossModuleNames",
aAc),"renamePrefixNamespace",this.Mc),"renamePrefix",this.Lc),"replaceIdGenerators",""+this.Nc),"replaceMessagesWithChromeI18n",""+this.Oc),"replaceStringsFunctionDescriptions",this.Pc),"replaceStringsInputMap",this.Qc),"replaceStringsPlaceholderToken",this.Rc),"replaceStringsReservedStrings",this.Sc),"reportOTIErrorsUnderNTI",aAc),"reportPath",this.Tc),"reserveRawExports",""+this.Uc),"rewriteFunctionExpressions",""+this.Vc),"rewritePolyfills",aAc),"runtimeTypeCheckLogFunction",this.Xc),"runtimeTypeCheck",
""+this.Wc),"shadowVariables",""+this.Yc),"skipNonTranspilationPasses",""+this.Zc),"skipTranspilationAndCrash",aAc),"smartNameRemoval",""+this.$c),"sourceMapDetailLevel",this._c),"sourceMapFormat",this.ad),"sourceMapLocationMappings",this.bd),"sourceMapOutputPath",this.cd),"stripNamePrefixes",this.dd),"stripNameSuffixes",this.ed),"stripTypePrefixes",this.fd),"stripTypes",this.gd),"summaryDetailLevel",""+this.hd),"syntheticBlockEndMarker",this.jd),"syntheticBlockStartMarker",this.kd),"tcProjectId",
this.ld),"tracer",this.md),"transformAMDToCJSModules",aAc),"trustedStrings",""+this.nd),"tweakProcessing",this.od),"tweakReplacements",E1(this.pd)),"useDebugLog",""+this.qd),"useNewTypeInference",""+this.rd),"useTypesForLocalOptimization",""+this.sd),"variableRenaming",this.td),"warningsGuard",this.ud),"wrapGoogModulesForWhitespaceOnly",""+this.vd))};_.a=false;_.b=false;_.f=false;_.g=false;_.k=false;_.n=false;_.p=false;_.q=false;_.w=false;_.A=false;_.B=false;_.C=false;_.D=false;_.F=false;_.H=false;
_.I=false;_.J=false;_.K=false;_.L=false;_.M=false;_.O=false;_.P=false;_.Q=false;_.R=false;_.V=false;_.W=false;_.Y=false;_.ab=false;_.bb=false;_.cb=false;_.db=false;_.hb=false;_.ib=false;_.jb=false;_.mb=false;_.pb=false;_.qb=false;_.sb=false;_.tb=false;_.ub=false;_.vb=false;_.wb=false;_.zb=true;_.Ab=false;_.Bb=false;_.Cb=false;_.Db=false;_.Eb=false;_.Fb=false;_.Gb=false;_.Hb=false;_.Jb="// Input %num%";_.Nb=false;_.Ob=false;_.Sb=false;_.Tb=false;_.Wb=false;_.Xb=500;_.Zb=false;_.$b=false;_._b=0;_.bc=
false;_.dc=false;_.ec=false;_.fc=false;_.gc=false;_.jc=false;_.kc=false;_.mc=false;_.nc=false;_.oc=false;_.pc=false;_.qc=false;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.yc=false;_.zc=false;_.Ac=false;_.Bc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=false;_.Hc=false;_.Ic=false;_.Jc=false;_.Kc=false;_.Nc=true;_.Oc=false;_.Uc=false;_.Vc=false;_.Wc=false;_.Yc=false;_.Zc=false;_.$c=false;_.hd=1;_.nd=false;_.qd=false;_.rd=false;_.sd=false;_.vd=true;var u1;var JI=Ufc(155);oU(176,
14,{176:1,3:1,23:1,14:1},L1);var G1,H1,I1,J1;var yI=Vfc(176,lR,M1);oU(204,14,{204:1,3:1,23:1,14:1},R1);var N1,O1,P1;var zI=Vfc(204,lR,S1);oU(250,14,{250:1,3:1,23:1,14:1},W1);var T1,U1;var AI=Vfc(250,lR,X1);oU(205,14,{205:1,3:1,23:1,14:1},a2);var Y1,Z1,$1;var BI=Vfc(205,lR,b2);oU(160,14,{160:1,3:1,23:1,14:1},i2);var c2,d2,e2,f2,g2;var CI=Vfc(160,lR,j2);oU(118,14,{118:1,3:1,23:1,14:1},x2);var k2,l2,m2,n2,o2,p2,q2,r2,s2;var DI=Vfc(118,lR,y2);oU(602,1,{},z2);var EI=Ufc(602);oU(206,14,{206:1,3:1,23:1,
14:1},E2);var A2,B2,C2;var FI=Vfc(206,lR,F2);oU(159,14,{159:1,3:1,23:1,14:1},M2);var G2,H2,I2,J2,K2;var GI=Vfc(159,lR,N2);oU(207,14,{207:1,3:1,23:1,14:1},S2);var O2,P2,Q2;var HI=Vfc(207,lR,T2);oU(142,32,Hyc,V2);var II=Ufc(142);oU(173,1,aBc);_.Hg=function W2(a){return false};_.Ig=function X2(a){return false};_.Jg=function Y2(){return(bsb(),Wrb).a};var eM=Ufc(173);oU(200,173,{200:1,173:1,3:1},d3);_.Hg=function e3(a){return _2(this,a)};_.Ig=function f3(a){return a3(this,a)};_.Kg=function g3(a){return b3(this,
a)};_.zd=function h3(){var a;return Pc(new Sc(Sxc),(a=(new Jkc(this.c.a)).a.ne().b.xj(),new Pkc(a)))};_.a=false;_.d=0;var MI=Ufc(200);oU(619,1,bBc,j3);_.He=function k3(a,b){return i3(this,a,b)};_.wd=function l3(a){return this===a};var LI=Ufc(619);var m3;oU(399,1,{},w3,x3);_.b=0;var o3,p3;var OI=Ufc(399);oU(296,1,{296:1,23:1},A3);_.Qd=function B3(a){return z3(this,a)};_.a=0;_.b=0;_.c=0;var NI=Ufc(296);oU(603,1,Nxc,D3);_.zd=function E3(){return Od(Md(Md(Md(Md(new Pd((Ofc(QI),QI.k)),"sortDependencies",
""+this.b),"pruneDependencies",aAc),"dropMoochers",aAc),"entryPoints",this.a))};_.b=false;var QI=Ufc(603);oU(54,1,{54:1,3:1},J3,K3,L3,M3);_.zd=function O3(){return this.a==null?(Ofc(SI),SI.o+"@"+(rb(this)>>>0).toString(16)):"DiagnosticGroup<"+this.a+">"};var F3;var SI=Ufc(54);oU(111,173,aBc,P3);_.Hg=function Q3(a){return this.b==(lX(),jX)&&H3(this.a,a)};_.Ig=function R3(a){var b,c;if(this.b!=(lX(),jX))for(c=a.b.Ld();c.Dd();){b=c.Ed();if(I3(this.a,b))return true}return false};_.Kg=function S3(a){return I3(this.a,
a.g)?this.b:null};_.zd=function T3(){return this.a+"("+this.b+")"};var RI=Ufc(111);var U3,V3,W3,X3,Y3,Z3,$3,_3,a4,b4,c4,d4,e4,f4,g4,h4,i4,j4,k4;oU(5,1,{5:1,3:1,23:1},q4);_.Qd=function r4(a){return mhc(this.c,a.c)};_.wd=function s4(a){return p4(this,a)};_.yd=function t4(){return wxc(this.c)};var TI=Ufc(5);var u4,v4;oU(126,14,pBc);var x4,y4,z4,A4;var YI=Vfc(126,lR,D4);oU(614,126,pBc,E4);var UI=Vfc(614,YI,null);oU(615,126,pBc,F4);var VI=Vfc(615,YI,null);oU(616,126,pBc,G4);var WI=Vfc(616,YI,null);oU(617,
126,pBc,I4);var XI=Vfc(617,YI,null);oU(819,1,vBc,M4);_.Jf=function N4(a,b){Fob(this.a,a,vC(qC(mK,1),Uxc,29,0,[this]));Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Mf=function O4(a,b,c){var d,e;if(b.j==(m5b(),V2b)){d=false;for(e=(b.b?b.b.f:null).b;e;e=e.d)e.j==b4b&&qhc(e.ci(),tBc)&&(d=true);d||J4(b)}return true};_.Nf=function P4(a,b,c){b.j==(m5b(),U4b)&&L4(this,b,c)};var ZI=Ufc(819);oU(810,906,vBc,R4);_.Jf=function S4(a,b){Fob(this.b,b,vC(qC(mK,1),Uxc,29,0,[this,new V4(this)]))};_.Nf=function T4(a,
b,c){var d,e,f,g,h,i;b.j==(m5b(),V2b)&&Q4(this,b,c)&&(d=(Isb(),Ahc(zhc(zhc(zhc(zhc(zhc(Ahc(Bhc(Ksb((e=Ahc(Ahc(Ahc(Ahc(Ahc(zhc(zhc(g0b(b,51).Dg(),58,45),92,47)," ",wBc),"[",xBc),"]",yBc),"<",zBc),">",ABc),Jsb(e))),BBc+Awc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),wBc,"_")+"$classdecl$var"+this.a++),f=(Gfb(),g=Tfb(b),!g?null:g0b(g,29)),h=Wfb(c,Ffb),B0b(c,b,(oe(thc(d,Nhc(46))==-1,yzc,d),new _1b(g4b,d))),i=$0b(vXb((oe(thc(d,Nhc(46))==-1,yzc,d),new _1b(g4b,d)),b,$2b),b),H0b(i,p$b(H_b(f),false)),
O_b(h.e,i,h),$_(this.b),undefined)};_.a=0;var aJ=Ufc(810);oU(811,1,szc,V4);_.Mf=function W4(a,b,c){b.j==(m5b(),V2b)&&(Xd(b.j==V2b),b.b.j==g4b&&c.j==g4b)&&ftc(this.a,new Y4(b.b,c.ci()));return true};_.Nf=function X4(a,b,c){switch(b.j.f){case 94:Xd(b.j==(m5b(),V2b));if(b.b.j==g4b&&c.j==g4b){ltc(this.a);B0b(b,b.b,X0b(new _0b(k3b),b.b));$_(this.b.b)}break;case 29:U4(this,a,b,c)}};var _I=Ufc(811);oU(461,1,{461:1},Y4);var $I=Ufc(461);oU(543,906,szc,_4);_.Nf=function a5(a,b,c){var d;Gfb();b.j==(m5b(),g4b)&&
b.ci().length!=0&&Z4(this,a,b);d=g0b(b,29);!!d&&$4(this,a,TYb(d))};var bJ=Ufc(543);oU(813,906,vBc,b5);_.Jf=function c5(a,b){Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Nf=function d5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.j!=(m5b(),y3b)||(b.b?b.b.f:null).j!=N2b)return;l=b.b.d;e=new h5;wfb(this.a,l,new f5(this,e));d=l.d;f=new X6(this.a);i=Q6(f,b,gfb(a));h=Q6(f,d,i);m=new up(new zsc,new yp);for(p=(k=(new Ujc(h.g)).a.ne().Ld(),new Zjc(k));p.a.Dd();){o=(g=p.a.Ed(),g.ye());j=o.Dg();xrc(e.a,j)&&!sp(m,
h.f,j)&&lp(m,h.f,j,j+"$"+(""+(n=this.a,new M0(n)).a.W++))}sfb(new ufb(this.a,new _4(m)),d,d.e,i)};var eJ=Ufc(813);oU(907,1,szc);_.Nf=function e5(a,b,c){};var kK=Ufc(907);oU(815,907,szc,f5);_.Mf=function g5(a,b,c){if(!c)return true;if(c.j==(m5b(),e3b)&&b==(c.b?c.b.f:null)||c.j==Z2b&&b==c.b){wfb(this.a.a,b,this.b);return false}return true};var cJ=Ufc(815);oU(814,906,szc,h5);_.Nf=function i5(a,b,c){Gfb();if(!(b.j==(m5b(),g4b)&&b.ci().length!=0))return;wrc(this.a,b.ci())};var dJ=Ufc(814);oU(816,907,vBc,
l5);_.Jf=function m5(a,b){Fob(this.a,a,vC(qC(mK,1),Uxc,29,0,[this]));Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Mf=function n5(a,b,c){b.j.f==65&&e0b(b,60)!=0&&k5(this,a,b);return true};var gJ=Ufc(816);oU(817,1,szc,o5);_.Mf=function p5(a,b,c){return b.j!=(m5b(),y3b)||e0b(b,60)!=0};_.Nf=function q5(a,b,c){var d;if(b.j==(m5b(),Z4b)){d=X0b((oe(thc(CBc,Nhc(46))==-1,yzc,CBc),new _1b(g4b,CBc)),b);B0b(c,b,d);this.b=true}else if(b.j==g4b&&qhc(b.ci(),rBc)){d=X0b((oe(thc(DBc,Nhc(46))==-1,yzc,DBc),new _1b(g4b,
DBc)),b);B0b(c,b,d);this.a=true}};_.a=false;_.b=false;var fJ=Ufc(817);oU(822,906,vBc,v5);_.Jf=function A5(a,b){var c;wfb(this.a,b,new F5(this));wfb(this.a,b,this);Fob(this.a,a,vC(qC(mK,1),Uxc,29,0,[this]));wfb(this.a,b,new _4(this.c));c=new I5(this);wfb(this.a,b,c);H5(c);u5(this);Fob(this.a,a,vC(qC(mK,1),Uxc,29,0,[new L5(this)]));wfb(this.a,b,new L5(this))};_.Nf=function B5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(!b.b||!qgb(b.b))return;m=gfb(a);i=b.b;if(b.j!=(m5b(),V2b)&&b.j!=y3b&&!i.b&&(!c||(Gfb(),
!(c.j==x3b||c.j==w3b&&b0b(c)==3)))&&b.j!=U2b&&(e=Wfb(b,s5),!!e&&e.j!=y3b)){p=(oe(thc(EBc,Nhc(46))==-1,yzc,EBc),new _1b(g4b,EBc));if(!!g0b(i,29)||!!g0b(b,29)){h=new F_b(false);w_b(h,new J_b(new _0b(D4b),(f=g0b(b,51),!f?null:f.Dg())));p=sXb(p,p$b(h,false))}Y0b(p,i);Q_b(i,p)}k=i.ci();(b.j==$3b||b.j==$2b)&&wrc(this.b,b);g=m.sh();d=false;if(m!=g){d=g.zh(k,true)||xrc(this.d,k);j=d?k+"$"+(""+(o=this.a,new M0(o)).a.W++):k;l=m.xh(k);m.Dh(l);g.qh(j,i,l.c);if(d){i.hi(j);n=m.wh();lp(this.c,n,k,j)}}d&&$_(this.a)};
var r5,s5;var mJ=Ufc(822);oU(825,1,FBc,C5);_.Gd=function D5(a){return arc((t5(),r5),a.j)};_.wd=function E5(a){return this===a};var hJ=Ufc(825);oU(823,906,szc,F5);_.Nf=function G5(a,b,c){b.j==(m5b(),g4b)&&!gfb(a).zh(b.ci(),true)&&wrc(this.a.d,b.ci())};var iJ=Ufc(823);oU(824,906,szc,I5);_.Nf=function J5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;Gfb();if(!(b.j==(m5b(),g4b)&&b.ci().length!=0))return;g=b.ci();j=gfb(a);o=j.xh(g);if(!o)return;if(!o.Ph()&&!o.Mh())return;(b.e.j==$3b||b.e.j==$2b)&&wrc(this.e.b,b.e);
d=o.Lh();f=null;for(l=d;;l=l.vh()){m=l.wh();if(Mgb(l.wh())){f=m;break}else if(!!m.e&&Mgb(m.e)){f=m.e;break}else if(l.Ah()||l.Bh())return}qg(this.d,o,b);i=null;for(k=j;k!=d&&k.wh()!=f;k=k.vh())k.wh().j==y3b&&(i=k);if(i){e=i.wh();if(cg(this.a,e,g))return;qg(this.a,e,g);usc(this.c,f)||wsc(this.c,f,new K5("$jscomp$loop$"+(""+(n=this.e.a,new M0(n)).a.W++)));h=vsc(this.c,f);wrc(h.b,o);qg(this.b,e,h)}};var kJ=Ufc(824);oU(463,1,{463:1},K5);var jJ=Ufc(463);oU(462,906,szc,L5);_.Nf=function M5(a,b,c){b.j==(m5b(),
y3b)&&lib(b)&&$_(this.a.a)};var lJ=Ufc(462);oU(812,1,vBc,V5);_.Jf=function X5(a,b){Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Mf=function Y5(a,b,c){var d;switch(b.j.f){case 45:U5(this,b,c);break;case 99:d=b.b;d.j==(m5b(),g3b)&&S5(this,d.b)}return true};_.Nf=function Z5(a,b,c){P5(this,a,b,c)};_.b=0;var nJ=Ufc(812);oU(826,906,vBc,o6);_.Jf=function t6(a,b){Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[new C6(this,this.a),this]))};_.Nf=function u6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;switch(b.j.f){case 65:if(e0b(b,
59)!=0){$5=0;g6(this,b,c)}break;case 29:d=(Gfb(),Wfb(b,new Ahb((m5b(),y3b))));!!d&&e0b(d,59)!=0&&u0b(b,rBc,rBc.length)&&b.hi(PBc);break;case 33:d=(Gfb(),Wfb(b,new Ahb((m5b(),y3b))));!!d&&e0b(d,59)!=0&&B0b(b.e,b,(oe(thc(QBc,Nhc(46))==-1,yzc,QBc),new _1b(g4b,QBc)));break;case 100:e0b(b,62)!=0?(e=(Gfb(),Wfb(b,Ffb)),f=vXb((oe(thc(VBc,Nhc(46))==-1,yzc,VBc),new _1b((m5b(),g4b),VBc)),G7(this.a,z0b(b)),g5b),g=wXb((oe(thc(WBc,Nhc(46))==-1,yzc,WBc),new _1b(g4b,WBc)),g5b),h=mXb((oe(thc(WBc,Nhc(46))==-1,yzc,
WBc),new _1b(g4b,WBc)),qXb(CXb((oe(thc(VBc,Nhc(46))==-1,yzc,VBc),new _1b(g4b,VBc)),new _1b(Q4b,HBc)),vC(qC(hQ,1),zzc,7,0,[(oe(thc(XBc,Nhc(46))==-1,yzc,XBc),new _1b(g4b,XBc))]))),i=PXb(CXb(h,new _1b(Q4b,NBc))),j=CXb((oe(thc(WBc,Nhc(46))==-1,yzc,WBc),new _1b(g4b,WBc)),new _1b(Q4b,IBc)),k=xXb(eYb(W_b(j,false))),l=dYb(i,oXb(k)),O_b(e.e,f,e),O_b(e.e,g,e),O_b(e.e,l,e),c.j==u3b?$_b(c):B0b(c,b,j),n6(this,k,k.e),$_(this.a),undefined):c.j==(m5b(),u3b)?n6(this,c,c.e):(m=(Gfb(),Wfb(b,Ffb)),n=xXb(b.b?eYb(z0b(b)):
new _0b(l5b)),o=NXb(XBc+(""+this.f.a.W++)),p=vXb(W_b(o,false),(oe(thc(XBc,Nhc(46))==-1,yzc,XBc),new _1b(g4b,XBc)),g5b),B0b(c,b,o),O_b(m.e,n,m),O_b(m.e,p,m),n6(this,n,n.e),$_(this.a),undefined)}};_.g=false;var $5=0;var sJ=Ufc(826);oU(344,1,szc,w6,x6);_.Mf=function y6(a,b,c){switch(b.j.f){case 65:return false;case 81:Ilc(this.g,0,b.b.ci());break;case 71:case 70:case 72:++this.c;++this.b;break;case 67:++this.b;break;case 80:c=b.e;!!c&&c.j==(m5b(),a5b)&&c.b==b&&!!b.d.b&&++this.i;break;case 73:if(e0b(b,
67)==0&&(this.b==0&&!b.b||!!b.b&&Nlc(this.g,b.b.ci(),0)==-1)){this.d=true;this.a&&O_b(c,p6(this.e,this.f),b)}break;case 74:if(this.c==0||!!b.b&&Nlc(this.g,b.b.ci(),0)==-1){this.d=true;this.a&&O_b(c,p6(this.e,this.f),b)}break;case 39:if(this.i==0){this.d=true;this.a&&e0b(b,67)==0&&O_b(c,p6(this.e,this.f),b)}break;case 0:this.d=true;this.a&&O_b(c,p6(this.e,this.f),b);break;case 100:this.d=true}return true};_.Nf=function z6(a,b,c){switch(b.j.f){case 81:Plc(this.g,0);break;case 71:case 70:case 72:--this.c;
--this.b;break;case 67:--this.b;break;case 80:c=b.e;!!c&&c.j==(m5b(),a5b)&&c.b==b&&!!b.d.b&&--this.i}};_.a=false;_.b=0;_.c=0;_.d=false;_.f=0;_.i=0;var oJ=Ufc(344);oU(827,907,szc,C6);_.Mf=function D6(a,b,c){switch(b.j.f){case 100:B6(this,b);break;case 71:case 72:case 70:A6(this,b);break;case 68:if(_5(this.c,b.b)){Z_(this.a,Zbb(b,(l7(),h7),vC(qC(DR,1),Fxc,2,6,["Case statements that contain yields"])));return false}}return true};var pJ=Ufc(827);oU(464,1,{464:1},E6);_.b=0;var qJ=Ufc(464);oU(345,1,{345:1},
F6);_.a=0;_.b=0;var rJ=Ufc(345);oU(818,906,vBc,H6);_.Jf=function I6(a,b){Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Nf=function J6(a,b,c){xgb(b)&&G6(this,b,c)};var tJ=Ufc(818);oU(809,906,vBc,N6);_.Jf=function O6(a,b){Eob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Nf=function P6(a,b,c){var d,e,f;if(b.j!=(m5b(),U4b))return;d=(Gfb(),Wfb(b,new Ahb(V2b)));if(!d||d.b.d.j==k3b){mfb(a,b,K6,vC(qC(DR,1),Fxc,2,6,[]));return}if(c.j==Q2b){e=Wfb(c,new Ahb(y3b));if(!e){mfb(a,b,K6,vC(qC(DR,1),Fxc,2,6,[]));return}f=
e.e;if(f.j==b4b)if(u0b(f,tBc,tBc.length));else mfb(a,b,L6,vC(qC(DR,1),Fxc,2,6,[f.ci()]));else mfb(a,b,K6,vC(qC(DR,1),Fxc,2,6,[]))}};var K6,L6;var uJ=Ufc(809);oU(135,1,{},X6,Y6);_.Lg=function Z6(a,b){return Q6(this,a,b)};_.Mg=function $6(){return true};var vJ=Ufc(135);oU(820,1,vBc,D7);_.Jf=function H7(a,b){Fob(this.a,a,vC(qC(mK,1),Uxc,29,0,[this]));Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Mf=function I7(a,b,c){switch(b.j.f){case 110:B7(this,b,c);break;case 84:case 85:if(z1(this.a.H)==(t2(),k2)){Z_(this.a,
Zbb(b,g7,vC(qC(DR,1),Fxc,2,6,["ES5 getters/setters (consider using --language_out=ES5)"])));return false}break;case 117:Z_(this.a,Zbb(b,h7,vC(qC(DR,1),Fxc,2,6,[_zc])));break;case 65:e0b(b,61)!=0&&Z_(this.a,Zbb(b,h7,vC(qC(DR,1),Fxc,2,6,[lAc])))}return true};_.Nf=function J7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;switch(b.j.f){case 29:g=g0b(b,51);!(!!g&&g.Fh())&&r7(a,b)&&(q_(this.a,OBc,false),h=(Gfb(),Wfb(b,Ffb)),i=xXb(qXb(lhb(this.a,"$jscomp.initSymbol"),vC(qC(hQ,1),zzc,7,0,[]))),O_b(h.e,Y0b(i,h),
h),$_(this.a),undefined);break;case 26:f=g0b(b,51);!!f&&f.Fh()||y7(this,a,b);break;case 43:z7(this,b);break;case 96:c.j==(m5b(),t4b)&&(j=b.ci(),k=$Xb(j,$_b(b.b)),H0b(k,g0b(b,29)),B0b(c,b,k),$_(this.a),undefined);break;case 99:x7(this,b,c);break;case 89:C7(this,b);break;case 94:u7(this,b,c);break;case 42:case 23:case 28:for(e=(!b.b?(gnc(),gnc(),fnc):new V1b(b.b)).Ld();e.Dd();){d=e.Ed();if(d.j==(m5b(),O4b)){t7(this,b,c);break}}break;case 113:d7(a,b);break;case 114:c.j==(m5b(),W4b)||e7(a,b);break;case 18:l=
z0b(b);m=z0b(b);n=$0b(qXb(lhb(this.a,"Math.pow"),vC(qC(hQ,1),zzc,7,0,[l,m])),b);B0b(c,b,n);$_(this.a);break;case 59:o=z0b(b);p=z0b(b);q=qXb(lhb(this.a,"Math.pow"),vC(qC(hQ,1),zzc,7,0,[W_b(o,false),p]));r=$0b(mXb(o,q),b);B0b(c,b,r);$_(this.a)}};var f7,g7,h7,i7,j7,k7;var yJ=Ufc(820);oU(821,906,szc,K7);_.Nf=function L7(a,b,c){if(b.j!=(m5b(),u2b)||b.b==this.a)return;s0b(this.a,b.b)&&Z_(this.b.a,Zbb(b,(l7(),i7),vC(qC(DR,1),Fxc,2,6,[])))};var wJ=Ufc(821);oU(343,1,{},M7);_.a=false;var xJ=Ufc(343);oU(470,
1,{},Z7);_.e="JSCompiler_temp";var AJ=Ufc(470);oU(839,1,{},c8);_.b=false;var zJ=Ufc(839);oU(569,906,vBc,h8);_.Jf=function i8(a,b){g8(this,b)};_.Nf=function j8(a,b,c){var d,e,f;switch(b.j.f){case 29:case 26:f=h0b(b);if(f==null)return;(c.j==(m5b(),u2b)||c.j==g5b||c.j==y3b)&&Qic(this.c,f,c);d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29));!!d&&(d.a&fCc)!=0&&d8(this,a,b);if(c.j!=Q2b)return;Nlc(this.d,f,0)!=-1&&e8(this,c);Nlc(this.e,f,0)!=-1&&f8(this,c)}};var FJ=Ufc(569);oU(752,1,rzc,k8);_.He=function l8(a,b){return mhc(a.Ng(),
b.Ng())};_.wd=function m8(a){return this===a};var BJ=Ufc(752);oU(223,1,{223:1});var CJ=Ufc(223);oU(440,223,{223:1},v8);_.Ng=function w8(){var a,b,c,d,e;d=zf(Ef(new jc(46)),this.a);for(b=d.b.size();b>0;b--){a=Pc(new Sc("."),Hr(Ar(d,b)));if(Oic(this.b.i,a)){c=Nic(this.b.i,a);b<d.b.size()&&(c+="."+Pc(new Sc("."),Er((de(d),Yd(b>=0,"number to skip cannot be negative"),e=d,new Fr(e,b)))));return c+"."+this.c}}return this.a+"."+this.c};var DJ=Ufc(440);oU(751,223,{223:1},x8);_.Ng=function y8(){return this.c};
var EJ=Ufc(751);oU(803,1,{865:1},z8);_.cg=function A8(){throw QT(new sgc("Code changes forbidden"));};var GJ=Ufc(803);var D8,E8,F8,G8,H8,I8,J8,K8,L8,M8,N8,O8,P8,Q8;oU(729,906,vBc,T8);_.Jf=function U8(a,b){S8(this,a)};_.Nf=function V8(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 26:e=b.b.d;e.j==(m5b(),Q4b)&&wrc(this.b,e.ci());break;case 43:for(d=b.b;d;d=d.d)wrc(this.b,d.ci())}h=iD(b.k,19)?b.k:null;!!h&&Z8(this.c,h);if(o0b(b)){f=(Gfb(),g=Tfb(b),!g?null:g0b(g,29));if(!!f&&(f.a&$Bc)==Iyc){i=E_(this.a).dh(h0b(b));
!!i&&Z8(this.c,i)}}};var IJ=Ufc(729);oU(730,1,{},$8);_.Og=function _8(){return this.b.b};_.Pg=function a9(){return this.b.b};_.Qg=function b9(a){return Z8(this,a.d),this.b.b};_.Rg=function c9(a){return W8(this,a)};_.Sg=function d9(){return this.b.b};_.Tg=function e9(a){return this.b.b};_.Ug=function f9(){return this.b.b};_.Vg=function g9(){return this.b.b};_.Wg=function h9(a){return X8(this,a)};_.Xg=function i9(a){return a.c.Pi(this),this.b.b};_.Yg=function j9(){return this.b.b};_.Zg=function k9(a){return this.b.b};
_.$g=function l9(a){return Y8(this,a)};_._g=function m9(){return this.b.b};_.ah=function n9(){return this.b.b};var HJ=Ufc(730);oU(387,1,pzc,cab);_.bh=function eab(a){return dyb(this.d,a)};_.dh=function fab(a){return $9(this,a)};_.Jf=function mab(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;ee(this.t,"Cannot rerun GlobalTypeInfo.process");Xd(!a||e0b(a,38)!=0);Xd(e0b(b,38)!=0);b0(this.e,(DU(),BU));this.k=new geb(b,null,(Gm(),Gm(),Fm),this.d);Hdb(this.k,this.r);Jlc(this.p,this.k);n=new Jab(this,
this.k);!!a&&wfb(this.e,a,n);wfb(this.e,b,n);eeb(this.k,this.q);deb(this.k,this.q);for(i=1;i<this.p.a.length;i++){p=Mlc(this.p,i);c=new Jab(this,p);wfb(this.e,(Xd(p.t.j==(m5b(),y3b)),Zfb(p.t)),c);eeb(p,this.q);deb(p,this.q);afb()}if(!cyb(this.d)){bfb(this.t,Zbb(b,A9,vC(qC(DR,1),Fxc,2,6,[])));return}o=new ybb(this,this.k);!!a&&wfb(this.e,a,o);wfb(this.e,b,o);Oab(o);for(h=1;h<this.p.a.length;h++){p=Mlc(this.p,h);l=new ybb(this,p);wfb(this.e,(Xd(p.t.j==(m5b(),y3b)),Zfb(p.t)),l);Oab(l);afb()}w=null;for(e=
new Zsc(new Qsc(this.n));e.b!=e.c.a.b;){d=Xsc(e);m=d.e;if(qhc(m.v,vCc)&&(f=g0b(d.d,51),!!f&&f.Fh())){w=m;continue}T9(this,m)}if(w){A=Odb(this.k,yCc);!!A&&rub(A,w);T9(this,w);g=w.p}else g=pwb(this.d.B);feb(this.k,Kvb(Fvb(new Mvb(this.d),g)));this.n=null;this.o=null;for(q=new pmc(this.p);q.a<q.c.a.length;){p=nmc(q);Idb(p)}t=this.q.g;for(s=new Zsc(new Qsc(t));s.b!=s.c.a.b;){r=Xsc(s);bfb(this.t,Zbb(r.d,Q9,vC(qC(DR,1),Fxc,2,6,[r.e])))}for(v=(k=(new Kjc(this.q.i.a)).a.ne().Ld(),new Qjc(k));v.a.Dd();){u=
(d=v.a.Ed(),d.xe());bfb(this.t,u)}this.t=null;this.s=null;this.j=null;mnc(this.p);a0(this.e,(j=this.i,qo(j)))};var o9,p9,q9,r9,s9,t9,u9,v9,w9,x9,y9,z9,A9,B9,C9,D9,E9,F9,G9,H9,I9,J9,K9,L9,M9,N9,O9,P9,Q9,R9;var OJ=Ufc(387);oU(693,1,Ayc,oab);_.Jd=function pab(a){return nab(this,a)};_.wd=function qab(a){return this===a};var JJ=Ufc(693);oU(909,1,szc);_.Mf=function rab(a,b,c){return!c||c.j!=(m5b(),y3b)||b==c.b};var lK=Ufc(909);oU(421,909,szc,Jab);_.Nf=function Kab(a,b,c){var d,e,f,g,h,i,j;switch(b.j.f){case 65:Dab(this,
b);break;case 75:h=b.b;j=h.ci();Pgb(h)?Gab(this,h):_gb(h)?Hab(this,h):Agb(h)?Cab(this,h):uab(this,h)?Bab(this,h):qhc(j,yCc)&&(f=g0b(h,51),!!f&&f.Fh())?Iab(this,h):iab(h)?Eab(this,h):jab(h)&&Fab(this,h);e=g0b(b,51);!(!!e&&e.Fh())&&!Udb(this.a,j,false)&&Bdb(this.a,j,this.b.d.K,false,false);break;case 29:this.a.t.j==(m5b(),y3b)&&ieb(this.a,b.ci());break;case 82:d=b.b;switch(d.j.f){case 47:g=d.b;if(iab(g)){Eab(this,g);return}if(g.j!=(m5b(),E3b))return;d=g;case 26:if(jab(d)){Fab(this,d);return}if(kab(d)||
(Gfb(),i=d.j==(m5b(),y3b)?d.b?d.b.f:null:d,Nfb(i,Z4b,Bfb))||!o0b(d))return;Aab(this,d)}break}};var KJ=Ufc(421);oU(422,909,szc,ybb);_.Nf=function zbb(a,b,c){var d,e,f,g;switch(b.j.f){case 65:d=c.e;if(!d||!lab(d)&&!hab(c.b,this.a)){g=_ab(this,b,c);pbb(this,b,g)}break;case 29:f=b.ci();if(f==null||c.j==(m5b(),y3b))return;c.j==(m5b(),g5b)||c.j==U2b?xbb(this,b,c):aeb(this.a,f)?Fdb(this.a,f):!!Rdb(this.a,f)||!qhc(f,this.a.p)&&!Udb(this.a,f,false);break;case 26:(Rgb(this.c.e,b)||Tab(b))&&bab(this.c,(b.b?
b.b.f:null).ci(),b);c.j==(m5b(),u3b)&&o0b(b)&&ubb(this,b);break;case 47:e=b.b;e.j==(m5b(),E3b)&&o0b(e)&&ubb(this,e);break;case 90:wsc(this.c.c,b,W9(this.c,g0b(b,29),this.a));break;case 43:sbb(this,b,c);break;case 28:mbb(this,b)}};var LJ=Ufc(422);oU(317,1,{317:1},Abb);var MJ=Ufc(317);oU(692,1,{},Bbb);_.a=null;_.b=null;var NJ=Ufc(692);oU(559,378,Yyc);var PJ=Ufc(559);oU(781,1,{},Gbb);var Cbb,Dbb;var QJ=Ufc(781);var Ibb;var Kbb;oU(327,1,{},Tbb);_.a=false;var RJ=Ufc(327);oU(67,1,{67:1},Vbb,Wbb);_.wd=function Xbb(a){var b;
if(this===a)return true;if(a==null||SJ!=pb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!qhc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!=null?!qhc(this.f,b.f):b.f!=null)return false;return p4(this.g,b.g)};_.yd=function Ybb(){var a;a=wxc(this.g.c);a=31*a+wxc(this.c);a=31*a+(this.f!=null?wxc(this.f):0);a=31*a+this.d;a=31*a+qxc(this.b);a=31*a+this.a;return a};_.zd=function _bb(){return this.g.c+". "+this.c+" at "+(this.f!=null&&this.f.length>0?this.f:
"(unknown source)")+" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var SJ=Ufc(67);oU(382,1,{382:1,551:1,3:1},ecb);_.Eg=function hcb(){return Gm(),new Gx(this.d)};_.Fg=function icb(){return bcb(this)};_.Cg=function fcb(){throw QT(new jic);};_.Dg=function gcb(){return this.d};_.zd=function jcb(){return this.d};_.b=0;var WJ=Ufc(382);oU(383,1,{},qcb);var VJ=Ufc(383);oU(664,1,rzc,tcb);_.He=function ucb(a,b){return scb(b,a)};_.wd=function vcb(a){return this===
a};var TJ=Ufc(664);oU(41,32,Hyc,wcb,xcb,ycb,zcb);var oR=Ufc(41);oU(286,41,{286:1,3:1,40:1,38:1},Acb);var UJ=Ufc(286);oU(314,1,{314:1,3:1},Ecb);_.Ag=function Fcb(a){return Bcb(this,a)};_.Bg=function Gcb(){return this.b};_.Gg=function Hcb(){return this.d};var $J=Ufc(314);oU(683,1,{},Icb);var XJ=Ufc(683);oU(684,1,{},Jcb);_.eh=function Kcb(a,b,c,d){Jlc(this.b,new Mcb);Rlb(this.a,a,b,c,d)};_.fh=function Lcb(a,b,c,d){Jlc(this.c,new Mcb);Slb(this.a,a,b,c,d)};var YJ=Ufc(684);oU(418,1,{},Mcb);var ZJ=Ufc(418);
oU(830,1,{551:1},Ncb);_.Cg=function Ocb(){var a,b,c,d,e;if(!this.d){c=new iuc;Ug(c,this.c.Cg());a=Ccb(this.a,this.b);if(a.a){d=(b=GAc,bh(Xtc(c,b)));d!=null&&!qhc(d,"es6")&&this.b.If(new Vbb(null,null,-1,-1,(nsb(),lsb),null,vC(qC(DR,1),Fxc,2,6,[this.c.Dg()])));buc(c,GAc,"es6")}e=TJb(a);qhc(e,HAc)||buc(c,"lang",e);this.d=Cn(c)}return this.d};_.Dg=function Pcb(){return this.c.Dg()};_.Eg=function Qcb(){return this.c.Eg()};_.Fg=function Rcb(){return this.c.Fg()};var _J=Ufc(830);oU(304,409,{},Tcb,Ucb);
var aK=Ufc(304);oU(565,376,{},Xcb);_.Kf=function Ycb(){var a;a=this.c+this.e==0?(Kvc(),Hvc):(Kvc(),Jvc);this.c+this.e>0&&jwc(this.b,a,TWb("%d error(s), %d warning(s)",vC(qC(yR,1),Uxc,1,5,[Hgc(this.c),Hgc(this.e)])))};_.Lf=function Zcb(a,b){switch(a.f){case 0:nwc(this.b,Ubb(b,a,this.a));break;case 1:owc(this.b,Ubb(b,a,this.a))}};var bK=Ufc(565);oU(289,1,NCc,adb,bdb);_.gh=function cdb(a){var b,c;b=_kc(a.k)?alc(a.n).wh():alc(a.k);Gfb();if(b.j==(m5b(),N2b)&&!!b.e&&b.e.j==y3b)return;if(_kc(this.a)){je(b.j!=
y3b||!this.b);je(hfb(a)==0);c=this.b}else c=alc(this.a).jh(!Pfb(b));b.j==y3b||$cb(this,b,null,c);Ukc(this.a,c)};_.hh=function ddb(a){if(Egb(_kc(a.k)?alc(a.n).wh():alc(a.k)))return;hfb(a)==0||glc(this.a)};_.Mf=function edb(a,b,c){var d,e,f,g;switch(b.j.f){case 65:g=alc(this.a).jh(false);f=b.b.ci();f!=null&&f.length!=0&&!!c&&(Gfb(),!(b.j==(m5b(),y3b)&&wgb(b.e)))&&g.ih(f,false);Ukc(this.a,g);break;case 45:g=alc(this.a).jh(true);for(d=b.b;d;d=d.d){f=d.ci();g.ih(f,true)}e=b.d;$cb(this,e,null,g);Ukc(this.a,
g);break;case 77:g=alc(this.a).jh(false);f=b.b.ci();g.ih(f,false);Ukc(this.a,g);break}return true};_.Nf=function fdb(a,b,c){var d,e,f;switch(b.j.f){case 29:d=_cb(this,b.ci());if(d!=null){e=alc(this.a);e.mh()&&(f=A0b(b,b.g,43),f!=b.g&&(b.g=f));b.hi(d);$_(a.d)}break;case 65:glc(this.a);glc(this.a);break;case 77:glc(this.a)}};var fK=Ufc(289);oU(329,1,{868:1},hdb,idb);_.ih=function jdb(a,b){var c,d;if(b&&this.f!=this)this.f.ih(a,true);else if(!qhc(a,rBc))if(this.e)vw(this.g,a,0,1);else if(!Oic(this.d,
a)){c=Hj(this.g,a,1);d=null;c!=0&&(d=a+lCc+c);Qic(this.d,a,d)}};_.jh=function kdb(a){return new idb(this.g,a,this)};_.kh=function ldb(){return this.f};_.lh=function mdb(a){return Nic(this.d,a)};_.mh=function ndb(){return false};_.e=false;var dK=Ufc(329);oU(577,329,{868:1},odb);_.jh=function pdb(a){return new rdb(this.a,this.c,this.b,false,a,this)};var cK=Ufc(577);oU(438,1,{868:1},rdb);_.ih=function sdb(a,b){je(!qhc(a,rBc));b&&this.c!=this?this.c.ih(a,b):Oic(this.b,a)||Qic(this.b,a,qdb(this,a))};_.jh=
function tdb(a){return new rdb(this.a,this.f,this.d,this.e,a,this)};_.kh=function udb(){return this.c};_.lh=function vdb(a){return Nic(this.b,a)};_.mh=function wdb(){return this.e};_.e=false;var eK=Ufc(438);oU(726,1,{},xdb);_.zd=function zdb(){if(qhc(this.a,this.b))return this.a;return this.b+":"+this.a};var gK=Ufc(726);oU(341,1,{341:1,940:1},geb);_.zd=function jeb(){var a,b;b=new dic;if(!this.r)b.a+="<TOP SCOPE>";else{_hc(b,!this.r?null:(Gfb(),a=bgb(this.t),!a?null:h0b(a)));b.a+="(";Nc(new Sc(String.fromCharCode(44)),
b,this.f.Ld());b.a+=")"}b.a+=" with root: ";$hc(b,this.t);return b.a};_.g=false;var hK=Ufc(341);var keb,leb,meb,neb,oeb,peb,qeb,reb,seb,teb,ueb,veb,web,xeb,yeb,zeb,Aeb,Beb,Ceb,Deb,Eeb,Feb,Geb,Heb,Ieb,Jeb,Keb,Leb,Meb,Neb,Oeb,Peb,Qeb,Reb,Seb,Teb,Ueb,Veb,Web,Xeb,Yeb,Zeb,$eb,_eb;oU(694,1,{},cfb);var iK=Ufc(694);oU(105,1,{},ufb,vfb);_.p=false;var nK=Ufc(105);var yfb,zfb,Afb,Bfb,Cfb,Dfb,Efb,Ffb;oU(649,1,FBc,uhb);_.Gd=function vhb(a){return Gfb(),Ygb(a.e)};_.wd=function whb(a){return this===a};var oK=Ufc(649);
oU(650,1,FBc,xhb);_.Gd=function yhb(a){return Gfb(),!(a.j==(m5b(),y3b)&&e0b(a,60)==0)};_.wd=function zhb(a){return this===a};var pK=Ufc(650);oU(113,1,FBc,Ahb);_.Gd=function Bhb(a){return a.j==this.a};_.wd=function Chb(a){return this===a};var qK=Ufc(113);oU(651,1,{},Dhb);_.nh=function Ehb(a){var b;if(a.j==(m5b(),y3b)&&Jic(this.b,a)){b=Mic(this.b,a);e0b(a,56)>e0b(b,56)?je(!Bgb(a,b)):this.a&&je(Bgb(a,b))}};_.a=false;var rK=Ufc(651);oU(652,1,{},Fhb);_.nh=function Ghb(a){++this.a[0]};var sK=Ufc(652);oU(653,
1,FBc,Ihb);_.Gd=function Jhb(a){var b;return Hhb((b=this,a,b))};_.wd=function Khb(a){return this===a};_.a=0;var tK=Ufc(653);oU(646,1,FBc,Lhb);_.Gd=function Mhb(a){return a.j==(m5b(),g4b)&&qhc(a.ci(),this.a)};_.wd=function Nhb(a){return this===a};var uK=Ufc(646);oU(647,1,FBc,Ohb);_.Gd=function Phb(a){return a.j==this.a};_.wd=function Qhb(a){return this===a};var vK=Ufc(647);oU(648,1,FBc,Rhb);_.Gd=function Shb(a){return a.j!=(m5b(),y3b)};_.wd=function Thb(a){return this===a};var wK=Ufc(648);oU(389,1,
pzc,Yhb);_.Jf=function Zhb(a,b){Whb(this,a,b)};_.a=false;var Uhb;var EK=Ufc(389);oU(749,1,{},_hb);_.oh=function aib(a,b,c,d){var e,f,g;je(c.j==(m5b(),g4b));f=c.e;g=a.xh(b);if(a.Bh())if(g.Nh()&&!b1(d))if(wrc(this.a,g))return;if(g.Gh()==U2b){b=(e=b.lastIndexOf(lCc),e==-1?b:b.substr(0,e));Z_(this.b.b,Zbb(c,(Vhb(),Uhb),vC(qC(DR,1),Fxc,2,6,[b])))}else if(f.j==y3b){if(g.Kh().j==g5b){a.Dh(g);a.qh(b,c,g.c);$hb(this,g.Ih(),g.Kh(),g.Kh().e)}}else if(f.j==g5b){je(!!f.b&&!f.b.d);$hb(this,c,f,f.e)}};var xK=Ufc(749);
oU(745,906,szc,bib);_.Nf=function cib(a,b,c){var d,e,f,g,h;Gfb();if(b.j==(m5b(),u3b)&&b.b.j==u2b){d=b.b;h=d.b;h.j==E3b&&(f=g0b(d,29),!!f&&(f.a&ZCc)!=0)&&wrc(this.a,(h.b?h.b.f:null).ci())}else b.j==R4b&&(g=g0b(b,29),!!g&&(g.a&ZCc)!=0)?wrc(this.a,b.ci()):b.j==E3b&&b.e.j==u3b&&(e=g0b(b,29),!!e&&(e.a&ZCc)!=0)&&wrc(this.a,(b.b?b.b.f:null).ci())};var yK=Ufc(745);oU(391,1,szc,kib);_.Mf=function nib(a,b,c){b.j==(m5b(),V3b)&&hib(this,b);Gfb();(b.j==K4b||b.j==N2b||b.j==e4b||b.j==V3b)&&eib(this,b,null,null);
(b.j==K4b||b.j==N2b||b.j==e4b)&&jib(this,b);b.j==y3b&&fib(this,b.b?b.b.f:null);ogb(b)&&b.j!=u2b&&gib(this,b);return true};_.Nf=function oib(a,b,c){var d,e;switch(b.j.f){case 70:e=b.b;Q0b(b,(m5b(),w3b));d=new _0b(k3b);Z0b(d,b);O_b(b,d,e);N_b(b,Z_b(d,new _0b(d.j),false),e);iib(this,"WHILE node");break;case 65:lib(b)&&iib(this,"Function declaration");break;case 29:case 31:case 89:case 84:case 85:this.b.Y==2||dib(this,b,c);break;case 90:B0b(c,b,z0b(b))}};_.a=false;var zK=Ufc(391);oU(747,906,vBc,qib);
_.Jf=function rib(a,b){pib(this,a,b)};_.Nf=function sib(a,b,c){var d,e,f,g,h,i;if(b.j==(m5b(),g4b)){if(b.ci().length==0)return;d=null;i=gfb(a).xh(b.ci());!!i&&(d=i.Hh());h=!!d&&(d.a&37)!=0||sgb(r_(this.b),b);e=e0b(b,43)!=0;if(h&&!e){if(this.a){f=b.ci();throw QT(new sgc($Cc+f+Gyc+"  parent:"+W0b(b.e)));}g=A0b(b,b.g,43);g!=b.g&&(b.g=g);b.g=new E1b(43,1,b.g)}}};_.a=false;var AK=Ufc(747);oU(746,906,szc,tib);_.Nf=function uib(a,b,c){var d,e,f;if(b.j==(m5b(),E3b)){f=(b.b?b.b.f:null).ci();if(xrc(this.a,
f)){d=z0b(b);e=z0b(b);B0b(b.e,b,BXb(d,e));$_(this.b.b)}}else if(b.j==R4b){f=b.ci();if(xrc(this.a,f)){b.gi();$_(this.b.b)}}};var BK=Ufc(746);oU(750,1,NCc,vib);_.gh=function wib(a){gfb(a)};_.hh=function xib(a){};_.Mf=function yib(a,b,c){return true};_.Nf=function zib(a,b,c){};var CK=Ufc(750);oU(748,906,vBc,Bib);_.Jf=function Cib(a,b){Aib(this,a,b)};_.Nf=function Dib(a,b,c){var d,e,f,g,h,i,j;if(b.j==(m5b(),g4b)){h=b.ci();if(b.ci().length==0)return;g=e0b(b,43)!=0;if(this.a){e=false;d=r_(this.b);Gfb();
if(e0b(b,43)!=0||sgb(d,b))e=true;else{e=false;f=null;j=gfb(a).xh(b.ci());!!j&&(f=j.Hh());!!f&&(f.a&37)!=0?e=true:e=false}e?oe(e==g,"The name %s is not annotated as constant.",h):oe(e==g,"The name %s should not be annotated as constant.",h)}i=Nic(this.c,h);i==null?Qic(this.c,h,(tfc(),g?true:false)):oe((exc(i),i)==g,"The name %s is not consistently annotated as constant.",h)}};_.a=false;var DK=Ufc(748);oU(908,1,{});var FK=Ufc(908);oU(584,78,FAc,Eib);_.zg=function Fib(a){return new Gib};var HK=Ufc(584);
oU(583,1,pzc,Gib);_.Jf=function Hib(a,b){};var GK=Ufc(583);oU(123,78,FAc);_.zg=function Jib(a){return this.ph(a)};var IK=Ufc(123);var Kib,Lib,Mib,Nib;oU(572,1,{},Yib);_.a=0;_.b=-1;_.c=0;_.e=-1;_.g=0;_.i=0;_.j=0;_.k=0;_.o=-1;_.p=0;_.q=-1;_.r=-1;_.s=-1;_.t=0;_.v=0;_.A=0;_.B=0;_.C=0;_.F=0;_.G=0;_.H=0;var NK=Ufc(572);oU(644,1,rzc,Zib);_.He=function $ib(a,b){return Lgc(a.ye().n,b.ye().n)};_.wd=function _ib(a){return this===a};var KK=Ufc(644);oU(303,1,{303:1},ajb);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=
0;_.i=false;_.k=0;_.n=0;_.o=0;var LK=Ufc(303);oU(679,416,{},bjb);_.dg=function cjb(a){var b;b=a.length;if(b>0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.pg=function ejb(){return this.a};_.a=0;_.b=0;var MK=Ufc(679);oU(384,1,pzc,rjb);_.Jf=function sjb(a,b){njb(this,a,b)};_.b=false;_.e=false;_.i=0;_.o=false;_.p=0;_.r=0;_.t=0;var fjb,gjb,hjb;var SK=Ufc(384);oU(414,1,pzc,vjb);_.Jf=function wjb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;ke(!this.d.e,"Nested loops are forbidden");this.d.e=true;ujb(this);e=tjb(this);
this.c=new Djb(this.d);i_(this.d.a,this.c);qjb(this.d,b);this.d.j=new qrc;for(j=new pmc(this.b);j.a<j.c.a.length;){h=nmc(j);Pic(this.d.j,h,Hgc(0))}g=new zrc;m=new zrc;n=0;d=0;c=(Gfb(),Ofb(b));l=c;try{while(true){d++>100&&h0("Fixed point loop exceeded the maximum number of iterations.",null);f=false;for(i=new pmc(this.b);i.a<i.c.a.length;){h=nmc(i);if(n==0&&!m.a.containsKey(h)||n==1&&g.a.containsKey(h)){++this.d.t;this.d.c=h;xjb(h,a,b);m.a.put(h,m);Pic(this.d.j,h,Hgc(this.d.t));if(this.d.a.f.c>0)return;
else if(Cjb(this.c)){g.a.put(h,g);f=true}else g.a.remove(h)!=null}else m.a.remove(h)!=null}if(n==0)if(f)n=1;else return;else if(!f){l=c;c=Ofb(b);k=(c-l<0?-(c-l):c-l)/l;if(!e&&k<.001)return;n=0}}}finally{this.d.e=false;Y_(this.d.a,this.c)}};var OK=Ufc(414);oU(310,1,{62:1,310:1},yjb);_.Jf=function zjb(a,b){xjb(this,a,b)};_.zd=function Ajb(){return"pass: "+this.b};var PK=Ufc(310);oU(568,1,{},Bjb);_.a=0;_.b=0;var QK=Ufc(568);oU(673,1,{865:1},Djb);_.cg=function Ejb(){if(this.b.b)return;this.b.i=this.b.t;
C0b(this.b.d,this.b.t);++this.b.t};_.a=0;var RK=Ufc(673);oU(288,1,pzc,Jjb,Kjb);_.Jf=function Ljb(a,b){Hjb(this,a,b)};_.a=false;var UK=Ufc(288);oU(458,906,szc,Mjb);_.Nf=function Ojb(a,b,c){b.j.f==28&&Njb(b)};var TK=Ufc(458);var Pjb,Qjb,Rjb,Sjb;var Ujb;oU(685,907,szc,Wjb);_.Mf=function Xjb(a,b,c){var d;if(this.a)return false;if(!c||ugb(c)||(Gfb(),c.j==(m5b(),K4b)||c.j==N2b||c.j==e4b)){if(b.j==(m5b(),u3b)){d=b.b.b;if(!!d&&(u0b(d,Ezc,Ezc.length)||u0b(d,Fzc,Fzc.length))){this.a=true;return false}}return true}return false};
_.a=false;var VK=Ufc(685);var Yjb;oU(574,906,szc,gkb);_.Nf=function hkb(a,b,c){ckb(this,a,b,c)};_.e=false;_.i=false;_.j=0;var $jb,_jb;var $K=Ufc(574);oU(758,909,szc,jkb);_.Nf=function kkb(a,b,c){b.j==(m5b(),Q2b)&&t0b(b.b,Gzc)&&Ngb(c.e)&&ikb(this,b,c)};var WK=Ufc(758);oU(224,1,{224:1},lkb);_.zd=function mkb(){return"("+this.a+Sxc+this.b+")"};var XK=Ufc(224);oU(185,1,{185:1},nkb);_.zd=function okb(){return"("+this.a+Sxc+this.b+")"};var YK=Ufc(185);oU(757,906,szc,qkb);_.Nf=function rkb(a,b,c){var d,
e,f,g,h,i,j,k,l,m;d=g0b(b,29);if(d)for(l=new pmc(TYb(d));l.a<l.c.a.length;){k=nmc(l);pkb(this,a,k)}e=b.j==(m5b(),R4b)&&!b.b;if(b.j==g4b||e){g=b.ci();if(qhc(this.a,g))return;m=gfb(a).xh(g);if(!!m&&m.Bh()){h=g+"$$"+this.a;if(e)P_b(b,Z0b((oe(thc(h,Nhc(46))==-1,yzc,h),new _1b(g4b,h)),b));else{b.hi(h);j=A0b(b,b.g,40);j!=b.g&&(b.g=j);g!=null&&(b.g=new O1b(40,g,b.g))}}else if(!m&&Oic(this.b.g,g)){c.j==Q2b&&c.b==b&&(j=A0b(c,c.g,50),j!=c.g&&(c.g=j),false);i=Nic(this.b.g,g);f=lhb(this.b.c,i.a);i.b.length==
0?B0b(b.e,b,$0b(f,b)):B0b(b.e,b,$0b(CXb(f,YXb(i.b)),b))}}};var ZK=Ufc(757);var skb,tkb,ukb,vkb;oU(100,14,{100:1,3:1,23:1,14:1},Gkb,Hkb,Ikb,Jkb);var xkb,ykb,zkb,Akb,Bkb,Ckb,Dkb,Ekb;var _K=Vfc(100,lR,Lkb);oU(255,14,{255:1,3:1,23:1,14:1},Pkb);var Mkb,Nkb;var aL=Vfc(255,lR,Qkb);oU(381,1,{865:1},Rkb);_.cg=function Skb(){this.a=true};_.a=false;var bL=Ufc(381);oU(576,906,vBc,Ukb);_.Jf=function Vkb(a,b){Tkb(this,b)};_.Nf=function Wkb(a,b,c){var d,e;if(b.j!=(m5b(),y3b))return;e=null.Fj();if(e<0)return;d=j0(this.a,
b);!a.e&&(a.e=w_(a.d,a.g));null.Fj(C8().Fj().Fj(jgb(b)).Fj(i1b(b.i)).Fj().Fj(d.length).Fj(null.Fj()).Fj().Fj())};var cL=Ufc(576);oU(1006,1,{});var Xkb;oU(386,1,{386:1},alb);var dL=Ufc(386);oU(808,1,vBc,blb);_.Jf=function clb(a,b){Fob(this.a,b,vC(qC(mK,1),Uxc,29,0,[this]))};_.Mf=function dlb(a,b,c){if(b.j==(m5b(),y3b)){Ukc(this.b,new hlb($kc(this.b),b));e0b(b,61)!=0&&q_(this.a,"es6/execute_async_generator",false)}return true};_.Nf=function elb(a,b,c){var d,e,f,g,h,i,j,k;d=$kc(this.b);if(b.j==(m5b(),
y3b)){qe(d.d.Bd()&&oD(d.d.Ad())===oD(b),"unexpected function context:\nexpected: %s\nactual: %s",b,d.d);glc(this.b)}switch(b.j.f){case 65:d.d.Bd()&&e0b(d.d.Ad(),61)!=0&&(e=d.d.Ad(),f=A0b(e,e.g,61),f!=e.g&&(e.g=f),g=e.b?e.b.f:null,h=Z0b(new _0b(N2b),g),B0b(e,g,h),d.b&&P_b(h,vXb((oe(thc(cDc,Nhc(46))==-1,yzc,cDc),new _1b(g4b,cDc)),new _0b(Z4b),$3b)),d.a&&P_b(h,vXb((oe(thc(dDc,Nhc(46))==-1,yzc,dDc),new _1b(g4b,dDc)),(oe(thc(rBc,Nhc(46))==-1,yzc,rBc),new _1b(g4b,rBc)),$3b)),g.j==N2b||(g=Y0b(oXb((je(JXb(g)),
new b1b(I4b,g))),g)),i=AXb((oe(thc(eDc,Nhc(46))==-1,yzc,eDc),new _1b(g4b,eDc)),new _0b(y4b),g),j=A0b(i,i.g,59),j!=i.g&&(i.g=j),i.g=new E1b(59,1,i.g),P_b(h,i),k=CXb((oe(thc(fDc,Nhc(46))==-1,yzc,fDc),new _1b(g4b,fDc)),new _1b(Q4b,"executeAsyncGenerator")),P_b(h,VXb(qXb(k,vC(qC(hQ,1),zzc,7,0,[ihb((oe(thc(eDc,Nhc(46))==-1,yzc,eDc),new _1b(g4b,eDc)),vC(qC(hQ,1),zzc,7,0,[]))])))),$0b(h,g),$_(this.a),undefined);break;case 29:if(d.c.Bd()&&d.c.Ad().e==d.e&&u0b(b,rBc,rBc.length)){b.hi(dDc);d.c.Ad().a=true}break;
case 33:if(d.c.Bd()&&d.c.Ad().e==d.e){B0b(c,b,Z0b((oe(thc(cDc,Nhc(46))==-1,yzc,cDc),new _1b(g4b,cDc)),b));d.c.Ad().b=true}break;case 101:ke(d.d.Bd()&&e0b(d.d.Ad(),61)!=0,"await found within non-async function body");le(!!b.b&&!b.b.d,"await should have 1 operand, but has %s",b0b(b));B0b(c,b,Z0b(eYb(z0b(b)),b))}};var fL=Ufc(808);oU(342,1,{342:1},glb,hlb);_.a=false;_.b=false;var eL=Ufc(342);oU(423,1,pzc,olb);_.Jf=function qlb(a,b){klb(this,b)};var ilb;var jL=Ufc(423);oU(424,1,{424:1},rlb);var gL=Ufc(424);
oU(695,1,{},slb);var hL=Ufc(695);oU(696,906,szc,vlb);_.Nf=function wlb(a,b,c){var d,e,f,g,h;if(o0b(b)){e=h0b(b);f=null;Xn(this.b.b.b,e)&&(f=Yn(this.b.b.b,e));if(f){jlb();h=h0b(igb(b));if(!!gfb(a).xh(h)||(Gfb(),c.j==(m5b(),u2b)&&c.b==b||c.j==g5b))return;mlb(this.b,f.c)||mfb(a,b,ilb,vC(qC(DR,1),Fxc,2,6,[e,Me(z1(this.b.a.H)),"ECMASCRIPT"+f.c.b]));!mlb(this.b,f.b)&&f.a.length!=0&&wrc(this.a,f.a);return}}if(b.j==(m5b(),E3b)&&(b.b?b.b.f:null).j==Q4b){d=Bl(this.b.b.a,(b.b?b.b.f:null).ci());if(!d.isEmpty()&&
!ulb(b))for(g=d.Ld();g.Dd();){f=g.Ed();!mlb(this.b,f.b)&&f.a.length!=0&&wrc(this.a,f.a)}}};var iL=Ufc(696);oU(674,1,{});var xlb,ylb,zlb,Alb,Blb,Clb,Dlb,Elb,Flb,Glb,Hlb,Ilb,Jlb,Klb,Llb,Mlb;var lL=Ufc(674);oU(563,674,{},Tlb);_.eh=function Ulb(a,b,c,d){Rlb(this,a,b,c,d)};_.fh=function Vlb(a,b,c,d){Slb(this,a,b,c,d)};var kL=Ufc(563);oU(580,1,pzc,cmb);_.Jf=function dmb(a,b){$lb(this,a,b)};var Wlb,Xlb,Ylb;var mL=Ufc(580);oU(127,1,{127:1},gmb,hmb);_.qh=function imb(a,b,c){var d;je(a!=null&&a.length!=0);
je(vsc(this.g,a)==null);d=new Iqb(a,b,this,(Uic(this.g.c),c));wsc(this.g,a,d);return d};_.rh=function jmb(){!this.c&&(this.c=(Xd(!iD(this,265)),new lrb(this)));return this.c};_.sh=function kmb(){return fmb(this)};_.th=function lmb(){var a;a=this;while(a.vh())a=a.vh();return a};_.uh=function mmb(a){return vsc(this.g,a)};_.vh=function nmb(){return this.e};_.wh=function omb(){return this.f};_.xh=function pmb(a){var b,c;b=this;while(b){c=vsc(b.g,a);if(c)return c;if(qhc(rBc,a)&&ehb(b.wh()))return b.rh();
b=b.e}return null};_.yh=function qmb(){return Pfb(this.f)};_.zh=function rmb(a,b){var c;c=this;while(true){if(usc(c.g,a))return true;if(c.Ah()||!!c.e&&b){c=c.e;continue}return false}};_.Ah=function smb(){return this.yh()&&!!this.e&&this.e.wh().j==(m5b(),y3b)};_.Bh=function tmb(){return!this.e};_.Ch=function umb(){return!!this.e};_.zd=function vmb(){return"Scope@"+this.f};_.Dh=function wmb(a){je(a.f==this);je(oD(vsc(this.g,a.d))===oD(a));ysc(this.g,a.d)};_.d=0;var nL=Ufc(127);oU(175,14,qDc);var xmb,
ymb;var qL=Vfc(175,lR,Bmb);oU(581,175,qDc,Cmb);var oL=Vfc(581,qL,null);oU(582,175,qDc,Dmb);var pL=Vfc(582,qL,null);oU(161,1,rDc,Kmb);_.Eh=function Mmb(){return this.b};_.Dg=function Nmb(){return this.c};_.Fh=function Omb(){return this.d};_.zd=function Pmb(){return this.c};_.b=null;_.d=false;_.e=null;var Emb;var uL=Ufc(161);oU(198,1,{},Qmb);var rL=Ufc(198);oU(579,161,rDc,Rmb);_.Eh=function Smb(){var a;a=this.b;if(a==null){a=(yic(this.a),Bz());Imb(this,a,yic(this.a)==(Dic(),Cic));a=this.b}return a};
var sL=Ufc(579);oU(248,161,rDc,Tmb);var tL=Ufc(248);oU(573,906,szc,Umb);_.Nf=function Wmb(a,b,c){var d,e,f,g,h;this.a&&this.b!=null&&je(qhc(this.b,(d=g0b(b,51),!d?null:d.Dg())));switch(b.j.f){case 26:g=b.b?b.b.f:null;Vmb(b,g.ci());break;case 65:e=cgb(b);e!=null&&e.length!=0&&g0b(b,40)==null&&(h=A0b(b,b.g,40),h!=b.g&&(b.g=h),e!=null&&(b.g=new O1b(40,e,b.g)));break;case 29:Vmb(b,b.ci());break;case 43:for(f=b.b;f;f=f.d)f.j!=(m5b(),Z2b)&&!f.ei()&&Vmb(f,f.ci())}};_.a=false;var vL=Ufc(573);oU(181,14,sDc);
var Xmb,Ymb;var yL=Vfc(181,lR,_mb);oU(622,181,sDc,anb);_.Gd=function bnb(a){return true};var wL=Vfc(622,yL,null);oU(623,181,sDc,cnb);_.Gd=function dnb(a){return a.j==(m5b(),Q2b)||a.j==m4b||a.j==y3b||a.j==g4b||(Gfb(),a.j==E3b||a.j==D3b)||Qgb(a)||a.j==Q4b&&Fgb(a.e)||a.j==W4b};var xL=Vfc(623,yL,null);oU(180,14,tDc);var enb,fnb;var BL=Vfc(180,lR,inb);oU(620,180,tDc,jnb);var zL=Vfc(620,BL,null);oU(621,180,tDc,knb);var AL=Vfc(621,BL,null);oU(435,1,{435:1},onb);_.a=null;var lnb;var CL=Ufc(435);var pnb,qnb,
rnb,snb,tnb,unb,vnb,wnb,xnb,ynb,znb,Anb;oU(570,1,pzc,Inb);_.Jf=function Jnb(a,b){Hnb(this,b)};var Enb,Fnb;var EL=Ufc(570);oU(743,906,szc,Ynb);_.Nf=function Znb(a,b,c){switch(b.j.f){case 75:Wnb(this,a,b,c);break;case 29:Snb(this,a,b,c);break;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:Qnb(this,a,b,c);break;case 28:case 23:Nnb(this,a,b,c)&&Xnb(this,b,c);break;case 43:Lnb(this,b);break;case 82:Rnb(this,b,c)}};var DL=Ufc(743);oU(566,173,aBc,$nb);_.Jg=
function _nb(){return(bsb(),asb).a};_.Kg=function aob(a){var b,c,d,e,f,g,h,i,j,k,l,m;g=a.e;if(g){m=false;for(b=g;b;b=b.e){l=b.j;d=null;if(l==(m5b(),y3b)){d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29));m=true}else if(l==K4b)d=g0b(b,29);else if(b.j==g5b||b.j==u2b){h=hgb(b.b);if(h){h.j==T2b&&(h=h.b);h.j==y3b&&!m&&(d=(Gfb(),e=Tfb(b),!e?null:g0b(e,29)))}}if(d)for(k=(i=!d.d?null:d.d.p,!i?(gnc(),gnc(),fnc):i).Ld();k.Dd();){j=k.Ed();c=Nic(this.a,j);if(c){f=c.Kg(a);if(f)return f}}}}return null};var FL=Ufc(566);oU(419,
1,{},eob,fob);_.Lg=function gob(a,b){var c;return this.b=null,!b?this.e=this.c?new kqb(a):new hmb(a):this.e=this.c?new jqb(b,a):new gmb(b,a),cob(this,a),this.b=null,c=this.e,this.e=null,c};_.Mg=function hob(){return false};_.c=false;var HL=Ufc(419);oU(420,1,{},iob);_.oh=function job(a,b,c,d){};var GL=Ufc(420);oU(571,1,Nxc,kob);_.Ag=function lob(a){return this.b};_.Bg=function mob(){return this.a};_.Gg=function nob(){return this.c};var IL=Ufc(571);oU(157,1,{},qob,rob);_.a=0;var JL=Ufc(157);var sob,
tob,uob,vob,wob,xob,yob,zob,Aob,Bob,Cob;oU(731,78,FAc,Gob);_.zg=function Hob(a){return new blb(a)};var NL=Ufc(731);oU(740,123,FAc,Iob);_.ph=function Job(a){return new D7(a)};var KL=Ufc(740);oU(741,123,FAc,Kob);_.ph=function Lob(a){return new v5(a)};var LL=Ufc(741);oU(742,123,FAc,Mob);_.ph=function Nob(a){return new o6(a)};var ML=Ufc(742);oU(732,78,FAc,Oob);_.zg=function Pob(a){return new N6(a)};var OL=Ufc(732);oU(733,123,FAc,Qob);_.ph=function Rob(a){return new R4(a)};var PL=Ufc(733);oU(734,123,FAc,
Sob);_.ph=function Tob(a){return new V5(a)};var QL=Ufc(734);oU(735,123,FAc,Uob);_.ph=function Vob(a){return new b5(a)};var RL=Ufc(735);oU(736,123,FAc,Wob);_.ph=function Xob(a){return new l5(a)};var SL=Ufc(736);oU(737,123,FAc,Yob);_.ph=function Zob(a){return new olb(a)};var TL=Ufc(737);oU(738,123,FAc,$ob);_.ph=function _ob(a){return new H6(a)};var UL=Ufc(738);oU(739,123,FAc,apb);_.ph=function bpb(a){return new M4(a)};var VL=Ufc(739);var cpb,dpb,epb,fpb,gpb,hpb,ipb,jpb,kpb,lpb,mpb,npb,opb,ppb,qpb,rpb,
spb,tpb,upb,vpb,wpb,xpb,ypb,zpb,Apb,Bpb,Cpb,Dpb,Epb,Fpb,Gpb,Hpb,Ipb,Jpb,Kpb,Lpb,Mpb;var Opb,Ppb,Qpb,Rpb,Spb,Tpb,Upb,Vpb,Wpb,Xpb,Ypb;oU(847,315,{},bqb);_.xg=function cqb(a,b){var c,d,e;d=a.e;if(!!d&&(d.j==(m5b(),N2b)||d.j==K4b))if(a.j==(m5b(),y3b))dZ(this,$pb(this,a));else if(a.j==u3b&&a.b.j==u2b){c=a.b;if(Pgb(c.b))dZ(this,Qbb(this.a,g0b(c,29)));else{e=c.b?c.b.f:null;dZ(this,_pb(this,e))}}else a.j==g5b&&!!a.b.b&&(Pgb(a.b)?dZ(this,Qbb(this.a,g0b(a,29))):dZ(this,_pb(this,a.b.b)));cZ(this,a,b)};var WL=
Ufc(847);oU(265,127,{127:1,265:1},jqb,kqb);_.th=function oqb(){return gqb(this)};_.uh=function pqb(a){return vsc(this.b,a)};_.vh=function qqb(){return this.a};_.xh=function sqb(a){return hqb(this,a)};_.qh=function lqb(a,b,c){throw QT(new sgc("Method declare(untyped) cannot be called on typed scopes."));};_.rh=function mqb(){throw QT(new sgc("Method getArgumentsVar cannot be called on typed scopes."));};_.sh=function nqb(){throw QT(new sgc("Method getClosestHoistScope cannot be called on typed scopes."));
};_.wh=function rqb(){return this.f};_.yh=function tqb(){return false};_.zh=function uqb(a,b){return iqb(this,a,b)};_.Ah=function vqb(){throw QT(new sgc("Method isFunctionBlockScope cannot be called on typed scopes."));};_.Bh=function wqb(){return!this.a};_.Ch=function xqb(){return!!this.a};_.Dh=function yqb(a){var b;b=a;je(b.a==this);je(oD(vsc(this.b,b.d))===oD(b));ysc(this.b,b.d)};var XL=Ufc(265);var zqb,Aqb,Bqb,Cqb,Dqb,Eqb,Fqb,Gqb;oU(169,1,{169:1},Iqb);_.Gh=function Jqb(){var a,b;b=wo((m5b(),g5b),
$3b,$2b,y3b,V2b,U2b,vC(qC(jQ,1),Zxc,10,0,[y4b]));for(a=this.e;a;a=a.e)if(b.contains(a.j))return a.j;throw QT(new sgc("The nameNode for "+this+" must be a descendant"+" of one of: "+b));};_.wd=function Kqb(a){var b;if(!iD(a,169))return false;b=a;return b.e==this.e};_.Hh=function Lqb(){var a;return!this.e?null:(Gfb(),a=Tfb(this.e),!a?null:g0b(a,29))};_.Dg=function Mqb(){return this.d};_.Ih=function Nqb(){return this.e};_.Jh=function Oqb(){return this.e};_.Kh=function Pqb(){return!this.e?null:this.e.e};
_.Lh=function Qqb(){return this.f};_.yd=function Rqb(){return rb(this.e)};_.Mh=function Sqb(){return this.Gh()==(m5b(),$2b)};_.Nh=function Tqb(){return!this.c||b1(this.c)};_.Bh=function Uqb(){return this.f.Bh()};_.Oh=function Vqb(){if(!this.e)return false;return e0b(this.e,65)!=0||e0b(this.e,43)!=0};_.Ph=function Wqb(){return this.Gh()==(m5b(),$3b)};_.zd=function Xqb(){return"Var "+this.d};var bM=Ufc(169);oU(347,169,{347:1,169:1},Yqb);_.Lh=function drb(){return this.a};_.wd=function Zqb(a){if(!iD(a,
347))return false;return a.e==this.e};_.Hh=function $qb(){var a;return!this.e?null:(Gfb(),a=Tfb(this.e),!a?null:g0b(a,29))};_.Dg=function _qb(){return this.d};_.Ih=function arb(){return this.e};_.Jh=function brb(){return this.e};_.Kh=function crb(){return!this.e?null:this.e.e};_.yd=function erb(){return rb(this.e)};_.Mh=function frb(){throw QT(new sgc("Method isConst cannot be called on typed variables."));};_.Nh=function grb(){return!this.c||b1(this.c)};_.Bh=function hrb(){return!this.a.a};_.Oh=
function irb(){throw QT(new sgc("Method isInferredConst cannot be called on typed variables."));};_.Ph=function jrb(){throw QT(new sgc("Method isLet cannot be called on typed variables."));};_.zd=function krb(){return"Var "+this.d+"{"+this.b+"}"};var YL=Ufc(347);oU(340,169,{169:1,340:1},lrb);_.Gh=function mrb(){return null};_.wd=function nrb(a){var b;if(!iD(a,340))return false;b=a;return b.f.wh()==this.f.wh()};_.yd=function orb(){return Ywc(this)};var ZL=Ufc(340);oU(686,906,vBc,Brb);_.Jf=function Erb(a,
b){Arb(this,a,b)};_.Nf=function Frb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(b.j==(m5b(),g4b)||b.j==R4b&&!b.b){m=b.ci();if(m.length==0){je(c.j==y3b);je((Gfb(),c.j==y3b&&!Ygb(c.e)));return}if((c.j==g5b||(Gfb(),c.j==y3b&&wgb(c.e)))&&xrc(this.e,m)){Crb(this.a,m);yrc(this.e,m);d=H_b(g0b(b,29));mYb(d.a);d.d=true;H0b(b,p$b(d,false))}i=gfb(a);j=i.xh(m);if(!j){Gfb();if(c.j==y3b&&!Ygb(c.e)||c.j==V2b&&!Ygb(c.e)&&b==c.b);else{g=i.Ch()&&qhc(rBc,m);!g&&!(this.d&&b1((!a.e&&(a.e=w_(a.d,a.g)),a.e)))&&mfb(a,b,urb,vC(qC(DR,
1),Fxc,2,6,[m]));if(this.c)throw QT(new sgc("Unexpected variable "+m));else{Crb(this.a,m);yrc(this.e,m);i.th().qh(m,b,D_(this.a))}}return}e=(!a.e&&(a.e=w_(a.d,a.g)),a.e);k=j.c;if(e==k||!e||!k)return;f=e.g;l=k.g;h=this.a.B;if(!this.c&&l!=f&&!!l&&!!f)if(kcb(h,f,l));else i.Bh()?kcb(h,l,f)?mfb(a,b,xrb,vC(qC(DR,1),Fxc,2,6,[f.d,l.d,m])):mfb(a,b,qrb,vC(qC(DR,1),Fxc,2,6,[f.d,l.d,m])):mfb(a,b,srb,vC(qC(DR,1),Fxc,2,6,[f.d,l.d,m]))}};_.c=false;_.d=false;var prb,qrb,rrb,srb,trb,urb,vrb,wrb,xrb;var aM=Ufc(686);
oU(687,906,szc,Grb);_.Nf=function Hrb(a,b,c){var d,e,f,g;if(b.j==(m5b(),g4b))switch(c.j.f){case 75:case 98:case 86:case 65:case 94:case 45:break;case 26:if(b==c.b){e=gfb(a);g=e.xh(b.ci());if(!g){mfb(a,b,(yrb(),trb),vC(qC(DR,1),Fxc,2,6,[b.ci()]));wrc(this.a.e,b.ci())}}break;case 47:if(b==(c.b?c.b.f:null)&&o0b(b)&&o0b(c.b))break;default:(c.j!=g4b||!c.e||!Ngb(c.e))&&mfb(a,b,(yrb(),rrb),vC(qC(DR,1),Fxc,2,6,[b.ci()]));d=gfb(a);f=d.xh(b.ci());!f&&wrc(this.a.e,b.ci())}};var $L=Ufc(687);oU(688,1,{},Jrb);
_.oh=function Krb(a,b,c,d){var e,f,g,h,i;i=c.e;h=a.xh(b);g=h.Kh();if(i.j==(m5b(),$3b)||i.j==$2b||i.j==V2b||!!g&&(g.j==$3b||g.j==$2b||g.j==V2b)){Z_(this.b.a,Zbb(c,(yrb(),prb),vC(qC(DR,1),Fxc,2,6,[])));return}if(a.Bh()){if(g.j==U2b&&i.j==U2b)return;e=Drb(c,h);yrb();if(c.e.j==g5b&&(f=g0b(c,51),!!f&&f.Fh())&&Pgb(c)){Jlc(this.a,i);return}e||Z_(this.b.a,Zbb(c,wrb,vC(qC(DR,1),Fxc,2,6,[b,h.c?h.c.f.a:"??"])))}else qhc(b,rBc)&&(Gfb(),!(c.j==g4b&&c.e.j==g5b))&&Z_(this.b.a,Zbb(c,(yrb(),vrb),vC(qC(DR,1),Fxc,2,
6,[])))};var _L=Ufc(688);var Lrb,Mrb,Nrb,Orb;oU(211,14,{211:1,3:1,23:1,14:1},Urb);var Qrb,Rrb,Srb;var cM=Vfc(211,lR,Vrb);oU(138,14,{138:1,3:1,23:1,14:1},csb);_.a=0;var Wrb,Xrb,Yrb,Zrb,$rb,_rb,asb;var dM=Vfc(138,lR,dsb);oU(787,1,{},hsb);var fM=Ufc(787);oU(287,1,{},psb);var jsb,ksb,lsb,msb;var kM=Ufc(287);oU(728,1,Ayc,usb);_.Jd=function vsb(a){return a.Dg()};_.wd=function wsb(a){return this===a};var gM=Ufc(728);oU(437,1,{},Asb);_.zd=function Bsb(){return this.a};var hM=Ufc(437);oU(267,14,yDc);var Csb;
var jM=Vfc(267,lR,Esb);oU(727,267,yDc,Fsb);_.Jd=function Gsb(a){return a};var iM=Vfc(727,jM,null);var Hsb;oU(228,1,{551:1,228:1},Nsb);_.Eg=function Rsb(){return this.c};_.Fg=function Ssb(){return this.d};_.wd=function Osb(a){var b;if(!iD(a,228))return false;b=a;return Mtc(b.e,this.e)&&Mtc(b.b,this.b)&&Mtc(b.d,this.d)&&Mtc(b.c,this.c)&&Mtc(b.a,this.a)};_.Cg=function Psb(){return this.a};_.Dg=function Qsb(){return this.b};_.yd=function Tsb(){return Imc(vC(qC(yR,1),Uxc,1,5,[this.c,this.d,this.e,this.b,
this.a]))};_.zd=function Usb(){return TWb("DependencyInfo(relativePath='%1$s', path='%2$s', provides=%3$s, requires=%4$s, loadFlags=%5$s)",vC(qC(yR,1),Uxc,1,5,[this.e,this.b,this.c,this.d,this.a]))};var Lsb;var lM=Ufc(228);oU(872,1,{});var Vsb;var oM=Ufc(872);oU(557,559,Yyc,$sb);var mM=Ufc(557);oU(558,376,{},_sb);_.Kf=function atb(){this.c+this.e>0&&Ysb(this.c+" error(s), "+this.e+" warning(s)")};_.Lf=function btb(a,b){Ysb(Ubb(b,a,this.a))};var nM=Ufc(558);oU(174,908,{},dtb);var pM=Ufc(174);var etb;
var gtb;var itb;var ktb,ltb,mtb,ntb;var ptb,qtb;var stb,ttb,utb,vtb,wtb,xtb,ytb,ztb,Atb,Btb,Ctb,Dtb,Etb;var Gtb;var Itb,Jtb;var Ltb,Mtb;var Otb;var Qtb,Rtb,Stb;var Utb;var Wtb;oU(363,1,{},Ytb);_.zd=function Ztb(){return Od(Md(Md(Md(Md(Nd(new Pd((Ofc(qM),qM.k))),"simpleType",this.d),MCc,this.e),iAc,this.c),"scope",this.a))};_.b=false;var qM=Ufc(363);oU(230,1,{230:1},fub);_.zd=function mub(){return Wub(cub(this),new dic).a};_.b=false;var rM=Ufc(230);oU(144,1,{144:1});_.zd=function Bub(){return this.v};
_.u=false;var KM=Ufc(144);oU(153,144,{153:1,144:1,933:1},Eub);_.Qh=function Gub(){var a,b,c;de(this.b);je(!this.w);a=(Uyb(),Uyb(),Tyb);for(c=this.c.Ld();c.Dd();){b=c.Ed();a=Wyb(a,b,new _Ab(null,this.b,this.b,(kBb(),hBb)))}return wwb(FAb(this.s,null,a,null,this,false,(Pzb(),Nzb)))};_.Rh=function Hub(a){return Uvb(this.a,a)};_.Sh=function Iub(a){return _vb(this.a,a)};_.Th=function Lub(a){return iwb(this.a,a)};var uM=Ufc(153);oU(240,14,{240:1,3:1,23:1,14:1},Sub);var Oub,Pub,Qub;var sM=Vfc(240,lR,Tub);
oU(244,144,{244:1,144:1},Uub);_.Qh=function Vub(){je(!this.w);return wwb(FAb(this.s,cyb(this.s),null,cub(this.a.c),this,false,(Pzb(),Nzb)))};var vM=Ufc(244);oU(188,1,{188:1},jvb,kvb);_.wd=function lvb(a){return Yub(this,a)};_.yd=function nvb(){return Imc(vC(qC(yR,1),Uxc,1,5,[this.i,this.e,this.j,this.k,this.d,this.g]))};_.zd=function xvb(){return Wub(this,new dic).a};_.b=false;_.c=false;var yM=Ufc(188);oU(93,1,{},Mvb);_.b=false;_.c=false;_.j=null;_.k=null;var xM=Ufc(93);oU(232,32,{232:1,3:1,40:1,
38:1},Nvb);var wM=Ufc(232);oU(129,1,TDc);_.wd=function uwb(a){return Tvb(this,a)};_.yd=function ywb(){return Imc(vC(qC(yR,1),Uxc,1,5,[Hgc(this.Vh()),this.Wh(),this.Uh(),this.Xh()]))};_.Yh=function Awb(a){return Tvb(this,a)};_.zd=function Kwb(){return nwb(this,new dic).a};var Ovb,Pvb,Qvb;var EM=Ufc(129);oU(689,1,{},Lxb);_.c=0;var Nwb,Owb,Pwb,Qwb,Rwb,Swb,Twb,Uwb,Vwb,Wwb,Xwb,Ywb,Zwb,$wb,_wb,axb,bxb,cxb,dxb,exb,fxb,gxb,hxb,ixb;var DM=Ufc(689);oU(316,1,{},Nxb);var zM=Ufc(316);oU(690,1,{},Rxb);_.a=-1;var AM=
Ufc(690);oU(218,14,{218:1,3:1,23:1,14:1},Wxb);var Sxb,Txb,Uxb;var BM=Vfc(218,lR,Xxb);oU(691,1,{},Yxb);var CM=Ufc(691);oU(456,1,{456:1},syb);_.L=false;_.N=false;_.S=false;var GM=Ufc(456);oU(792,1,dyc,wyb);_.oe=function Cyb(a){return this.a.K};_.getOrDefault=function Dyb(a,b){var c;return c=this.oe(a),c==null&&!this.containsKey(a)?b:c};_.put=function Hyb(a,b){return uyb()};_.putIfAbsent=function Jyb(a,b){var c;return c=this.oe(a),c!=null?c:this.put(a,b)};_.remove=function Kyb(a){return vyb()};_.replace=
function Lyb(a,b){return this.containsKey(a)?this.put(a,b):null};_.clear=function xyb(){throw QT(new jic);};_.containsKey=function yyb(a){return true};_.containsValue=function zyb(a){return oD(a)===oD(this.a.K)};_.ne=function Ayb(){throw QT(new jic);};_.wd=function Byb(a){return tyb(this,a)};_.yd=function Eyb(){throw QT(new jic);};_.isEmpty=function Fyb(){return false};_.keySet=function Gyb(){throw QT(new jic);};_.putAll=function Iyb(a){throw QT(new jic);};_.size=function Myb(){throw QT(new jic);
};_.values=function Nyb(){return fm(),new Jx(this.a.K)};var FM=Ufc(792);oU(74,129,TDc,Oyb);_.Uh=function Pyb(){return fm(),$w(),Zw};_.Vh=function Qyb(){return this.a};_.Zh=function Ryb(){return fm(),$w(),Zw};_.Wh=function(){return this.Zh()};_.Xh=function Syb(){return null};_.a=0;var HM=Ufc(74);oU(545,890,$Dc);var Tyb;var RM=Ufc(545);oU(365,545,$Dc,Yyb);_.ne=function Zyb(){return new ejc(this.a)};var IM=Ufc(365);oU(279,144,{144:1,279:1},_yb);_.Qh=function azb(){je(!this.w);return wwb(FAb(this.s,this.a,
null,null,this,false,(Pzb(),Nzb)))};_.a=null;var JM=Ufc(279);oU(231,1,{231:1},xzb);_.wd=function zzb(a){return fzb(this,a)};_.yd=function Azb(){return Imc(vC(qC(yR,1),Uxc,1,5,[this.b,this.a]))};_.zd=function Dzb(){return dzb(this,new dic).a};var bzb;var LM=Ufc(231);oU(795,129,TDc,Fzb);_.Uh=function Gzb(){return fm(),$w(),Zw};_.Vh=function Hzb(){return 34};_.Zh=function Izb(){return this.a};_.Wh=function(){return this.Zh()};_.Xh=function Jzb(){return null};var MM=Ufc(795);oU(195,1,{195:1},Qzb);_.a=
0;var Kzb,Lzb,Mzb,Nzb,Ozb;var NM=Ufc(195);oU(130,1,{130:1,933:1},kAb);_.wd=function oAb(a){return Wzb(this,a)};_.Rh=function sAb(a){return Xzb(this,a)};_.Sh=function tAb(a){return $zb(this,a)};_.yd=function xAb(){return Imc(vC(qC(yR,1),Uxc,1,5,[this.b,this.e,this.g,this.d]))};_.Th=function GAb(a){return cAb(this,a)};_.zd=function LAb(){return Tzb(this,new dic).a};_.c=false;var OM=Ufc(130);oU(546,1,{},RAb);_.b=0;var PM=Ufc(546);oU(794,129,TDc,SAb);_.Uh=function TAb(){return fm(),$w(),Zw};_.Vh=function UAb(){return 2};
_.Zh=function VAb(){return this.a};_.Wh=function(){return this.Zh()};_.Xh=function WAb(){return null};var QM=Ufc(794);oU(45,1,{45:1},_Ab);_.wd=function aBb(a){return YAb(this,a)};_.yd=function bBb(){return Imc(vC(qC(yR,1),Uxc,1,5,[this.d,this.a]))};_.zd=function fBb(){return XAb(this,new dic).a};var TM=Ufc(45);oU(238,14,{238:1,3:1,23:1,14:1},lBb);var hBb,iBb,jBb;var SM=Vfc(238,lR,mBb);oU(44,1,{},nBb,oBb);_.zd=function qBb(){return Pc(new Sc("."),this.a.Ld())};var UM=Ufc(44);oU(75,144,{144:1,75:1},
QBb);_.Qh=function RBb(){je(this.e);je(!this.w);return wwb(FAb(this.s,cyb(this.s),null,this.c,this,this.c.c,(Pzb(),Nzb)))};_.zd=function UBb(){return zBb(this,new dic).a};_.a=null;_.d=null;_.e=false;_.f=0;_.n=null;var VM=Ufc(75);oU(51,1,{},VBb);var WM=Ufc(51);oU(540,1,{540:1},_Bb);var YM=Ufc(540);oU(239,14,{239:1,3:1,23:1,14:1},eCb);var aCb,bCb,cCb;var XM=Vfc(239,lR,fCb);oU(793,129,TDc,gCb);_.Uh=function hCb(){return de(this.a)};_.Vh=function iCb(){return this.b};_.Zh=function jCb(){return de(this.c)};
_.Wh=function(){return this.Zh()};_.Xh=function kCb(){return this.d};_.b=0;var ZM=Ufc(793);oU(806,1,{},mCb);_.a=0;var $M=Ufc(806);oU(27,14,{27:1,3:1,23:1,14:1},wDb);var 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 _M=Vfc(27,lR,xDb);oU(213,1,{},yDb,zDb);_.b=0;var cN=Ufc(213);oU(214,14,{214:1,3:1,23:1,14:1},
FDb);var BDb,CDb,DDb;var aN=Vfc(214,lR,GDb);oU(119,14,{119:1,3:1,23:1,14:1},QDb);_.b=0;var HDb,IDb,JDb,KDb,LDb,MDb,NDb,ODb;var bN=Vfc(119,lR,SDb);oU(801,1,{},IEb);_.c=false;_.g=null;_.i=false;var TDb,UDb,VDb,WDb;var eN=Ufc(801);oU(802,1,{},jGb);var dN=Ufc(802);oU(361,1,{},mHb);_.d=null;_.f=false;_.o=null;var kGb,lGb;var iN=Ufc(361);oU(539,1,{539:1},pHb);_.a=0;_.b=0;var fN=Ufc(539);oU(362,1,{},qHb);var gN=Ufc(362);oU(237,14,{237:1,3:1,23:1,14:1},vHb);var rHb,sHb,tHb;var hN=Vfc(237,lR,wHb);oU(70,14,
{70:1,3:1,23:1,14:1},THb);var xHb,yHb,zHb,AHb,BHb,CHb,DHb,EHb,FHb,GHb,HHb,IHb,JHb,KHb,LHb,MHb,NHb,OHb,PHb,QHb,RHb;var kN=Vfc(70,lR,UHb);oU(242,1,{},cIb,dIb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var jN=Ufc(242);oU(923,1,{});var mN=Ufc(923);oU(850,923,{},gIb);_.eh=function hIb(a,b,c,d){};_.fh=function iIb(a,b,c,d){};var lN=Ufc(850);var jIb=null,kIb=null;oU(919,1,{});_.d=false;var wP=Ufc(919);oU(785,919,{},sIb);_.$h=function tIb(a,b){if(this.b||!this.a){this.a=true;
this.c.eh(b,a.d.c,a.b+1,a.a)}};_._h=function uIb(a,b){this.c.fh(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var nN=Ufc(785);oU(786,1,{},vIb);var oN=Ufc(786);oU(860,1,{},bJb);_.c=0;_.d=0;var qN=Ufc(860);oU(63,14,{63:1,3:1,23:1,14:1},BJb);_.a=0;_.b=0;_.c=0;var cJb,dJb,eJb,fJb,gJb,hJb,iJb,jJb,kJb,lJb,mJb,nJb,oJb,pJb,qJb,rJb,sJb,tJb,uJb,vJb,wJb,xJb,yJb,zJb;var pN=Vfc(63,lR,DJb);var EJb;oU(109,1,{109:1,3:1},UJb);_.wd=function VJb(a){return iD(a,109)&&a.b==this.b&&a.d==this.d&&a.a==this.a&&a.c==this.c};_.yd=
function WJb(){return Imc(vC(qC(yR,1),Uxc,1,5,[Hgc(this.b),(tfc(),this.d?true:false),this.a?true:false,this.c?true:false]))};_.zd=function XJb(){return"FeatureSet{number="+this.b+(this.d?", unsupported":"")+(this.a?", es6Modules":"")+(this.c?", typeScript":"")+"}"};_.a=false;_.b=0;_.c=false;_.d=false;var GJb,HJb,IJb,JJb,KJb,LJb,MJb,NJb,OJb,PJb;var sN=Ufc(109);oU(43,14,{43:1,3:1,23:1,14:1},OKb);_.toString=function PKb(){return this.b};var ZJb,$Jb,_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;var rN=Vfc(43,lR,QKb);oU(170,1,{170:1},RKb);_.zd=function SKb(){return cSb(this.c)};var EN=Ufc(170);oU(364,170,{364:1,170:1},TKb);_.zd=function UKb(){return this.a};var tN=Ufc(364);oU(37,14,{37:1,3:1,23:1,14:1},TLb);_.toString=function ZLb(){return this.b};var VKb,WKb,XKb,YKb,ZKb,$Kb,_Kb,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;var uN=Vfc(37,lR,$Lb);oU(828,1,{},cMb);var vN=Ufc(828);oU(101,170,{101:1,170:1},gMb);_.zd=function hMb(){return this.a};var wN=Ufc(101);oU(271,1,{},WOb,XOb);_.i=false;var iMb;var AN=Ufc(271);oU(799,1,{},ZOb);var xN=Ufc(799);oU(798,1,{},$Ob);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var yN=Ufc(798);oU(187,1,{},_Ob);_.a=null;_.b=false;_.c=false;var zN=Ufc(187);oU(800,1,{},OPb);_.d=0;_.f=0;var BN=Ufc(800);oU(797,1,{},YPb);
var CN=Ufc(797);oU(13,14,{13:1,3:1,23:1,14:1},dSb,eSb);_.toString=function fSb(){return cSb(this)};var ZPb,$Pb,_Pb,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,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;var DN=Vfc(13,lR,gSb);oU(8,1,{8:1});_.zd=function kSb(){return this.p+"@"+this.o};var VO=Ufc(8);oU(535,8,{535:1,8:1},lSb);var FN=Ufc(535);oU(848,8,{8:1},mSb);var GN=Ufc(848);oU(471,8,{471:1,8:1},nSb);var HN=Ufc(471);oU(515,8,{515:1,8:1},oSb);var IN=Ufc(515);oU(526,8,{526:1,8:1},pSb);var JN=Ufc(526);oU(517,8,{517:1,8:1},qSb);var KN=Ufc(517);oU(510,8,{510:1,8:1},rSb);var LN=Ufc(510);oU(103,8,{103:1,8:1},sSb);var MN=Ufc(103);oU(351,8,{351:1,8:1},tSb);var NN=
Ufc(351);oU(473,8,{473:1,8:1},uSb);var ON=Ufc(473);oU(474,8,{474:1,8:1},vSb);var PN=Ufc(474);oU(538,8,{538:1,8:1},wSb);_.c=false;var QN=Ufc(538);oU(475,8,{475:1,8:1},xSb);var RN=Ufc(475);oU(477,8,{477:1,8:1},ySb);var SN=Ufc(477);oU(506,8,{506:1,8:1},zSb);var TN=Ufc(506);oU(358,8,{358:1,8:1},ASb);var UN=Ufc(358);oU(466,1,{466:1},BSb);_.b=0;var VN=Ufc(466);oU(519,8,{519:1,8:1},CSb);var WN=Ufc(519);oU(520,8,{520:1,8:1},DSb);var XN=Ufc(520);oU(518,8,{518:1,8:1},ESb);var YN=Ufc(518);oU(355,8,{355:1,8:1},
FSb);var ZN=Ufc(355);oU(491,8,{491:1,8:1},GSb);_.b=false;var $N=Ufc(491);oU(492,8,{492:1,8:1},HSb);_.c=false;var _N=Ufc(492);oU(234,8,{234:1,8:1},ISb);var aO=Ufc(234);oU(493,8,{493:1,8:1},JSb);_.b=false;var bO=Ufc(493);oU(486,8,{486:1,8:1},KSb);var cO=Ufc(486);oU(478,8,{478:1,8:1},LSb);var dO=Ufc(478);oU(481,8,{481:1,8:1},MSb);var eO=Ufc(481);oU(476,8,{476:1,8:1},NSb);var fO=Ufc(476);oU(236,8,{236:1,8:1},OSb);var gO=Ufc(236);oU(479,8,{479:1,8:1},PSb);var hO=Ufc(479);oU(189,8,{189:1,8:1},QSb);var iO=
Ufc(189);oU(533,8,{533:1,8:1},RSb);var jO=Ufc(533);oU(512,8,{512:1,8:1},SSb);_.d=false;_.e=false;var kO=Ufc(512);oU(513,8,{513:1,8:1},TSb);var lO=Ufc(513);oU(480,8,{480:1,8:1},USb);var mO=Ufc(480);oU(503,8,{503:1,8:1},VSb);var nO=Ufc(503);oU(484,8,{484:1,8:1},WSb);var oO=Ufc(484);oU(511,8,{511:1,8:1},XSb);var pO=Ufc(511);oU(483,8,{483:1,8:1},YSb);var qO=Ufc(483);oU(192,8,{192:1,8:1},ZSb);var rO=Ufc(192);oU(485,8,{485:1,8:1},$Sb);_.e=false;_.f=false;_.g=false;_.i=false;var uO=Ufc(485);oU(104,1,{},
kTb);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var sO=Ufc(104);oU(190,14,{190:1,3:1,23:1,14:1},qTb);var lTb,mTb,nTb,oTb;var tO=Vfc(190,lR,rTb);oU(529,8,{529:1,8:1},sTb);var vO=Ufc(529);oU(531,8,{531:1,8:1},tTb);var wO=Ufc(531);oU(504,8,{504:1,8:1},uTb);_.b=false;var xO=Ufc(504);oU(276,8,{276:1,8:1},vTb);var yO=Ufc(276);oU(487,8,{487:1,8:1},wTb);var zO=Ufc(487);oU(359,8,{359:1,8:1},xTb);var AO=Ufc(359);oU(514,8,{514:1,8:1},yTb);var BO=Ufc(514);oU(537,
8,{537:1,8:1},zTb);var CO=Ufc(537);oU(532,8,{532:1,8:1},ATb);var DO=Ufc(532);oU(488,8,{488:1,8:1},BTb);var EO=Ufc(488);oU(357,8,{357:1,8:1},CTb);var FO=Ufc(357);oU(353,8,{353:1,8:1},DTb);var GO=Ufc(353);oU(352,8,{352:1,8:1},ETb);var HO=Ufc(352);oU(278,8,{278:1,8:1},FTb);_.c=false;_.d=false;var IO=Ufc(278);oU(277,8,{277:1,8:1},GTb);var JO=Ufc(277);oU(536,8,{536:1,8:1},HTb);var KO=Ufc(536);oU(849,8,{8:1},ITb);var LO=Ufc(849);oU(354,8,{354:1,8:1},JTb);var MO=Ufc(354);oU(508,8,{508:1,8:1},KTb);var NO=
Ufc(508);oU(191,8,{191:1,8:1},LTb);var OO=Ufc(191);oU(490,8,{490:1,8:1},MTb);var PO=Ufc(490);oU(516,8,{516:1,8:1},NTb);var QO=Ufc(516);oU(524,8,{524:1,8:1},OTb);var RO=Ufc(524);oU(525,8,{525:1,8:1},PTb);var SO=Ufc(525);oU(489,8,{489:1,8:1},QTb);var TO=Ufc(489);oU(17,14,{17:1,3:1,23:1,14:1},FVb);var RTb,STb,TTb,UTb,VTb,WTb,XTb,YTb,ZTb,$Tb,_Tb,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,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;var UO=Vfc(17,lR,GVb);oU(457,8,{8:1,457:1},HVb);var WO=Ufc(457);oU(235,8,{8:1,235:1},IVb);var XO=Ufc(235);oU(527,8,{8:1,527:1},JVb);var YO=Ufc(527);oU(521,8,{8:1,521:1},KVb);var ZO=Ufc(521);oU(494,8,{8:1,494:1},LVb);var $O=Ufc(494);oU(505,8,{8:1,505:1},MVb);_.b=false;var _O=Ufc(505);oU(522,8,{8:1,522:1},NVb);var aP=Ufc(522);
oU(507,8,{8:1,507:1},OVb);var bP=Ufc(507);oU(495,8,{8:1,495:1},PVb);var cP=Ufc(495);oU(348,8,{8:1,348:1},QVb);var dP=Ufc(348);oU(349,8,{8:1,349:1},RVb);var eP=Ufc(349);oU(350,8,{8:1,350:1},SVb);var fP=Ufc(350);oU(482,8,{8:1,482:1},TVb);var gP=Ufc(482);oU(496,8,{8:1,496:1},UVb);var hP=Ufc(496);oU(497,8,{8:1,497:1},VVb);var iP=Ufc(497);oU(534,8,{8:1,534:1},WVb);var jP=Ufc(534);oU(360,8,{8:1,360:1},XVb);var kP=Ufc(360);oU(530,8,{8:1,530:1},YVb);var lP=Ufc(530);oU(523,8,{8:1,523:1},ZVb);var mP=Ufc(523);
oU(472,8,{8:1,472:1},$Vb);var nP=Ufc(472);oU(528,8,{8:1,528:1},_Vb);var oP=Ufc(528);oU(356,8,{8:1,356:1},aWb);_.c=0;var pP=Ufc(356);oU(499,8,{8:1,499:1},bWb);var qP=Ufc(499);oU(500,8,{8:1,500:1},cWb);var rP=Ufc(500);oU(498,8,{8:1,498:1},dWb);var sP=Ufc(498);oU(501,8,{8:1,501:1},eWb);var tP=Ufc(501);oU(502,8,{8:1,502:1},fWb);var uP=Ufc(502);oU(509,8,{8:1,509:1},gWb);_.b=false;var vP=Ufc(509);oU(862,919,{},hWb);_.$h=function iWb(a,b){throw QT(new kWb);};_._h=function jWb(a,b){};var yP=Ufc(862);oU(368,
32,{368:1,3:1,40:1,38:1},kWb);var xP=Ufc(368);oU(346,1,{},mWb);_.zd=function nWb(){return TWb("%s(%d, %d)",vC(qC(yR,1),Uxc,1,5,[lWb(this),Hgc(this.b+1),Hgc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var zP=Ufc(346);oU(12,1,{},oWb);_.zd=function pWb(){return TWb("<%s - %s>",vC(qC(yR,1),Uxc,1,5,[this.b,this.a]))};var AP=Ufc(12);oU(829,1,{},sWb);_.b=0;var qWb;var CP=Ufc(829);oU(465,1,{465:1},vWb);_.a=0;_.b=0;var BP=Ufc(465);oU(723,32,Hyc,wWb);var DP=Ufc(723);oU(724,32,Hyc,xWb);var EP=Ufc(724);oU(328,32,Hyc,yWb);
var FP=Ufc(328);oU(721,32,Hyc,zWb);var GP=Ufc(721);oU(722,32,Hyc,AWb);var HP=Ufc(722);oU(325,32,Hyc,BWb);var IP=Ufc(325);oU(720,32,Hyc,CWb);var JP=Ufc(720);oU(676,1,{},SWb);var MP=Ufc(676);oU(678,1,{},bXb);_.b=0;_.c=0;_.d=0;var KP=Ufc(678);oU(677,1,{},iXb);_.a=-1;_.b=Kxc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var LP=Ufc(677);oU(326,32,Hyc,jXb);var NP=Ufc(326);oU(249,1,{249:1,3:1},fYb);_.wd=function gYb(a){if(this===a)return true;if(a==null)return false;
if(OP!=pb(a))return false;return qhc(this.a,a.a)};_.yd=function hYb(){return wxc(this.a)};_.zd=function iYb(){return"InputId: "+this.a};var OP=Ufc(249);oU(323,1,{323:1,3:1},EZb,FZb);_.zd=function IZb(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var YP=Ufc(323);oU(715,1,{},JZb);var PP=Ufc(715);oU(65,1,Nxc,PZb);_.zd=function QZb(){return Od(Nd(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(Md(new Pd((Ofc(QP),QP.k)),"bitfield",this.o==0?null:(this.o>>>0).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),gBc,this.b),"license",this.i),"suppressions",this.p),"lendsName",this.g)))};_.o=0;var QP=Ufc(65);oU(434,1,{434:1},VZb);var RP=Ufc(434);oU(324,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var iQ=Ufc(324);oU(716,324,{},ZZb);var SP=Ufc(716);oU(432,324,{},_Zb);var TP=Ufc(432);oU(433,432,{},b$b);var UP=
Ufc(433);oU(717,324,{},c$b);_.a=false;var VP=Ufc(717);oU(166,14,{166:1,3:1,23:1,14:1},k$b);var e$b,f$b,g$b,h$b,i$b;var WP=Vfc(166,lR,l$b);oU(89,1,{},E_b,F_b);_.c=false;_.d=false;var XP=Ufc(89);oU(79,1,{79:1,3:1},J_b);_.wd=function K_b(a){return iD(a,79)&&a.a.di(this.a,false,true,false)};_.yd=function L_b(){return wxc(W0b(this.a))};_.zd=function M_b(){return"type: "+W0b(this.a)};var ZP=Ufc(79);oU(7,1,{7:1,3:1},_0b,a1b,b1b,c1b,d1b,e1b,f1b);_.ai=function g1b(a){return Z_b(this,new _0b(this.j),a)};_.bi=
function j1b(){if(this.j==(m5b(),r4b))throw QT(new sgc(PFc));else throw QT(new kic(this+" is not a number node"));};_.ci=function k1b(){if(this.j==(m5b(),Q4b))throw QT(new sgc(QFc));else throw QT(new kic(this+RFc));};_.di=function l1b(a,b,c,d){return n0b(this,a,b,c,d)};_.ei=function m1b(){return false};_.fi=function p1b(a){if(this.j==(m5b(),r4b))throw QT(new sgc(PFc));else throw QT(new kic(this+RFc));};_.gi=function q1b(){throw QT(new sgc(this+" is not a StringNode"));};_.hi=function r1b(a){if(this.j==
(m5b(),Q4b)||this.j==g4b)throw QT(new sgc(QFc));else throw QT(new kic(this+RFc));};_.zd=function s1b(){return V0b(this,true,true,true)};_.c=0;_.i=0;var hQ=Ufc(7);oU(404,1,Nxc);_.ki=function v1b(){return this.b};_.mi=function w1b(){return this.c};_.c=0;var $P=Ufc(404);oU(405,1,_xc,x1b);_.Ld=function y1b(){return new A1b(this)};var aQ=Ufc(405);oU(299,1,Pxc,A1b);_.Ed=function C1b(){return z1b(this)};_.Dd=function B1b(){return!!this.a.a};_.Fd=function D1b(){throw QT(new jic);};var _P=Ufc(299);oU(26,404,
Nxc,E1b);_.ii=function F1b(a){return new E1b(this.c,this.a,a)};_.ji=function G1b(){return this.a};_.li=function H1b(){throw QT(new jic);};_.zd=function I1b(){return""+this.a};_.a=0;var bQ=Ufc(26);oU(59,7,{7:1,59:1,3:1},J1b);_.ai=function K1b(a){return Z_b(this,new J1b(this.a),a)};_.bi=function L1b(){return this.a};_.di=function M1b(a,b,c,d){var e,f,g;e=n0b(this,a,b,c,d);if(e){g=this.a;f=a.a;if(g==f)return g!=0||1/g==1/f}return false};_.fi=function N1b(a){this.a=a};_.a=0;var cQ=Ufc(59);oU(57,404,Nxc,
O1b);_.ii=function P1b(a){return new O1b(this.c,this.a,a)};_.ji=function Q1b(){throw QT(new jic);};_.li=function R1b(){return this.a};_.zd=function S1b(){return Qhc(this.a)};var dQ=Ufc(57);oU(50,1,{16:1,28:1},V1b);_.Ed=function Y1b(){return U1b(this)};_.Dd=function W1b(){return!!this.a};_.Ld=function X1b(){return T1b(this)};_.Fd=function Z1b(){throw QT(new jic);};_.c=false;var eQ=Ufc(50);oU(9,7,{7:1,9:1,3:1},_1b,a2b);_.ai=function b2b(a){return Z_b(this,new _1b(this.j,this.a),a)};_.ci=function c2b(){return this.a};
_.di=function d2b(a,b,c,d){return n0b(this,a,b,c,d)&&qhc(this.a,a.a)};_.ei=function e2b(){return e0b(this,36)!=0};_.gi=function f2b(){var a;a=A0b(this,this.g,36);a!=this.g&&(this.g=a);this.g=new E1b(36,1,this.g)};_.hi=function g2b(a){$1b(this,a)};var fQ=Ufc(9);oU(92,7,{7:1,92:1,3:1},h2b,i2b,j2b);_.ai=function k2b(a){return Z_b(this,new j2b(this.j,this.a),a)};_.ci=function l2b(){return this.a};var gQ=Ufc(92);oU(10,14,{10:1,3:1,23:1,14:1},n5b);var n2b,o2b,p2b,q2b,r2b,s2b,t2b,u2b,v2b,w2b,x2b,y2b,z2b,
A2b,B2b,C2b,D2b,E2b,F2b,G2b,H2b,I2b,J2b,K2b,L2b,M2b,N2b,O2b,P2b,Q2b,R2b,S2b,T2b,U2b,V2b,W2b,X2b,Y2b,Z2b,$2b,_2b,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,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;var jQ=Vfc(10,lR,p5b);oU(19,1,XFc);_.wd=function M5b(a){return iD(a,19)&&B5b(this,a,0,new j9b(true))};_.ni=function O5b(a){return P5b(this,a)};_.oi=function Q5b(a){var b;if(a.Ni())return hec(a.Ni(),this);return b=B5b(this,a,0,new j9b(true)),b?this:N5b(Kac(this.u,vC(qC(BQ,1),Uxc,19,0,[this,a])))};_.pi=function R5b(){return this.v};_.qi=function S5b(){return Edc(this.v)};_.yd=function T5b(){return Ywc(this)};_.ri=
function U5b(){return false};_.si=function V5b(){return false};_.Yh=function X5b(a){return B5b(this,a,0,new j9b(true))};_.ti=function Y5b(){return false};_.ui=function Z5b(){return false};_.vi=function $5b(){return false};_.wi=function _5b(){return false};_.xi=function a6b(){return false};_.yi=function b6b(){return false};_.zi=function c6b(){return false};_.Ai=function d6b(){return false};_.Bi=function e6b(){return false};_.Ci=function f6b(a){return h6b(this,a,new m9b(true),0)};_.Di=function g6b(a,
b,c){return h6b(this,a,b,c)};_.Ei=function i6b(){return false};_.Fi=function j6b(){return false};_.Gi=function k6b(){return this};_.Hi=function l6b(){return null};_.Ii=function m6b(){return null};_.Ji=function n6b(){return null};_.Ki=function o6b(){return null};_.Li=function p6b(){return null};_.Mi=function q6b(){return null};_.Ni=function r6b(){return null};_.zd=function s6b(){return this.Oi(false)};_.t=false;var y5b,z5b;var BQ=Ufc(19);oU(845,19,XFc,t6b);_.ri=function u6b(){return true};_.Oi=function v6b(a){return"*"};
_.Pi=function w6b(a){return a.Og()};var kQ=Ufc(845);oU(82,19,{61:1,82:1,19:1,3:1},D6b,E6b);_.ni=function F6b(a){throw QT(new jic);};_.oi=function G6b(a){throw QT(new jic);};_.Qi=function H6b(){return E5b(this.b)||z6b(this)};_.qi=function(){return this.Qi()};_.yd=function I6b(){return B6b(this)};_.Ci=function J6b(a){return C6b(this,a,new m9b(true),0)};_.Di=function K6b(a,b,c){return C6b(this,a,b,c)};_.Oi=function L6b(a){return"[ArrowType]"};_.Pi=function M6b(a){throw QT(new jic);};_.c=false;var lQ=
Ufc(82);oU(241,19,XFc);var aR=Ufc(241);oU(840,241,XFc,O6b);_.Oi=function P6b(a){return Axc};_.Pi=function Q6b(a){return a.Pg()};var mQ=Ufc(840);oU(55,19,YFc);_.Ri=function _6b(){this.s=true};_.Ti=function a7b(){return fm(),$w(),Zw};_.Vi=function b7b(){return this.Xi().b.keySet()};_.Wi=function c7b(){return null};_.Xi=function d7b(){return jcc(),jcc(),hcc};_.Yi=function e7b(a){return V6b(this,a)};_.$i=function f7b(a){return pcc(this.Xi(),a)};_._i=function g7b(){return false};_.ui=function h7b(){return!!this.Wi()};
_.aj=function i7b(){return false};_.Ai=function j7b(){return true};_.Bi=function l7b(){var a;a=this.Si();return!!a&&a.e==2&&a.d};_.Ei=function m7b(){return Y6b(this)};_.bj=function n7b(a){};_.Pi=function o7b(a){return a.Wg(this)};_.s=true;var IQ=Ufc(55);oU(807,55,YFc,r7b);_.Si=function s7b(){return!this.c?null:this.c.Si()};_.Ui=function t7b(){return null};_.cj=function u7b(){return!this.c?(jcc(),jcc(),hcc):this.c.Xi()};_.Xi=function(){return this.cj()};_.Zi=function v7b(){return this.b};_._i=function w7b(){return true};
_.yd=function x7b(){return wxc(this.b)};_.yi=function y7b(){return true};_.Ai=function z7b(){return this.d.Ai()};_.Ci=function A7b(a){return p7b(this,a,new m9b(true),0)};_.Di=function B7b(a,b,c){return p7b(this,a,b,c)};_.Hi=function C7b(){return this};_.Oi=function D7b(a){return a?this.d.Oi(false):this.b+"<"+this.d+">"};_.Pi=function E7b(a){return a.Qg(this)};var nQ=Ufc(807);oU(151,55,YFc,J7b,K7b);_.dj=function M7b(a,b,c,d){return F7b(this,a,b,c,d)};_.Si=function N7b(){return null};_.Ti=function O7b(){return this.p?
this.p.b:(Gm(),Gm(),Fm)};_.ej=function P7b(){return this.p?g8b(this.p):(Gm(),Gm(),Fm)};_.Ui=function Q7b(){return this.n};_.Wi=function R7b(){return this.p};_.Xi=function S7b(){return this.r};_.Zi=function T7b(){return this.k!=null?this.k:this.p?this.p.Zi()+ZBc:null};_.fj=function U7b(){return!this.s};_._i=function V7b(){return this.k!=null||!!this.p};_.aj=function W7b(){return this.o};_.Ci=function X7b(a){return this.Di(a,new m9b(true),0)};_.Di=function Y7b(a,b,c){var d,e,f,g,h;if(h6b(this,a,b,c))return true;
if(a.Ni())return false;if(a.Ki())return Z7b(this,a.Ki(),b,c);e=iD(a,55)?a:null;d=!e?null:e.Si();if(!!this.Si()&&this.Si().e==2)for(g=es(new yoc(this.Ti().a.b.Ld()));g.Dd();){f=g.Ed();if(f.Di(a,b,c))return true}else if(!!d&&d.e==2){h=this.ej();for(g=h.Ld();g.Dd();){f=g.Ed();if(f.Di(a,b,c))return true}}if(Y6b(this)||G7b(this))return true;return!!e&&W6b(this,e)};_.bj=function $7b(a){je(!this.p||!a);this.p=a};_.Oi=function _7b(a){return I7b(this,a)};_.o=false;_.p=null;_.q=false;var MQ=Ufc(151);oU(69,
151,$Fc,q8b);_.Zi=function v8b(){return this.k!=null?this.k:this.p?this.p.Zi()+ZBc:null};_.Ri=function r8b(){e8b(this)};_.dj=function s8b(a,b,c,d){var e;if(qhc(Hzc,a)){e=iD(b,55)?b:null;if(e){if(!!this.f&&B5b(e,this.f.e,0,new j9b(true)))return true;m8b(this,e,d);return true}else return false}return F7b(this,a,b,c,d)};_.Vi=function t8b(){var a;if(!this.f)return this.r.b.keySet();else{a=(fm(),new Mq);Jlc(a.a,de(Hzc));Lq(a,this.r.b.keySet());return ro(new pmc(a.a))}};_.Yi=function u8b(a){var b,c,d;if(!mcc(this.r,
a)){d=qhc(uBc,a);c=qhc("bind",a);if(d||c)T6b(this,a,f8b(this,d),this.g);else if(qhc(qBc,a)){b=new T8b(this.u);P8b(b,vC(qC(BQ,1),Uxc,19,0,[Eac(this.u,F5b(this.j)?Oac(this.u,(wac(),sac)):this.j),Eac(this.u,Oac(this.u,(wac(),_9b)))]));T6b(this,a,H8b(M8b(L8b(K8b(new O8b(this.u),b.b),this.a.b),this.v.d)),this.g)}}return V6b(this,a)};_.$i=function w8b(a){return j8b(this,a)};_.Qi=function x8b(){return Hdc(this.v)>0||E5b(this.j)||E5b(this.a)};_.qi=function(){return this.Qi()};_.fj=function y8b(){return!!this.f||
!this.s};_.yd=function z8b(){return this.e==2?wxc(this.Zi()):B6b(this.a)};_.gj=function A8b(){return this.e==1};_.Ci=function B8b(a){return this.Di(a,new m9b(true),0)};_.Di=function C8b(a,b,c){var d,e;if(h6b(this,a,b,c))return true;if(a.Ji()){d=a.Ji();if(d.e==2)return true;if(this.e==2)return false;return e=!!J5b(d.j)&&!!J5b(d.j).Si()&&J5b(d.j).Si().e==2||d.j.Di(this.j,b,0)||this.j.Di(d.j,b,0),e&&C6b(this.a,d.a,b,c)}return D5b(this,(wac(),I9b)).Di(a,b,c)};_.Ji=function D8b(){return this};_.Oi=function E8b(a){var b,
c,d,e;if(!this.q||this==Oac(this.u,(wac(),H9b)))return ACc;this.q=false;b=new eic;b.a+="function (";e=b0b(this.a.a);c=!iD(this.j,193);if(c){this.gj()?(b.a+="new:",b):(b.a+="this:",b);_hc(b,this.j.Oi(a))}if(e>0){c&&(b.a+=Sxc,b);d=this.a.a.b;e0b(d,30)!=0?c8b(this,b,iD(d.k,19)?d.k:null,a):e0b(d,37)!=0?b8b(this,b,iD(d.k,19)?d.k:null,a):_hc(b,I5b(iD(d.k,19)?d.k:null,a));d=d.d;while(d){b.a+=Sxc;e0b(d,30)!=0?c8b(this,b,iD(d.k,19)?d.k:null,a):e0b(d,37)!=0?b8b(this,b,iD(d.k,19)?d.k:null,a):_hc(b,I5b(iD(d.k,
19)?d.k:null,a));d=d.d}}b.a+="): ";_hc(b,I5b(this.a.b,a));this.q=true;return b.a};_.Pi=function F8b(a){return a.Rg(this)};_.d=false;_.e=0;var rQ=Ufc(69);oU(171,69,$Fc,G8b);var oQ=Ufc(171);oU(196,1,{},O8b);_.a=false;_.b=false;_.c=null;_.e=null;_.f=null;_.g=null;var pQ=Ufc(196);oU(281,1,{},T8b);var qQ=Ufc(281);oU(851,151,YFc,U8b);_.dj=function V8b(a,b,c,d){var e,f;e=i8b(this.a);if(!!e&&!!mcc(e.Xi(),a)&&(f=e.$i(a),!!f&&!f.b))return false;return F7b(this,a,b,c,d)};_.Si=function W8b(){return this.a};_.Ti=
function X8b(){return this.a.b};_.ej=function Y8b(){return g8b(this.a)};_.Ui=function Z8b(){return i8b(this.a)};_.Zi=function $8b(){return this.a.Zi()};_._i=function _8b(){return this.a._i()};_.yd=function a9b(){return this.a._i()?wxc(this.a.Zi()):Ywc(this)};_.yi=function b9b(){return this.a._i()};_.Oi=function c9b(a){return this.a._i()?this.a.Zi():I7b(this,a)};var sQ=Ufc(851);oU(719,1,rzc,d9b);_.He=function e9b(a,b){return mhc(a.Oi(false),b.Oi(false))};_.wd=function f9b(a){return this===a};var tQ=
Ufc(719);oU(436,1,{});_.b=false;var wQ=Ufc(436);oU(81,436,{},j9b);var uQ=Ufc(81);oU(107,436,{},m9b);var vQ=Ufc(107);oU(222,14,{222:1,3:1,23:1,14:1},r9b);_.a=false;var n9b,o9b,p9b;var xQ=Vfc(222,lR,s9b);oU(30,14,{30:1,3:1,23:1,14:1},xac);var t9b,u9b,v9b,w9b,x9b,y9b,z9b,A9b,B9b,C9b,D9b,E9b,F9b,G9b,H9b,I9b,J9b,K9b,L9b,M9b,N9b,O9b,P9b,Q9b,R9b,S9b,T9b,U9b,V9b,W9b,X9b,Y9b,Z9b,$9b,_9b,aac,bac,cac,dac,eac,fac,gac,hac,iac,jac,kac,lac,mac,nac,oac,pac,qac,rac,sac,tac,uac,vac;var yQ=Vfc(30,lR,yac);oU(388,1,Nxc,
Wac);_.bh=function Xac(a){return this.i[a.f]};_.dh=function Yac(a){return Pac(this,a)};var AQ=Ufc(388);oU(759,69,$Fc,Zac);_.Si=function $ac(){return Oac(this.u,(wac(),G9b))};var zQ=Ufc(759);oU(838,1,{});_.Og=function fbc(){return ebc(this,(wac(),t9b))};_.Pg=function gbc(){return ebc(this,(wac(),y9b))};_.Qg=function hbc(a){return a};_.Rg=function ibc(a){return _ac(this,a)};_.Sg=function jbc(){return ebc(this,(wac(),M9b))};_.Tg=function kbc(a){return a};_.Ug=function lbc(){return ebc(this,(wac(),P9b))};
_.Vg=function mbc(){return ebc(this,(wac(),V9b))};_.Wg=function nbc(a){return abc(this,a)};_.Xg=function obc(a){return bbc(this,a)};_.Yg=function pbc(){return ebc(this,(wac(),iac))};_.Zg=function rbc(a){return this.hj(a)};_.$g=function sbc(a){return cbc(this,a)};_._g=function tbc(){return ebc(this,(wac(),sac))};_.ah=function ubc(){return ebc(this,(wac(),vac))};_.hj=function qbc(a){return a};_.g=false;var CQ=Ufc(838);oU(541,69,$Fc,vbc);_.dj=function wbc(a,b,c,d){return true};_.Si=function xbc(){return null};
_.Ui=function ybc(){return null};_.Zi=function zbc(){return null};_._i=function Abc(){return false};_.yd=function Bbc(){return Ywc(this)};_.gj=function Cbc(){return false};_.vi=function Dbc(){return true};_.Ci=function Ebc(a){return this.Di(a,new m9b(true),0)};_.Di=function Fbc(a,b,c){return h6b(this,a,b,c)||a.Ai()&&!a.xi()&&!a.wi()};_.Ji=function Gbc(){return null};_.Oi=function Hbc(a){return a?"?":"NoObject"};_.Pi=function Ibc(a){return a.Sg()};var DQ=Ufc(541);oU(542,541,$Fc,Jbc);_.vi=function Kbc(){return false};
_.xi=function Lbc(){return true};_.Ci=function Mbc(a){return this.Di(a,null,0)};_.Di=function Nbc(a,b,c){return true};_.Oi=function Obc(a){return a?"?":"None"};_.Pi=function Pbc(a){return a.Tg(this)};var FQ=Ufc(542);oU(846,542,$Fc,Rbc);_.gj=function Sbc(){return false};_.wi=function Tbc(){return true};_.xi=function Ubc(){return false};_.Ci=function Vbc(a){return Qbc(this,a,new m9b(true),0)};_.Di=function Wbc(a,b,c){return Qbc(this,a,b,c)};_.Oi=function Xbc(a){return a?"?":"NoResolvedType"};var EQ=
Ufc(846);oU(841,241,XFc,Ybc);_.zi=function Zbc(){return true};_.Gi=function $bc(){return Oac(this.u,(wac(),O9b))};_.Oi=function _bc(a){return Mxc};_.Pi=function acc(a){return a.Ug()};var GQ=Ufc(841);oU(842,241,XFc,bcc);_.Oi=function ccc(a){return Bxc};_.Pi=function dcc(a){return a.Vg()};var HQ=Ufc(842);oU(366,1,{366:1,3:1},fcc);_.zd=function gcc(){return"Property {  name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var LQ=Ufc(366);oU(282,1,{282:1,3:1},scc,tcc);_.a=null;
var hcc,icc;var KQ=Ufc(282);oU(857,1,Ayc,ucc);_.Jd=function vcc(a){return a.Xi()};_.wd=function wcc(a){return this===a};var JQ=Ufc(857);oU(143,55,{61:1,19:1,55:1,143:1,3:1});_.Si=function zcc(){return!this.b?null:this.b.Si()};_.Ti=function Acc(){return!this.b?(gnc(),gnc(),enc):this.b.Ti()};_.Ui=function Bcc(){return!this.b?null:this.b.Ui()};_.Wi=function Ccc(){return!this.b?null:this.b.Wi()};_.Xi=function Dcc(){return!this.b?(jcc(),jcc(),hcc):this.b.Xi()};_.Zi=function Ecc(){return!this.b?"":this.b.Zi()};
_.pi=function Fcc(){return this.c.pi()};_.Qi=function Gcc(){return E5b(this.c)};_.qi=function(){return this.Qi()};_._i=function Hcc(){return kxc(!this.b?null:(tfc(),this.b._i()?true:false))};_.yd=function Icc(){return this.c.yd()};_.ri=function Jcc(){return this.c.ri()};_.si=function Kcc(){return this.c.si()};_.aj=function Lcc(){return!!this.b&&this.b.aj()};_.vi=function Mcc(){return this.c.vi()};_.wi=function Ncc(){return this.c.wi()};_.xi=function Occ(){return this.c.xi()};_.yi=function Pcc(){return this.c.yi()};
_.Bi=function Qcc(){return this.c.Bi()};_.Ci=function Rcc(a){return this.c.Di(a,new m9b(true),0)};_.Di=function Scc(a,b,c){return this.c.Di(a,b,c)};_.Ei=function Tcc(){return this.c.Ei()};_.Hi=function Ucc(){return this.c.Hi()};_.Ii=function Vcc(){return this.c.Ii()};_.Ji=function Wcc(){return this.c.Ji()};_.Ki=function Xcc(){return this.c.Ki()};_.Li=function Ycc(){return this.c.Li()};_.Mi=function Zcc(){return this.c.Mi()};_.Ni=function $cc(){return this.c.Ni()};_.Oi=function _cc(a){return this.c.Oi(a)};
_.Pi=function adc(a){return a.Xg(this)};var NQ=Ufc(143);oU(858,151,YFc,edc);_.dj=function fdc(a,b,c,d){return bdc(this,a,b,c,d)};_.Ui=function gdc(){return Oac(this.u,(wac(),_9b))};_.Bi=function hdc(){return true};_.Ci=function idc(a){return ddc(this,a,new m9b(true),0)};_.Di=function jdc(a,b,c){return ddc(this,a,b,c)};_.Ki=function kdc(){return this};_.a=false;var QQ=Ufc(858);oU(548,1,{},ndc);_.a=true;_.b=true;var PQ=Ufc(548);oU(367,1,{367:1},odc);var OQ=Ufc(367);oU(843,241,XFc,pdc);_.Oi=function qdc(a){return Dxc};
_.Pi=function rdc(a){return a.Yg()};var RQ=Ufc(843);oU(233,143,{61:1,19:1,55:1,143:1,233:1,3:1},sdc);_.Zi=function tdc(){return this.a};_.Qi=function udc(){return true};_.Li=function vdc(){return this};_.Oi=function wdc(a){return this.a};_.Pi=function xdc(a){return a.Zg(this)};var UQ=Ufc(233);oU(460,1,Nxc,Idc);_.zd=function Kdc(){var a,b,c;c="";b=this.d.size();c+="{ ";for(a=0;a<b;a++){c+="(";c+=this.d.getAtIndex(a);c+=",";c+=a<this.e.size()?this.e.getAtIndex(a):"";c+=",";c+=this.c!=null&&a<this.c.length?
this.c[a]:"";c+=") "}c+="}";return c};_.a=false;var TQ=Ufc(460);oU(469,838,{},Mdc);_.hj=function Ndc(a){var b,c,d;if(Fdc(this.c,a))if(Ldc(this,a))return a;else if(Bdc(this.c,a)!=-1){c=Ddc(this.c,a);if(c==this.a||(c.Gi().Mi(),false))return a;Ukc(this.d,a);d=c.Pi(this);b=clc(this.d);cxc(b!=null);oe(d!=this.a,"Trying to replace key %s with the same value",this.a);return d}else return this.b?Oac(this.e,(wac(),sac)):a;else return a};_.a=null;_.b=false;var SQ=Ufc(469);oU(152,14,_Fc);var Odc,Pdc,Qdc;var YQ=
Vfc(152,lR,Tdc);oU(782,152,_Fc,Udc);_.ij=function Vdc(){return Pdc};_.jj=function Wdc(a){return false};_.toString=function Xdc(){return aAc};var VQ=Vfc(782,YQ,null);oU(783,152,_Fc,Ydc);_.ij=function Zdc(){return Odc};_.jj=function $dc(a){return true};_.toString=function _dc(){return bAc};var WQ=Vfc(783,YQ,null);oU(784,152,_Fc,aec);_.ij=function bec(){return Qdc};_.jj=function cec(a){return a};_.toString=function dec(){return _Ec};var XQ=Vfc(784,YQ,null);oU(796,19,XFc,qec);_.oi=function rec(a){return hec(this,
a)};_.Qi=function sec(){var a,b;for(b=this.b.Ld();b.Dd();){a=b.Ed();if(E5b(a))return true}return false};_.qi=function(){return this.Qi()};_.yd=function tec(){return this.c};_.ti=function uec(){var a,b;for(b=this.b.Ld();b.Dd();){a=b.Ed();if(a.ti())return true}return false};_.Ai=function vec(){return kec(this)};_.Ci=function wec(a){return lec(this,a,new m9b(true),0)};_.Di=function xec(a,b,c){return lec(this,a,b,c)};_.Ei=function yec(){return mec(this)};_.Gi=function zec(){return pec(this)};_.Ni=function Aec(){return this};
_.Oi=function Bec(a){var b,c,d,e,f,g,h;e=new dic;d=true;e.a+="(";f=new lvc(y5b);Xc(f,this.b);for(h=(c=(new Jkc(f.a)).a.ne().b.xj(),new Pkc(c));h.a.Dd();){g=(b=h.a.Ed(),b.xe());d||(e.a+="|",e);_hc(e,g.Oi(a));d=false}e.a+=")";return e.a};_.Pi=function Cec(a){return a.$g(this)};_.c=0;var $Q=Ufc(796);oU(110,1,{110:1,3:1},Jec,Kec);_.b=true;_.c=false;_.d=-1;_.e=false;_.f=false;_.g=0;_.j=null;var ZQ=Ufc(110);oU(193,55,{61:1,19:1,55:1,193:1,3:1},Lec);_.Si=function Mec(){return null};_.Ui=function Nec(){return null};
_.Zi=function Oec(){return this.a?"??":"?"};_.si=function Pec(){return this.a};_.Ci=function Qec(a){return true};_.Di=function Rec(a,b,c){return true};_.Ei=function Sec(){return true};_.Oi=function Tec(a){return this.a?"??":"?"};_.Pi=function Uec(a){return a._g()};_.a=false;var _Q=Ufc(193);oU(844,241,XFc,Vec);_.ti=function Wec(){return true};_.Fi=function Xec(){return true};_.Gi=function Yec(){return Oac(this.u,(wac(),O9b))};_.Oi=function Zec(a){return EBc};_.Pi=function $ec(a){return a.ah()};var bR=
Ufc(844);var _ec="/";oU(247,1,{374:1});_.kj=function gfc(){return this.a.length};_.lj=function hfc(a,b){return Hhc(this.a,a,b)};_.zd=function ifc(){return this.a};var dR=Ufc(247);oU(182,32,{3:1,182:1,40:1,38:1},jfc);var eR=Ufc(182);oU(98,32,Hyc,kfc,lfc);var qR=Ufc(98);oU(718,98,Hyc,mfc);var fR=Ufc(718);oU(115,38,Fyc,nfc);var mR=Ufc(115);oU(77,115,Fyc,pfc,qfc);var gR=Ufc(77);cD={3:1,597:1,23:1};var rfc,sfc;var hR=Ufc(597);oU(149,1,{3:1,149:1,23:1},yfc);_.Qd=function zfc(a){return this.a-a.a};_.wd=
function Bfc(a){return iD(a,149)&&a.a==this.a};_.yd=function Dfc(){return this.a};_.zd=function Jfc(){return String.fromCharCode(this.a)};_.a=0;var iR=Ufc(149);var Lfc;oU(203,1,{3:1,203:1});var igc;var xR=Ufc(203);dD={3:1,23:1,598:1,203:1};var kR=Ufc(598);oU(18,32,{3:1,40:1,18:1,38:1},rgc,sgc);var pR=Ufc(18);oU(125,203,{3:1,23:1,125:1,203:1},tgc);_.Qd=function vgc(a){return ugc(this.a,a.a)};_.rj=function wgc(){return this.a};_.wd=function xgc(a){return iD(a,125)&&a.a==this.a};_.yd=function ygc(){return this.a};
_.sj=function Agc(){return this.a};_.zd=function Fgc(){return""+this.a};_.a=0;var rR=Ufc(125);var Igc;oU(150,203,{3:1,23:1,150:1,203:1},Kgc);_.Qd=function Mgc(a){return Lgc(this.a,a.a)};_.rj=function Ngc(){return dU(this.a)};_.wd=function Ogc(a){return iD(a,150)&&VT(a.a,this.a)};_.yd=function Pgc(){return eU(this.a)};_.sj=function Qgc(){return eU(this.a)};_.zd=function Sgc(){return""+fU(this.a)};_.a=0;var tR=Ufc(150);var Ugc;oU(856,32,Hyc,Ygc);var uR=Ufc(856);oU(66,197,{3:1,40:1,66:1,38:1},Zgc,$gc,
_gc);_.lf=function ahc(a){return new $wnd.TypeError(a)};var vR=Ufc(66);var bhc,chc,dhc,ehc;oU(96,41,{3:1,40:1,96:1,38:1},ghc);var wR=Ufc(96);oU(133,1,{3:1,133:1},hhc);_.wd=function ihc(a){var b;if(iD(a,133)){b=a;return this.c==b.c&&Mtc(this.d,b.d)&&Mtc(this.a,b.a)&&Mtc(this.b,b.b)}return false};_.yd=function jhc(){return Imc(vC(qC(yR,1),Uxc,1,5,[Hgc(this.c),this.a,this.d,this.b]))};_.zd=function khc(){return this.a+"."+this.d+"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"};
_.c=0;var AR=Ufc(133);oU(24,247,{374:1,24:1},dic,eic,fic,gic);var BR=Ufc(24);oU(295,98,{3:1,40:1,295:1,38:1},hic);var CR=Ufc(295);oU(961,1,{});oU(20,32,{3:1,40:1,38:1,20:1},jic,kic);var FR=Ufc(20);oU(131,14,{3:1,23:1,14:1,131:1},uic);var lic,mic,nic,oic,pic,qic,ric,sic;var GR=Vfc(131,lR,vic);oU(172,1,bGc);_.Qd=function wic(a){return nhc(this.a,a.a)};_.wd=function xic(a){var b;if(a===this)return true;if(!iD(a,172))return false;b=a;return qhc(this.a,b.a)};_.yd=function zic(){return wxc(this.a)};_.zd=
function Aic(){return this.a};var HR=Ufc(172);oU(554,41,Hyc,Bic);var IR=Ufc(554);var Cic;oU(553,41,Hyc,Eic);var JR=Ufc(553);oU(6,1,{},Hic);var KR=Ufc(6);oU(177,890,dyc);_.clear=function Xic(){Tic(this)};_.containsKey=function Yic(a){return Jic(this,a)};_.containsValue=function Zic(a){return Kic(this,a)};_.ne=function $ic(){return new ejc(this)};_.oe=function _ic(a){return Mic(this,a)};_.put=function ajc(a,b){return Pic(this,a,b)};_.remove=function bjc(a){return Ric(this,a)};_.size=function cjc(){return Uic(this)};
var OR=Ufc(177);oU(84,892,eyc,ejc);_.clear=function fjc(){this.a.clear()};_.contains=function gjc(a){return djc(this,a)};_.Ld=function hjc(){return new mjc(this.a)};_.remove=function ijc(a){var b;if(djc(this,a)){b=a.xe();this.a.remove(b);return true}return false};_.size=function jjc(){return this.a.size()};var NR=Ufc(84);oU(102,1,Pxc,mjc);_.Ed=function ojc(){return ljc(this)};_.Dd=function njc(){return this.b};_.Fd=function pjc(){ixc(!!this.c);dqc(this.e,this);this.c.Fd();this.c=null;this.b=kjc(this);
eqc(this.e,this)};_.b=false;var MR=Ufc(102);oU(156,1,Pxc,tjc);_.Dd=function ujc(){return qjc(this)};_.Ed=function vjc(){return rjc(this)};_.Fd=function wjc(){sjc(this)};_.b=0;_.c=-1;var PR=Ufc(156);oU(294,156,hyc,yjc);_.Fd=function Cjc(){sjc(this)};_.Rd=function zjc(a){this.a.addAtIndex(this.b,a);++this.b;this.c=-1};_.Sd=function Ajc(){return this.b>0};_.Td=function Bjc(){return xjc(this)};_.Ud=function Djc(a){ixc(this.c!=-1);this.a.setAtIndex(this.c,a)};var QR=Ufc(294);oU(398,893,Vxc,Ejc);_.addAtIndex=
function Fjc(a,b){gxc(a,this.b);this.c.addAtIndex(this.a+a,b);++this.b};_.getAtIndex=function Gjc(a){dxc(a,this.b);return this.c.getAtIndex(this.a+a)};_.removeAtIndex=function Hjc(a){var b;dxc(a,this.b);b=this.c.removeAtIndex(this.a+a);--this.b;return b};_.setAtIndex=function Ijc(a,b){dxc(a,this.b);return this.c.setAtIndex(this.a+a,b)};_.size=function Jjc(){return this.b};_.a=0;_.b=0;var RR=Ufc(398);oU(36,892,eyc,Kjc);_.clear=function Ljc(){this.a.clear()};_.contains=function Mjc(a){return this.a.containsKey(a)};
_.Ld=function Njc(){var a;return a=this.a.ne().Ld(),new Qjc(a)};_.remove=function Ojc(a){if(this.a.containsKey(a)){this.a.remove(a);return true}return false};_.size=function Pjc(){return this.a.size()};var UR=Ufc(36);oU(49,1,Pxc,Qjc);_.Dd=function Rjc(){return this.a.Dd()};_.Ed=function Sjc(){var a;return a=this.a.Ed(),a.xe()};_.Fd=function Tjc(){this.a.Fd()};var TR=Ufc(49);oU(148,891,Txc,Ujc);_.clear=function Vjc(){this.a.clear()};_.contains=function Wjc(a){return this.a.containsValue(a)};_.Ld=function Xjc(){var a;
return a=this.a.ne().Ld(),new Zjc(a)};_.size=function Yjc(){return this.a.size()};var WR=Ufc(148);oU(178,1,Pxc,Zjc);_.Dd=function $jc(){return this.a.Dd()};_.Ed=function _jc(){var a;return a=this.a.Ed(),a.ye()};_.Fd=function akc(){this.a.Fd()};var VR=Ufc(178);oU(209,1,{209:1,58:1});_.wd=function ckc(a){var b;if(!iD(a,58))return false;b=a;return Mtc(this.d,b.xe())&&Mtc(this.e,b.ye())};_.xe=function dkc(){return this.d};_.ye=function ekc(){return this.e};_.yd=function fkc(){return Ntc(this.d)^Ntc(this.e)};
_.ze=function gkc(a){return bkc(this,a)};_.zd=function hkc(){return this.d+"="+this.e};var XR=Ufc(209);oU(162,209,{209:1,162:1,58:1},ikc);var YR=Ufc(162);oU(901,1,ryc);_.wd=function jkc(a){var b;if(!iD(a,58))return false;b=a;return Mtc(this.xe(),b.xe())&&Mtc(this.ye(),b.ye())};_.yd=function kkc(){return Ntc(this.xe())^Ntc(this.ye())};_.zd=function lkc(){return this.xe()+"="+this.ye()};var ZR=Ufc(901);oU(905,890,dyc);_.me=function okc(a){return mkc(this,a)};_.containsKey=function pkc(a){return nkc(this,
a)};_.wj=function qkc(){return new ukc(this)};_.ne=function rkc(){return new Ekc(this)};_.oe=function skc(a){var b;return b=a,bh(this.yj(b))};_.keySet=function tkc(){return new Jkc(this)};var dS=Ufc(905);oU(662,905,dyc,ukc);_.clear=function vkc(){this.a.clear()};_.vj=function wkc(){return this.a.xj()};_.wj=function xkc(){return this.a};_.xj=function ykc(){return this.a.vj()};_.yj=function zkc(a){return this.a.yj(a)};_.put=function Akc(a,b){return this.a.put(a,b)};_.remove=function Bkc(a){return this.a.remove(a)};
_.zj=function Ckc(a){return this.a.zj(a)};_.size=function Dkc(){return this.a.size()};var _R=Ufc(662);oU(263,892,eyc,Ekc);_.contains=function Fkc(a){return iD(a,58)&&mkc(this.b,a)};_.Ld=function Gkc(){return this.b.xj()};_.remove=function Hkc(a){var b;if(iD(a,58)){b=a;return this.b.zj(b)}return false};_.size=function Ikc(){return this.b.size()};var aS=Ufc(263);oU(86,892,iyc,Jkc);_.clear=function Kkc(){this.a.clear()};_.contains=function Lkc(a){return nkc(this.a,a)};_.Ld=function Mkc(){var a;return a=
this.a.ne().b.xj(),new Pkc(a)};_.remove=function Nkc(a){if(nkc(this.a,a)){this.a.remove(a);return true}return false};_.size=function Okc(){return this.a.size()};var cS=Ufc(86);oU(87,1,Pxc,Pkc);_.Dd=function Qkc(){return this.a.Dd()};_.Ed=function Rkc(){var a;return a=this.a.Ed(),a.xe()};_.Fd=function Skc(){this.a.Fd()};var bS=Ufc(87);oU(108,891,Txc,klc,llc,mlc);_.add=function nlc(a){return Vkc(this,a),true};_.clear=function plc(){Wkc(this)};_.contains=function qlc(a){return Xkc(new Dlc(this),a)};
_.isEmpty=function rlc(){return _kc(this)};_.Ld=function slc(){return new Dlc(this)};_.remove=function tlc(a){return elc(new Dlc(this),a)};_.size=function ulc(){return jlc(this)};_.Md=function vlc(a){var b,c;c=this.c-this.b&this.a.length-1;a.length<c&&(a=(b=new Array(c),wC(b,a)));Ykc(this,a,c);a.length>c&&(a[c]=null);return a};_.b=0;_.c=0;var iS=Ufc(108);oU(771,1,Pxc,xlc);_.Dd=function ylc(){return this.a!=this.b};_.Ed=function zlc(){return wlc(this)};_.Fd=function Alc(){ixc(this.c>=0);if(flc(this.d,
this.c)>0){this.a=this.a+1&this.d.a.length-1;this.b=this.d.b}this.c=-1};_.a=0;_.b=0;_.c=-1;var gS=Ufc(771);oU(227,1,Pxc,Dlc);_.Dd=function Elc(){return this.a!=this.b};_.Ed=function Flc(){return Blc(this)};_.Fd=function Glc(){Clc(this)};_.a=0;_.b=0;_.c=-1;var hS=Ufc(227);oU(22,893,{3:1,16:1,22:1,21:1,47:1,76:1},Ulc,Vlc,Wlc);_.addAtIndex=function Xlc(a,b){Ilc(this,a,b)};_.add=function Ylc(a){return Jlc(this,a)};_.addAllAtIndex=function Zlc(a,b){return Klc(this,a,b)};_.addAll=function $lc(a){return Llc(this,
a)};_.clear=function _lc(){this.a=sC(yR,Uxc,1,0,5,1)};_.contains=function amc(a){return Nlc(this,a,0)!=-1};_.getAtIndex=function bmc(a){return Mlc(this,a)};_.indexOf=function cmc(a){return Nlc(this,a,0)};_.isEmpty=function dmc(){return this.a.length==0};_.Ld=function emc(){return new pmc(this)};_.lastIndexOf=function fmc(a){return Olc(this,a,this.a.length-1)};_.removeAtIndex=function gmc(a){return Plc(this,a)};_.remove=function hmc(a){return Qlc(this,a)};_.Pd=function imc(a,b){var c;hxc(a,b,this.a.length);
c=b-a;Hwc(this.a,a,c)};_.setAtIndex=function jmc(a,b){return Rlc(this,a,b)};_.size=function kmc(){return this.a.length};_.toArray=function lmc(){return Cwc(this.a,this.a.length)};_.Md=function mmc(a){return Tlc(this,a)};var kS=Ufc(22);oU(25,1,Pxc,pmc);_.Dd=function qmc(){return this.a<this.c.a.length};_.Ed=function rmc(){return nmc(this)};_.Fd=function smc(){omc(this)};_.a=0;_.b=-1;var jS=Ufc(25);oU(158,893,dGc,Zmc);_.contains=function $mc(a){return qd(this,a)!=-1};_.getAtIndex=function _mc(a){return dxc(a,
this.a.length),this.a[a]};_.setAtIndex=function anc(a,b){var c;c=(dxc(a,this.a.length),this.a[a]);this.a[a]=b;return c};_.size=function bnc(){return this.a.length};_.toArray=function cnc(){return Ymc(this,sC(yR,Uxc,1,this.a.length,5,1))};_.Md=function dnc(a){return Ymc(this,a)};var lS=Ufc(158);var enc,fnc;oU(606,893,dGc,pnc);_.contains=function qnc(a){return false};_.getAtIndex=function rnc(a){dxc(a,0);return null};_.Ld=function snc(){return gnc(),wnc(),vnc};_.Nd=function tnc(){return gnc(),wnc(),
vnc};_.size=function unc(){return 0};var nS=Ufc(606);oU(607,1,hyc,ync);_.Rd=function znc(a){throw QT(new jic);};_.Dd=function Anc(){return false};_.Sd=function Bnc(){return false};_.Ed=function Cnc(){return xnc()};_.Td=function Dnc(){throw QT(new Ltc);};_.Fd=function Enc(){throw QT(new rgc);};_.Ud=function Fnc(a){throw QT(new rgc);};var vnc;var mS=Ufc(607);oU(608,892,eGc,Gnc);_.contains=function Hnc(a){return false};_.Ld=function Inc(){return gnc(),wnc(),vnc};_.size=function Jnc(){return 0};var oS=
Ufc(608);oU(609,892,eGc,Nnc);_.add=function Onc(a){return Knc(this,a)};_.clear=function Pnc(){Tic(this.a)};_.contains=function Qnc(a){return Lnc(this,a)};_.wd=function Rnc(a){return a===this||(!this.b&&(this.b=new Kjc(this.a)),Hh(this.b,a))};_.yd=function Snc(){return!this.b&&(this.b=new Kjc(this.a)),inc(this.b)};_.Ld=function Tnc(){var a;return!this.b&&(this.b=new Kjc(this.a)),a=this.b.a.ne().Ld(),new Qjc(a)};_.remove=function Unc(a){return Mnc(this,a)};_.size=function Vnc(){return!this.b&&(this.b=
new Kjc(this.a)),this.b.a.size()};_.zd=function Wnc(){return!this.b&&(this.b=new Kjc(this.a)),bd(this.b)};var pS=Ufc(609);oU(610,893,fGc,Xnc);_.contains=function Ync(a){return Mtc(this.a,a)};_.getAtIndex=function Znc(a){dxc(a,1);return this.a};_.size=function $nc(){return 1};var qS=Ufc(610);oU(210,1,Txc,ioc);_.add=function joc(a){return _nc()};_.addAll=function koc(a){return aoc()};_.clear=function loc(){boc()};_.contains=function moc(a){return coc(this,a)};_.containsAll=function noc(a){return doc(this,
a)};_.isEmpty=function ooc(){return this.b.isEmpty()};_.Ld=function poc(){return new yoc(this.b.Ld())};_.remove=function qoc(a){return eoc()};_.removeAll=function roc(a){return foc()};_.retainAll=function soc(a){return goc()};_.size=function toc(){return this.b.size()};_.toArray=function uoc(){return this.b.toArray()};_.Md=function voc(a){return hoc(this,a)};_.zd=function woc(){return sU(this.b)};var sS=Ufc(210);oU(83,1,Pxc,yoc);_.Dd=function zoc(){return this.b.Dd()};_.Ed=function Aoc(){return this.b.Ed()};
_.Fd=function Boc(){xoc()};var rS=Ufc(83);oU(252,210,Vxc,Doc);_.addAtIndex=function Eoc(a,b){throw QT(new jic);};_.addAllAtIndex=function Foc(a,b){throw QT(new jic);};_.wd=function Goc(a){return nb(this.a,a)};_.getAtIndex=function Hoc(a){return this.a.getAtIndex(a)};_.yd=function Ioc(){return rb(this.a)};_.indexOf=function Joc(a){return this.a.indexOf(a)};_.isEmpty=function Koc(){return this.a.isEmpty()};_.lastIndexOf=function Loc(a){return this.a.lastIndexOf(a)};_.Nd=function Moc(){return new Roc(this.a.Od(0))};
_.Od=function Noc(a){return new Roc(this.a.Od(a))};_.removeAtIndex=function Ooc(a){throw QT(new jic);};_.setAtIndex=function Poc(a,b){throw QT(new jic);};_.subList=function Qoc(a,b){return Coc(this,a,b)};var uS=Ufc(252);oU(396,83,hyc,Roc);_.Fd=function Voc(){xoc()};_.Rd=function Soc(a){throw QT(new jic);};_.Sd=function Toc(){return this.a.Sd()};_.Td=function Uoc(){return this.a.Td()};_.Ud=function Woc(a){throw QT(new jic);};var tS=Ufc(396);oU(202,1,dyc,apc);_.getOrDefault=function hpc(a,b){var c;
return c=this.oe(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function npc(a,b){var c;return c=this.oe(a),c!=null?c:this.put(a,b)};_.replace=function ppc(a,b){return this.containsKey(a)?this.put(a,b):null};_.clear=function bpc(){throw QT(new jic);};_.containsKey=function cpc(a){return this.d.containsKey(a)};_.containsValue=function dpc(a){return Xoc(this,a)};_.ne=function epc(){return Yoc(this)};_.wd=function fpc(a){return Zoc(this,a)};_.oe=function gpc(a){return this.d.oe(a)};_.yd=function ipc(){return rb(this.d)};
_.isEmpty=function jpc(){return this.d.isEmpty()};_.keySet=function kpc(){return $oc(this)};_.put=function lpc(a,b){throw QT(new jic);};_.putAll=function mpc(a){throw QT(new jic);};_.remove=function opc(a){throw QT(new jic);};_.size=function qpc(){return this.d.size()};_.zd=function rpc(){return sU(this.d)};_.values=function spc(){return _oc(this)};var yS=Ufc(202);oU(179,210,eyc,upc);_.wd=function vpc(a){return tpc(this,a)};_.yd=function wpc(){return rb(this.b)};var AS=Ufc(179);oU(611,179,eyc,Cpc);
_.contains=function Dpc(a){return xpc(this,a)};_.containsAll=function Epc(a){return ypc(this,a)};_.Ld=function Fpc(){var a;return a=this.b.Ld(),new Ipc(a)};_.toArray=function Gpc(){return zpc(this)};_.Md=function Hpc(a){return Apc(this,a)};var xS=Ufc(611);oU(397,1,Pxc,Ipc);_.Ed=function Kpc(){return new Mpc(this.a.Ed())};_.Dd=function Jpc(){return this.a.Dd()};_.Fd=function Lpc(){throw QT(new jic);};var vS=Ufc(397);oU(395,1,ryc,Mpc);_.wd=function Npc(a){return this.a.wd(a)};_.xe=function Opc(){return this.a.xe()};
_.ye=function Ppc(){return this.a.ye()};_.yd=function Qpc(){return this.a.yd()};_.ze=function Rpc(a){throw QT(new jic);};_.zd=function Spc(){return sU(this.a)};var wS=Ufc(395);oU(253,252,gyc,Tpc);var zS=Ufc(253);oU(612,202,dyc,Upc);_.wd=function Vpc(a){return Sg(this.a,a)};_.yd=function Wpc(){return inc(new Duc(this.a))};var BS=Ufc(612);oU(293,179,iyc,Xpc);_.wd=function Ypc(a){return nb(this.a,a)};_.yd=function Zpc(){return rb(this.a)};var CS=Ufc(293);var $pc;oU(675,1,bBc,aqc);_.He=function bqc(a,
b){return exc(a),wfc(a,(exc(b),b))};_.wd=function cqc(a){return this===a};var DS=Ufc(675);oU(167,32,Hyc,gqc);var ES=Ufc(167);oU(266,1,{3:1,23:1,266:1},hqc);_.Qd=function iqc(a){return Lgc(WT(this.a.getTime()),WT(a.a.getTime()))};_.wd=function jqc(a){return iD(a,266)&&VT(WT(this.a.getTime()),WT(a.a.getTime()))};_.yd=function kqc(){var a;a=WT(this.a.getTime());return eU(gU(a,aU(a,32)))};_.zd=function mqc(){var a,b,c;c=-this.a.getTimezoneOffset();a=(c>=0?"+":"")+(c/60|0);b=(c<0?-c:c)%60<10?"0"+(c<0?
-c:c)%60:""+(c<0?-c:c)%60;return(pqc(),nqc)[this.a.getDay()]+" "+oqc[this.a.getMonth()]+" "+lqc(this.a.getDate())+" "+lqc(this.a.getHours())+":"+lqc(this.a.getMinutes())+":"+lqc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var FS=Ufc(266);var nqc,oqc;oU(220,890,{220:1,48:1},yqc,zqc,Aqc);_.put=function Gqc(a,b){return vqc(this,a,b)};_.clear=function Bqc(){qqc(this)};_.containsKey=function Cqc(a){return rqc(this,a)};_.containsValue=function Dqc(a){return sqc(this,a)};_.ne=function Eqc(){return new Kqc(this)};
_.oe=function Fqc(a){return tqc(this,a)};_.remove=function Hqc(a){return wqc(this,a)};_.size=function Iqc(){return this.a.c};var JS=Ufc(220);oU(221,892,eyc,Kqc);_.clear=function Lqc(){qqc(this.a)};_.contains=function Mqc(a){return Jqc(this,a)};_.Ld=function Nqc(){return new Qqc(this.a)};_.remove=function Oqc(a){var b;if(Jqc(this,a)){b=a.xe();wqc(this.a,b);return true}return false};_.size=function Pqc(){return this.a.a.c};var HS=Ufc(221);oU(320,1,Pxc,Qqc);_.Ed=function Sqc(){return this.b=lrc(this.a),
new Uqc(this.c,this.b)};_.Dd=function Rqc(){return krc(this.a)};_.Fd=function Tqc(){ixc(!!this.b);wqc(this.c,this.b);this.b=null};var GS=Ufc(320);oU(321,901,ryc,Uqc);_.xe=function Vqc(){return this.a};_.ye=function Wqc(){return this.b.b[this.a.f]};_.ze=function Xqc(a){return xqc(this.b,this.a.f,a)};var IS=Ufc(321);oU(911,892,eyc);var MS=Ufc(911);oU(330,911,eyc,drc);_.add=function erc(a){return Zqc(this,a)};_.contains=function frc(a){return _qc(this,a)};_.Ld=function grc(){return new mrc(this)};_.remove=
function hrc(a){return brc(this,a)};_.size=function irc(){return this.c};_.c=0;var LS=Ufc(330);oU(331,1,Pxc,mrc);_.Ed=function orc(){return lrc(this)};_.Dd=function nrc(){return krc(this)};_.Fd=function prc(){ixc(this.b!=-1);this.c.b[this.b]=null;--this.c.c;this.b=-1};_.a=-1;_.b=-1;var KS=Ufc(331);oU(34,177,gGc,qrc,rrc,trc);_.tj=function urc(a,b){return oD(a)===oD(b)||a!=null&&nb(a,b)};_.uj=function vrc(a){var b;b=rb(a);return b|0};var NS=Ufc(34);oU(39,892,eGc,zrc,Arc,Brc);_.add=function Drc(a){return wrc(this,
a)};_.clear=function Erc(){this.a.clear()};_.contains=function Frc(a){return xrc(this,a)};_.isEmpty=function Grc(){return this.a.size()==0};_.Ld=function Hrc(){var a;return a=(new Kjc(this.a)).a.ne().Ld(),new Qjc(a)};_.remove=function Irc(a){return yrc(this,a)};_.size=function Jrc(){return this.a.size()};var OS=Ufc(39);oU(194,177,{3:1,194:1,48:1},Krc);_.wd=function Lrc(a){var b,c,d,e,f;if(a===this)return true;if(!iD(a,48))return false;e=a;if(this.d.c+this.e.c!=e.size())return false;for(c=e.ne().Ld();c.Dd();){b=
c.Ed();d=b.xe();f=b.ye();if(!(nD(d)?Oic(this,d):!!Rrc(this.d,d)))return false;if(oD(f)!==oD(nD(d)?Nic(this,d):bh(Rrc(this.d,d))))return false}return true};_.tj=function Mrc(a,b){return oD(a)===oD(b)};_.uj=function Nrc(a){return qxc(a)};_.yd=function Orc(){var a,b,c;c=0;for(b=new mjc((new ejc(this)).a);b.b;){a=ljc(b);c+=Ywc(a.xe());c+=Ywc(a.ye())}return c};var PS=Ufc(194);oU(636,1,_xc,Urc);_.Ld=function Vrc(){return new Wrc(this)};_.c=0;var RS=Ufc(636);oU(408,1,Pxc,Wrc);_.Ed=function Yrc(){return this.d=
this.a[this.c++],this.d};_.Dd=function Xrc(){var a;if(this.c<this.a.length)return true;a=this.b.next();if(!a.done){this.a=a.value[1];this.c=0;return true}return false};_.Fd=function Zrc(){Trc(this.e,this.d.xe());this.c!=0&&--this.c};_.c=0;_.d=null;var QS=Ufc(408);var $rc;oU(634,1,_xc,isc);_.Ld=function jsc(){return new ksc(this)};_.c=0;_.d=0;var US=Ufc(634);oU(407,1,Pxc,ksc);_.Ed=function msc(){return this.c=this.a,this.a=this.b.next(),new osc(this.d,this.c,this.d.d)};_.Dd=function lsc(){return!this.a.done};
_.Fd=function nsc(){hsc(this.d,this.c.value[0])};var SS=Ufc(407);oU(635,901,ryc,osc);_.xe=function psc(){return this.b.value[0]};_.ye=function qsc(){if(this.a.d!=this.c)return fsc(this.a,this.b.value[0]);return this.b.value[1]};_.ze=function rsc(a){return gsc(this.a,this.b.value[0],a)};_.c=0;var TS=Ufc(635);oU(31,34,gGc,zsc,Asc,Bsc);_.clear=function Csc(){tsc(this)};_.containsKey=function Dsc(a){return usc(this,a)};_.containsValue=function Esc(a){var b;b=this.b.a;while(b!=this.b){if(Mtc(b.e,a))return true;
b=b.a}return false};_.ne=function Fsc(){return new Qsc(this)};_.oe=function Gsc(a){return vsc(this,a)};_.put=function Hsc(a,b){return wsc(this,a,b)};_.remove=function Isc(a){return ysc(this,a)};_.size=function Jsc(){return Uic(this.c)};_.a=false;var ZS=Ufc(31);oU(251,162,{209:1,162:1,251:1,58:1},Msc,Nsc);var WS=Ufc(251);oU(88,892,eyc,Qsc);_.clear=function Rsc(){tsc(this.a)};_.contains=function Ssc(a){return Osc(this,a)};_.Ld=function Tsc(){return new Zsc(this)};_.remove=function Usc(a){return Psc(this,
a)};_.size=function Vsc(){return Uic(this.a.c)};var YS=Ufc(88);oU(97,1,Pxc,Zsc);_.Ed=function _sc(){return Xsc(this)};_.Dd=function $sc(){return Wsc(this)};_.Fd=function atc(){Ysc(this)};var XS=Ufc(97);oU(60,39,eGc,btc,ctc,dtc);var $S=Ufc(60);oU(334,900,fGc,otc);_.add=function ptc(a){return etc(this,a)};_.clear=function qtc(){ntc(this)};_.Od=function rtc(a){return htc(this,a)};_.size=function stc(){return this.b};_.b=0;var bT=Ufc(334);oU(772,1,hyc,utc);_.Rd=function vtc(a){gtc(this.d,a,this.b.b,this.b);
++this.a;this.c=null};_.Dd=function wtc(){return this.b!=this.d.c};_.Sd=function xtc(){return this.b.b!=this.d.a};_.Ed=function ytc(){return ttc(this)};_.Td=function ztc(){cxc(this.b.b!=this.d.a);this.c=this.b=this.b.b;--this.a;return this.c.c};_.Fd=function Atc(){var a;ixc(!!this.c);a=this.c.a;mtc(this.d,this.c);this.b==this.c?this.b=a:--this.a;this.c=null};_.Ud=function Btc(a){ixc(!!this.c);this.c.c=a};_.a=0;_.c=null;var _S=Ufc(772);oU(335,1,{},Ctc);var aT=Ufc(335);oU(871,1,{});var Dtc,Etc;var eT=
Ufc(871);oU(555,871,{},Gtc);_.zd=function Htc(){return"en_US"};var cT=Ufc(555);oU(556,871,{},Itc);_.zd=function Jtc(){return _Ec};var dT=Ufc(556);oU(332,32,{3:1,40:1,38:1,332:1},Ktc);var gT=Ufc(332);oU(64,32,{3:1,40:1,38:1,64:1},Ltc);var hT=Ufc(64);oU(441,1,{441:1},Rtc);var Otc;var iT=Ufc(441);oU(117,1,{},Utc);_.zd=function Vtc(){return!this.a?this.c:this.e.length==0?this.a.a:this.a.a+(""+this.e)};var jT=Ufc(117);oU(165,905,gGc,iuc,juc);_.clear=function kuc(){Wtc(this)};_.vj=function luc(){return new tuc(this)};
_.xj=function muc(){return new yuc(this)};_.ne=function nuc(){return new Duc(this)};_.yj=function ouc(a){return Xtc(this,a)};_.put=function puc(a,b){return buc(this,a,b)};_.remove=function quc(a){return cuc(this,a)};_.zj=function ruc(a){return duc(this,a)};_.size=function suc(){return this.c};_.c=0;var uT=Ufc(165);oU(305,1,Pxc,tuc,uuc);_.Ed=function wuc(){return this.b=xjc(this.a)};_.Dd=function vuc(){return this.a.b>0};_.Fd=function xuc(){sjc(this.a);duc(this.c,this.b);this.b=null};var kT=Ufc(305);
oU(262,1,Pxc,yuc,zuc);_.Ed=function Buc(){return this.b=rjc(this.a)};_.Dd=function Auc(){return qjc(this.a)};_.Fd=function Cuc(){sjc(this.a);duc(this.c,this.b);this.b=null};var lT=Ufc(262);oU(410,263,eyc,Duc);_.clear=function Euc(){Wtc(this.a)};var mT=Ufc(410);oU(184,162,{209:1,162:1,58:1,184:1},Fuc);_.b=false;var nT=Ufc(184);oU(306,1,{},Guc);_.zd=function Huc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var oT=Ufc(306);oU(658,905,dyc,
Kuc);_.vj=function Luc(){return new uuc(this.c,this.f,this.b,this.a,this.e,this.d)};_.xj=function Muc(){return new zuc(this.c,this.f,this.b,this.a,this.e,this.d)};_.ne=function Nuc(){return new Ekc(this)};_.yj=function Ouc(a){return Iuc(this,Xtc(this.c,a))};_.put=function Puc(a,b){if(!$tc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw QT(new xcb(a+" outside the range "+this.b+" to "+this.e));return buc(this.c,a,b)};_.remove=function Quc(a){var b;b=a;if(!$tc(this.c,this.f,b,this.b,this.a,this.e,
this.d))return null;return cuc(this.c,b)};_.zj=function Ruc(a){return Juc(this,a.xe())&&duc(this.c,a)};_.size=function Suc(){var a,b,c;this.a?b=Ytc(this.c,this.b,true):b=Ytc(this.c,this.b,false);if(!(!!b&&Juc(this,b.d)?b:null))return 0;a=0;for(c=new zuc(this.c,this.f,this.b,this.a,this.e,this.d);qjc(c.a);c.b=rjc(c.a))++a;return a};_.a=false;_.d=false;var tT=Ufc(658);oU(140,14,hGc,Yuc);_.Aj=function Zuc(){return false};_.Bj=function $uc(){return false};var Tuc,Uuc,Vuc,Wuc;var sT=Vfc(140,lR,_uc);oU(659,
140,hGc,avc);_.Bj=function bvc(){return true};var pT=Vfc(659,sT,null);oU(660,140,hGc,cvc);_.Aj=function dvc(){return true};_.Bj=function evc(){return true};var qT=Vfc(660,sT,null);oU(661,140,hGc,fvc);_.Aj=function gvc(){return true};var rT=Vfc(661,sT,null);oU(91,892,{3:1,16:1,21:1,33:1,154:1},jvc,kvc,lvc,mvc);_.add=function nvc(a){return hvc(this,a)};_.clear=function ovc(){this.a.clear()};_.contains=function pvc(a){return nkc(this.a,a)};_.Ld=function qvc(){var a;return a=(new Jkc(this.a)).a.ne().b.xj(),
new Pkc(a)};_.remove=function rvc(a){return ivc(this,a)};_.size=function svc(){return this.a.size()};var vT=Ufc(91);oU(379,890,dyc,xvc);_.containsKey=function yvc(a){return tvc(this,a)};_.containsValue=function zvc(a){if(a==null)throw QT(new Zgc);return Kic(this.a,a)};_.ne=function Avc(){return new ejc(this.a)};_.oe=function Bvc(a){return uvc(this,a)};_.put=function Cvc(a,b){return vvc(this,a,b)};_.putIfAbsent=function Dvc(a,b){return wvc(this,a,b)};_.remove=function Evc(a){if(a==null)throw QT(new Zgc);
return Ric(this.a,a)};_.replace=function Fvc(a,b){if(b==null)throw QT(new Zgc);else return tvc(this,a)?vvc(this,a,b):null};var wT=Ufc(379);oU(260,1,{260:1});var xT=Ufc(260);oU(904,1,Nxc);_.Dg=function Lvc(){return"DUMMY"};_.sj=function Mvc(){return-1};_.zd=function Nvc(){return this.Dg()};var Gvc,Hvc,Ivc,Jvc;var CT=Ufc(904);oU(654,904,Nxc,Ovc);_.Dg=function Pvc(){return"FINE"};_.sj=function Qvc(){return 500};var yT=Ufc(654);oU(655,904,Nxc,Rvc);_.Dg=function Svc(){return"INFO"};_.sj=function Tvc(){return 800};
var zT=Ufc(655);oU(656,904,Nxc,Uvc);_.Dg=function Vvc(){return"SEVERE"};_.sj=function Wvc(){return 1E3};var AT=Ufc(656);oU(657,904,Nxc,Xvc);_.Dg=function Yvc(){return $yc};_.sj=function Zvc(){return 900};var BT=Ufc(657);oU(643,1,{},bwc);var $vc;var DT=Ufc(643);oU(705,1,Nxc,dwc);_.c=null;var ET=Ufc(705);oU(298,1,{298:1},pwc);_.b=null;_.e=false;var FT=Ufc(298);oU(415,260,{260:1},swc);var GT=Ufc(415);oU(744,1,{},wwc);_.a=0;_.b=false;var HT=Ufc(744);oU(430,1,{430:1},ywc);var IT=Ufc(430);oU(725,1,{},Owc);
var JT=Ufc(725);oU(393,172,bGc);var Qwc,Rwc,Swc;var MT=Ufc(393);oU(394,393,bGc,Vwc);var KT=Ufc(394);oU(599,393,bGc,Xwc);var LT=Ufc(599);var pxc=0;var rxc,sxc=0,txc;var rD=Xfc("C");var sD=Xfc("I");var NT=Xfc("Z");var tD=Xfc("J");var qD=Xfc("B");Wsb();_=rU(fDc);_.transpile=Zsb;_=rU("com.google.common.base.ExtraObjectsMethodsForWeb");_.equal=Lc;_=rU("com.google.common.base.Platform");_.stringIsNullOrEmpty=Td;_=rU("com.google.debugging.sourcemap.SourceMapObjectParserJs");_.get=hB;tfc();_=rU("java.lang.Boolean");
_.$isInstance=ufc;_=rU("java.lang.CharSequence");_.$isInstance=xfc;_=rU("java.lang.Comparable");_.$isInstance=hgc;_=rU("java.lang.Double");_.$isInstance=pgc;_=rU("java.lang.Number");_.$isInstance=jgc;_=rU("java.lang.String");_.$isInstance=vhc;_=rU("java.lang.Throwable");_.of=xz;var yxc=(MB(),PB);var gwtOnLoad=gwtOnLoad=kU;iU(uU);lU("permProps",[[[OAc,Szc],[nGc,"gecko1_8"]],[[OAc,Szc],[nGc,"ie10"]],[[OAc,Szc],[nGc,"ie8"]],[[OAc,Szc],[nGc,"ie9"]],[[OAc,Szc],[nGc,"safari"]]]);this["$gwtExport"]=$wnd;
$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()})();
