Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: experimental/conways_life/closure.js

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /**
2 * Compiled using http://closure-compiler.appspot.com/home:
3 <script src="closure-library/closure/goog/base.js"></script>
4 <!-- Resolves the goog.base interdependencies. -->
5 <script type="text/javascript">
6 goog.require('goog.Disposable');
7 goog.require('goog.array');
8 goog.require('goog.dom');
9 goog.require('goog.editor.Table');
10 goog.require('goog.events');
11 goog.require('goog.fx.Dragger');
12 goog.require('goog.object');
13 goog.require('goog.style');
14 goog.require('goog.ui.Zippy');
15 </script>
16 */
17 var COMPILED=!0,goog=goog||{};goog.global=this;goog.DEBUG=!0;goog.LOCALE="en";go og.evalWorksForGlobals_=null;goog.provide=function(a){if(!COMPILED){if(goog.isPr ovided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implic itNamespaces_[a];for(var b=a;b=b.substring(0,b.lastIndexOf("."));){if(goog.getOb jectByName(b))break;goog.implicitNamespaces_[b]=!0}}goog.exportPath_(a)};goog.is Provided_=function(a){return!goog.implicitNamespaces_[a]&&!!goog.getObjectByName (a)};
18 goog.setTestOnly=function(a){if(COMPILED&&!goog.DEBUG)throw a=a||"",Error("Impor ting test-only code into non-debug environment"+a?": "+a:".");};if(!COMPILED)goo g.implicitNamespaces_={};goog.exportPath_=function(a,b,c){a=a.split(".");c=c||go og.global;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.lengt h&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};
19 goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c .shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.g lobalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};
20 goog.addDependency=function(a,b,c){if(!COMPILED){for(var d,a=a.replace(/\\/g,"/" ),e=goog.dependencies_,f=0;d=b[f];f++)e.nameToPath[d]=a,a in e.pathToNames||(e.p athToNames[a]={}),e.pathToNames[a][d]=!0;for(d=0;b=c[d];d++)a in e.requires||(e. requires[a]={}),e.requires[a][b]=!0}};
21 goog.require=function(a){if(!COMPILED&&!goog.getObjectByName(a)){var b=goog.getP athFromDeps_(a);if(b)goog.included_[b]=!0,goog.writeScripts_();else throw a="goo g.require could not find: "+a,goog.global.console&&goog.global.console.error(a), Error(a);}};goog.basePath="";goog.nullFunction=function(){};goog.identityFunctio n=function(a){return a};goog.abstractMethod=function(){throw Error("unimplemente d abstract method");};
22 goog.addSingletonGetter=function(a){a.getInstance=function(){return a.instance_| |(a.instance_=new a)}};
23 if(!COMPILED)goog.included_={},goog.dependencies_={pathToNames:{},nameToPath:{}, requires:{},visited:{},written:{}},goog.inHtmlDocument_=function(){var a=goog.gl obal.document;return typeof a!="undefined"&&"write"in a},goog.findBasePath_=func tion(){if(goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_P ATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByT agName("script"),b=a.length-1;b>=0;--b){var c=a[b].src,d=c.lastIndexOf("?"),d=d= =-1?c.length:d;if(c.substr(d-
24 7,7)=="base.js"){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=funct ion(a){var b=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;!goog.depen dencies_.written[a]&&b(a)&&(goog.dependencies_.written[a]=!0)},goog.writeScriptT ag_=function(a){return goog.inHtmlDocument_()?(goog.global.document.write('<scri pt type="text/javascript" src="'+a+'"><\/script>'),!0):!1},goog.writeScripts_=fu nction(){function a(e){if(!(e in d.written)){if(!(e in d.visited)&&(d.visited[e] =!0,e in d.requires))for(var g in d.requires[e])if(!goog.isProvided_(g))if(g in
25 d.nameToPath)a(d.nameToPath[g]);else throw Error("Undefined nameToPath for "+g); e in c||(c[e]=!0,b.push(e))}}var b=[],c={},d=goog.dependencies_,e;for(e in goog. included_)d.written[e]||a(e);for(e=0;e<b.length;e++)if(b[e])goog.importScript_(g oog.basePath+b[e]);else throw Error("Undefined script input");},goog.getPathFrom Deps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.n ameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.import Script_(goog.basePath+
26 "deps.js");
27 goog.typeOf=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Arra y)return"array";else if(a instanceof Object)return b;var c=Object.prototype.toSt ring.call(a);if(c=="[object Window]")return"object";if(c=="[object Array]"||type of a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerab le!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(c=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefine d"&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if(b ==
28 "function"&&typeof a.call=="undefined")return"object";return b};goog.propertyIsE numerableCustom_=function(a,b){if(b in a)for(var c in a)if(c==b&&Object.prototyp e.hasOwnProperty.call(a,b))return!0;return!1};goog.propertyIsEnumerable_=functio n(a,b){return a instanceof Object?Object.prototype.propertyIsEnumerable.call(a,b ):goog.propertyIsEnumerableCustom_(a,b)};goog.isDef=function(a){return a!==void 0};goog.isNull=function(a){return a===null};goog.isDefAndNotNull=function(a){ret urn a!=null};
29 goog.isArray=function(a){return goog.typeOf(a)=="array"};goog.isArrayLike=functi on(a){var b=goog.typeOf(a);return b=="array"||b=="object"&&typeof a.length=="num ber"};goog.isDateLike=function(a){return goog.isObject(a)&&typeof a.getFullYear= ="function"};goog.isString=function(a){return typeof a=="string"};goog.isBoolean =function(a){return typeof a=="boolean"};goog.isNumber=function(a){return typeof a=="number"};goog.isFunction=function(a){return goog.typeOf(a)=="function"};
30 goog.isObject=function(a){a=goog.typeOf(a);return a=="object"||a=="array"||a=="f unction"};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROP ERTY_]=++goog.uidCounter_)};goog.removeUid=function(a){"removeAttribute"in a&&a. removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}} ;goog.UID_PROPERTY_="closure_uid_"+Math.floor(Math.random()*2147483648).toString (36);goog.uidCounter_=0;goog.getHashCode=goog.getUid;goog.removeHashCode=goog.re moveUid;
31 goog.cloneObject=function(a){var b=goog.typeOf(a);if(b=="object"||b=="array"){if (a.clone)return a.clone();var b=b=="array"?[]:{},c;for(c in a)b[c]=goog.cloneObj ect(a[c]);return b}return a};goog.bindNative_=function(a){return a.call.apply(a. bind,arguments)};
32 goog.bindJs_=function(a,b){var c=b||goog.global;if(arguments.length>2){var d=Arr ay.prototype.slice.call(arguments,2);return function(){var b=Array.prototype.sli ce.call(arguments);Array.prototype.unshift.apply(b,d);return a.apply(c,b)}}else return function(){return a.apply(c,arguments)}};goog.bind=function(){goog.bind=F unction.prototype.bind&&Function.prototype.bind.toString().indexOf("native code" )!=-1?goog.bindNative_:goog.bindJs_;return goog.bind.apply(null,arguments)};
33 goog.partial=function(a){var b=Array.prototype.slice.call(arguments,1);return fu nction(){var c=Array.prototype.slice.call(arguments);c.unshift.apply(c,b);return a.apply(this,c)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=D ate.now||function(){return+new Date};
34 goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a," JavaScript");else if(goog.global.eval){if(goog.evalWorksForGlobals_==null)goog.g lobal.eval("var _et_ = 1;"),typeof goog.global._et_!="undefined"?(delete goog.gl obal._et_,goog.evalWorksForGlobals_=!0):goog.evalWorksForGlobals_=!1;if(goog.eva lWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.create Element("script");c.type="text/javascript";c.defer=!1;c.appendChild(b.createText Node(a));b.body.appendChild(c);
35 b.body.removeChild(c)}}else throw Error("goog.globalEval not available");};goog. getCssName=function(a,b){var c=function(a){return goog.cssNameMapping_[a]||a},d; d=goog.cssNameMapping_?goog.cssNameMappingStyle_=="BY_WHOLE"?c:function(a){for(v ar a=a.split("-"),b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")}:fu nction(a){return a};return b?a+"-"+d(b):d(a)};goog.setCssNameMapping=function(a, b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};
36 goog.getMsg=function(a,b){var c=b||{},d;for(d in c)var e=(""+c[d]).replace(/\$/g ,"$$$$"),a=a.replace(RegExp("\\{\\$"+d+"\\}","gi"),e);return a};goog.exportSymbo l=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a [b]=c};goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.super Class_=b.prototype;a.prototype=new c;a.prototype.constructor=a};
37 goog.base=function(a,b){var c=arguments.callee.caller;if(c.superClass_)return c. superClass_.constructor.apply(a,Array.prototype.slice.call(arguments,1));for(var d=Array.prototype.slice.call(arguments,2),e=!1,f=a.constructor;f;f=f.superClass _&&f.superClass_.constructor)if(f.prototype[b]===c)e=!0;else if(e)return f.proto type[b].apply(a,d);if(a[b]===c)return a.constructor.prototype[b].apply(a,d);else throw Error("goog.base called from a method of one name to a method of a differ ent name");};
38 goog.scope=function(a){a.call(goog.global)};goog.disposable={};goog.disposable.I Disposable=function(){};goog.Disposable=function(){goog.Disposable.ENABLE_MONITO RING&&(goog.Disposable.instances_[goog.getUid(this)]=this)};goog.Disposable.ENAB LE_MONITORING=!1;goog.Disposable.instances_={};goog.Disposable.getUndisposedObje cts=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.in stances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_ ={}};goog.Disposable.prototype.disposed_=!1;
39 goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disp osable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;goog.Disposabl e.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.dispo seInternal(),goog.Disposable.ENABLE_MONITORING)){var a=goog.getUid(this);if(!goo g.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the go og.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
40 goog.Disposable.prototype.disposeInternal=function(){};goog.dispose=function(a){ a&&typeof a.dispose=="function"&&a.dispose()};goog.debug={};goog.debug.Error=fun ction(a){this.stack=Error().stack||"";if(a)this.message=String(a)};goog.inherits (goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.stri ng={};goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){r eturn a.lastIndexOf(b,0)==0};goog.string.endsWith=function(a,b){var c=a.length-b .length;return c>=0&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=fu nction(a,b){return goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))==0 };goog.string.caseInsensitiveEndsWith=function(a,b){return goog.string.caseInsen sitiveCompare(b,a.substr(a.length-b.length,b.length))==0};
41 goog.string.subs=function(a){for(var b=1;b<arguments.length;b++)var c=String(arg uments[b]).replace(/\$/g,"$$$$"),a=a.replace(/\%s/,c);return a};goog.string.coll apseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$ /g,"")};goog.string.isEmpty=function(a){return/^[\s\xa0]*$/.test(a)};goog.string .isEmptySafe=function(a){return goog.string.isEmpty(goog.string.makeSafe(a))};go og.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.str ing.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
42 goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNu meric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a) {return a==" "};goog.string.isUnicodeChar=function(a){return a.length==1&&a>=" " &&a<="~"||a>="\u0080"&&a<="\ufffd"};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){r eturn a.replace(/(\r\n|\r|\n)/g,"\n")};
43 goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};go og.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog .string.trim=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.str ing.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRigh t=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveComp are=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};
44 goog.string.numerateCompareRegExp_=/(\.\d+)|(\d+)|(\D+)/g;goog.string.numerateCo mpare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.t oLowerCase().match(goog.string.numerateCompareRegExp_),d=b.toLowerCase().match(g oog.string.numerateCompareRegExp_),e=Math.min(c.length,d.length),f=0;f<e;f++){va r g=c[f],h=d[f];if(g!=h){c=parseInt(g,10);if(!isNaN(c)&&(d=parseInt(h,10),!isNaN (d)&&c-d))return c-d;return g<h?-1:1}}if(c.length!=d.length)return c.length-d.le ngth;return a<b?-1:1};
45 goog.string.encodeUriRegExp_=/^[a-zA-Z0-9\-_.!~*'()]*$/;goog.string.urlEncode=fu nction(a){a=String(a);if(!goog.string.encodeUriRegExp_.test(a))return encodeURIC omponent(a);return a};goog.string.urlDecode=function(a){return decodeURIComponen t(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace( /(\r\n|\r|\n)/g,b?"<br />":"<br>")};
46 goog.string.htmlEscape=function(a,b){if(b)return a.replace(goog.string.amperRe_, "&amp;").replace(goog.string.ltRe_,"&lt;").replace(goog.string.gtRe_,"&gt;").rep lace(goog.string.quotRe_,"&quot;");else{if(!goog.string.allRe_.test(a))return a; a.indexOf("&")!=-1&&(a=a.replace(goog.string.amperRe_,"&amp;"));a.indexOf("<")!= -1&&(a=a.replace(goog.string.ltRe_,"&lt;"));a.indexOf(">")!=-1&&(a=a.replace(goo g.string.gtRe_,"&gt;"));a.indexOf('"')!=-1&&(a=a.replace(goog.string.quotRe_,"&q uot;"));return a}};
47 goog.string.amperRe_=/&/g;goog.string.ltRe_=/</g;goog.string.gtRe_=/>/g;goog.str ing.quotRe_=/\"/g;goog.string.allRe_=/[&<>\"]/;goog.string.unescapeEntities=func tion(a){if(goog.string.contains(a,"&"))return"document"in goog.global&&!goog.str ing.contains(a,"<")?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescap ePureXmlEntities_(a);return a};
48 goog.string.unescapeEntitiesUsingDom_=function(a){var b=goog.global.document.cre ateElement("div");b.innerHTML="<pre>x"+a+"</pre>";if(b.firstChild[goog.string.NO RMALIZE_FN_])b.firstChild[goog.string.NORMALIZE_FN_]();a=b.firstChild.firstChild .nodeValue.slice(1);b.innerHTML="";return goog.string.canonicalizeNewlines(a)};
49 goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,f unction(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return ">";case "quot":return'"';default:if(c.charAt(0)=="#"){var d=Number("0"+c.substr (1));if(!isNaN(d))return String.fromCharCode(d)}return a}})};goog.string.NORMALI ZE_FN_="normalize";goog.string.whitespaceEscape=function(a,b){return goog.string .newLineToBr(a.replace(/ /g," &#160;"),b)};
50 goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=c==1 ?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a .length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unes capeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.html Escape(a));return a};
51 goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities( a));if(d){d>b&&(d=b);var e=a.length-d,a=a.substring(0,b-d)+"..."+a.substring(e)} else a.length>b&&(d=Math.floor(b/2),e=a.length-d,d+=b%2,a=a.substring(0,d)+"..." +a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialE scapeChars_={"\0":"\\0","\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t" :"\\t","\u000b":"\\x0B",'"':'\\"',"\\":"\\\\"};goog.string.jsEscapeCache_={"'":" \\'"};
52 goog.string.quote=function(a){a=String(a);if(a.quote)return a.quote();else{for(v ar b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.s tring.specialEscapeChars_[d]||(e>31&&e<127?d:goog.string.escapeChar(d))}b.push(' "');return b.join("")}};goog.string.escapeString=function(a){for(var b=[],c=0;c< a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
53 goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goo g.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.s tring.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a,c=a.charCodeA t(0);if(c>31&&c<127)b=a;else{if(c<256){if(b="\\x",c<16||c>256)b+="0"}else b="\\u ",c<4096&&(b+="0");b+=c.toString(16).toUpperCase()}return goog.string.jsEscapeCa che_[a]=b};goog.string.toMap=function(a){for(var b={},c=0;c<a.length;c++)b[a.cha rAt(c)]=!0;return b};
54 goog.string.contains=function(a,b){return a.indexOf(b)!=-1};goog.string.removeAt =function(a,b,c){var d=a;b>=0&&b<a.length&&c>0&&(d=a.substr(0,b)+a.substr(b+c,a. length-b-c));return d};goog.string.remove=function(a,b){var c=RegExp(goog.string .regExpEscape(b),"");return a.replace(c,"")};goog.string.removeAll=function(a,b) {var c=RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
55 goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\ ^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=function(a,b) {return Array(b+1).join(a)};goog.string.padNumber=function(a,b,c){a=goog.isDef(c )?a.toFixed(c):String(a);c=a.indexOf(".");if(c==-1)c=a.length;return goog.string .repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return a==null? "":String(a)};goog.string.buildString=function(){return Array.prototype.join.cal l(arguments,"")};
56 goog.string.getRandomString=function(){return Math.floor(Math.random()*214748364 8).toString(36)+Math.abs(Math.floor(Math.random()*2147483648)^goog.now()).toStri ng(36)};
57 goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String( a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.le ngth),g=0;c==0&&g<f;g++){var h=d[g]||"",i=e[g]||"",j=RegExp("(\\d*)(\\D*)","g"), k=RegExp("(\\d*)(\\D*)","g");do{var m=j.exec(h)||["","",""],l=k.exec(i)||["","", ""];if(m[0].length==0&&l[0].length==0)break;var c=m[1].length==0?0:parseInt(m[1] ,10),n=l[1].length==0?0:parseInt(l[1],10),c=goog.string.compareElements_(c,n)||g oog.string.compareElements_(m[2].length==
58 0,l[2].length==0)||goog.string.compareElements_(m[2],l[2])}while(c==0)}return c} ;goog.string.compareElements_=function(a,b){if(a<b)return-1;else if(a>b)return 1 ;return 0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a) {for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_M AX_;return b};goog.string.uniqueStringCounter_=Math.random()*2147483648|0;goog.s tring.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounte r_++};
59 goog.string.toNumber=function(a){var b=Number(a);if(b==0&&goog.string.isEmpty(a) )return NaN;return b};goog.string.toCamelCaseCache_={};goog.string.toCamelCase=f unction(a){return goog.string.toCamelCaseCache_[a]||(goog.string.toCamelCaseCach e_[a]=String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()}))};go og.string.toSelectorCaseCache_={};
60 goog.string.toSelectorCase=function(a){return goog.string.toSelectorCaseCache_[a ]||(goog.string.toSelectorCaseCache_[a]=String(a).replace(/([A-Z])/g,"-$1").toLo werCase())};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts. AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string .subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts .AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="As sertionError";goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion f ailed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);throw new goog.asserts.As sertionError(""+e,f||[]);};
61 goog.asserts.assert=function(a,b){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts. doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};go og.asserts.fail=function(a){if(goog.asserts.ENABLE_ASSERTS)throw new goog.assert s.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1) );};
62 goog.asserts.assertNumber=function(a,b){goog.asserts.ENABLE_ASSERTS&&!goog.isNum ber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.ty peOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.ass ertString=function(a,b){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.ass erts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Arr ay.prototype.slice.call(arguments,2));return a};
63 goog.asserts.assertFunction=function(a,b){goog.asserts.ENABLE_ASSERTS&&!goog.isF unction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[g oog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asser ts.assertObject=function(a,b){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&go og.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a] ,b,Array.prototype.slice.call(arguments,2));return a};
64 goog.asserts.assertArray=function(a,b){goog.asserts.ENABLE_ASSERTS&&!goog.isArra y(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeO f(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assert Boolean=function(a,b){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asse rts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Arr ay.prototype.slice.call(arguments,2));return a};
65 goog.asserts.assertInstanceof=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!(a i nstanceof b)&&goog.asserts.doAssertFailure_("instanceof check failed.",null,c,Ar ray.prototype.slice.call(arguments,3))};goog.array={};goog.array.ArrayLike={};go og.NATIVE_ARRAY_PROTOTYPES=!0;goog.array.peek=function(a){return a[a.length-1]}; goog.array.ARRAY_PROTOTYPE_=Array.prototype;
66 goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.ind exOf?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY _PROTOTYPE_.indexOf.call(a,b,c)}:function(a,b,c){c=c==null?0:c<0?Math.max(0,a.le ngth+c):c;if(goog.isString(a)){if(!goog.isString(b)||b.length!=1)return-1;return a.indexOf(b,c)}for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
67 goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_ .lastIndexOf?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.arr ay.ARRAY_PROTOTYPE_.lastIndexOf.call(a,b,c==null?a.length-1:c)}:function(a,b,c){ c=c==null?a.length-1:c;c<0&&(c=Math.max(0,a.length+c));if(goog.isString(a)){if(! goog.isString(b)||b.length!=1)return-1;return a.lastIndexOf(b,c)}for(;c>=0;c--)i f(c in a&&a[c]===b)return c;return-1};
68 goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.for Each?function(a,b,c){goog.asserts.assert(a.length!=null);goog.array.ARRAY_PROTOT YPE_.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)? a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=fu nction(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(d-=1;d>=0;--d) d in e&&b.call(c,e[d],d,a)};
69 goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.filt er?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_P ROTOTYPE_.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog .isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var i=g[h];b.call(c,i,h,a)&&(e [f++]=i)}return e};
70 goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.map?fun ction(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTY PE_.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isStri ng(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};goog .array.reduce=function(a,b,c,d){if(a.reduce)return d?a.reduce(goog.bind(b,d),c): a.reduce(b,c);var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});r eturn e};
71 goog.array.reduceRight=function(a,b,c,d){if(a.reduceRight)return d?a.reduceRight (goog.bind(b,d),c):a.reduceRight(b,c);var e=c;goog.array.forEachRight(a,function (c,g){e=b.call(d,e,c,g,a)});return e};
72 goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.some?f unction(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTO TYPE_.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a. split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
73 goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.every ?function(a,b,c){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PRO TOTYPE_.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a) ?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goo g.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return b<0?null:goog. isString(a)?a.charAt(b):a[b]};
74 goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.spl it(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array .findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return b<0?null:go og.isString(a)?a.charAt(b):a[b]};goog.array.findIndexRight=function(a,b,c){var d =a.length,e=goog.isString(a)?a.split(""):a;for(d-=1;d>=0;d--)if(d in e&&b.call(c ,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return goog.arra y.indexOf(a,b)>=0};
75 goog.array.isEmpty=function(a){return a.length==0};goog.array.clear=function(a){ if(!goog.isArray(a))for(var b=a.length-1;b>=0;b--)delete a[b];a.length=0};goog.a rray.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};goog.array.insert At=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function (a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};
76 goog.array.insertBefore=function(a,b,c){var d;arguments.length==2||(d=goog.array .indexOf(a,c))<0?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=functio n(a,b){var c=goog.array.indexOf(a,b),d;(d=c>=0)&&goog.array.removeAt(a,c);return d};goog.array.removeAt=function(a,b){goog.asserts.assert(a.length!=null);return goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1).length==1};goog.array.removeIf=f unction(a,b,c){b=goog.array.findIndex(a,b,c);if(b>=0)return goog.array.removeAt( a,b),!0;return!1};
77 goog.array.concat=function(){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goo g.array.ARRAY_PROTOTYPE_,arguments)};goog.array.clone=function(a){if(goog.isArra y(a))return goog.array.concat(a);else{for(var b=[],c=0,d=a.length;c<d;c++)b[c]=a [c];return b}};goog.array.toArray=function(a){if(goog.isArray(a))return goog.arr ay.concat(a);return goog.array.clone(a)};
78 goog.array.extend=function(a){for(var b=1;b<arguments.length;b++){var c=argument s[b],d;if(goog.isArray(c)||(d=goog.isArrayLike(c))&&c.hasOwnProperty("callee"))a .push.apply(a,c);else if(d)for(var e=a.length,f=c.length,g=0;g<f;g++)a[e+g]=c[g] ;else a.push(c)}};goog.array.splice=function(a){goog.asserts.assert(a.length!=nu ll);return goog.array.ARRAY_PROTOTYPE_.splice.apply(a,goog.array.slice(arguments ,1))};
79 goog.array.slice=function(a,b,c){goog.asserts.assert(a.length!=null);return argu ments.length<=2?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PRO TOTYPE_.slice.call(a,b,c)};goog.array.removeDuplicates=function(a,b){for(var c=b ||a,d={},e=0,f=0;f<a.length;){var g=a[f++],h=goog.isObject(g)?"o"+goog.getUid(g) :(typeof g).charAt(0)+g;Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,c[e+ +]=g)}c.length=e};
80 goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goo g.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goo g.array.binarySearch_(a,b,!0,void 0,c)};goog.array.binarySearch_=function(a,b,c, d,e){for(var f=0,g=a.length,h;f<g;){var i=f+g>>1,j;j=c?b.call(e,a[i],i,a):b(d,a[ i]);j>0?f=i+1:(g=i,h=!j)}return h?f:~f};goog.array.sort=function(a,b){goog.asser ts.assert(a.length!=null);goog.array.ARRAY_PROTOTYPE_.sort.call(a,b||goog.array. defaultCompare)};
81 goog.array.stableSort=function(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,val ue:a[c]};var d=b||goog.array.defaultCompare;goog.array.sort(a,function(a,b){retu rn d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value} ;goog.array.sortObjectsByKey=function(a,b,c){var d=c||goog.array.defaultCompare; goog.array.sort(a,function(a,c){return d(a[b],c[b])})};
82 goog.array.isSorted=function(a,b,c){for(var b=b||goog.array.defaultCompare,d=1;d <a.length;d++){var e=b(a[d-1],a[d]);if(e>0||e==0&&c)return!1}return!0};goog.arra y.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length !=b.length)return!1;for(var d=a.length,c=c||goog.array.defaultCompareEquality,e= 0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare=function(a,b,c) {return goog.array.equals(a,b,c)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
83 goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryI nsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);if(c<0)return goog.array. insertAt(a,b,-(c+1)),!0;return!1};goog.array.binaryRemove=function(a,b,c){b=goog .array.binarySearch(a,b,c);return b>=0?goog.array.removeAt(a,b):!1};goog.array.b ucket=function(a,b){for(var c={},d=0;d<a.length;d++){var e=a[d],f=b(e,d,a);goog. isDef(f)&&(c[f]||(c[f]=[])).push(e)}return c};
84 goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.a rray.flatten=function(){for(var a=[],b=0;b<arguments.length;b++){var c=arguments [b];goog.isArray(c)?a.push.apply(a,goog.array.flatten.apply(null,c)):a.push(c)}r eturn a};goog.array.rotate=function(a,b){goog.asserts.assert(a.length!=null);a.l ength&&(b%=a.length,b>0?goog.array.ARRAY_PROTOTYPE_.unshift.apply(a,a.splice(-b, b)):b<0&&goog.array.ARRAY_PROTOTYPE_.push.apply(a,a.splice(0,-b)));return a};
85 goog.array.zip=function(){if(!arguments.length)return[];for(var a=[],b=0;;b++){f or(var c=[],d=0;d<arguments.length;d++){var e=arguments[d];if(b>=e.length)return a;c.push(e[b])}a.push(c)}};goog.array.shuffle=function(a,b){for(var c=b||Math.r andom,d=a.length-1;d>0;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f} };goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_GECKO=!1;g oog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userA gent.ASSUME_OPERA=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goo g.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.AS SUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=funct ion(){return goog.global.navigator?goog.global.navigator.userAgent:null};goog.us erAgent.getNavigator=function(){return goog.global.navigator};
86 goog.userAgent.init_=function(){goog.userAgent.detectedOpera_=!1;goog.userAgent. detectedIe_=!1;goog.userAgent.detectedWebkit_=!1;goog.userAgent.detectedMobile_= !1;goog.userAgent.detectedGecko_=!1;var a;if(!goog.userAgent.BROWSER_KNOWN_&&(a= goog.userAgent.getUserAgentString())){var b=goog.userAgent.getNavigator();goog.u serAgent.detectedOpera_=a.indexOf("Opera")==0;goog.userAgent.detectedIe_=!goog.u serAgent.detectedOpera_&&a.indexOf("MSIE")!=-1;goog.userAgent.detectedWebkit_=!g oog.userAgent.detectedOpera_&&
87 a.indexOf("WebKit")!=-1;goog.userAgent.detectedMobile_=goog.userAgent.detectedWe bkit_&&a.indexOf("Mobile")!=-1;goog.userAgent.detectedGecko_=!goog.userAgent.det ectedOpera_&&!goog.userAgent.detectedWebkit_&&b.product=="Gecko"}};goog.userAgen t.BROWSER_KNOWN_||goog.userAgent.init_();goog.userAgent.OPERA=goog.userAgent.BRO WSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.userAgent.detectedOpera_;goog.userA gent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.userAgent.de tectedIe_;
88 goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:g oog.userAgent.detectedGecko_;goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_ ?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.userAgen t.detectedWebkit_;goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goo g.userAgent.detectedMobile_;goog.userAgent.SAFARI=goog.userAgent.WEBKIT;goog.use rAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};
89 goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUM E_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.us erAgent.ASSUME_X11=!1;goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC|| goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUM E_X11;
90 goog.userAgent.initPlatform_=function(){goog.userAgent.detectedMac_=goog.string. contains(goog.userAgent.PLATFORM,"Mac");goog.userAgent.detectedWindows_=goog.str ing.contains(goog.userAgent.PLATFORM,"Win");goog.userAgent.detectedLinux_=goog.s tring.contains(goog.userAgent.PLATFORM,"Linux");goog.userAgent.detectedX11_=!!go og.userAgent.getNavigator()&&goog.string.contains(goog.userAgent.getNavigator(). appVersion||"","X11")};goog.userAgent.PLATFORM_KNOWN_||goog.userAgent.initPlatfo rm_();
91 goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog .userAgent.detectedMac_;goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?go og.userAgent.ASSUME_WINDOWS:goog.userAgent.detectedWindows_;goog.userAgent.LINUX =goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.detec tedLinux_;goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUM E_X11:goog.userAgent.detectedX11_;
92 goog.userAgent.determineVersion_=function(){var a="",b;goog.userAgent.OPERA&&goo g.global.opera?(a=goog.global.opera.version,a=typeof a=="function"?a():a):(goog. userAgent.GECKO?b=/rv\:([^\);]+)(\)|;)/:goog.userAgent.IE?b=/MSIE\s+([^\);]+)(\) |;)/:goog.userAgent.WEBKIT&&(b=/WebKit\/(\S+)/),b&&(a=(a=b.exec(goog.userAgent.g etUserAgentString()))?a[1]:""));if(goog.userAgent.IE&&(b=goog.userAgent.getDocum entMode_(),b>parseFloat(a)))return String(b);return a};
93 goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a .documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_(); goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};go og.userAgent.isVersionCache_={};goog.userAgent.isVersion=function(a){return goog .userAgent.isVersionCache_[a]||(goog.userAgent.isVersionCache_[a]=goog.string.co mpareVersions(goog.userAgent.VERSION,a)>=0)};goog.dom={};goog.dom.BrowserFeature ={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isVersion(" 9"),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.u serAgent.IE&&goog.userAgent.isVersion("9")||goog.userAgent.GECKO&&goog.userAgent .isVersion("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVers ion("9"),INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE};goog.dom.TagName={A: "A",ABBR:"ABBR",ACRONYM:"ACRONYM",ADDRESS:"ADDRESS",APPLET:"APPLET",AREA:"AREA", B:"B",BASE:"BASE",BASEFONT:"BASEFONT",BDO:"BDO",BIG:"BIG",BLOCKQUOTE:"BLOCKQUOTE ",BODY:"BODY",BR:"BR",BUTTON:"BUTTON",CANVAS:"CANVAS",CAPTION:"CAPTION",CENTER:" CENTER",CITE:"CITE",CODE:"CODE",COL:"COL",COLGROUP:"COLGROUP",DD:"DD",DEL:"DEL", DFN:"DFN",DIR:"DIR",DIV:"DIV",DL:"DL",DT:"DT",EM:"EM",FIELDSET:"FIELDSET",FONT:" FONT",FORM:"FORM",FRAME:"FRAME",FRAMESET:"FRAMESET",H1:"H1",H2:"H2",H3:"H3",H4:" H4",
94 H5:"H5",H6:"H6",HEAD:"HEAD",HR:"HR",HTML:"HTML",I:"I",IFRAME:"IFRAME",IMG:"IMG", INPUT:"INPUT",INS:"INS",ISINDEX:"ISINDEX",KBD:"KBD",LABEL:"LABEL",LEGEND:"LEGEND ",LI:"LI",LINK:"LINK",MAP:"MAP",MENU:"MENU",META:"META",NOFRAMES:"NOFRAMES",NOSC RIPT:"NOSCRIPT",OBJECT:"OBJECT",OL:"OL",OPTGROUP:"OPTGROUP",OPTION:"OPTION",P:"P ",PARAM:"PARAM",PRE:"PRE",Q:"Q",S:"S",SAMP:"SAMP",SCRIPT:"SCRIPT",SELECT:"SELECT ",SMALL:"SMALL",SPAN:"SPAN",STRIKE:"STRIKE",STRONG:"STRONG",STYLE:"STYLE",SUB:"S UB",SUP:"SUP",TABLE:"TABLE",
95 TBODY:"TBODY",TD:"TD",TEXTAREA:"TEXTAREA",TFOOT:"TFOOT",TH:"TH",THEAD:"THEAD",TI TLE:"TITLE",TR:"TR",TT:"TT",U:"U",UL:"UL",VAR:"VAR"};goog.dom.classes={};goog.do m.classes.set=function(a,b){a.className=b};goog.dom.classes.get=function(a){retu rn(a=a.className)&&typeof a.split=="function"?a.split(/\s+/):[]};goog.dom.classe s.add=function(a){var b=goog.dom.classes.get(a),c=goog.array.slice(arguments,1), c=goog.dom.classes.add_(b,c);a.className=b.join(" ");return c};goog.dom.classes. remove=function(a){var b=goog.dom.classes.get(a),c=goog.array.slice(arguments,1) ,c=goog.dom.classes.remove_(b,c);a.className=b.join(" ");return c};
96 goog.dom.classes.add_=function(a,b){for(var c=0,d=0;d<b.length;d++)goog.array.co ntains(a,b[d])||(a.push(b[d]),c++);return c==b.length};goog.dom.classes.remove_= function(a,b){for(var c=0,d=0;d<a.length;d++)goog.array.contains(b,a[d])&&(goog. array.splice(a,d--,1),c++);return c==b.length};goog.dom.classes.swap=function(a, b,c){for(var d=goog.dom.classes.get(a),e=!1,f=0;f<d.length;f++)d[f]==b&&(goog.ar ray.splice(d,f--,1),e=!0);if(e)d.push(c),a.className=d.join(" ");return e};
97 goog.dom.classes.addRemove=function(a,b,c){var d=goog.dom.classes.get(a);goog.is String(b)?goog.array.remove(d,b):goog.isArray(b)&&goog.dom.classes.remove_(d,b); goog.isString(c)&&!goog.array.contains(d,c)?d.push(c):goog.isArray(c)&&goog.dom. classes.add_(d,c);a.className=d.join(" ")};goog.dom.classes.has=function(a,b){re turn goog.array.contains(goog.dom.classes.get(a),b)};goog.dom.classes.enable=fun ction(a,b,c){c?goog.dom.classes.add(a,b):goog.dom.classes.remove(a,b)};
98 goog.dom.classes.toggle=function(a,b){var c=!goog.dom.classes.has(a,b);goog.dom. classes.enable(a,b,c);return c};goog.math={};goog.math.Coordinate=function(a,b){ this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototyp e.clone=function(){return new goog.math.Coordinate(this.x,this.y)};if(goog.DEBUG )goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y +")"};goog.math.Coordinate.equals=function(a,b){if(a==b)return!0;if(!a||!b)retur n!1;return a.x==b.x&&a.y==b.y};goog.math.Coordinate.distance=function(a,b){var c =a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};
99 goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;retur n c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Co ordinate(a.x-b.x,a.y-b.y)};goog.math.Coordinate.sum=function(a,b){return new goo g.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Size=function(a,b){this.width=a;th is.height=b};goog.math.Size.equals=function(a,b){if(a==b)return!0;if(!a||!b)retu rn!1;return a.width==b.width&&a.height==b.height};goog.math.Size.prototype.clone =function(){return new goog.math.Size(this.width,this.height)};if(goog.DEBUG)goo g.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height +")"};goog.math.Size.prototype.getLongest=function(){return Math.max(this.width, this.height)};
100 goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this. height)};goog.math.Size.prototype.area=function(){return this.width*this.height} ;goog.math.Size.prototype.perimeter=function(){return(this.width+this.height)*2} ;goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height}; goog.math.Size.prototype.isEmpty=function(){return!this.area()};goog.math.Size.p rototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil( this.height);return this};
101 goog.math.Size.prototype.fitsInside=function(a){return this.width<=a.width&&this .height<=a.height};goog.math.Size.prototype.floor=function(){this.width=Math.flo or(this.width);this.height=Math.floor(this.height);return this};goog.math.Size.p rototype.round=function(){this.width=Math.round(this.width);this.height=Math.rou nd(this.height);return this};goog.math.Size.prototype.scale=function(a){this.wid th*=a;this.height*=a;return this};
102 goog.math.Size.prototype.scaleToFit=function(a){return this.scale(this.aspectRat io()>a.aspectRatio()?a.width/this.width:a.height/this.height)};goog.object={};go og.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object .filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);re turn d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e] ,e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d] ,d,a))return!0;return!1};goog.object.every=function(a,b,c){for(var d in a)if(!b. call(c,a[d],d,a))return!1;return!0};
103 goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object. getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function( a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.ob ject.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};
104 goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arg uments,c=c?0:1;c<d.length;c++)if(a=a[d[c]],!goog.isDef(a))break;return a};goog.o bject.containsKey=function(a,b){return b in a};goog.object.containsValue=functio n(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function (a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};goog.object.findValue=fun ction(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};
105 goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.cl ear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(b in a)t hrow Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c) };goog.object.get=function(a,b,c){if(b in a)return a[b];return c};goog.object.se t=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};
106 goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};goog.obj ect.unsafeClone=function(a){var b=goog.typeOf(a);if(b=="object"||b=="array"){if( a.clone)return a.clone();var b=b=="array"?[]:{},c;for(c in a)b[c]=goog.object.un safeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c; for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_=["constructor","has OwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString", "valueOf"];
107 goog.object.extend=function(a){for(var b,c,d=1;d<arguments.length;d++){c=argumen ts[d];for(b in c)a[b]=c[b];for(var e=0;e<goog.object.PROTOTYPE_FIELDS_.length;e+ +)b=goog.object.PROTOTYPE_FIELDS_[e],Object.prototype.hasOwnProperty.call(c,b)&& (a[b]=c[b])}};goog.object.create=function(){var a=arguments.length;if(a==1&&goog .isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(a%2 )throw Error("Uneven number of arguments");for(var b={},c=0;c<a;c+=2)b[arguments [c]]=arguments[c+1];return b};
108 goog.object.createSet=function(){var a=arguments.length;if(a==1&&goog.isArray(ar guments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var b={},c =0;c<a;c++)b[arguments[c]]=!0;return b};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom. ASSUME_STANDARDS_MODE=!1;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE ||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3 ,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8, DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.dom.getDomHel per=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):go og.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};
109 goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a) {return goog.isString(a)?document.getElementById(a):a};goog.dom.$=goog.dom.getEl ement;goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getE lementsByTagNameAndClass_(document,a,b,c)};
110 goog.dom.getElementsByClass=function(a,b){var c=b||document;if(goog.dom.canUseQu erySelector_(c))return c.querySelectorAll("."+a);else if(c.getElementsByClassNam e)return c.getElementsByClassName(a);return goog.dom.getElementsByTagNameAndClas s_(document,"*",a,b)};goog.dom.getElementByClass=function(a,b){var c=b||document ,d=null;return(d=goog.dom.canUseQuerySelector_(c)?c.querySelector("."+a):goog.do m.getElementsByClass(a,b)[0])||null};
111 goog.dom.canUseQuerySelector_=function(a){return a.querySelectorAll&&a.querySele ctor&&(!goog.userAgent.WEBKIT||goog.dom.isCss1CompatMode_(document)||goog.userAg ent.isVersion("528"))};
112 goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&b!="*"?b.to UpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelecto rAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName)if(a=a.getElementsByClassNam e(c),b){for(var d={},e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;r eturn d}else return a;a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[ f];f++)b=g.className,typeof b.split=="function"&&goog.array.contains(b.split(/\s +/),c)&&(d[e++]=g);d.length=
113 e;return d}else return a};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;goog .dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){d=="style"? a.style.cssText=b:d=="class"?a.className=b:d=="for"?a.htmlFor=b:d in goog.dom.DI RECT_ATTRIBUTE_MAP_?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):a[d]=b}) };
114 goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpaci ng",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"w idth",usemap:"useMap",frameborder:"frameBorder",maxlength:"maxLength",type:"type "};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||wind ow)};
115 goog.dom.getViewportSize_=function(a){var b=a.document;if(goog.userAgent.WEBKIT& &!goog.userAgent.isVersion("500")&&!goog.userAgent.MOBILE){typeof a.innerHeight= ="undefined"&&(a=window);var b=a.innerHeight,c=a.document.documentElement.scroll Height;a==a.top&&c<b&&(b-=15);return new goog.math.Size(a.innerWidth,b)}a=goog.d om.isCss1CompatMode_(b)?b.documentElement:b.body;return new goog.math.Size(a.cli entWidth,a.clientHeight)};goog.dom.getDocumentHeight=function(){return goog.dom. getDocumentHeight_(window)};
116 goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){var a=goog.do m.getViewportSize_(a).height,c=b.body,d=b.documentElement;if(goog.dom.isCss1Comp atMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;els e{var b=d.scrollHeight,e=d.offsetHeight;if(d.clientHeight!=e)b=c.scrollHeight,e= c.offsetHeight;c=b>a?b>e?b:e:b<e?b:e}}return c};goog.dom.getPageScroll=function( a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentSc roll()};
117 goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(documen t)};goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElem ent_(a),a=goog.dom.getWindow_(a);return new goog.math.Coordinate(a.pageXOffset|| b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=func tion(){return goog.dom.getDocumentScrollElement_(document)};
118 goog.dom.getDocumentScrollElement_=function(a){return!goog.userAgent.WEBKIT&&goo g.dom.isCss1CompatMode_(a)?a.documentElement:a.body};goog.dom.getWindow=function (a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){retu rn a.parentWindow||a.defaultView};goog.dom.createDom=function(){return goog.dom. createDom_(document,arguments)};
119 goog.dom.createDom_=function(a,b){var c=b[0],d=b[1];if(!goog.dom.BrowserFeature. CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',goog.string.htmlEscape(d.name),'"');if(d.type){c.push(' type="',goog.st ring.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d);d=e;delete d.type} c.push(">");c=c.join("")}c=a.createElement(c);if(d)goog.isString(d)?c.className= d:goog.isArray(d)?goog.dom.classes.add.apply(null,[c].concat(d)):goog.dom.setPro perties(c,d);b.length>
120 2&&goog.dom.append_(a,c,b,2);return c};goog.dom.append_=function(a,b,c,d){functi on e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length ;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach (goog.dom.isNodeList(f)?goog.array.clone(f):f,e):e(f)}};goog.dom.$dom=goog.dom.c reateDom;goog.dom.createElement=function(a){return document.createElement(a)};go og.dom.createTextNode=function(a){return document.createTextNode(a)};
121 goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,! !c)};goog.dom.createTable_=function(a,b,c,d){for(var e=["<tr>"],f=0;f<c;f++)e.pu sh(d?"<td>&nbsp;</td>":"<td></td>");e.push("</tr>");e=e.join("");c=["<table>"];f or(f=0;f<b;f++)c.push(e);c.push("</table>");a=a.createElement(goog.dom.TagName.D IV);a.innerHTML=c.join("");return a.removeChild(a.firstChild)};goog.dom.htmlToDo cumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(document,a)};
122 goog.dom.htmlToDocumentFragment_=function(a,b){var c=a.createElement("div");goog .dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(c.innerHTML="<br>"+b,c.remo veChild(c.firstChild)):c.innerHTML=b;if(c.childNodes.length==1)return c.removeCh ild(c.firstChild);else{for(var d=a.createDocumentFragment();c.firstChild;)d.appe ndChild(c.firstChild);return d}};goog.dom.getCompatMode=function(){return goog.d om.isCss1CompatMode()?"CSS1Compat":"BackCompat"};goog.dom.isCss1CompatMode=funct ion(){return goog.dom.isCss1CompatMode_(document)};
123 goog.dom.isCss1CompatMode_=function(a){if(goog.dom.COMPAT_MODE_KNOWN_)return goo g.dom.ASSUME_STANDARDS_MODE;return a.compatMode=="CSS1Compat"};goog.dom.canHaveC hildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.t agName){case goog.dom.TagName.APPLET:case goog.dom.TagName.AREA:case goog.dom.Ta gName.BASE:case goog.dom.TagName.BR:case goog.dom.TagName.COL:case goog.dom.TagN ame.FRAME:case goog.dom.TagName.HR:case goog.dom.TagName.IMG:case goog.dom.TagNa me.INPUT:case goog.dom.TagName.IFRAME:case goog.dom.TagName.ISINDEX:case goog.do m.TagName.LINK:case goog.dom.TagName.NOFRAMES:case goog.dom.TagName.NOSCRIPT:cas e goog.dom.TagName.META:case goog.dom.TagName.OBJECT:case goog.dom.TagName.PARAM :case goog.dom.TagName.SCRIPT:case goog.dom.TagName.STYLE:return!1}return!0};
124 goog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a) {goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeCh ildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSi blingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};goog.dom .insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.ne xtSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes [c]||null)};
125 goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild( a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild (a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType !=goog.dom.NodeType.DOCUMENT_FRAGMENT)if(a.removeNode)return a.removeNode(!1);el se{for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};
126 goog.dom.getChildren=function(a){if(goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATT RIBUTE&&a.children!=void 0)return a.children;return goog.array.filter(a.childNod es,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirst ElementChild=function(a){if(a.firstElementChild!=void 0)return a.firstElementChi ld;return goog.dom.getNextElementNode_(a.firstChild,!0)};
127 goog.dom.getLastElementChild=function(a){if(a.lastElementChild!=void 0)return a. lastElementChild;return goog.dom.getNextElementNode_(a.lastChild,!1)};goog.dom.g etNextElementSibling=function(a){if(a.nextElementSibling!=void 0)return a.nextEl ementSibling;return goog.dom.getNextElementNode_(a.nextSibling,!0)};goog.dom.get PreviousElementSibling=function(a){if(a.previousElementSibling!=void 0)return a. previousElementSibling;return goog.dom.getNextElementNode_(a.previousSibling,!1) };
128 goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType .ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};goog.dom.getNextNode=fun ction(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSi bling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=func tion(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.prev iousSibling;a&&a.lastChild;)a=a.lastChild;return a};
129 goog.dom.isNodeLike=function(a){return goog.isObject(a)&&a.nodeType>0};goog.dom. isWindow=function(a){return goog.isObject(a)&&a.window==a};goog.dom.contains=fun ction(a,b){if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.c ontains(b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean (a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
130 goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPos ition)return a.compareDocumentPosition(b)&2?1:-1;if("sourceIndex"in a||a.parentN ode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d =b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceInde x;else{var e=a.parentNode,f=b.parentNode;if(e==f)return goog.dom.compareSiblingO rder_(a,b);if(!c&&goog.dom.contains(e,b))return-1*goog.dom.compareParentsDescend antNodeIe_(a,b);if(!d&&
131 goog.dom.contains(f,a))return goog.dom.compareParentsDescendantNodeIe_(b,a);retu rn(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}}d=goog.dom.ge tOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);d=d.createRan ge();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(goog.global.R ange.START_TO_END,d)};
132 goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c== b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSi blingOrder_(d,a)};goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.pr eviousSibling;)if(c==a)return-1;return 1};
133 goog.dom.findCommonAncestor=function(){var a,b=arguments.length;if(b){if(b==1)re turn arguments[0]}else return null;var c=[],d=Infinity;for(a=0;a<b;a++){for(var e=[],f=arguments[a];f;)e.unshift(f),f=f.parentNode;c.push(e);d=Math.min(d,e.leng th)}e=null;for(a=0;a<d;a++){for(var f=c[0][a],g=1;g<b;g++)if(f!=c[g][a])return e ;e=f}return e};goog.dom.getOwnerDocument=function(a){return a.nodeType==goog.dom .NodeType.DOCUMENT?a:a.ownerDocument||a.document};
134 goog.dom.getFrameContentDocument=function(a){return goog.userAgent.WEBKIT?a.docu ment||a.contentWindow.document:a.contentDocument||a.contentWindow.document};goog .dom.getFrameContentWindow=function(a){return a.contentWindow||goog.dom.getWindo w_(goog.dom.getFrameContentDocument(a))};
135 goog.dom.setTextContent=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild !=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{goog.dom.rem oveChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode (b))}};goog.dom.getOuterHtml=function(a){if("outerHTML"in a)return a.outerHTML;e lse{var b=goog.dom.getOwnerDocument(a).createElement("div");b.appendChild(a.clon eNode(!0));return b.innerHTML}};
136 goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[ 0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,! 1);return c};goog.dom.findNodes_=function(a,b,c,d){if(a!=null)for(var e=0,f;f=a. childNodes[e];e++){if(b(f)&&(c.push(f),d))return!0;if(goog.dom.findNodes_(f,b,c, d))return!0}return!1};goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1 ,OBJECT:1};goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"};
137 goog.dom.isFocusableTabIndex=function(a){var b=a.getAttributeNode("tabindex");if (b&&b.specified)return a=a.tabIndex,goog.isNumber(a)&&a>=0;return!1};goog.dom.se tFocusableTabIndex=function(a,b){b?a.tabIndex=0:a.removeAttribute("tabIndex")};
138 goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEX T&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[] ;goog.dom.getTextContent_(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replac e(/\xAD/g,"");a=a.replace(/\u200B/g,"");goog.userAgent.IE||(a=a.replace(/ +/g," "));a!=" "&&(a=a.replace(/^\s*/,""));return a};goog.dom.getRawTextContent=functi on(a){var b=[];goog.dom.getTextContent_(a,b,!1);return b.join("")};
139 goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGN ORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace (/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFI NED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a .firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNode TextLength=function(a){return goog.dom.getTextContent(a).length};
140 goog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument( a).body,d=[];a&&a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTe xtContent(e));a=a.parentNode}return goog.string.trimLeft(d.join("")).replace(/ + /g," ").length};
141 goog.dom.getNodeAtOffset=function(a,b,c){for(var a=[a],d=0,e;a.length>0&&d<b;)if (e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.Nod eType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+= f.length}else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDE FINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;f>=0;f--)a .push(e.childNodes[f]);if(goog.isObject(c))c.remainder=e?e.nodeValue.length+b-d- 1:0,c.node=e;return e};
142 goog.dom.isNodeList=function(a){if(a&&typeof a.length=="number")if(goog.isObject (a))return typeof a.item=="function"||typeof a.item=="string";else if(goog.isFun ction(a))return typeof a.item=="function";return!1};goog.dom.getAncestorByTagNam eAndClass=function(a,b,c){var d=b?b.toUpperCase():null;return goog.dom.getAncest or(a,function(a){return(!d||a.nodeName==d)&&(!c||goog.dom.classes.has(a,c))},!0) };goog.dom.getAncestorByClass=function(a,b){return goog.dom.getAncestorByTagName AndClass(a,null,b)};
143 goog.dom.getAncestor=function(a,b,c,d){if(!c)a=a.parentNode;for(var c=d==null,e= 0;a&&(c||e<=d);){if(b(a))return a;a=a.parentNode;e++}return null};goog.dom.DomHe lper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomH elper.prototype.getDomHelper=goog.dom.getDomHelper;goog.dom.DomHelper.prototype. setDocument=function(a){this.document_=a};goog.dom.DomHelper.prototype.getDocume nt=function(){return this.document_};
144 goog.dom.DomHelper.prototype.getElement=function(a){return goog.isString(a)?this .document_.getElementById(a):a};goog.dom.DomHelper.prototype.$=goog.dom.DomHelpe r.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagNameAndClass =function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a, b,c)};goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog. dom.getElementsByClass(a,b||this.document_)};
145 goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.get ElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.$$=goog.dom.Do mHelper.prototype.getElementsByTagNameAndClass;goog.dom.DomHelper.prototype.setP roperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=fu nction(a){return goog.dom.getViewportSize(a||this.getWindow())};goog.dom.DomHelp er.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(thi s.getWindow())};
146 goog.dom.DomHelper.prototype.createDom=function(){return goog.dom.createDom_(thi s.document_,arguments)};goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.pro totype.createDom;goog.dom.DomHelper.prototype.createElement=function(a){return t his.document_.createElement(a)};goog.dom.DomHelper.prototype.createTextNode=func tion(a){return this.document_.createTextNode(a)};goog.dom.DomHelper.prototype.cr eateTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};
147 goog.dom.DomHelper.prototype.htmlToDocumentFragment=function(a){return goog.dom. htmlToDocumentFragment_(this.document_,a)};goog.dom.DomHelper.prototype.getCompa tMode=function(){return this.isCss1CompatMode()?"CSS1Compat":"BackCompat"};goog. dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1Compat Mode_(this.document_)};goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScr ollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)} ;
148 goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDoc umentScroll_(this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom. appendChild;goog.dom.DomHelper.prototype.append=goog.dom.append;goog.dom.DomHelp er.prototype.removeChildren=goog.dom.removeChildren;goog.dom.DomHelper.prototype .insertSiblingBefore=goog.dom.insertSiblingBefore;goog.dom.DomHelper.prototype.i nsertSiblingAfter=goog.dom.insertSiblingAfter;goog.dom.DomHelper.prototype.remov eNode=goog.dom.removeNode;
149 goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode;goog.dom.DomHelper .prototype.flattenElement=goog.dom.flattenElement;goog.dom.DomHelper.prototype.g etFirstElementChild=goog.dom.getFirstElementChild;goog.dom.DomHelper.prototype.g etLastElementChild=goog.dom.getLastElementChild;goog.dom.DomHelper.prototype.get NextElementSibling=goog.dom.getNextElementSibling;goog.dom.DomHelper.prototype.g etPreviousElementSibling=goog.dom.getPreviousElementSibling;
150 goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode;goog.dom.DomHelper .prototype.getPreviousNode=goog.dom.getPreviousNode;goog.dom.DomHelper.prototype .isNodeLike=goog.dom.isNodeLike;goog.dom.DomHelper.prototype.contains=goog.dom.c ontains;goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument; goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDoc ument;goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameConten tWindow;
151 goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent;goog.dom.Dom Helper.prototype.findNode=goog.dom.findNode;goog.dom.DomHelper.prototype.findNod es=goog.dom.findNodes;goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTe xtContent;goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLen gth;goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset;go og.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTa gNameAndClass;
152 goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.structs={};go og.structs.getCount=function(a){if(typeof a.getCount=="function")return a.getCou nt();if(goog.isArrayLike(a)||goog.isString(a))return a.length;return goog.object .getCount(a)};goog.structs.getValues=function(a){if(typeof a.getValues=="functio n")return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLi ke(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.obj ect.getValues(a)};
153 goog.structs.getKeys=function(a){if(typeof a.getKeys=="function")return a.getKey s();if(typeof a.getValues!="function"){if(goog.isArrayLike(a)||goog.isString(a)) {for(var b=[],a=a.length,c=0;c<a;c++)b.push(c);return b}return goog.object.getKe ys(a)}};
154 goog.structs.contains=function(a,b){if(typeof a.contains=="function")return a.co ntains(b);if(typeof a.containsValue=="function")return a.containsValue(b);if(goo g.isArrayLike(a)||goog.isString(a))return goog.array.contains(a,b);return goog.o bject.containsValue(a,b)};goog.structs.isEmpty=function(a){if(typeof a.isEmpty== "function")return a.isEmpty();if(goog.isArrayLike(a)||goog.isString(a))return go og.array.isEmpty(a);return goog.object.isEmpty(a)};
155 goog.structs.clear=function(a){typeof a.clear=="function"?a.clear():goog.isArray Like(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function( a,b,c){if(typeof a.forEach=="function")a.forEach(b,c);else if(goog.isArrayLike(a )||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKey s(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a) };
156 goog.structs.filter=function(a,b,c){if(typeof a.filter=="function")return a.filt er(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c) ;var d,e=goog.structs.getKeys(a),f=goog.structs.getValues(a),g=f.length;if(e){d= {};for(var h=0;h<g;h++)b.call(c,f[h],e[h],a)&&(d[e[h]]=f[h])}else{d=[];for(h=0;h <g;h++)b.call(c,f[h],void 0,a)&&d.push(f[h])}return d};
157 goog.structs.map=function(a,b,c){if(typeof a.map=="function")return a.map(b,c);i f(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d,e=goo g.structs.getKeys(a),f=goog.structs.getValues(a),g=f.length;if(e){d={};for(var h =0;h<g;h++)d[e[h]]=b.call(c,f[h],e[h],a)}else{d=[];for(h=0;h<g;h++)d[h]=b.call(c ,f[h],void 0,a)}return d};
158 goog.structs.some=function(a,b,c){if(typeof a.some=="function")return a.some(b,c );if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if (b.call(c,e[g],d&&d[g],a))return!0;return!1};
159 goog.structs.every=function(a,b,c){if(typeof a.every=="function")return a.every( b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for (var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g+ +)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.iter={};goog.iter.StopIte ration="StopIteration"in goog.global?goog.global.StopIteration:Error("StopIterat ion");goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function (){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=fun ction(){return this};
160 goog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if( typeof a.__iterator__=="function")return a.__iterator__(!1);if(goog.isArrayLike( a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)th row goog.iter.StopIteration;if(b in a)return a[b++];else b++}};return c}throw Er ror("Not implemented");};
161 goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach( a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toItera tor(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(e){if(e!==goog.iter.StopIter ation)throw e;}}};goog.iter.filter=function(a,b,c){var a=goog.iter.toIterator(a) ,d=new goog.iter.Iterator;d.next=function(){for(;;){var d=a.next();if(b.call(c,d ,void 0,a))return d}};return d};
162 goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;arguments.length>1&&(d=a,e=b) ;if(f==0)throw Error("Range step argument must not be zero");var g=new goog.iter .Iterator;g.next=function(){if(f>0&&d>=e||f<0&&d<=e)throw goog.iter.StopIteratio n;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter .toArray(a).join(b)};goog.iter.map=function(a,b,c){var a=goog.iter.toIterator(a) ,d=new goog.iter.Iterator;d.next=function(){for(;;){var d=a.next();return b.call (c,d,void 0,a)}};return d};
163 goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.c all(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a); try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.Sto pIteration)throw d;}return!1};goog.iter.every=function(a,b,c){a=goog.iter.toIter ator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog .iter.StopIteration)throw d;}return!0};
164 goog.iter.chain=function(){var a=arguments,b=a.length,c=0,d=new goog.iter.Iterat or;d.next=function(){try{if(c>=b)throw goog.iter.StopIteration;return goog.iter. toIterator(a[c]).next()}catch(d){if(d!==goog.iter.StopIteration||c>=b)throw d;el se return c++,this.next()}};return d};goog.iter.dropWhile=function(a,b,c){var a= goog.iter.toIterator(a),d=new goog.iter.Iterator,e=!0;d.next=function(){for(;;){ var d=a.next();if(!e||!b.call(c,d,void 0,a))return e=!1,d}};return d};
165 goog.iter.takeWhile=function(a,b,c){var a=goog.iter.toIterator(a),d=new goog.ite r.Iterator,e=!0;d.next=function(){for(;;)if(e){var d=a.next();if(b.call(c,d,void 0,a))return d;else e=!1}else throw goog.iter.StopIteration;};return d};goog.ite r.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);var a= goog.iter.toIterator(a),b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};
166 goog.iter.equals=function(a,b){var a=goog.iter.toIterator(a),b=goog.iter.toItera tor(b),c,d;try{for(;;){c=d=!1;var e=a.next();c=!0;var f=b.next();d=!0;if(e!=f)br eak}}catch(g){if(g!==goog.iter.StopIteration)throw g;else{if(c&&!d)return!1;if(! d)try{b.next()}catch(h){if(h!==goog.iter.StopIteration)throw h;return!0}}}return !1};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next( )}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};
167 goog.iter.product=function(){if(goog.array.some(arguments,function(a){return!a.l ength})||!arguments.length)return new goog.iter.Iterator;var a=new goog.iter.Ite rator,b=arguments,c=goog.array.repeat(0,b.length);a.next=function(){if(c){for(va r a=goog.array.map(c,function(a,c){return b[c][a]}),e=c.length-1;e>=0;e--){goog. asserts.assert(c);if(c[e]<b[e].length-1){c[e]++;break}if(e==0){c=null;break}c[e] =0}return a}throw goog.iter.StopIteration;};return a};goog.structs.Map=function( a){this.map_={};this.keys_=[];var b=arguments.length;if(b>1){if(b%2)throw Error( "Uneven number of arguments");for(var c=0;c<b;c+=2)this.set(arguments[c],argumen ts[c+1])}else a&&this.addAll(a)};goog.structs.Map.prototype.count_=0;goog.struct s.Map.prototype.version_=0;goog.structs.Map.prototype.getCount=function(){return this.count_};
168 goog.structs.Map.prototype.getValues=function(){this.cleanupKeysArray_();for(var a=[],b=0;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};goo g.structs.Map.prototype.getKeys=function(){this.cleanupKeysArray_();return this. keys_.concat()};goog.structs.Map.prototype.containsKey=function(a){return goog.s tructs.Map.hasKey_(this.map_,a)};
169 goog.structs.Map.prototype.containsValue=function(a){for(var b=0;b<this.keys_.le ngth;b++){var c=this.keys_[b];if(goog.structs.Map.hasKey_(this.map_,c)&&this.map _[c]==a)return!0}return!1};goog.structs.Map.prototype.equals=function(a,b){if(th is===a)return!0;if(this.count_!=a.getCount())return!1;var c=b||goog.structs.Map. defaultEquals;this.cleanupKeysArray_();for(var d,e=0;d=this.keys_[e];e++)if(!c(t his.get(d),a.get(d)))return!1;return!0};goog.structs.Map.defaultEquals=function( a,b){return a===b};
170 goog.structs.Map.prototype.isEmpty=function(){return this.count_==0};goog.struct s.Map.prototype.clear=function(){this.map_={};this.version_=this.count_=this.key s_.length=0};goog.structs.Map.prototype.remove=function(a){if(goog.structs.Map.h asKey_(this.map_,a))return delete this.map_[a],this.count_--,this.version_++,thi s.keys_.length>2*this.count_&&this.cleanupKeysArray_(),!0;return!1};
171 goog.structs.Map.prototype.cleanupKeysArray_=function(){if(this.count_!=this.key s_.length){for(var a=0,b=0;a<this.keys_.length;){var c=this.keys_[a];goog.struct s.Map.hasKey_(this.map_,c)&&(this.keys_[b++]=c);a++}this.keys_.length=b}if(this. count_!=this.keys_.length){for(var d={},b=a=0;a<this.keys_.length;)c=this.keys_[ a],goog.structs.Map.hasKey_(d,c)||(this.keys_[b++]=c,d[c]=1),a++;this.keys_.leng th=b}};
172 goog.structs.Map.prototype.get=function(a,b){if(goog.structs.Map.hasKey_(this.ma p_,a))return this.map_[a];return b};goog.structs.Map.prototype.set=function(a,b) {goog.structs.Map.hasKey_(this.map_,a)||(this.count_++,this.keys_.push(a),this.v ersion_++);this.map_[a]=b};goog.structs.Map.prototype.addAll=function(a){var b;a instanceof goog.structs.Map?(b=a.getKeys(),a=a.getValues()):(b=goog.object.getK eys(a),a=goog.object.getValues(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c] )};
173 goog.structs.Map.prototype.clone=function(){return new goog.structs.Map(this)};g oog.structs.Map.prototype.transpose=function(){for(var a=new goog.structs.Map,b= 0;b<this.keys_.length;b++){var c=this.keys_[b];a.set(this.map_[c],c)}return a};g oog.structs.Map.prototype.toObject=function(){this.cleanupKeysArray_();for(var a ={},b=0;b<this.keys_.length;b++){var c=this.keys_[b];a[c]=this.map_[c]}return a} ;goog.structs.Map.prototype.getKeyIterator=function(){return this.__iterator__(! 0)};
174 goog.structs.Map.prototype.getValueIterator=function(){return this.__iterator__( !1)};goog.structs.Map.prototype.__iterator__=function(a){this.cleanupKeysArray_( );var b=0,c=this.keys_,d=this.map_,e=this.version_,f=this,g=new goog.iter.Iterat or;g.next=function(){for(;;){if(e!=f.version_)throw Error("The map has changed s ince the iterator was created");if(b>=c.length)throw goog.iter.StopIteration;var g=c[b++];return a?g:d[g]}};return g};
175 goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.ca ll(a,b)};goog.structs.Set=function(a){this.map_=new goog.structs.Map;a&&this.add All(a)};goog.structs.Set.getKey_=function(a){var b=typeof a;return b=="object"&& a||b=="function"?"o"+goog.getUid(a):b.substr(0,1)+a};goog.structs.Set.prototype. getCount=function(){return this.map_.getCount()};goog.structs.Set.prototype.add= function(a){this.map_.set(goog.structs.Set.getKey_(a),a)};goog.structs.Set.proto type.addAll=function(a){for(var a=goog.structs.getValues(a),b=a.length,c=0;c<b;c ++)this.add(a[c])};
176 goog.structs.Set.prototype.removeAll=function(a){for(var a=goog.structs.getValue s(a),b=a.length,c=0;c<b;c++)this.remove(a[c])};goog.structs.Set.prototype.remove =function(a){return this.map_.remove(goog.structs.Set.getKey_(a))};goog.structs. Set.prototype.clear=function(){this.map_.clear()};goog.structs.Set.prototype.isE mpty=function(){return this.map_.isEmpty()};goog.structs.Set.prototype.contains= function(a){return this.map_.containsKey(goog.structs.Set.getKey_(a))};
177 goog.structs.Set.prototype.containsAll=function(a){return goog.structs.every(a,t his.contains,this)};goog.structs.Set.prototype.intersection=function(a){for(var b=new goog.structs.Set,a=goog.structs.getValues(a),c=0;c<a.length;c++){var d=a[c ];this.contains(d)&&b.add(d)}return b};goog.structs.Set.prototype.getValues=func tion(){return this.map_.getValues()};goog.structs.Set.prototype.clone=function() {return new goog.structs.Set(this)};
178 goog.structs.Set.prototype.equals=function(a){return this.getCount()==goog.struc ts.getCount(a)&&this.isSubsetOf(a)};goog.structs.Set.prototype.isSubsetOf=functi on(a){var b=goog.structs.getCount(a);if(this.getCount()>b)return!1;!(a instanceo f goog.structs.Set)&&b>5&&(a=new goog.structs.Set(a));return goog.structs.every( this,function(b){return goog.structs.contains(a,b)})};goog.structs.Set.prototype .__iterator__=function(){return this.map_.__iterator__(!1)};goog.debug.catchErro rs=function(a,b,c){var c=c||goog.global,d=c.onerror;c.onerror=function(c,f,g){d& &d(c,f,g);a({message:c,fileName:f,line:g});return Boolean(b)}};goog.debug.expose =function(a,b){if(typeof a=="undefined")return"undefined";if(a==null)return"NULL ";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" = ";try{e+=a[d]} catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
179 goog.debug.deepExpose=function(a,b){var c=new goog.structs.Set,d=[],e=function(a ,g){var h=g+" ";try{if(goog.isDef(a))if(goog.isNull(a))d.push("NULL");else if(g oog.isString(a))d.push('"'+a.replace(/\n/g,"\n"+g)+'"');else if(goog.isFunction( a))d.push(String(a).replace(/\n/g,"\n"+g));else if(goog.isObject(a))if(c.contain s(a))d.push("*** reference loop detected ***");else{c.add(a);d.push("{");for(var i in a)if(b||!goog.isFunction(a[i]))d.push("\n"),d.push(h),d.push(i+" = "),e(a[ i],h);d.push("\n"+g+"}")}else d.push(a);
180 else d.push("undefined")}catch(j){d.push("*** "+j+" ***")}};e(a,"");return d.joi n("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.i sArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join (", ")+" ]"};
181 goog.debug.exposeException=function(a,b){try{var c=goog.debug.normalizeErrorObje ct(a);return"Message: "+goog.string.htmlEscape(c.message)+'\nUrl: <a href="view- source:'+c.fileName+'" target="_new">'+c.fileName+"</a>\nLine: "+c.lineNumber+"\ n\nBrowser stack:\n"+goog.string.htmlEscape(c.stack+"-> ")+"[end]\n\nJS stack tr aversal:\n"+goog.string.htmlEscape(goog.debug.getStacktrace(b)+"-> ")}catch(d){r eturn"Exception trying to expose exception! You win, we lose. "+d}};
182 goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.l ocation.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNum ber:"Not available",fileName:b,stack:"Not available"};var c,d,e=!1;try{c=a.lineN umber||a.line||"Not available"}catch(f){c="Not available",e=!0}try{d=a.fileName| |a.filename||a.sourceURL||b}catch(g){d="Not available",e=!0}if(e||!a.lineNumber| |!a.fileName||!a.stack)return{message:a.message,name:a.name,lineNumber:c,fileNam e:d,stack:a.stack||"Not available"};
183 return a};goog.debug.enhanceError=function(a,b){var c=typeof a=="string"?Error(a ):a;if(!c.stack)c.stack=goog.debug.getStacktrace(arguments.callee.caller);if(b){ for(var d=0;c["message"+d];)++d;c["message"+d]=String(b)}return c};
184 goog.debug.getStacktraceSimple=function(a){for(var b=[],c=arguments.callee.calle r,d=0;c&&(!a||d<a);){b.push(goog.debug.getFunctionName(c));b.push("()\n");try{c= c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=g oog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[ ...reached max depth limit...]"):b.push("[end]");return b.join("")};goog.debug.M AX_STACK_DEPTH=50;
185 goog.debug.getStacktrace=function(a){return goog.debug.getStacktraceHelper_(a||a rguments.callee.caller,[])};
186 goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b, a))c.push("[...circular reference...]");else if(a&&b.length<goog.debug.MAX_STACK _DEPTH){c.push(goog.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;e<d. length;e++){e>0&&c.push(", ");var f;f=d[e];switch(typeof f){case "object":f=f?"o bject":"null";break;case "string":break;case "number":f=String(f);break;case "bo olean":f=f?"true":"false";break;case "function":f=(f=goog.debug.getFunctionName( f))?f:"[fn]";break;default:f=
187 typeof f}f.length>40&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n") ;try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[excep tion trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end ]");return c.join("")};goog.debug.getFunctionName=function(a){a=String(a);if(!go og.debug.fnNameCache_[a]){var b=/function ([^\(]+)/.exec(a);goog.debug.fnNameCac he_[a]=b?b[1]:"[Anonymous]"}return goog.debug.fnNameCache_[a]};
188 goog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replac e(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")} ;goog.debug.fnNameCache_={};goog.debug.LogRecord=function(a,b,c,d,e){this.reset( a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecor d.prototype.exception_=null;goog.debug.LogRecord.prototype.exceptionText_=null;g oog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequence Number_=0;
189 goog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){if(goog.debug.LogRecord .ENABLE_SEQUENCE_NUMBERS)this.sequenceNumber_=typeof e=="number"?e:goog.debug.Lo gRecord.nextSequenceNumber_++;this.time_=d||goog.now();this.level_=a;this.msg_=b ;this.loggerName_=c;delete this.exception_;delete this.exceptionText_};goog.debu g.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.deb ug.LogRecord.prototype.getException=function(){return this.exception_};
190 goog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog. debug.LogRecord.prototype.getExceptionText=function(){return this.exceptionText_ };goog.debug.LogRecord.prototype.setExceptionText=function(a){this.exceptionText _=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a };goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.de bug.LogRecord.prototype.setLevel=function(a){this.level_=a};
191 goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debu g.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.p rototype.getMillis=function(){return this.time_};goog.debug.LogRecord.prototype. setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNu mber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goo g.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debu g.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.");this.clear()};goog .debug.LogBuffer.getInstance=function(){if(!goog.debug.LogBuffer.instance_)goog. debug.LogBuffer.instance_=new goog.debug.LogBuffer;return goog.debug.LogBuffer.i nstance_};goog.debug.LogBuffer.CAPACITY=0;
192 goog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1 )%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.b uffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;retur n this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBuffer ingEnabled=function(){return goog.debug.LogBuffer.CAPACITY>0};
193 goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.Lo gBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.protot ype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d =this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)} };goog.debug.Logger=function(a){this.name_=a};goog.debug.Logger.prototype.parent _=null;goog.debug.Logger.prototype.level_=null;goog.debug.Logger.prototype.child ren_=null;goog.debug.Logger.prototype.handlers_=null;goog.debug.Logger.ENABLE_HI ERARCHY=!0;if(!goog.debug.Logger.ENABLE_HIERARCHY)goog.debug.Logger.rootHandlers _=[];goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug. Logger.Level.prototype.toString=function(){return this.name};
194 goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);goog.deb ug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200);goog.debug.Logge r.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1E3);goog.debug.Logger.Level .WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO =new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog .debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Lo gger.Level("FINE",500);
195 goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);goog.debu g.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300);goog.debug.Logge r.Level.ALL=new goog.debug.Logger.Level("ALL",0);
196 goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debu g.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARN ING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logge r.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.d ebug.Logger.Level.ALL];goog.debug.Logger.Level.predefinedLevelsCache_=null;
197 goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logge r.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEF INED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goo g.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};
198 goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.p redefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();re turn goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};
199 goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger. Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCach e_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Lo gger.Level.predefinedLevelsCache_[a];for(var b=0;b<goog.debug.Logger.Level.PREDE FINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c .value<=a)return c}return null};goog.debug.Logger.getLogger=function(a){return g oog.debug.LogManager.getLogger(a)};
200 goog.debug.Logger.prototype.getName=function(){return this.name_};goog.debug.Log ger.prototype.addHandler=function(a){if(goog.debug.Logger.ENABLE_HIERARCHY){if(! this.handlers_)this.handlers_=[];this.handlers_.push(a)}else goog.asserts.assert (!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger .ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(a)};
201 goog.debug.Logger.prototype.removeHandler=function(a){var b=goog.debug.Logger.EN ABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b&&goog.ar ray.remove(b,a)};goog.debug.Logger.prototype.getParent=function(){return this.pa rent_};goog.debug.Logger.prototype.getChildren=function(){if(!this.children_)thi s.children_={};return this.children_};
202 goog.debug.Logger.prototype.setLevel=function(a){goog.debug.Logger.ENABLE_HIERAR CHY?this.level_=a:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.L ogger.rootLevel_=a)};goog.debug.Logger.prototype.getLevel=function(){return this .level_};
203 goog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.Logger.E NABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.l evel_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail( "Root logger has no level set.");return null};goog.debug.Logger.prototype.isLogg able=function(a){return a.value>=this.getEffectiveLevel().value};goog.debug.Logg er.prototype.log=function(a,b,c){this.isLoggable(a)&&this.doLogRecord_(this.getL ogRecord(a,b,c))};
204 goog.debug.Logger.prototype.getLogRecord=function(a,b,c){var d=goog.debug.LogBuf fer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.n ame_):new goog.debug.LogRecord(a,String(b),this.name_);c&&(d.setException(c),d.s etExceptionText(goog.debug.exposeException(c,arguments.callee.caller)));return d };goog.debug.Logger.prototype.shout=function(a,b){this.log(goog.debug.Logger.Lev el.SHOUT,a,b)};
205 goog.debug.Logger.prototype.severe=function(a,b){this.log(goog.debug.Logger.Leve l.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){this.log(goog.d ebug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){t his.log(goog.debug.Logger.Level.INFO,a,b)};goog.debug.Logger.prototype.config=fu nction(a,b){this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prot otype.fine=function(a,b){this.log(goog.debug.Logger.Level.FINE,a,b)};
206 goog.debug.Logger.prototype.finer=function(a,b){this.log(goog.debug.Logger.Level .FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){this.log(goog.debu g.Logger.Level.FINEST,a,b)};goog.debug.Logger.prototype.logRecord=function(a){th is.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.l ogToSpeedTracer_=function(a){goog.global.console&&goog.global.console.markTimeli ne&&goog.global.console.markTimeline(a)};
207 goog.debug.Logger.prototype.doLogRecord_=function(a){this.logToSpeedTracer_("log :"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.cal lPublish_(a),b=b.getParent();else for(var b=0,c;c=goog.debug.Logger.rootHandlers _[b++];)c(a)};goog.debug.Logger.prototype.callPublish_=function(a){if(this.handl ers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};goog.debug.Logger.prototype.set Parent_=function(a){this.parent_=a};
208 goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goo g.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.ro otLogger_=null;goog.debug.LogManager.initialize=function(){if(!goog.debug.LogMan ager.rootLogger_)goog.debug.LogManager.rootLogger_=new goog.debug.Logger(""),goo g.debug.LogManager.loggers_[""]=goog.debug.LogManager.rootLogger_,goog.debug.Log Manager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG)};goog.debug.LogMana ger.getLoggers=function(){return goog.debug.LogManager.loggers_};
209 goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();retu rn goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a ){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||g oog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCa tchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).se vere("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}};
210 goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);i f(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c),c =a.substr(c+1),d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent _(d)}return goog.debug.LogManager.loggers_[a]=b};goog.math.Box=function(a,b,c,d) {this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=fu nction(){for(var a=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0]. y,arguments[0].x),b=1;b<arguments.length;b++){var c=arguments[b];a.top=Math.min( a.top,c.y);a.right=Math.max(a.right,c.x);a.bottom=Math.max(a.bottom,c.y);a.left= Math.min(a.left,c.x)}return a};goog.math.Box.prototype.clone=function(){return n ew goog.math.Box(this.top,this.right,this.bottom,this.left)};
211 if(goog.DEBUG)goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"};goog.math.Box.prototype.co ntains=function(a){return goog.math.Box.contains(this,a)};goog.math.Box.prototyp e.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right ,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=b,this.bottom +=c,this.left-=d);return this};
212 goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left ,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.righ t);this.bottom=Math.max(this.bottom,a.bottom)};goog.math.Box.equals=function(a,b ){if(a==b)return!0;if(!a||!b)return!1;return a.top==b.top&&a.right==b.right&&a.b ottom==b.bottom&&a.left==b.left};
213 goog.math.Box.contains=function(a,b){if(!a||!b)return!1;if(b instanceof goog.mat h.Box)return b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom; return b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom};
214 goog.math.Box.distance=function(a,b){if(b.x>=a.left&&b.x<=a.right){if(b.y>=a.top &&b.y<=a.bottom)return 0;return b.y<a.top?a.top-b.y:b.y-a.bottom}if(b.y>=a.top&& b.y<=a.bottom)return b.x<a.left?a.left-b.x:b.x-a.right;return goog.math.Coordina te.distance(b,new goog.math.Coordinate(b.x<a.left?a.left:a.right,b.y<a.top?a.top :a.bottom))};goog.math.Box.intersects=function(a,b){return a.left<=b.right&&b.le ft<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};
215 goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b. left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};goog.math.Rect=function(a ,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};goog.math.Rect.protot ype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,thi s.height)};goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(th is.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.crea teFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bo ttom-a.top)};
216 if(goog.DEBUG)goog.math.Rect.prototype.toString=function(){return"("+this.left+" , "+this.top+" - "+this.width+"w x "+this.height+"h)"};goog.math.Rect.equals=fun ction(a,b){if(a==b)return!0;if(!a||!b)return!1;return a.left==b.left&&a.width==b .width&&a.top==b.top&&a.height==b.height};
217 goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.lef t),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this. top,a.top),a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.l eft=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};
218 goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.m in(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top),f=Math.mi n(a.top+a.height,b.top+b.height);if(e<=f)return new goog.math.Rect(c,e,d-c,f-e)} return null};goog.math.Rect.intersects=function(a,b){return a.left<=b.left+b.wid th&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};goog.m ath.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this, a)};
219 goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);i f(!c||!c.height||!c.width)return[a.clone()];var c=[],d=a.top,e=a.height,f=a.left +a.width,g=a.top+a.height,h=b.left+b.width,i=b.top+b.height;if(b.top>a.top)c.pus h(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top;i <g&&(c.push(new goog.math.Rect(a.left,i,a.width,g-i)),e=i-d);b.left>a.left&&c.pu sh(new goog.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new goog.math.Rect( h,d,f-h,e));return c};
220 goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference (this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this. left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height); this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.widt h=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){ if(!a||!b)return null;var c=a.clone();c.boundingRect(b);return c};
221 goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Rect ?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this. top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>= this.top&&a.y<=this.top+this.height};goog.math.Rect.prototype.getSize=function() {return new goog.math.Size(this.width,this.height)};goog.style={};goog.style.set Style=function(a,b,c){goog.isString(b)?goog.style.setStyle_(a,c,b):goog.object.f orEach(b,goog.partial(goog.style.setStyle_,a))};goog.style.setStyle_=function(a, b,c){a.style[goog.string.toCamelCase(c)]=b};goog.style.getStyle=function(a,b){re turn a.style[goog.string.toCamelCase(b)]||""};
222 goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);if( c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle (a,null)))return c[b]||c.getPropertyValue(b);return""};goog.style.getCascadedSty le=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getSty le_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascade dStyle(a,b)||a.style[b]};goog.style.getComputedPosition=function(a){return goog. style.getStyle_(a,"position")};
223 goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgro undColor")};goog.style.getComputedOverflowX=function(a){return goog.style.getSty le_(a,"overflowX")};goog.style.getComputedOverflowY=function(a){return goog.styl e.getStyle_(a,"overflowY")};goog.style.getComputedZIndex=function(a){return goog .style.getStyle_(a,"zIndex")};goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")};
224 goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor") };goog.style.setPosition=function(a,b,c){var d,e=goog.userAgent.GECKO&&(goog.use rAgent.MAC||goog.userAgent.X11)&&goog.userAgent.isVersion("1.9");b instanceof go og.math.Coordinate?(d=b.x,b=b.y):(d=b,b=c);a.style.left=goog.style.getPixelStyle Value_(d,e);a.style.top=goog.style.getPixelStyleValue_(b,e)};goog.style.getPosit ion=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};
225 goog.style.getClientViewportElement=function(a){a=a?a.nodeType==goog.dom.NodeTyp e.DOCUMENT?a:goog.dom.getOwnerDocument(a):goog.dom.getDocument();if(goog.userAge nt.IE&&!goog.userAgent.isVersion(9)&&!goog.dom.getDomHelper(a).isCss1CompatMode( ))return a.body;return a.documentElement};
226 goog.style.getBoundingClientRect_=function(a){var b=a.getBoundingClientRect();if (goog.userAgent.IE)a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body .clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop;return b};
227 goog.style.getOffsetParent=function(a){if(goog.userAgent.IE)return a.offsetParen t;for(var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d= c=="fixed"||c=="absolute",a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=goog.style. getStyle_(a,"position"),d=d&&c=="static"&&a!=b.documentElement&&a!=b.body,!d&&(a .scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||c=="fixed"||c=="absol ute"||c=="relative"))return a;return null};
228 goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,In finity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocu mentScrollElement(),f;a=goog.style.getOffsetParent(a);)if((!goog.userAgent.IE||a .clientWidth!=0)&&(!goog.userAgent.WEBKIT||a.clientHeight!=0||a!=d)&&(a.scrollWi dth!=a.clientWidth||a.scrollHeight!=a.clientHeight)&&goog.style.getStyle_(a,"ove rflow")!="visible"){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeft Top(a);g.x+=h.x;g.y+=
229 h.y;b.top=Math.max(b.top,g.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bott om=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x);f=f||a!=e}d =e.scrollLeft;e=e.scrollTop;goog.userAgent.WEBKIT?(b.left+=d,b.top+=e):(b.left=M ath.max(b.left,d),b.top=Math.max(b.top,e));if(!f||goog.userAgent.WEBKIT)b.right+ =d,b.bottom+=e;c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.botto m=Math.min(b.bottom,e+c.height);return b.top>=0&&b.left>=0&&b.bottom>b.top&&b.ri ght>b.left?b:null};
230 goog.style.scrollIntoContainerView=function(a,b,c){var d=goog.style.getPageOffse t(a),e=goog.style.getPageOffset(b),f=goog.style.getBorderBox(b),g=d.x-e.x-f.left ,d=d.y-e.y-f.top,e=b.clientWidth-a.offsetWidth,a=b.clientHeight-a.offsetHeight;c ?(b.scrollLeft+=g-e/2,b.scrollTop+=d-a/2):(b.scrollLeft+=Math.min(g,Math.max(g-e ,0)),b.scrollTop+=Math.min(d,Math.max(d-a,0)))};
231 goog.style.getClientLeftTop=function(a){if(goog.userAgent.GECKO&&!goog.userAgent .isVersion("1.9")){var b=parseFloat(goog.style.getComputedStyle(a,"borderLeftWid th"));if(goog.style.isRightToLeft(a)){var c=a.offsetWidth-a.clientWidth-b-parseF loat(goog.style.getComputedStyle(a,"borderRightWidth"));b+=c}return new goog.mat h.Coordinate(b,parseFloat(goog.style.getComputedStyle(a,"borderTopWidth")))}retu rn new goog.math.Coordinate(a.clientLeft,a.clientTop)};
232 goog.style.getPageOffset=function(a){var b,c=goog.dom.getOwnerDocument(a),d=goog .style.getStyle_(a,"position"),e=goog.userAgent.GECKO&&c.getBoxObjectFor&&!a.get BoundingClientRect&&d=="absolute"&&(b=c.getBoxObjectFor(a))&&(b.screenX<0||b.scr eenY<0),f=new goog.math.Coordinate(0,0),g=goog.style.getClientViewportElement(c) ;if(a==g)return f;if(a.getBoundingClientRect)b=goog.style.getBoundingClientRect_ (a),a=goog.dom.getDomHelper(c).getDocumentScroll(),f.x=b.left+a.x,f.y=b.top+a.y; else if(c.getBoxObjectFor&&
233 !e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.s creenY-a.screenY;else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;b!=a&&(f.x+=b.cl ientLeft||0,f.y+=b.clientTop||0);if(goog.userAgent.WEBKIT&&goog.style.getCompute dPosition(b)=="fixed"){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.of fsetParent}while(b&&b!=a);if(goog.userAgent.OPERA||goog.userAgent.WEBKIT&&d=="ab solute")f.y-=c.body.offsetTop;for(b=a;(b=goog.style.getOffsetParent(b))&&b!=c.bo dy&&b!=g;)if(f.x-=b.scrollLeft,
234 !goog.userAgent.OPERA||b.tagName!="TR")f.y-=b.scrollTop}return f};goog.style.get PageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getP ageOffsetTop=function(a){return goog.style.getPageOffset(a).y};goog.style.getFra medPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWi ndow(goog.dom.getOwnerDocument(a)),e=a;do{var f=d==b?goog.style.getPageOffset(e) :goog.style.getClientPosition(e);c.x+=f.x;c.y+=f.y}while(d&&d!=b&&(e=d.frameElem ent)&&(d=d.parent));return c};
235 goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.ge tDocument()){var d=b.getDocument().body,c=goog.style.getFramedPageOffset(d,c.get Window()),c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));goog. userAgent.IE&&!b.isCss1CompatMode()&&(c=goog.math.Coordinate.difference(c,b.getD ocumentScroll()));a.left+=c.x;a.top+=c.y}};
236 goog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition( a),d=goog.style.getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y -d.y)};
237 goog.style.getClientPosition=function(a){var b=new goog.math.Coordinate;if(a.nod eType==goog.dom.NodeType.ELEMENT)if(a.getBoundingClientRect)a=goog.style.getBoun dingClientRect_(a),b.x=a.left,b.y=a.top;else{var c=goog.dom.getDomHelper(a).getD ocumentScroll(),a=goog.style.getPageOffset(a);b.x=a.x-c.x;b.y=a.y-c.y}else{var c =goog.isFunction(a.getBrowserEvent),d=a;a.targetTouches?d=a.targetTouches[0]:c&& a.getBrowserEvent().targetTouches&&(d=a.getBrowserEvent().targetTouches[0]);b.x= d.clientX;b.y=d.clientY}return b};
238 goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);if(b instanceof goog.math.Coordinate)c=b.y,b=b.x;goog.style.setPosition(a,a.offsetLef t+(b-d.x),a.offsetTop+(c-d.y))};goog.style.setSize=function(a,b,c){if(b instance of goog.math.Size)c=b.height,b=b.width;else if(c==void 0)throw Error("missing he ight argument");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.g etPixelStyleValue_=function(a,b){typeof a=="number"&&(a=(b?Math.round(a):a)+"px" );return a};
239 goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_ (b,!0)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyle Value_(b,!0)};
240 goog.style.getSize=function(a){if(goog.style.getStyle_(a,"display")!="none")retu rn new goog.math.Size(a.offsetWidth,a.offsetHeight);var b=a.style,c=b.display,d= b.visibility,e=b.position;b.visibility="hidden";b.position="absolute";b.display= "inline";var f=a.offsetWidth,a=a.offsetHeight;b.display=c;b.position=e;b.visibil ity=d;return new goog.math.Size(f,a)};goog.style.getBounds=function(a){var b=goo g.style.getPageOffset(a),a=goog.style.getSize(a);return new goog.math.Rect(b.x,b .y,a.width,a.height)};
241 goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};go og.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};goog.s tyle.getOpacity=function(a){var b=a.style,a="";"opacity"in b?a=b.opacity:"MozOpa city"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+ )\)/))&&(a=String(b[1]/100));return a==""?a:Number(a)};
242 goog.style.setOpacity=function(a,b){var c=a.style;if("opacity"in c)c.opacity=b;e lse if("MozOpacity"in c)c.MozOpacity=b;else if("filter"in c)c.filter=b===""?"":" alpha(opacity="+b*100+")"};goog.style.setTransparentBackgroundImage=function(a,b ){var c=a.style;goog.userAgent.IE&&!goog.userAgent.isVersion("8")?c.filter='prog id:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop") ':(c.backgroundImage="url("+b+")",c.backgroundPosition="top left",c.backgroundRe peat="no-repeat")};
243 goog.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a. filter="":a.backgroundImage="none"};goog.style.showElement=function(a,b){a.style .display=b?"":"none"};goog.style.isElementShown=function(a){return a.style.displ ay!="none"};
244 goog.style.installStyles=function(a,b){var c=goog.dom.getDomHelper(b),d=null;if( goog.userAgent.IE)d=c.getDocument().createStyleSheet(),goog.style.setStyles(d,a) ;else{var e=c.getElementsByTagNameAndClass("head")[0];e||(d=c.getElementsByTagNa meAndClass("body")[0],e=c.createDom("head"),d.parentNode.insertBefore(e,d));d=c. createDom("style");goog.style.setStyles(d,a);c.appendChild(e,d)}return d};goog.s tyle.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElemen t||a)};
245 goog.style.setStyles=function(a,b){goog.userAgent.IE?a.cssText=b:a[goog.userAgen t.WEBKIT?"innerText":"innerHTML"]=b};goog.style.setPreWrap=function(a){a=a.style ;goog.userAgent.IE&&!goog.userAgent.isVersion("8")?(a.whiteSpace="pre",a.wordWra p="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};
246 goog.style.setInlineBlock=function(a){a=a.style;a.position="relative";goog.userA gent.IE&&!goog.userAgent.isVersion("8")?(a.zoom="1",a.display="inline"):a.displa y=goog.userAgent.GECKO?goog.userAgent.isVersion("1.9a")?"inline-block":"-moz-inl ine-box":"inline-block"};goog.style.isRightToLeft=function(a){return"rtl"==goog. style.getStyle_(a,"direction")};goog.style.unselectableStyle_=goog.userAgent.GEC KO?"MozUserSelect":goog.userAgent.WEBKIT?"WebkitUserSelect":null;
247 goog.style.isUnselectable=function(a){if(goog.style.unselectableStyle_)return a. style[goog.style.unselectableStyle_].toLowerCase()=="none";else if(goog.userAgen t.IE||goog.userAgent.OPERA)return a.getAttribute("unselectable")=="on";return!1} ;
248 goog.style.setUnselectable=function(a,b,c){var c=!c?a.getElementsByTagName("*"): null,d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style[d]=b,c)for(v ar a=0,e;e=c[a];a++)e.style[d]=b}else if(goog.userAgent.IE||goog.userAgent.OPERA )if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttri bute("unselectable",b)};goog.style.getBorderBoxSize=function(a){return new goog. math.Size(a.offsetWidth,a.offsetHeight)};
249 goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=g oog.dom.getDomHelper(c).isCss1CompatMode();if(goog.userAgent.IE&&(!d||!goog.user Agent.isVersion("8")))if(c=a.style,d){var d=goog.style.getPaddingBox(a),e=goog.s tyle.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelH eight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHe ight=b.height;else goog.style.setBoxSizingSize_(a,b,"border-box")};
250 goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=go og.userAgent.IE&&a.currentStyle;return c&&goog.dom.getDomHelper(b).isCss1CompatM ode()&&c.width!="auto"&&c.height!="auto"&&!c.boxSizing?(b=goog.style.getIePixelV alue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height," height","pixelHeight"),new goog.math.Size(b,a)):(c=goog.style.getBorderBoxSize(a ),b=goog.style.getPaddingBox(a),a=goog.style.getBorderBox(a),new goog.math.Size( c.width-a.left-b.left-
251 b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom))};
252 goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d= goog.dom.getDomHelper(c).isCss1CompatMode();if(goog.userAgent.IE&&(!d||!goog.use rAgent.isVersion("8")))if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.heigh t;else{var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWid th=b.width+e.left+d.left+d.right+e.right;c.pixelHeight=b.height+e.top+d.top+d.bo ttom+e.bottom}else goog.style.setBoxSizingSize_(a,b,"content-box")};
253 goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.Mo zBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=b.w idth+"px";a.height=b.height+"px"};goog.style.getIePixelValue_=function(a,b,c,d){ if(/^\d+px?$/.test(b))return parseInt(b,10);else{var e=a.style[c],f=a.runtimeSty le[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e ;a.runtimeStyle[c]=f;return b}};
254 goog.style.getIePixelDistance_=function(a,b){return goog.style.getIePixelValue_( a,goog.style.getCascadedStyle(a,b),"left","pixelLeft")};
255 goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePix elDistance_(a,b+"Left"),d=goog.style.getIePixelDistance_(a,b+"Right"),e=goog.sty le.getIePixelDistance_(a,b+"Top"),f=goog.style.getIePixelDistance_(a,b+"Bottom") ;return new goog.math.Box(e,d,f,c)}else return c=goog.style.getComputedStyle(a,b +"Left"),d=goog.style.getComputedStyle(a,b+"Right"),e=goog.style.getComputedStyl e(a,b+"Top"),f=goog.style.getComputedStyle(a,b+"Bottom"),new goog.math.Box(parse Float(e),parseFloat(d),
256 parseFloat(f),parseFloat(c))};goog.style.getPaddingBox=function(a){return goog.s tyle.getBox_(a,"padding")};goog.style.getMarginBox=function(a){return goog.style .getBox_(a,"margin")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6 };
257 goog.style.getIePixelBorder_=function(a,b){if(goog.style.getCascadedStyle(a,b+"S tyle")=="none")return 0;var c=goog.style.getCascadedStyle(a,b+"Width");if(c in g oog.style.ieBorderWidthKeywords_)return goog.style.ieBorderWidthKeywords_[c];ret urn goog.style.getIePixelValue_(a,c,"left","pixelLeft")};
258 goog.style.getBorderBox=function(a){if(goog.userAgent.IE){var b=goog.style.getIe PixelBorder_(a,"borderLeft"),c=goog.style.getIePixelBorder_(a,"borderRight"),d=g oog.style.getIePixelBorder_(a,"borderTop"),a=goog.style.getIePixelBorder_(a,"bor derBottom");return new goog.math.Box(d,c,a,b)}else return b=goog.style.getComput edStyle(a,"borderLeftWidth"),c=goog.style.getComputedStyle(a,"borderRightWidth") ,d=goog.style.getComputedStyle(a,"borderTopWidth"),a=goog.style.getComputedStyle (a,"borderBottomWidth"),
259 new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};goog .style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.bo dy.createTextRange){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.qu eryCommandValue("FontName")}catch(d){c=""}}c||(c=goog.style.getStyle_(a,"fontFam ily"));a=c.split(",");a.length>1&&(c=a[0]);return goog.string.stripQuotes(c,"\"' ")};goog.style.lengthUnitRegex_=/[^\d]+$/;
260 goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRege x_))&&a[0]||null};goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,p t:1};goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};
261 goog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,"fontSize"),c=go og.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent .IE)if(c in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelVa lue_(a,b,"left","pixelLeft");else if(a.parentNode&&a.parentNode.nodeType==goog.d om.NodeType.ELEMENT&&c in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a. parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b= =c?"1em":b,"left","pixelLeft");
262 c=goog.dom.createDom("span",{style:"visibility:hidden;position:absolute;line-hei ght:0;padding:0;margin:0;border:0;height:1em;"});goog.dom.appendChild(a,c);b=c.o ffsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=func tion(a){var b={};goog.array.forEach(a.split(/\s*;\s*/),function(a){a=a.split(/\s *:\s*/);a.length==2&&(b[goog.string.toCamelCase(a[0].toLowerCase())]=a[1])});ret urn b};
263 goog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function( a,d){b.push(goog.string.toSelectorCase(d),":",a,";")});return b.join("")};goog.s tyle.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b };goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat": "cssFloat"]||""};
264 goog.style.getScrollbarWidth=function(){var a=goog.dom.createElement("div");a.st yle.cssText="visibility:hidden;overflow:scroll;position:absolute;top:0;width:100 px;height:100px";goog.dom.appendChild(goog.dom.getDocument().body,a);var b=a.off setWidth-a.clientWidth;goog.dom.removeNode(a);return b};goog.editor={};goog.edit or.Table=function(a){(this.element=goog.dom.getAncestorByTagNameAndClass(a,goog. dom.TagName.TABLE))||this.logger_.severe("Can't create Table based on a node tha t isn't a table, or descended from a table.");this.dom_=goog.dom.getDomHelper(th is.element);this.refresh()};goog.editor.Table.prototype.logger_=goog.debug.Logge r.getLogger("goog.editor.Table");
265 goog.editor.Table.prototype.refresh=function(){var a=this.rows=[],b=this.element .getElementsByTagName(goog.dom.TagName.TBODY)[0];if(b){for(var c=[],b=b.firstChi ld;b;b=b.nextSibling)b.nodeName==goog.dom.TagName.TR&&c.push(b);for(var b=0,d;d= c[b];b++){var e=a[b];d=goog.editor.Table.getChildCellElements(d);for(var f=0,g=0 ,h;h=d[g];g++){for(;e&&e.columns[f];)f++;h=new goog.editor.TableCell(h,b,f);for( var i=0;i<h.rowSpan;i++){var j=b+i,k=a[j];k||a.push(k=new goog.editor.TableRow(c [j],j));j=f+h.colSpan;
266 if(k.columns.length<j)k.columns.length=j;for(j=0;j<h.colSpan;j++)k.columns[f+j]= h}f+=h.colSpan}}}};goog.editor.Table.getChildCellElements=function(a){for(var b= [],c=0,d;d=a.childNodes[c];c++)(d.nodeName==goog.dom.TagName.TD||d.nodeName==goo g.dom.TagName.TH)&&b.push(d);return b};
267 goog.editor.Table.prototype.insertRow=function(a){var a=goog.isDefAndNotNull(a)? a:this.rows.length,b,c;a==0?(b=this.rows[0],c=!1):(b=this.rows[a-1],c=!0);for(va r d=this.dom_.createElement("tr"),e=0,f;f=b.columns[e];e+=1)c&&f.endRow>a||!c&&f .startRow<a?(f.setRowSpan(f.rowSpan+1),f.colSpan>1&&(e+=f.colSpan-1)):d.appendCh ild(this.createEmptyTd()),c?goog.dom.insertSiblingAfter(d,b.element):goog.dom.in sertSiblingBefore(d,b.element);this.refresh();return d};
268 goog.editor.Table.prototype.insertColumn=function(a){for(var a=goog.isDefAndNotN ull(a)?a:this.rows[0]&&this.rows[0].columns.length||0,b=[],c=0,d;d=this.rows[c]; c++)(d=d.columns[a])&&d.endCol>=a&&d.startCol<a?(d.setColSpan(d.colSpan+1),c+=d. rowSpan-1):(d=this.createEmptyTd(),d.style.width=goog.editor.Table.OPTIMUM_EMPTY _CELL_WIDTH+"px",this.insertCellElement(d,c,a),b.push(d));this.refresh();return b};
269 goog.editor.Table.prototype.removeRow=function(a){var b=this.rows[a];b||this.log ger_.warning("Can't remove row at position "+a+": no such row.");for(var c=0,d;d =b.columns[c];c+=d.colSpan)d.rowSpan>1&&(d.setRowSpan(d.rowSpan-1),d.startRow==a &&this.insertCellElement(d.element,a+1,d.startCol));b.element.parentNode.removeC hild(b.element);this.refresh()};
270 goog.editor.Table.prototype.removeColumn=function(a){for(var b=0,c;c=this.rows[b ];b++)(c=c.columns[a])||this.logger_.severe("Can't remove cell at position "+b+" , "+a+": no such cell."),c.colSpan>1?c.setColSpan(c.colSpan-1):c.element.parentN ode.removeChild(c.element),b+=c.rowSpan-1;this.refresh()};
271 goog.editor.Table.prototype.mergeCells=function(a,b,c,d){var e=[],f;if(a==c&&b== d)return this.logger_.warning("Can't merge single cell"),!1;for(var g=a;g<=c;g++ )for(var h=b;h<=d;h++){f=this.rows[g].columns[h];if(f.startRow<a||f.endRow>c||f. startCol<b||f.endCol>d)return this.logger_.warning("Can't merge cells: the cell in row "+g+", column "+h+"extends outside the supplied rectangle."),!1;e.push(f) }for(var h=e[0],i=h.element,j=this.dom_.getDocument(),g=1;f=e[g];g++)if(f=f.elem ent,f.parentNode&&f!=
272 i){i.lastChild&&i.lastChild.nodeType==goog.dom.NodeType.TEXT&&i.appendChild(j.cr eateTextNode(" "));for(var k;k=f.firstChild;)i.appendChild(k);f.parentNode.remov eChild(f)}h.setColSpan(d-b+1);h.setRowSpan(c-a+1);if(d>b)i.removeAttribute("widt h"),i.style.width=null;this.refresh();return!0};
273 goog.editor.Table.prototype.splitCell=function(a,b){for(var c=this.rows[a].colum ns[b],d=[],e=0;e<c.rowSpan;e++)for(var f=0;f<c.colSpan;f++)if(e>0||f>0){var g=th is.createEmptyTd();this.insertCellElement(g,a+e,b+f);d.push(g)}c.setColSpan(1);c .setRowSpan(1);this.refresh();return d};goog.editor.Table.prototype.insertCellEl ement=function(a,b,c){for(var d=this.rows[b],e=null,f;f=d.columns[c];c+=f.colSpa n)if(f.startRow==b){e=f.element;break}d.element.insertBefore(a,e)};
274 goog.editor.Table.prototype.createEmptyTd=function(){return this.dom_.createDom( goog.dom.TagName.TD,{},goog.string.Unicode.NBSP)};goog.editor.TableRow=function( a,b){this.index=b;this.element=a;this.columns=[]};goog.editor.TableCell=function (a,b,c){this.element=a;this.colSpan=parseInt(a.colSpan,10)||1;this.rowSpan=parse Int(a.rowSpan,10)||1;this.startRow=b;this.startCol=c;this.updateCoordinates_()};
275 goog.editor.TableCell.prototype.updateCoordinates_=function(){this.endCol=this.s tartCol+this.colSpan-1;this.endRow=this.startRow+this.rowSpan-1};goog.editor.Tab leCell.prototype.setColSpan=function(a){if(a!=this.colSpan)a>1?this.element.colS pan=a:(this.element.colSpan=1,this.element.removeAttribute("colSpan")),this.colS pan=a,this.updateCoordinates_()};
276 goog.editor.TableCell.prototype.setRowSpan=function(a){if(a!=this.rowSpan)a>1?th is.element.rowSpan=a.toString():(this.element.rowSpan="1",this.element.removeAtt ribute("rowSpan")),this.rowSpan=a,this.updateCoordinates_()};goog.editor.Table.O PTIMUM_EMPTY_CELL_WIDTH=60;goog.editor.Table.OPTIMUM_MAX_NEW_TABLE_WIDTH=600;goo g.editor.Table.DEFAULT_BORDER_COLOR="#888";
277 goog.editor.Table.createDomTable=function(a,b,c,d){var e={borderWidth:"1",border Color:goog.editor.Table.DEFAULT_BORDER_COLOR},f;for(f in d)e[f]=d[f];a=(new goog .dom.DomHelper(a)).createTable(c,b,!0);b=Math.max(10,Math.min(goog.editor.Table. OPTIMUM_EMPTY_CELL_WIDTH,goog.editor.Table.OPTIMUM_MAX_NEW_TABLE_WIDTH/b));c=a.g etElementsByTagName(goog.dom.TagName.TD);for(d=0;f=c[d];d++)f.style.width=b+"px" ;goog.style.setStyle(a,{borderCollapse:"collapse",borderColor:e.borderColor,bord erWidth:e.borderWidth+
278 "px"});a.border=e.borderWidth;a.setAttribute("bordercolor",e.borderColor);a.setA ttribute("cellspacing","0");return a};goog.debug.entryPointRegistry={};goog.debu g.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog. debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refL ist_[goog.debug.entryPointRegistry.refList_.length]=a};goog.debug.entryPointRegi stry.monitorAll=function(a){for(var a=goog.bind(a.wrap,a),b=0;b<goog.debug.entry PointRegistry.refList_.length;b++)goog.debug.entryPointRegistry.refList_[b](a)};
279 goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){for(var a=goog. bind(a.unwrap,a),b=0;b<goog.debug.entryPointRegistry.refList_.length;b++)goog.de bug.entryPointRegistry.refList_[b](a)};goog.debug.errorHandlerWeakDep={protectEn tryPoint:function(a){return a}};goog.events={};goog.events.BrowserFeature={HAS_W 3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isVersion("9"),SET_KEY_CODE_TO_PREV ENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersion("8")};goog.events.Event =function(a,b){goog.Disposable.call(this);this.type=a;this.currentTarget=this.ta rget=b};goog.inherits(goog.events.Event,goog.Disposable);goog.events.Event.proto type.disposeInternal=function(){delete this.type;delete this.target;delete this. currentTarget};goog.events.Event.prototype.propagationStopped_=!1;goog.events.Ev ent.prototype.returnValue_=!0;goog.events.Event.prototype.stopPropagation=functi on(){this.propagationStopped_=!0};
280 goog.events.Event.prototype.preventDefault=function(){this.returnValue_=!1};goog .events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event .preventDefault=function(a){a.preventDefault()};goog.events.EventType={CLICK:"cl ick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mous eover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",SELECTSTART:"selectstart",KEYPR ESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIV ATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog. userAgent.IE?"focusout":"DOMFocusOut",CHANGE:"change",SELECT:"select",SUBMIT:"su bmit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",
281 DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",TOUC HSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touch cancel",CONTEXTMENU:"contextmenu",ERROR:"error",HELP:"help",LOAD:"load",LOSECAPT URE:"losecapture",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"sc roll",UNLOAD:"unload",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"page show",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",MESSAGE:"message", CONNECT:"connect"};goog.reflect={};goog.reflect.object=function(a,b){return b};g oog.reflect.sinkValue=new Function("a","return a");goog.events.BrowserEvent=func tion(a,b){a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events. Event);goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.event s.BrowserEvent.IEButtonMap=[1,4,2];goog.events.BrowserEvent.prototype.target=nul l;goog.events.BrowserEvent.prototype.relatedTarget=null;goog.events.BrowserEvent .prototype.offsetX=0;goog.events.BrowserEvent.prototype.offsetY=0;goog.events.Br owserEvent.prototype.clientX=0;
282 goog.events.BrowserEvent.prototype.clientY=0;goog.events.BrowserEvent.prototype. screenX=0;goog.events.BrowserEvent.prototype.screenY=0;goog.events.BrowserEvent. prototype.button=0;goog.events.BrowserEvent.prototype.keyCode=0;goog.events.Brow serEvent.prototype.charCode=0;goog.events.BrowserEvent.prototype.ctrlKey=!1;goog .events.BrowserEvent.prototype.altKey=!1;goog.events.BrowserEvent.prototype.shif tKey=!1;goog.events.BrowserEvent.prototype.metaKey=!1;
283 goog.events.BrowserEvent.prototype.platformModifierKey=!1;goog.events.BrowserEve nt.prototype.event_=null;
284 goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type;goo g.events.Event.call(this,c);this.target=a.target||a.srcElement;this.currentTarge t=b;var d=a.relatedTarget;if(d){if(goog.userAgent.GECKO)try{goog.reflect.sinkVal ue(d.nodeName)}catch(e){d=null}}else if(c==goog.events.EventType.MOUSEOVER)d=a.f romElement;else if(c==goog.events.EventType.MOUSEOUT)d=a.toElement;this.relatedT arget=d;this.offsetX=a.offsetX!==void 0?a.offsetX:a.layerX;this.offsetY=a.offset Y!==void 0?a.offsetY:
285 a.layerY;this.clientX=a.clientX!==void 0?a.clientX:a.pageX;this.clientY=a.client Y!==void 0?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0 ;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||(c=="k eypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey= a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a. metaKey:a.ctrlKey;this.state=a.state;this.event_=a;delete this.returnValue_;dele te this.propagationStopped_};
286 goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.Brows erFeature.HAS_W3C_BUTTON?this.event_.button==a:this.type=="click"?a==goog.events .BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IE ButtonMap[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function() {return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAge nt.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};
287 goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.Browse rEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.e vent_.stopPropagation():this.event_.cancelBubble=!0};
288 goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.Browser Event.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefaul t)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY _CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||a.keyCode>=112&&a.keyCode<=123)a.keyC ode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function() {return this.event_};
289 goog.events.BrowserEvent.prototype.disposeInternal=function(){goog.events.Browse rEvent.superClass_.disposeInternal.call(this);this.relatedTarget=this.currentTar get=this.target=this.event_=null};goog.events.EventWrapper=function(){};goog.eve nts.EventWrapper.prototype.listen=function(){};goog.events.EventWrapper.prototyp e.unlisten=function(){};goog.events.Listener=function(){};goog.events.Listener.c ounter_=0;goog.events.Listener.prototype.key=0;goog.events.Listener.prototype.re moved=!1;goog.events.Listener.prototype.callOnce=!1;
290 goog.events.Listener.prototype.init=function(a,b,c,d,e,f){if(goog.isFunction(a)) this.isFunctionListener_=!0;else if(a&&a.handleEvent&&goog.isFunction(a.handleEv ent))this.isFunctionListener_=!1;else throw Error("Invalid listener argument");t his.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler =f;this.callOnce=!1;this.key=++goog.events.Listener.counter_;this.removed=!1};
291 goog.events.Listener.prototype.handleEvent=function(a){if(this.isFunctionListene r_)return this.listener.call(this.handler||this.src,a);return this.listener.hand leEvent.call(this.listener,a)};goog.structs.SimplePool=function(a,b){goog.Dispos able.call(this);this.maxCount_=b;this.freeQueue_=[];this.createInitial_(a)};goog .inherits(goog.structs.SimplePool,goog.Disposable);goog.structs.SimplePool.proto type.createObjectFn_=null;goog.structs.SimplePool.prototype.disposeObjectFn_=nul l;goog.structs.SimplePool.prototype.setCreateObjectFn=function(a){this.createObj ectFn_=a};goog.structs.SimplePool.prototype.setDisposeObjectFn=function(a){this. disposeObjectFn_=a};
292 goog.structs.SimplePool.prototype.getObject=function(){if(this.freeQueue_.length )return this.freeQueue_.pop();return this.createObject()};goog.structs.SimplePoo l.prototype.releaseObject=function(a){this.freeQueue_.length<this.maxCount_?this .freeQueue_.push(a):this.disposeObject(a)};goog.structs.SimplePool.prototype.cre ateInitial_=function(a){if(a>this.maxCount_)throw Error("[goog.structs.SimplePoo l] Initial cannot be greater than max");for(var b=0;b<a;b++)this.freeQueue_.push (this.createObject())};
293 goog.structs.SimplePool.prototype.createObject=function(){return this.createObje ctFn_?this.createObjectFn_():{}};goog.structs.SimplePool.prototype.disposeObject =function(a){if(this.disposeObjectFn_)this.disposeObjectFn_(a);else if(goog.isOb ject(a))if(goog.isFunction(a.dispose))a.dispose();else for(var b in a)delete a[b ]};
294 goog.structs.SimplePool.prototype.disposeInternal=function(){goog.structs.Simple Pool.superClass_.disposeInternal.call(this);for(var a=this.freeQueue_;a.length;) this.disposeObject(a.pop());delete this.freeQueue_};goog.userAgent.jscript={};go og.userAgent.jscript.ASSUME_NO_JSCRIPT=!1;goog.userAgent.jscript.init_=function( ){goog.userAgent.jscript.DETECTED_HAS_JSCRIPT_="ScriptEngine"in goog.global&&goo g.global.ScriptEngine()=="JScript";goog.userAgent.jscript.DETECTED_VERSION_=goog .userAgent.jscript.DETECTED_HAS_JSCRIPT_?goog.global.ScriptEngineMajorVersion()+ "."+goog.global.ScriptEngineMinorVersion()+"."+goog.global.ScriptEngineBuildVers ion():"0"};goog.userAgent.jscript.ASSUME_NO_JSCRIPT||goog.userAgent.jscript.init _();
295 goog.userAgent.jscript.HAS_JSCRIPT=goog.userAgent.jscript.ASSUME_NO_JSCRIPT?!1:g oog.userAgent.jscript.DETECTED_HAS_JSCRIPT_;goog.userAgent.jscript.VERSION=goog. userAgent.jscript.ASSUME_NO_JSCRIPT?"0":goog.userAgent.jscript.DETECTED_VERSION_ ;goog.userAgent.jscript.isVersion=function(a){return goog.string.compareVersions (goog.userAgent.jscript.VERSION,a)>=0};goog.events.pools={};goog.events.ASSUME_G OOD_GC=!1;
296 (function(){function a(){return{count_:0,remaining_:0}}function b(){return[]}fun ction c(){var a=function(b){return g.call(a.src,a.key,b)};return a}function d(){ return new goog.events.Listener}function e(){return new goog.events.BrowserEvent }var f=!goog.events.ASSUME_GOOD_GC&&goog.userAgent.jscript.HAS_JSCRIPT&&!goog.us erAgent.jscript.isVersion("5.7"),g;goog.events.pools.setProxyCallbackFunction=fu nction(a){g=a};if(f){goog.events.pools.getObject=function(){return h.getObject() };goog.events.pools.releaseObject=
297 function(a){h.releaseObject(a)};goog.events.pools.getArray=function(){return i.g etObject()};goog.events.pools.releaseArray=function(a){i.releaseObject(a)};goog. events.pools.getProxy=function(){return j.getObject()};goog.events.pools.release Proxy=function(){j.releaseObject(c())};goog.events.pools.getListener=function(){ return k.getObject()};goog.events.pools.releaseListener=function(a){k.releaseObj ect(a)};goog.events.pools.getEvent=function(){return m.getObject()};goog.events. pools.releaseEvent=function(a){m.releaseObject(a)};
298 var h=new goog.structs.SimplePool(0,600);h.setCreateObjectFn(a);var i=new goog.s tructs.SimplePool(0,600);i.setCreateObjectFn(b);var j=new goog.structs.SimplePoo l(0,600);j.setCreateObjectFn(c);var k=new goog.structs.SimplePool(0,600);k.setCr eateObjectFn(d);var m=new goog.structs.SimplePool(0,600);m.setCreateObjectFn(e)} else goog.events.pools.getObject=a,goog.events.pools.releaseObject=goog.nullFunc tion,goog.events.pools.getArray=b,goog.events.pools.releaseArray=goog.nullFuncti on,goog.events.pools.getProxy=
299 c,goog.events.pools.releaseProxy=goog.nullFunction,goog.events.pools.getListener =d,goog.events.pools.releaseListener=goog.nullFunction,goog.events.pools.getEven t=e,goog.events.pools.releaseEvent=goog.nullFunction})();goog.events.listeners_= {};goog.events.listenerTree_={};goog.events.sources_={};goog.events.onString_="o n";goog.events.onStringMap_={};goog.events.keySeparator_="_";
300 goog.events.listen=function(a,b,c,d,e){if(b)if(goog.isArray(b)){for(var f=0;f<b. length;f++)goog.events.listen(a,b[f],c,d,e);return null}else{var d=!!d,g=goog.ev ents.listenerTree_;b in g||(g[b]=goog.events.pools.getObject());g=g[b];d in g||( g[d]=goog.events.pools.getObject(),g.count_++);var g=g[d],h=goog.getUid(a),i;g.r emaining_++;if(g[h]){i=g[h];for(f=0;f<i.length;f++)if(g=i[f],g.listener==c&&g.ha ndler==e){if(g.removed)break;return i[f].key}}else i=g[h]=goog.events.pools.getA rray(),g.count_++;f=goog.events.pools.getProxy();
301 f.src=a;g=goog.events.pools.getListener();g.init(c,f,a,b,d,e);c=g.key;f.key=c;i. push(g);goog.events.listeners_[c]=g;goog.events.sources_[h]||(goog.events.source s_[h]=goog.events.pools.getArray());goog.events.sources_[h].push(g);a.addEventLi stener?(a==goog.global||!a.customEvent_)&&a.addEventListener(b,f,d):a.attachEven t(goog.events.getOnString_(b),f);return c}else throw Error("Invalid event type") ;};
302 goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.l ength;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}a=goog.events.listen( a,b,c,d,e);goog.events.listeners_[a].callOnce=!0;return a};goog.events.listenWit hWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
303 goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.len gth;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=!!d;a=goog.events.getLi steners_(a,b,d);if(!a)return!1;for(f=0;f<a.length;f++)if(a[f].listener==c&&a[f]. capture==d&&a[f].handler==e)return goog.events.unlistenByKey(a[f].key);return!1} ;
304 goog.events.unlistenByKey=function(a){if(!goog.events.listeners_[a])return!1;var b=goog.events.listeners_[a];if(b.removed)return!1;var c=b.src,d=b.type,e=b.prox y,f=b.capture;c.removeEventListener?(c==goog.global||!c.customEvent_)&&c.removeE ventListener(d,e,f):c.detachEvent&&c.detachEvent(goog.events.getOnString_(d),e); c=goog.getUid(c);e=goog.events.listenerTree_[d][f][c];if(goog.events.sources_[c] ){var g=goog.events.sources_[c];goog.array.remove(g,b);g.length==0&&delete goog. events.sources_[c]}b.removed=
305 !0;e.needsCleanup_=!0;goog.events.cleanUp_(d,f,c,e);delete goog.events.listeners _[a];return!0};goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a, c,d,e)};
306 goog.events.cleanUp_=function(a,b,c,d){if(!d.locked_&&d.needsCleanup_){for(var e =0,f=0;e<d.length;e++)if(d[e].removed){var g=d[e].proxy;g.src=null;goog.events.p ools.releaseProxy(g);goog.events.pools.releaseListener(d[e])}else e!=f&&(d[f]=d[ e]),f++;d.length=f;d.needsCleanup_=!1;f==0&&(goog.events.pools.releaseArray(d),d elete goog.events.listenerTree_[a][b][c],goog.events.listenerTree_[a][b].count_- -,goog.events.listenerTree_[a][b].count_==0&&(goog.events.pools.releaseObject(go og.events.listenerTree_[a][b]),
307 delete goog.events.listenerTree_[a][b],goog.events.listenerTree_[a].count_--),go og.events.listenerTree_[a].count_==0&&(goog.events.pools.releaseObject(goog.even ts.listenerTree_[a]),delete goog.events.listenerTree_[a]))}};
308 goog.events.removeAll=function(a,b,c){var d=0,e=b==null,f=c==null,c=!!c;if(a==nu ll)goog.object.forEach(goog.events.sources_,function(a){for(var g=a.length-1;g>= 0;g--){var h=a[g];if((e||b==h.type)&&(f||c==h.capture))goog.events.unlistenByKey (h.key),d++}});else if(a=goog.getUid(a),goog.events.sources_[a])for(var a=goog.e vents.sources_[a],g=a.length-1;g>=0;g--){var h=a[g];if((e||b==h.type)&&(f||c==h. capture))goog.events.unlistenByKey(h.key),d++}return d};
309 goog.events.getListeners=function(a,b,c){return goog.events.getListeners_(a,b,c) ||[]};goog.events.getListeners_=function(a,b,c){var d=goog.events.listenerTree_; if(b in d&&(d=d[b],c in d&&(d=d[c],a=goog.getUid(a),d[a])))return d[a];return nu ll};goog.events.getListener=function(a,b,c,d,e){d=!!d;if(a=goog.events.getListen ers_(a,b,d))for(b=0;b<a.length;b++)if(a[b].listener==c&&a[b].capture==d&&a[b].ha ndler==e)return a[b];return null};
310 goog.events.hasListener=function(a,b,c){var a=goog.getUid(a),d=goog.events.sourc es_[a];if(d){var e=goog.isDef(b),f=goog.isDef(c);return e&&f?(d=goog.events.list enerTree_[b],!!d&&!!d[c]&&a in d[c]):!e&&!f?!0:goog.array.some(d,function(a){ret urn e&&a.type==b||f&&a.capture==c})}return!1};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+ " = "+a[c]);return b.join("\n")};
311 goog.events.getOnString_=function(a){if(a in goog.events.onStringMap_)return goo g.events.onStringMap_[a];return goog.events.onStringMap_[a]=goog.events.onString _+a};goog.events.fireListeners=function(a,b,c,d){var e=goog.events.listenerTree_ ;if(b in e&&(e=e[b],c in e))return goog.events.fireListeners_(e[c],a,b,c,d);retu rn!0};
312 goog.events.fireListeners_=function(a,b,c,d,e){var f=1,b=goog.getUid(b);if(a[b]) {a.remaining_--;a=a[b];a.locked_?a.locked_++:a.locked_=1;try{for(var g=a.length, h=0;h<g;h++){var i=a[h];i&&!i.removed&&(f&=goog.events.fireListener(i,e)!==!1)}} finally{a.locked_--,goog.events.cleanUp_(c,d,b,a)}}return Boolean(f)};goog.event s.fireListener=function(a,b){var c=a.handleEvent(b);a.callOnce&&goog.events.unli stenByKey(a.key);return c};goog.events.getTotalListenerCount=function(){return g oog.object.getCount(goog.events.listeners_)};
313 goog.events.dispatchEvent=function(a,b){var c=b.type||b,d=goog.events.listenerTr ee_;if(!(c in d))return!0;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b,b=new goog.e vents.Event(c,a);goog.object.extend(b,e)}var e=1,f,d=d[c],c=!0 in d,g;if(c){f=[] ;for(g=a;g;g=g.getParentEventTarget())f.push(g);g=d[!0];g.remaining_=g.count_;fo r(var h=f.length-1;!b.propagationStopped_&&h>=0&&g.remaining_;h--)b.currentTarge t=f[h],e&=goog.events.fireListeners_(g,
314 f[h],b.type,!0,b)&&b.returnValue_!=!1}if(!1 in d)if(g=d[!1],g.remaining_=g.count _,c)for(h=0;!b.propagationStopped_&&h<f.length&&g.remaining_;h++)b.currentTarget =f[h],e&=goog.events.fireListeners_(g,f[h],b.type,!1,b)&&b.returnValue_!=!1;else for(d=a;!b.propagationStopped_&&d&&g.remaining_;d=d.getParentEventTarget())b.cu rrentTarget=d,e&=goog.events.fireListeners_(g,d,b.type,!1,b)&&b.returnValue_!=!1 ;return Boolean(e)};
315 goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserE vent_=a.protectEntryPoint(goog.events.handleBrowserEvent_);goog.events.pools.set ProxyCallbackFunction(goog.events.handleBrowserEvent_)};
316 goog.events.handleBrowserEvent_=function(a,b){if(!goog.events.listeners_[a])retu rn!0;var c=goog.events.listeners_[a],d=c.type,e=goog.events.listenerTree_;if(!(d in e))return!0;var e=e[d],f,g;if(goog.events.synthesizeEventPropagation_()){f=b ||goog.getObjectByName("window.event");var h=!0 in e,i=!1 in e;if(h){if(goog.eve nts.isMarkedIeEvent_(f))return!0;goog.events.markIeEvent_(f)}var j=goog.events.p ools.getEvent();j.init(f,this);f=!0;try{if(h){for(var k=goog.events.pools.getArr ay(),m=j.currentTarget;m;m=
317 m.parentNode)k.push(m);g=e[!0];g.remaining_=g.count_;for(var l=k.length-1;!j.pro pagationStopped_&&l>=0&&g.remaining_;l--)j.currentTarget=k[l],f&=goog.events.fir eListeners_(g,k[l],d,!0,j);if(i){g=e[!1];g.remaining_=g.count_;for(l=0;!j.propag ationStopped_&&l<k.length&&g.remaining_;l++)j.currentTarget=k[l],f&=goog.events. fireListeners_(g,k[l],d,!1,j)}}else f=goog.events.fireListener(c,j)}finally{if(k )k.length=0,goog.events.pools.releaseArray(k);j.dispose();goog.events.pools.rele aseEvent(j)}return f}d=
318 new goog.events.BrowserEvent(b,this);try{f=goog.events.fireListener(c,d)}finally {d.dispose()}return f};goog.events.pools.setProxyCallbackFunction(goog.events.ha ndleBrowserEvent_);goog.events.markIeEvent_=function(a){var b=!1;if(a.keyCode==0 )try{a.keyCode=-1;return}catch(c){b=!0}if(b||a.returnValue==void 0)a.returnValue =!0};goog.events.isMarkedIeEvent_=function(a){return a.keyCode<0||a.returnValue! =void 0};goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){retu rn a+"_"+goog.events.uniqueIdCounter_++};
319 goog.events.synthesizeEventPropagation_=function(){if(goog.events.requiresSynthe ticEventPropagation_===void 0)goog.events.requiresSyntheticEventPropagation_=goo g.userAgent.IE&&!goog.global.addEventListener;return goog.events.requiresSynthet icEventPropagation_};goog.debug.entryPointRegistry.register(function(a){goog.eve nts.handleBrowserEvent_=a(goog.events.handleBrowserEvent_);goog.events.pools.set ProxyCallbackFunction(goog.events.handleBrowserEvent_)});goog.events.EventHandle r=function(a){goog.Disposable.call(this);this.handler_=a};goog.inherits(goog.eve nts.EventHandler,goog.Disposable);goog.events.EventHandler.KEY_POOL_INITIAL_COUN T=0;goog.events.EventHandler.KEY_POOL_MAX_COUNT=100;goog.events.EventHandler.key Pool_=new goog.structs.SimplePool(goog.events.EventHandler.KEY_POOL_INITIAL_COUN T,goog.events.EventHandler.KEY_POOL_MAX_COUNT);goog.events.EventHandler.keys_=nu ll;goog.events.EventHandler.key_=null;goog.events.EventHandler.typeArray_=[];
320 goog.events.EventHandler.prototype.listen=function(a,b,c,d,e){if(!goog.isArray(b ))goog.events.EventHandler.typeArray_[0]=b,b=goog.events.EventHandler.typeArray_ ;for(var f=0;f<b.length;f++)this.recordListenerKey_(goog.events.listen(a,b[f],c| |this,d||!1,e||this.handler_||this));return this};
321 goog.events.EventHandler.prototype.listenOnce=function(a,b,c,d,e){if(goog.isArra y(b))for(var f=0;f<b.length;f++)this.listenOnce(a,b[f],c,d,e);else this.recordLi stenerKey_(goog.events.listenOnce(a,b,c||this,d||!1,e||this.handler_||this));ret urn this};goog.events.EventHandler.prototype.listenWithWrapper=function(a,b,c,d, e){b.listen(a,c,d,e||this.handler_,this);return this};
322 goog.events.EventHandler.prototype.recordListenerKey_=function(a){this.keys_?thi s.keys_[a]=!0:this.key_?(this.keys_=goog.events.EventHandler.keyPool_.getObject( ),this.keys_[this.key_]=!0,this.key_=null,this.keys_[a]=!0):this.key_=a};
323 goog.events.EventHandler.prototype.unlisten=function(a,b,c,d,e){if(this.key_||th is.keys_)if(goog.isArray(b))for(var f=0;f<b.length;f++)this.unlisten(a,b[f],c,d, e);else if(a=goog.events.getListener(a,b,c||this,d||!1,e||this.handler_||this))i f(a=a.key,goog.events.unlistenByKey(a),this.keys_)goog.object.remove(this.keys_, a);else if(this.key_==a)this.key_=null;return this};goog.events.EventHandler.pro totype.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e||this.handler_ ,this);return this};
324 goog.events.EventHandler.prototype.removeAll=function(){if(this.keys_){for(var a in this.keys_)goog.events.unlistenByKey(a),delete this.keys_[a];goog.events.Eve ntHandler.keyPool_.releaseObject(this.keys_);this.keys_=null}else this.key_&&goo g.events.unlistenByKey(this.key_)};goog.events.EventHandler.prototype.disposeInt ernal=function(){goog.events.EventHandler.superClass_.disposeInternal.call(this) ;this.removeAll()};
325 goog.events.EventHandler.prototype.handleEvent=function(){throw Error("EventHand ler.handleEvent not implemented");};goog.events.EventTarget=function(){goog.Disp osable.call(this)};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.e vents.EventTarget.prototype.customEvent_=!0;goog.events.EventTarget.prototype.pa rentEventTarget_=null;goog.events.EventTarget.prototype.getParentEventTarget=fun ction(){return this.parentEventTarget_};goog.events.EventTarget.prototype.setPar entEventTarget=function(a){this.parentEventTarget_=a};
326 goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events .listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=fun ction(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};goog.events.EventTarget.proto type.dispatchEvent=function(a){return goog.events.dispatchEvent(this,a)};goog.ev ents.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.su perClass_.disposeInternal.call(this);goog.events.removeAll(this);this.parentEven tTarget_=null};goog.fx={};goog.fx.Dragger=function(a,b,c){goog.events.EventTarge t.call(this);this.target=a;this.handle=b||a;this.limits=c||new goog.math.Rect(Na N,NaN,NaN,NaN);this.document_=goog.dom.getOwnerDocument(a);this.eventHandler_=ne w goog.events.EventHandler(this);goog.events.listen(this.handle,[goog.events.Eve ntType.TOUCHSTART,goog.events.EventType.MOUSEDOWN],this.startDrag,!1,this)};goog .inherits(goog.fx.Dragger,goog.events.EventTarget);
327 goog.fx.Dragger.HAS_SET_CAPTURE_=goog.userAgent.IE||goog.userAgent.GECKO&&goog.u serAgent.isVersion("1.9.3");goog.fx.Dragger.EventType={START:"start",BEFOREDRAG: "beforedrag",DRAG:"drag",END:"end"};goog.fx.Dragger.prototype.clientX=0;goog.fx. Dragger.prototype.clientY=0;goog.fx.Dragger.prototype.screenX=0;goog.fx.Dragger. prototype.screenY=0;goog.fx.Dragger.prototype.startX=0;goog.fx.Dragger.prototype .startY=0;goog.fx.Dragger.prototype.deltaX=0;goog.fx.Dragger.prototype.deltaY=0;
328 goog.fx.Dragger.prototype.enabled_=!0;goog.fx.Dragger.prototype.dragging_=!1;goo g.fx.Dragger.prototype.hysteresisDistanceSquared_=0;goog.fx.Dragger.prototype.mo useDownTime_=0;goog.fx.Dragger.prototype.ieDragStartCancellingOn_=!1;goog.fx.Dra gger.prototype.getHandler=function(){return this.eventHandler_};goog.fx.Dragger. prototype.setLimits=function(a){this.limits=a||new goog.math.Rect(NaN,NaN,NaN,Na N)};goog.fx.Dragger.prototype.setHysteresis=function(a){this.hysteresisDistanceS quared_=Math.pow(a,2)};
329 goog.fx.Dragger.prototype.getHysteresis=function(){return Math.sqrt(this.hystere sisDistanceSquared_)};goog.fx.Dragger.prototype.setScrollTarget=function(a){this .scrollTarget_=a};goog.fx.Dragger.prototype.setCancelIeDragStart=function(a){thi s.ieDragStartCancellingOn_=a};goog.fx.Dragger.prototype.getEnabled=function(){re turn this.enabled_};goog.fx.Dragger.prototype.setEnabled=function(a){this.enable d_=a};
330 goog.fx.Dragger.prototype.disposeInternal=function(){goog.fx.Dragger.superClass_ .disposeInternal.call(this);goog.events.unlisten(this.handle,[goog.events.EventT ype.TOUCHSTART,goog.events.EventType.MOUSEDOWN],this.startDrag,!1,this);this.eve ntHandler_.dispose();delete this.target;delete this.handle;delete this.eventHand ler_};
331 goog.fx.Dragger.prototype.startDrag=function(a){var b=a.type==goog.events.EventT ype.MOUSEDOWN;if(this.enabled_&&!this.dragging_&&(!b||a.isMouseActionButton())){ this.maybeReinitTouchEvent_(a);if(this.hysteresisDistanceSquared_==0)if(this.ini tializeDrag_(a),this.dragging_)a.preventDefault();else return;else a.preventDefa ult();this.setupDragHandlers();this.clientX=this.startX=a.clientX;this.clientY=t his.startY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;this.deltaX=t his.target.offsetLeft;
332 this.deltaY=this.target.offsetTop;this.pageScroll=goog.dom.getDomHelper(this.doc ument_).getDocumentScroll();this.mouseDownTime_=goog.now()}};
333 goog.fx.Dragger.prototype.setupDragHandlers=function(){var a=this.document_,b=a. documentElement,c=!goog.fx.Dragger.HAS_SET_CAPTURE_;this.eventHandler_.listen(a, [goog.events.EventType.TOUCHMOVE,goog.events.EventType.MOUSEMOVE],this.handleMov e_,c);this.eventHandler_.listen(a,[goog.events.EventType.TOUCHEND,goog.events.Ev entType.MOUSEUP],this.endDrag,c);goog.fx.Dragger.HAS_SET_CAPTURE_?(b.setCapture( !1),this.eventHandler_.listen(b,goog.events.EventType.LOSECAPTURE,this.endDrag)) :this.eventHandler_.listen(goog.dom.getWindow(a),
334 goog.events.EventType.BLUR,this.endDrag);goog.userAgent.IE&&this.ieDragStartCanc ellingOn_&&this.eventHandler_.listen(a,goog.events.EventType.DRAGSTART,goog.even ts.Event.preventDefault);this.scrollTarget_&&this.eventHandler_.listen(this.scro llTarget_,goog.events.EventType.SCROLL,this.onScroll_,c)};goog.fx.Dragger.protot ype.initializeDrag_=function(a){if(this.dispatchEvent(new goog.fx.DragEvent(goog .fx.Dragger.EventType.START,this,a.clientX,a.clientY,a))!==!1)this.dragging_=!0} ;
335 goog.fx.Dragger.prototype.endDrag=function(a,b){this.eventHandler_.removeAll();g oog.fx.Dragger.HAS_SET_CAPTURE_&&this.document_.releaseCapture();if(this.draggin g_){this.maybeReinitTouchEvent_(a);this.dragging_=!1;var c=this.limitX(this.delt aX),d=this.limitY(this.deltaY);this.dispatchEvent(new goog.fx.DragEvent(goog.fx. Dragger.EventType.END,this,a.clientX,a.clientY,a,c,d,b||a.type==goog.events.Even tType.TOUCHCANCEL))}(a.type==goog.events.EventType.TOUCHEND||a.type==goog.events .EventType.TOUCHCANCEL)&&
336 a.preventDefault()};goog.fx.Dragger.prototype.endDragCancel=function(a){this.end Drag(a,!0)};goog.fx.Dragger.prototype.maybeReinitTouchEvent_=function(a){var b=a .type;b==goog.events.EventType.TOUCHSTART||b==goog.events.EventType.TOUCHMOVE?a. init(a.getBrowserEvent().targetTouches[0],a.currentTarget):(b==goog.events.Event Type.TOUCHEND||b==goog.events.EventType.TOUCHCANCEL)&&a.init(a.getBrowserEvent() .changedTouches[0],a.currentTarget)};
337 goog.fx.Dragger.prototype.handleMove_=function(a){if(this.enabled_){this.maybeRe initTouchEvent_(a);var b=a.clientX-this.clientX,c=a.clientY-this.clientY;this.cl ientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.scr eenY;if(!this.dragging_){var d=this.startX-this.clientX,e=this.startY-this.clien tY;if(d*d+e*e>this.hysteresisDistanceSquared_&&(this.initializeDrag_(a),!this.dr agging_)){this.endDrag(a);return}}c=this.calculatePosition_(b,c);b=c.x;c=c.y;thi s.dragging_&&this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType. BEFOREDRAG,
338 this,a.clientX,a.clientY,a,b,c))!==!1&&(this.doDrag(a,b,c,!1),a.preventDefault() )}};goog.fx.Dragger.prototype.calculatePosition_=function(a,b){var c=goog.dom.ge tDomHelper(this.document_).getDocumentScroll();a+=c.x-this.pageScroll.x;b+=c.y-t his.pageScroll.y;this.pageScroll=c;this.deltaX+=a;this.deltaY+=b;var c=this.limi tX(this.deltaX),d=this.limitY(this.deltaY);return new goog.math.Coordinate(c,d)} ;
339 goog.fx.Dragger.prototype.onScroll_=function(a){var b=this.calculatePosition_(0, 0);a.clientX=this.pageScroll.x-this.clientX;a.clientY=this.pageScroll.y-this.cli entY;this.doDrag(a,b.x,b.y,!0)};goog.fx.Dragger.prototype.doDrag=function(a,b,c) {this.defaultAction(b,c);this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragge r.EventType.DRAG,this,a.clientX,a.clientY,a,b,c))};
340 goog.fx.Dragger.prototype.limitX=function(a){var b=this.limits,c=!isNaN(b.left)? b.left:null,b=!isNaN(b.width)?b.width:0;return Math.min(c!=null?c+b:Infinity,Mat h.max(c!=null?c:-Infinity,a))};goog.fx.Dragger.prototype.limitY=function(a){var b=this.limits,c=!isNaN(b.top)?b.top:null,b=!isNaN(b.height)?b.height:0;return Ma th.min(c!=null?c+b:Infinity,Math.max(c!=null?c:-Infinity,a))};goog.fx.Dragger.pr ototype.defaultAction=function(a,b){this.target.style.left=a+"px";this.target.st yle.top=b+"px"};
341 goog.fx.DragEvent=function(a,b,c,d,e,f,g,h){goog.events.Event.call(this,a);this. clientX=c;this.clientY=d;this.browserEvent=e;this.left=goog.isDef(f)?f:b.deltaX; this.top=goog.isDef(g)?g:b.deltaY;this.dragger=b;this.dragCanceled=!!h};goog.inh erits(goog.fx.DragEvent,goog.events.Event);goog.events.KeyCodes={MAC_ENTER:3,BAC KSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK :20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:3 9,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOU R:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D: 68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T: 84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,CONTEXT_MENU:93,NUM_ZERO:96,
342 NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEV EN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NU M_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F 8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:1 87,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BR ACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN _IME:229,PHANTOM:255};
343 goog.events.KeyCodes.isTextModifyingKeyEvent=function(a){if(a.altKey&&!a.ctrlKey ||a.metaKey||a.keyCode>=goog.events.KeyCodes.F1&&a.keyCode<=goog.events.KeyCodes .F12)return!1;switch(a.keyCode){case goog.events.KeyCodes.ALT:case goog.events.K eyCodes.CAPS_LOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCod es.CTRL:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.END:case goog.e vents.KeyCodes.ESC:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.INSE RT:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.MAC_FF_META:case goo g.events.KeyCodes.META:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCod es.NUM_CENTER:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.PAGE _UP:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.PHANTOM:case goog. events.KeyCodes.PRINT_SCREEN:case goog.events.KeyCodes.RIGHT:case goog.events.Ke yCodes.SHIFT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.WIN_KEY:retu rn!1;
344 default:return!0}};goog.events.KeyCodes.firesKeyPressEvent=function(a,b,c,d,e){i f(!goog.userAgent.IE&&(!goog.userAgent.WEBKIT||!goog.userAgent.isVersion("525")) )return!0;if(goog.userAgent.MAC&&e)return goog.events.KeyCodes.isCharacterKey(a) ;if(e&&!d)return!1;if(!c&&(b==goog.events.KeyCodes.CTRL||b==goog.events.KeyCodes .ALT))return!1;if(goog.userAgent.IE&&d&&b==a)return!1;switch(a){case goog.events .KeyCodes.ENTER:return!0;case goog.events.KeyCodes.ESC:return!goog.userAgent.WEB KIT}return goog.events.KeyCodes.isCharacterKey(a)};
345 goog.events.KeyCodes.isCharacterKey=function(a){if(a>=goog.events.KeyCodes.ZERO& &a<=goog.events.KeyCodes.NINE)return!0;if(a>=goog.events.KeyCodes.NUM_ZERO&&a<=g oog.events.KeyCodes.NUM_MULTIPLY)return!0;if(a>=goog.events.KeyCodes.A&&a<=goog. events.KeyCodes.Z)return!0;if(goog.userAgent.WEBKIT&&a==0)return!0;switch(a){cas e goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.QUESTION_MARK:case goog.e vents.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.Key Codes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCode s.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.Ke yCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SING LE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes .BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return!0;
346 default:return!1}};goog.ui={};
347 goog.ui.Zippy=function(a,b,c,d,e){function f(a){if(a)a.tabIndex=0,goog.events.li sten(a,goog.events.EventType.CLICK,g.onHeaderClick_,!1,g),goog.events.listen(a,g oog.events.EventType.KEYDOWN,g.onHeaderKeyDown_,!1,g)}goog.events.EventTarget.ca ll(this);this.dom_=e||goog.dom.getDomHelper();this.elHeader_=this.dom_.getElemen t(a)||null;this.elExpandedHeader_=this.dom_.getElement(d||null);this.elContent_= (this.lazyCreateFunc_=goog.isFunction(b)?b:null)||!b?null:this.dom_.getElement(b );this.expanded_=c==!0;
348 var g=this;f(this.elHeader_);f(this.elExpandedHeader_);this.setExpanded(this.exp anded_)};goog.inherits(goog.ui.Zippy,goog.events.EventTarget);goog.ui.Zippy.Even ts={TOGGLE:"toggle"};goog.ui.Zippy.prototype.disposeInternal=function(){this.elH eader_&&goog.events.removeAll(this.elHeader_);this.elExpandedHeader_&&goog.event s.removeAll(this.elExpandedHeader_);goog.ui.Zippy.superClass_.disposeInternal.ca ll(this)};goog.ui.Zippy.prototype.getContentElement=function(){return this.elCon tent_};
349 goog.ui.Zippy.prototype.expand=function(){this.setExpanded(!0)};goog.ui.Zippy.pr ototype.collapse=function(){this.setExpanded(!1)};goog.ui.Zippy.prototype.toggle =function(){this.setExpanded(!this.expanded_)};
350 goog.ui.Zippy.prototype.setExpanded=function(a){if(this.elContent_)goog.style.sh owElement(this.elContent_,a);else if(a&&this.lazyCreateFunc_)this.elContent_=thi s.lazyCreateFunc_();this.elExpandedHeader_?(goog.style.showElement(this.elHeader _,!a),goog.style.showElement(this.elExpandedHeader_,a)):this.updateHeaderClassNa me(a);this.setExpandedInternal(a);this.dispatchEvent(new goog.ui.ZippyEvent(goog .ui.Zippy.Events.TOGGLE,this,this.expanded_))};
351 goog.ui.Zippy.prototype.setExpandedInternal=function(a){this.expanded_=a};goog.u i.Zippy.prototype.isExpanded=function(){return this.expanded_};goog.ui.Zippy.pro totype.updateHeaderClassName=function(a){this.elHeader_&&(goog.dom.classes.enabl e(this.elHeader_,"goog-zippy-expanded",a),goog.dom.classes.enable(this.elHeader_ ,"goog-zippy-collapsed",!a))};
352 goog.ui.Zippy.prototype.onHeaderKeyDown_=function(a){if(a.keyCode==goog.events.K eyCodes.ENTER||a.keyCode==goog.events.KeyCodes.SPACE)this.toggle(),a.preventDefa ult(),a.stopPropagation()};goog.ui.Zippy.prototype.onHeaderClick_=function(){thi s.toggle()};goog.ui.ZippyEvent=function(a,b,c){goog.events.Event.call(this,a,b); this.expanded=c};goog.inherits(goog.ui.ZippyEvent,goog.events.Event);
OLDNEW
« no previous file with comments | « experimental/conways_life/build.scons ('k') | experimental/conways_life/controllers/stamp_editor.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698