/* Copyright 2007 Google Inc. */ (function() { var GLOBAL_Error=Error,GLOBAL_Boolean=Boolean,GLOBAL_undefined=undefined,GLOBAL_encodeURIComponent=encodeURIComponent,GLOBAL_parseInt=parseInt,GLOBAL_parseFloat=parseFloat,GLOBAL_String=String,GLOBAL_window=window,GLOBAL_Number=Number,GLOBAL_Function=Function,GLOBAL_Object=Object,GLOBAL_document=document,GLOBAL_decodeURIComponent=decodeURIComponent,GLOBAL_isNaN=isNaN,GLOBAL_Math=Math;function SETPROP_filter(a,b){return a.filter=b}function SETPROP_toString(a,b){return a.toString=b} function SETPROP_length(a,b){return a.length=b}function SETPROP_className(a,b){return a.className=b}function SETPROP_width(a,b){return a.width=b}function SETPROP_pixelWidth(a,b){return a.pixelWidth=b}function SETPROP_innerHTML(a,b){return a.innerHTML=b}function SETPROP_currentTarget(a,b){return a.currentTarget=b}function SETPROP_left(a,b){return a.left=b}function SETPROP_target(a,b){return a.target=b}function SETPROP_pixelHeight(a,b){return a.pixelHeight=b} function SETPROP_remove(a,b){return a.remove=b}function SETPROP_some(a,b){return a.some=b}function SETPROP_keyCode(a,b){return a.keyCode=b}function SETPROP_forEach(a,b){return a.forEach=b}function SETPROP_every(a,b){return a.every=b}function SETPROP_type(a,b){return a.type=b}function SETPROP_contains(a,b){return a.contains=b}function SETPROP_clear(a,b){return a.clear=b}function SETPROP_display(a,b){return a.display=b}function SETPROP_height(a,b){return a.height=b} function SETPROP_visibility(a,b){return a.visibility=b} var $$PROP_appendChild="appendChild",$$PROP_scrollTop="scrollTop",$$PROP_previousSibling="previousSibling",$$PROP_push="push",$$PROP_object="object",$$PROP_filter="filter",$$PROP_toString="toString",$$PROP_global="global",$$PROP_length="length",$$PROP_getBoundingClientRect="getBoundingClientRect",$$PROP_prototype="prototype",$$PROP_test="test",$$PROP_sourceIndex="sourceIndex",$$PROP_relatedTarget="relatedTarget",$$PROP_exec="exec",$$PROP_reduce="reduce",$$PROP_width="width",$$PROP_round="round",$$PROP_slice= "slice",$$PROP_setTimeout="setTimeout",$$PROP_replace="replace",$$PROP_nodeType="nodeType",$$PROP_document="document",$$PROP_split="split",$$PROP_floor="floor",$$PROP_offsetWidth="offsetWidth",$$PROP_charAt="charAt",$$PROP_createTextNode="createTextNode",$$PROP_userAgent="userAgent",$$PROP_stack="stack",$$PROP_callee="callee",$$PROP_value="value",$$PROP_insertBefore="insertBefore",$$PROP_caller="caller",$$PROP_indexOf="indexOf",$$PROP_offsetLeft="offsetLeft",$$PROP_hasOwnProperty="hasOwnProperty", $$PROP_getComputedStyle="getComputedStyle",$$PROP_compareDocumentPosition="compareDocumentPosition",$$PROP_dispatchEvent="dispatchEvent",$$PROP_style="style",$$PROP_nodeName="nodeName",$$PROP_body="body",$$PROP_left="left",$$PROP_removeChild="removeChild",$$PROP_target="target",$$PROP_call="call",$$PROP_match="match",$$PROP_getBoxObjectFor="getBoxObjectFor",$$PROP_remove="remove",$$PROP_some="some",$$PROP_start="start",$$PROP_lastIndexOf="lastIndexOf",$$PROP_random="random",$$PROP_focus="focus",$$PROP_createElement= "createElement",$$PROP_keyCode="keyCode",$$PROP_firstChild="firstChild",$$PROP_forEach="forEach",$$PROP_scrollLeft="scrollLeft",$$PROP_charCodeAt="charCodeAt",$$PROP_bottom="bottom",$$PROP_currentStyle="currentStyle",$$PROP_substring="substring",$$PROP_handleEvent="handleEvent",$$PROP_removeNode="removeNode",$$PROP_every="every",$$PROP_type="type",$$PROP_contains="contains",$$PROP_apply="apply",$$PROP_clear="clear",$$PROP_childNodes="childNodes",$$PROP_defaultView="defaultView",$$PROP_name="name", $$PROP_parentNode="parentNode",$$PROP_fileName="fileName",$$PROP_nextSibling="nextSibling",$$PROP_offsetTop="offsetTop",$$PROP_height="height",$$PROP_splice="splice",$$PROP_offsetHeight="offsetHeight",$$PROP_join="join",$$PROP_unshift="unshift",$$PROP_execScript="execScript",$$PROP_nodeValue="nodeValue",$$PROP_toLowerCase="toLowerCase",$$PROP_clientX="clientX",$$PROP_clientY="clientY",$$PROP_documentElement="documentElement",$$PROP_substr="substr",$$PROP_right="right",JSCompiler_extractPrototype, goog=goog||{};goog.global=this;goog.DEBUG=true;goog.evalWorksForGlobals_=null;goog.provide=function(a){goog.exportPath_(a)};goog.exportPath_=function(a,b,c){var d=a[$$PROP_split]("."),e=c||goog[$$PROP_global],f;!(d[0]in e)&&e[$$PROP_execScript]&&e[$$PROP_execScript]("var "+d[0]);while(d[$$PROP_length]&&(f=d.shift()))if(!d[$$PROP_length]&&goog.isDef(b))e[f]=b;else e=e[f]?e[f]:(e[f]={})}; goog.getObjectByName=function(a,b){var c=a[$$PROP_split]("."),d=b||goog[$$PROP_global];for(var e;e=c.shift();)if(d[e])d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog[$$PROP_global];for(var d in a)c[d]=a[d]};goog.addDependency=function(){};goog.require=function(){};goog.useStrictRequires=false;goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(){return arguments[0]}; goog.abstractMethod=function(){throw GLOBAL_Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.getInstance=function(){return a.instance_||(a.instance_=new a)}}; goog.typeOf=function(a){var b=typeof a;if(b=="object")if(a){if(typeof a[$$PROP_length]=="number"&&typeof a[$$PROP_splice]!="undefined"&&!goog.propertyIsEnumerable_(a,"length"))return"array";if(typeof a[$$PROP_call]!="undefined")return"function"}else return"null";else if(b=="function"&&typeof a[$$PROP_call]=="undefined")return"object";return b}; goog.propertyIsEnumerableCustom_=function(a,b){if(b in a)for(var c in a)if(c==b&&GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](a,b))return true;return false};goog.propertyIsEnumerable_=GLOBAL_Object[$$PROP_prototype].propertyIsEnumerable?function(a,b){return a instanceof GLOBAL_Object?GLOBAL_Object[$$PROP_prototype].propertyIsEnumerable[$$PROP_call](a,b):goog.propertyIsEnumerableCustom_(a,b)}:goog.propertyIsEnumerableCustom_;goog.isDef=function(a){return typeof a!="undefined"}; goog.isNull=function(a){return a===null};goog.isDefAndNotNull=function(a){return goog.isDef(a)&&!goog.isNull(a)};goog.isArray=function(a){return goog.typeOf(a)=="array"};goog.isArrayLike=function(a){var b=goog.typeOf(a);return b=="array"||b=="object"&&typeof a[$$PROP_length]=="number"};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"};goog.isObject=function(a){var b=goog.typeOf(a);return b=="object"||b=="array"||b=="function"};goog.getHashCode=function(a){if(a[$$PROP_hasOwnProperty]&&a[$$PROP_hasOwnProperty](goog.HASH_CODE_PROPERTY_)){var b=a[goog.HASH_CODE_PROPERTY_];if(b)return b}a[goog.HASH_CODE_PROPERTY_]||(a[goog.HASH_CODE_PROPERTY_]=++goog.hashCodeCounter_);return a[goog.HASH_CODE_PROPERTY_]}; goog.removeHashCode=function(a){"removeAttribute"in a&&a.removeAttribute(goog.HASH_CODE_PROPERTY_);try{delete a[goog.HASH_CODE_PROPERTY_]}catch(b){}};goog.HASH_CODE_PROPERTY_="closure_hashCode_";goog.hashCodeCounter_=0;goog.cloneObject=function(a){var b=goog.typeOf(a);if(b=="object"||b=="array"){if(a.clone)return a.clone[$$PROP_call](a);var c=b=="array"?[]:{};for(var d in a)c[d]=goog.cloneObject(a[d]);return c}return a}; goog.bind=function(a,b){var c=a.boundArgs_;if(arguments[$$PROP_length]>2){var d=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,2);c&&d[$$PROP_unshift][$$PROP_apply](d,c);c=d}b=a.boundSelf_||b;a=a.boundFn_||a;var e,f=b||goog[$$PROP_global];e=c?function(){var g=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);g[$$PROP_unshift][$$PROP_apply](g,c);return a[$$PROP_apply](f,g)}:function(){return a[$$PROP_apply](f,arguments)};e.boundArgs_=c;e.boundSelf_=b;e.boundFn_=a;return e}; goog.partial=function(a){var b=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);b[$$PROP_unshift](a,null);return goog.bind[$$PROP_apply](null,b)};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=Date.now||function(){return(new Date).getTime()}; goog.globalEval=function(a){if(goog[$$PROP_global][$$PROP_execScript])goog[$$PROP_global][$$PROP_execScript](a,"JavaScript");else if(goog[$$PROP_global].eval){if(goog.evalWorksForGlobals_==null){goog[$$PROP_global].eval("var _et_ = 1;");if(typeof goog[$$PROP_global]._et_!="undefined"){delete goog[$$PROP_global]._et_;goog.evalWorksForGlobals_=true}else goog.evalWorksForGlobals_=false}if(goog.evalWorksForGlobals_)goog[$$PROP_global].eval(a);else{var b=goog[$$PROP_global][$$PROP_document],c=b[$$PROP_createElement]("script"); SETPROP_type(c,"text/javascript");c.defer=false;c[$$PROP_appendChild](b[$$PROP_createTextNode](a));b[$$PROP_body][$$PROP_appendChild](c);b[$$PROP_body][$$PROP_removeChild](c)}}else throw GLOBAL_Error("goog.globalEval not available");};goog.getMsg=function(a,b){var c=b||{};for(var d in c)a=a[$$PROP_replace](new RegExp("\\{\\$"+d+"\\}","gi"),c[d]);return a};goog.exportSymbol=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[$$PROP_prototype];a.superClass_=b[$$PROP_prototype];a.prototype=new c;a[$$PROP_prototype].constructor=a}; if(goog.MODIFY_FUNCTION_PROTOTYPES=true){GLOBAL_Function[$$PROP_prototype].bind=function(a){if(arguments[$$PROP_length]>1){var b=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);b[$$PROP_unshift](this,a);return goog.bind[$$PROP_apply](null,b)}else return goog.bind(this,a)};GLOBAL_Function[$$PROP_prototype].partial=function(){var a=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);a[$$PROP_unshift](this,null);return goog.bind[$$PROP_apply](null,a)};GLOBAL_Function[$$PROP_prototype].inherits= function(a){goog.inherits(this,a)};GLOBAL_Function[$$PROP_prototype].mixin=function(a){goog.mixin(this[$$PROP_prototype],a)}};goog.array={};goog.array.peek=function(a){return a[a[$$PROP_length]-1]};goog.array.indexOf=function(a,b,c){if(a[$$PROP_indexOf])return a[$$PROP_indexOf](b,c);if(Array[$$PROP_indexOf])return Array[$$PROP_indexOf](a,b,c);var d=c==null?0:c<0?GLOBAL_Math.max(0,a[$$PROP_length]+c):c;for(var e=d;e=0;e--)if(e in a&&a[e]===b)return e;return-1}; SETPROP_forEach(goog.array,function(a,b,c){if(a[$$PROP_forEach])a[$$PROP_forEach](b,c);else if(Array[$$PROP_forEach])Array[$$PROP_forEach](a,b,c);else{var d=a[$$PROP_length],e=goog.isString(a)?a[$$PROP_split](""):a;for(var f=0;f=0;--f)f in e&&b[$$PROP_call](c,e[f],f,a)}; SETPROP_filter(goog.array,function(a,b,c){if(a[$$PROP_filter])return a[$$PROP_filter](b,c);if(Array[$$PROP_filter])return Array[$$PROP_filter](a,b,c);var d=a[$$PROP_length],e=[],f=0,g=goog.isString(a)?a[$$PROP_split](""):a;for(var h=0;h=0;f--)if(f in e&&b[$$PROP_call](c,e[f],f,a))return e[f];return null};SETPROP_contains(goog.array,function(a,b){if(a[$$PROP_contains])return a[$$PROP_contains](b);return goog.array[$$PROP_indexOf](a,b)>-1}); goog.array.isEmpty=function(a){return a[$$PROP_length]==0};SETPROP_clear(goog.array,function(a){if(!goog.isArray(a))for(var b=a[$$PROP_length]-1;b>=0;b--)delete a[b];SETPROP_length(a,0)});goog.array.insert=function(a,b){goog.array[$$PROP_contains](a,b)||a[$$PROP_push](b)};goog.array.insertAt=function(a,b,c){goog.array[$$PROP_splice](a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array[$$PROP_splice],a,c,0)[$$PROP_apply](null,b)}; goog.array.insertBefore=function(a,b,c){var d;arguments[$$PROP_length]==2||(d=goog.array[$$PROP_indexOf](a,c))==-1?a[$$PROP_push](b):goog.array.insertAt(a,b,d)};SETPROP_remove(goog.array,function(a,b){var c=goog.array[$$PROP_indexOf](a,b),d;if(d=c!=-1)goog.array.removeAt(a,c);return d});goog.array.removeAt=function(a,b){return Array[$$PROP_prototype][$$PROP_splice][$$PROP_call](a,b,1)[$$PROP_length]==1}; goog.array.removeIf=function(a,b,c){var d=goog.array.findIndex(a,b,c);if(d>=0){goog.array.removeAt(a,d);return true}return false};goog.array.clone=function(a){if(goog.isArray(a))return a.concat();else{var b=[];for(var c=0,d=a[$$PROP_length];c>1,h=f(b,a[g]);if(h>0)d=g+1;else if(h<0)e=g-1;else return g}return-(d+1)};goog.array.sort=function(a,b){Array[$$PROP_prototype].sort[$$PROP_call](a,b||goog.array.defaultCompare)}; goog.array.stableSort=function(a,b){for(var c=0;cb?1:a=0?goog.array.removeAt(a,d):false};goog.array.bucket=function(a,b){var c={};for(var d=0;d=0&&a[$$PROP_lastIndexOf](b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return goog.string.caseInsensitiveCompare(b,a[$$PROP_substr](0,b[$$PROP_length]))==0}; goog.string.caseInsensitiveEndsWith=function(a,b){return goog.string.caseInsensitiveCompare(b,a[$$PROP_substr](a[$$PROP_length]-b[$$PROP_length],b[$$PROP_length]))==0};goog.string.subs=function(a){for(var b=1;b=" "&&a<="~"||a>="\u0080"&&a<="\ufffd"};goog.string.stripNewlines=function(a){return a[$$PROP_replace](/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a[$$PROP_replace](/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(a){return a[$$PROP_replace](/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a[$$PROP_replace](/\xa0|[ \t]+/g," ")}; goog.string.trim=function(a){return a[$$PROP_replace](/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(a){return a[$$PROP_replace](/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a[$$PROP_replace](/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){var c=GLOBAL_String(a)[$$PROP_toLowerCase](),d=GLOBAL_String(b)[$$PROP_toLowerCase]();return c":"
")}; goog.string.htmlEscape=function(a,b){if(b)return a[$$PROP_replace](goog.string.amperRe_,"&")[$$PROP_replace](goog.string.ltRe_,"<")[$$PROP_replace](goog.string.gtRe_,">")[$$PROP_replace](goog.string.quotRe_,""");else{if(!goog.string.allRe_[$$PROP_test](a))return a;if(a[$$PROP_indexOf]("&")!=-1)a=a[$$PROP_replace](goog.string.amperRe_,"&");if(a[$$PROP_indexOf]("<")!=-1)a=a[$$PROP_replace](goog.string.ltRe_,"<");if(a[$$PROP_indexOf](">")!=-1)a=a[$$PROP_replace](goog.string.gtRe_, ">");if(a[$$PROP_indexOf]('"')!=-1)a=a[$$PROP_replace](goog.string.quotRe_,""");return a}};goog.string.amperRe_=/&/g;goog.string.ltRe_=//g;goog.string.quotRe_=/\"/g;goog.string.allRe_=/[&<>\"]/;goog.string.unescapeEntities=function(a){if(goog.string[$$PROP_contains](a,"&"))return"document"in goog[$$PROP_global]&&!goog.string[$$PROP_contains](a,"<")?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a);return a}; goog.string.unescapeEntitiesUsingDom_=function(a){var b=goog[$$PROP_global][$$PROP_document][$$PROP_createElement]("a");SETPROP_innerHTML(b,a);b[goog.string.NORMALIZE_FN_]&&b[goog.string.NORMALIZE_FN_]();a=b[$$PROP_firstChild][$$PROP_nodeValue];SETPROP_innerHTML(b,"");return a}; goog.string.unescapePureXmlEntities_=function(a){return a[$$PROP_replace](/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if(c[$$PROP_charAt](0)=="#"){var d=GLOBAL_Number("0"+c[$$PROP_substr](1));if(!GLOBAL_isNaN(d))return GLOBAL_String.fromCharCode(d)}return b}})};goog.string.NORMALIZE_FN_="normalize";goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a[$$PROP_replace](/ /g,"  "),b)}; goog.string.stripQuotes=function(a,b){var c=b[$$PROP_length];for(var d=0;db)a=a[$$PROP_substring](0,b-3)+"...";if(c)a=goog.string.htmlEscape(a);return a}; goog.string.truncateMiddle=function(a,b,c){if(c)a=goog.string.unescapeEntities(a);if(a[$$PROP_length]>b){var d=GLOBAL_Math[$$PROP_floor](b/2),e=a[$$PROP_length]-d;d+=b%2;a=a[$$PROP_substring](0,d)+"..."+a[$$PROP_substring](e)}if(c)a=goog.string.htmlEscape(a);return a};goog.string.jsEscapeCache_={"\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"'":"\\'","\\":"\\\\"}; goog.string.quote=function(a){a=GLOBAL_String(a);if(a.quote)return a.quote();else{var b=['"'];for(var c=0;c31&&c<127)b=a;else{if(c<256){b="\\x";if(c<16||c>256)b+="0"}else{b="\\u";if(c<4096)b+="0"}b+=c[$$PROP_toString](16).toUpperCase()}return goog.string.jsEscapeCache_[a]=b};goog.string.toMap=function(a){var b={};for(var c=0;c=0&&b0)d=a[$$PROP_substr](0,b)+a[$$PROP_substr](b+c,a[$$PROP_length]-b-c);return d};SETPROP_remove(goog.string,function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"");return a[$$PROP_replace](c,"")});goog.string.removeAll=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"g");return a[$$PROP_replace](c,"")}; goog.string.regExpEscape=function(a){return GLOBAL_String(a)[$$PROP_replace](/([-()\[\]{}+?*.$\^|,:#b)return 1;return 0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){var b=0;for(var c=0;c=a[$$PROP_length])throw goog.iter.StopIteration;if(b in a)return a[b++];else b++}};return c}throw GLOBAL_Error("Not implemented");}; SETPROP_forEach(goog.iter,function(a,b,c){if(goog.isArrayLike(a))try{goog.array[$$PROP_forEach](a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{while(true)b[$$PROP_call](c,a.next(),GLOBAL_undefined,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}});SETPROP_filter(goog.iter,function(a,b,c){a=goog.iter.toIterator(a);var d=new goog.iter.Iterator;d.next=function(){while(true){var e=a.next();if(b[$$PROP_call](c,e,GLOBAL_undefined,a))return e}};return d}); goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;if(arguments[$$PROP_length]>1){d=a;e=b}if(f==0)throw GLOBAL_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.StopIteration;var h=d;d+=f;return h};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a)[$$PROP_join](b)}; goog.iter.map=function(a,b,c){a=goog.iter.toIterator(a);var d=new goog.iter.Iterator;d.next=function(){while(true){var e=a.next();return b[$$PROP_call](c,e,GLOBAL_undefined,a)}};return d};SETPROP_some(goog.iter,function(a,b,c){a=goog.iter.toIterator(a);try{while(true)if(b[$$PROP_call](c,a.next(),GLOBAL_undefined,a))return true}catch(d){if(d!==goog.iter.StopIteration)throw d;}return false}); SETPROP_every(goog.iter,function(a,b,c){a=goog.iter.toIterator(a);try{while(true)if(!b[$$PROP_call](c,a.next(),GLOBAL_undefined,a))return false}catch(d){if(d!==goog.iter.StopIteration)throw d;}return true});goog.iter.chain=function(){var a=arguments,b=a[$$PROP_length],c=0,d=new goog.iter.Iterator;d.next=function(){try{if(c>=b)throw goog.iter.StopIteration;var e=goog.iter.toIterator(a[c]);return e.next()}catch(f){if(f!==goog.iter.StopIteration||c>=b)throw f;else{c++;return this.next()}}};return d}; goog.iter.dropWhile=function(a,b,c){a=goog.iter.toIterator(a);var d=new goog.iter.Iterator,e=true;d.next=function(){while(true){var f=a.next();if(!(e&&b[$$PROP_call](c,f,GLOBAL_undefined,a))){e=false;return f}}};return d};goog.iter.takeWhile=function(a,b,c){a=goog.iter.toIterator(a);var d=new goog.iter.Iterator,e=true;d.next=function(){while(true)if(e){var f=a.next();if(b[$$PROP_call](c,f,GLOBAL_undefined,a))return f;else e=false}else throw goog.iter.StopIteration;};return d}; goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter[$$PROP_forEach](a,function(c){b[$$PROP_push](c)});return b}; goog.iter.equals=function(a,b){a=goog.iter.toIterator(a);b=goog.iter.toIterator(b);var c,d;try{while(true){c=d=false;var e=a.next();c=true;var f=b.next();d=true;if(e!=f)return false}}catch(g){if(g!==goog.iter.StopIteration)throw g;else{if(c&&!d)return false;if(!d)try{b.next();return false}catch(g){if(g!==goog.iter.StopIteration)throw g;return true}}}return false};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};goog.object={};SETPROP_forEach(goog[$$PROP_object],function(a,b,c){for(var d in a)b[$$PROP_call](c,a[d],d,a)});SETPROP_filter(goog[$$PROP_object],function(a,b,c){var d={};for(var e in a)if(b[$$PROP_call](c,a[e],e,a))d[e]=a[e];return d});goog[$$PROP_object].map=function(a,b,c){var d={};for(var e in a)d[e]=b[$$PROP_call](c,a[e],e,a);return d};SETPROP_some(goog[$$PROP_object],function(a,b,c){for(var d in a)if(b[$$PROP_call](c,a[d],d,a))return true;return false}); SETPROP_every(goog[$$PROP_object],function(a,b,c){for(var d in a)if(!b[$$PROP_call](c,a[d],d,a))return false;return true});goog[$$PROP_object].getCount=function(a){var b=0;for(var c in a)b++;return b};goog[$$PROP_object].getAnyKey=function(a){for(var b in a)return b};goog[$$PROP_object].getAnyValue=function(a){for(var b in a)return a[b]};SETPROP_contains(goog[$$PROP_object],function(a,b){return goog[$$PROP_object].containsValue(a,b)}); goog[$$PROP_object].getValues=function(a){var b=[],c=0;for(var d in a)b[c++]=a[d];return b};goog[$$PROP_object].getKeys=function(a){var b=[],c=0;for(var d in a)b[c++]=d;return b};goog[$$PROP_object].containsKey=function(a,b){return b in a};goog[$$PROP_object].containsValue=function(a,b){for(var c in a)if(a[c]==b)return true;return false};goog[$$PROP_object].findKey=function(a,b,c){for(var d in a)if(b[$$PROP_call](c,a[d],d,a))return d;return GLOBAL_undefined}; goog[$$PROP_object].findValue=function(a,b,c){var d=goog[$$PROP_object].findKey(a,b,c);return d&&a[d]};goog[$$PROP_object].isEmpty=function(a){for(var b in a)return false;return true};SETPROP_clear(goog[$$PROP_object],function(a){var b=goog[$$PROP_object].getKeys(a);for(var c=b[$$PROP_length]-1;c>=0;c--)goog[$$PROP_object][$$PROP_remove](a,b[c])});SETPROP_remove(goog[$$PROP_object],function(a,b){var c;if(c=b in a)delete a[b];return c}); goog[$$PROP_object].add=function(a,b,c){if(b in a)throw GLOBAL_Error('The object already contains the key "'+b+'"');goog[$$PROP_object].set(a,b,c)};goog[$$PROP_object].get=function(a,b,c){if(b in a)return a[b];return c};goog[$$PROP_object].set=function(a,b,c){a[b]=c};goog[$$PROP_object].setIfUndefined=function(a,b,c){return b in a?a[b]:(a[b]=c)};goog[$$PROP_object].clone=function(a){var b={};for(var c in a)b[c]=a[c];return b}; goog[$$PROP_object].transpose=function(a){var b={},c=goog[$$PROP_object].getKeys(a);for(var d=0,e=c[$$PROP_length];d1){if(b%2)throw GLOBAL_Error("Uneven number of arguments");for(var c=0;c2*this.count_&&this.cleanupKeysArray_();return true}return false}); JSCompiler_extractPrototype.cleanupKeysArray_=function(){if(this.count_!=this.keys_[$$PROP_length]){var a=0,b=0;while(a=c[$$PROP_length])throw goog.iter.StopIteration;var h=c[b++];return a?h:d[h]}};return g}; goog.structs.Map.hasKey_=GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty]?function(a,b){return GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](a,b)}:function(a,b){return b in a&&a[b]!==GLOBAL_Object[$$PROP_prototype][b]};goog.structs.Map.getCount=function(a){return goog.structs.getCount(a)};goog.structs.Map.getValues=function(a){return goog.structs.getValues(a)}; goog.structs.Map.getKeys=function(a){if(typeof a.getKeys=="function")return a.getKeys();var b=[];if(goog.isArrayLike(a))for(var c=0;cb)return false;if(!(a instanceof goog.structs.Set)&&b>5)a=new goog.structs.Set(a);return goog.structs[$$PROP_every](this,function(c){return goog.structs[$$PROP_contains](a,c)})}; JSCompiler_extractPrototype.__iterator__=function(){return this.map_.__iterator__(false)};goog.structs.Set.getCount=function(a){return goog.structs.getCount(a)};goog.structs.Set.getValues=function(a){return goog.structs.getValues(a)};SETPROP_contains(goog.structs.Set,function(a,b){return goog.structs[$$PROP_contains](a,b)});goog.structs.Set.isEmpty=function(a){return goog.structs.isEmpty(a)};SETPROP_clear(goog.structs.Set,function(a){goog.structs[$$PROP_clear](a)}); SETPROP_remove(goog.structs.Set,function(a,b){if(typeof a[$$PROP_remove]=="function")return a[$$PROP_remove](b);else if(goog.isArrayLike(a))return goog.array[$$PROP_remove](a,b);else{for(var c in a)if(a[c]==b){delete a[c];return true}return false}});goog.structs.Set.add=function(a,b){if(typeof a.add=="function")a.add(b);else if(goog.isArrayLike(a))a[a[$$PROP_length]]=b;else throw GLOBAL_Error('The collection does not know how to add "'+b+'"');};goog.debug={};goog.debug.catchErrors=function(a,b,c){var d=a||goog.debug.LogManager.getRoot(),e=c||goog[$$PROP_global],f=e.onerror;e.onerror=function(g,h,i){f&&f(g,h,i);var j=GLOBAL_String(h)[$$PROP_split](/[\/\\]/).pop();goog.isFunction(d)?d({message:g,fileName:j,line:i}):d.severe("Error: "+g+" ("+j+" @ Line: "+i+")");return GLOBAL_Boolean(b)}}; goog.debug.expose=function(a,b){if(typeof a=="undefined")return"undefined";if(a==null)return"NULL";var c=[];for(var d in a)if(!(!b&&goog.isFunction(a[d]))){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c[$$PROP_push](e)}return c[$$PROP_join]("\n")}; goog.debug.deepExpose=function(a,b){var c=new goog.structs.Set,d=[],e=function(f,g){var h=g+" ",i=function(l){return l[$$PROP_replace](/\n/g,"\n"+g)};try{if(goog.isDef(f))if(goog.isNull(f))d[$$PROP_push]("NULL");else if(goog.isString(f))d[$$PROP_push]('"'+i(f)+'"');else if(goog.isFunction(f))d[$$PROP_push](i(GLOBAL_String(f)));else if(goog.isObject(f))if(c[$$PROP_contains](f))d[$$PROP_push]("*** reference loop detected ***");else{c.add(f);d[$$PROP_push]("{");for(var j in f)if(!(!b&&goog.isFunction(f[j]))){d[$$PROP_push]("\n"); d[$$PROP_push](h);d[$$PROP_push](j+" = ");e(f[j],h)}d[$$PROP_push]("\n"+g+"}")}else d[$$PROP_push](f);else d[$$PROP_push]("undefined")}catch(k){d[$$PROP_push]("*** "+k+" ***")}};e(a,"");return d[$$PROP_join]("")};goog.debug.exposeArray=function(a){var b=[];for(var c=0;c'+c[$$PROP_fileName]+"\nLine: "+c.lineNumber+"\n\nBrowser stack:\n"+goog.string.htmlEscape(c[$$PROP_stack]+"-> ")+"[end]\n\nJS stack traversal:\n"+goog.string.htmlEscape(goog.debug.getStacktrace(b)+"-> ");return d}catch(e){return"Exception trying to expose exception! You win, we lose. "+e}}; goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");return typeof a=="string"?{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"}:!a.lineNumber||!a[$$PROP_fileName]||!a[$$PROP_stack]?{message:a.message,name:a[$$PROP_name],lineNumber:a.lineNumber||a.line||"Not available",fileName:a[$$PROP_fileName]||a.filename||a.sourceURL||b,stack:a[$$PROP_stack]||"Not available"}:a}; goog.debug.enhanceError=function(a,b){var c=typeof a=="string"?GLOBAL_Error(a):a;if(!c[$$PROP_stack])c.stack=goog.debug.getStacktrace(arguments[$$PROP_callee][$$PROP_caller]);if(b){var d=0;while(c["message"+d])++d;c["message"+d]=GLOBAL_String(b)}return c}; goog.debug.getStacktraceSimple=function(a){var b=[],c=arguments[$$PROP_callee][$$PROP_caller],d=0;while(c&&(!a||d=goog.debug.MAX_STACK_DEPTH){b[$$PROP_push]("[...long stack...]");break}}a&&d>=a?b[$$PROP_push]("[...reached max depth limit...]"):b[$$PROP_push]("[end]");return b[$$PROP_join]("")};goog.debug.MAX_STACK_DEPTH=50; goog.debug.getStacktrace=function(a){return goog.debug.getStacktraceHelper_(a||arguments[$$PROP_callee][$$PROP_caller],[])}; goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array[$$PROP_contains](b,a))c[$$PROP_push]("[...circular reference...]");else if(a&&b[$$PROP_length]0&&c[$$PROP_push](", ");var f,g=d[e];switch(typeof g){case "object":f=g?"object":"null";break;case "string":f=g;break;case "number":f=GLOBAL_String(g);break;case "boolean":f=g?"true":"false";break;case "function":f= (f=goog.debug.getFunctionName(g))?f:"[fn]";break;case "undefined":default:f=typeof g;break}if(f[$$PROP_length]>40)f=f[$$PROP_substr](0,40)+"...";c[$$PROP_push](f)}b[$$PROP_push](a);c[$$PROP_push](")\n");try{c[$$PROP_push](goog.debug.getStacktraceHelper_(a[$$PROP_caller],b))}catch(h){c[$$PROP_push]("[exception trying to get caller]\n")}}else a?c[$$PROP_push]("[...long stack...]"):c[$$PROP_push]("[end]");return c[$$PROP_join]("")}; goog.debug.getFunctionName=function(a){var b=GLOBAL_String(a);if(!goog.debug.fnNameCache_[b]){var c=/function ([^\(]+)/[$$PROP_exec](b);if(c){var d=c[1];goog.debug.fnNameCache_[b]=d}else goog.debug.fnNameCache_[b]="[Anonymous]"}return goog.debug.fnNameCache_[b]}; goog.debug.getAnonFunctionName_=function(a,b,c,d){if(goog.getObjectByName("document.all"))return"";var e=b||goog[$$PROP_global],f=c||"",g=d||0;if(e==a)return f;for(var h in e)if(!(h=="Packages"||h=="sun"||h=="netscape"||h=="java")){if(e[h]==a)return f+h;if((typeof e[h]=="function"||typeof e[h]=="object")&&e[h]!=goog[$$PROP_global]&&e[h]!=goog.getObjectByName("document")&&e[$$PROP_hasOwnProperty](h)&&g<6){var i=goog.debug.getAnonFunctionName_(a,e[h],f+h+".",g+1);if(i)return i}}return""}; goog.debug.makeWhitespaceVisible=function(a){return a[$$PROP_replace](/ /g,"[_]")[$$PROP_replace](/\f/g,"[f]")[$$PROP_replace](/\n/g,"[n]\n")[$$PROP_replace](/\r/g,"[r]")[$$PROP_replace](/\t/g,"[t]")};goog.debug.fnNameCache_={};goog.debug.LogRecord=function(a,b,c,d,e){this.sequenceNumber_=typeof e=="number"?e:goog.debug.LogRecord.nextSequenceNumber_++;this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c};goog.debug.LogRecord[$$PROP_prototype].exception_=null;goog.debug.LogRecord[$$PROP_prototype].exceptionText_=null;goog.debug.LogRecord.nextSequenceNumber_=0;goog.debug.LogRecord[$$PROP_prototype].setException=function(a){this.exception_=a}; goog.debug.LogRecord[$$PROP_prototype].setExceptionText=function(a){this.exceptionText_=a};goog.debug.LogRecord[$$PROP_prototype].getLevel=function(){return this.level_};goog.debug.LogRecord[$$PROP_prototype].setLevel=function(a){this.level_=a};goog.debug.Logger=function(a){this.name_=a;this.parent_=null;this.children_={};this.handlers_=[]};goog.debug.Logger[$$PROP_prototype].level_=null;goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};SETPROP_toString(goog.debug.Logger.Level[$$PROP_prototype],function(){return this[$$PROP_name]});goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200); goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1000);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.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300); goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];goog.debug.Logger.Level.predefinedLevelsCache_=null; goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++){goog.debug.Logger.Level.predefinedLevelsCache_[b[$$PROP_value]]=b;goog.debug.Logger.Level.predefinedLevelsCache_[b[$$PROP_name]]=b}}; goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null}; goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b=this.level_[$$PROP_value];if(this.parent_)return this.parent_.isLoggable(a);return false}; JSCompiler_extractPrototype.log=function(a,b,c){this.isLoggable(a)&&this.logRecord(this.getLogRecord(a,b,c))};JSCompiler_extractPrototype.getLogRecord=function(a,b,c){var d=new goog.debug.LogRecord(a,GLOBAL_String(b),this.name_);if(c){d.setException(c);d.setExceptionText(goog.debug.exposeException(c,arguments[$$PROP_callee][$$PROP_caller]))}return d};JSCompiler_extractPrototype.severe=function(a,b){this.log(goog.debug.Logger.Level.SEVERE,a,b)}; JSCompiler_extractPrototype.logRecord=function(a){if(this.isLoggable(a.getLevel())){var b=this;while(b){b.callPublish_(a);b=b.getParent()}}};JSCompiler_extractPrototype.callPublish_=function(a){for(var b=0;b=0};goog.math.Size=function(a,b){SETPROP_width(this,a);SETPROP_height(this,b)};goog.math.Size.equals=function(a,b){if(a==b)return true;if(!a||!b)return false;return a[$$PROP_width]==b[$$PROP_width]&&a[$$PROP_height]==b[$$PROP_height]};JSCompiler_extractPrototype=goog.math.Size[$$PROP_prototype];JSCompiler_extractPrototype.clone=function(){return new goog.math.Size(this[$$PROP_width],this[$$PROP_height])}; SETPROP_toString(JSCompiler_extractPrototype,function(){return"("+this[$$PROP_width]+" x "+this[$$PROP_height]+")"});JSCompiler_extractPrototype.area=function(){return this[$$PROP_width]*this[$$PROP_height]};JSCompiler_extractPrototype.isEmpty=function(){return!this.area()};JSCompiler_extractPrototype.ceil=function(){SETPROP_width(this,GLOBAL_Math.ceil(this[$$PROP_width]));SETPROP_height(this,GLOBAL_Math.ceil(this[$$PROP_height]));return this}; JSCompiler_extractPrototype.floor=function(){SETPROP_width(this,GLOBAL_Math[$$PROP_floor](this[$$PROP_width]));SETPROP_height(this,GLOBAL_Math[$$PROP_floor](this[$$PROP_height]));return this};JSCompiler_extractPrototype.round=function(){SETPROP_width(this,GLOBAL_Math[$$PROP_round](this[$$PROP_width]));SETPROP_height(this,GLOBAL_Math[$$PROP_round](this[$$PROP_height]));return this};JSCompiler_extractPrototype.scale=function(a){this.width*=a;this.height*=a;return this};goog.dom={};goog.dom.classes={};goog.dom.classes.set=function(a,b){SETPROP_className(a,b)};goog.dom.classes.get=function(a){var b=a.className;return b&&typeof b[$$PROP_split]=="function"?b[$$PROP_split](" "):[]};goog.dom.classes.add=function(a){var b=goog.dom.classes.get(a),c=1;for(var d=1;d0};goog.dom.BAD_CONTAINS_WEBKIT_=goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_userAgent].compare(goog[$$PROP_userAgent].VERSION,"521")<=0; SETPROP_contains(goog.dom,function(a,b){if(typeof a[$$PROP_contains]!="undefined"&&!goog.dom.BAD_CONTAINS_WEBKIT_&&b[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT)return a==b||a[$$PROP_contains](b);if(typeof a[$$PROP_compareDocumentPosition]!="undefined")return a==b||GLOBAL_Boolean(a[$$PROP_compareDocumentPosition](b)&16);while(b&&a!=b)b=b[$$PROP_parentNode];return b==a}); goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a[$$PROP_compareDocumentPosition])return a[$$PROP_compareDocumentPosition](b)&2?1:-1;if("sourceIndex"in a||a[$$PROP_parentNode]&&"sourceIndex"in a[$$PROP_parentNode]){var c=a[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT,d=b[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT;if(c&&d)return a[$$PROP_sourceIndex]-b[$$PROP_sourceIndex];else{var e=a[$$PROP_parentNode],f=b[$$PROP_parentNode];if(e==f)return goog.dom.compareSiblingOrder_(a,b);if(!c&&goog.dom[$$PROP_contains](e, b))return-1*goog.dom.compareParentsDescendantNodeIe_(a,b);if(!d&&goog.dom[$$PROP_contains](f,a))return goog.dom.compareParentsDescendantNodeIe_(b,a);return(c?a[$$PROP_sourceIndex]:e[$$PROP_sourceIndex])-(d?b[$$PROP_sourceIndex]:f[$$PROP_sourceIndex])}}var g=goog.dom.getOwnerDocument(a),h,i;h=g.createRange();h.selectNode(a);h.collapse(true);i=g.createRange();i.selectNode(b);i.collapse(true);return h.compareBoundaryPoints(goog[$$PROP_global].Range.START_TO_END,i)}; goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a[$$PROP_parentNode];if(c==b)return-1;var d=b;while(d[$$PROP_parentNode]!=c)d=d[$$PROP_parentNode];return goog.dom.compareSiblingOrder_(d,a)};goog.dom.compareSiblingOrder_=function(a,b){var c=b;while(c=c[$$PROP_previousSibling])if(c==a)return-1;return 1}; goog.dom.findCommonAncestor=function(){var a,b=arguments[$$PROP_length];if(!b)return null;else if(b==1)return arguments[0];var c=[],d=Infinity;for(a=0;a=0}return false}; goog.dom.setFocusableTabIndex=function(a,b){if(b)a.tabIndex=0;else a.removeAttribute("tabIndex")};goog.dom.getTextContent=function(a){var b;if(goog[$$PROP_userAgent].IE&&"innerText"in a)b=goog.string.canonicalizeNewlines(a.innerText);else{var c=[];goog.dom.getTextContent_(a,c,true);b=c[$$PROP_join]("")}b=b[$$PROP_replace](/\xAD/g,"");b=b[$$PROP_replace](/ +/g," ");if(b!=" ")b=b[$$PROP_replace](/^\s*/,"");return b}; goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,false);return b[$$PROP_join]("")}; goog.dom.getTextContent_=function(a,b,c){if(!(a[$$PROP_nodeName]in goog.dom.TAGS_TO_IGNORE_))if(a[$$PROP_nodeType]==goog.dom.NodeType.TEXT)c?b[$$PROP_push](GLOBAL_String(a[$$PROP_nodeValue])[$$PROP_replace](/(\r\n|\r|\n)/g,"")):b[$$PROP_push](a[$$PROP_nodeValue]);else if(a[$$PROP_nodeName]in goog.dom.PREDEFINED_TAG_VALUES_)b[$$PROP_push](goog.dom.PREDEFINED_TAG_VALUES_[a[$$PROP_nodeName]]);else{var d=a[$$PROP_firstChild];while(d){goog.dom.getTextContent_(d,b,c);d=d[$$PROP_nextSibling]}}}; goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a)[$$PROP_length]};goog.dom.getNodeTextOffset=function(a,b){var c=b||goog.dom.getOwnerDocument(a)[$$PROP_body],d=[];while(a&&a!=c){var e=a;while(e=e[$$PROP_previousSibling])d[$$PROP_unshift](goog.dom.getTextContent(e));a=a[$$PROP_parentNode]}return goog.string.trimLeft(d[$$PROP_join](""))[$$PROP_replace](/ +/g," ")[$$PROP_length]}; goog.dom.getNodeAtOffset=function(a,b,c){var d=[a],e=0,f;while(d[$$PROP_length]>0&&e=0;h--)d[$$PROP_push](f[$$PROP_childNodes][h])}if(goog.isObject(c)){c.remainder= f?f[$$PROP_nodeValue][$$PROP_length]+b-e-1:0;c.node=f}return f};goog.dom.isNodeList=function(a){if(a&&typeof a[$$PROP_length]=="number")if(goog.isObject(a))return typeof a.item=="function"||typeof a.item=="string";else if(goog.isFunction(a))return typeof a.item=="function";return false};goog.dom.getAncestorByTagNameAndClass=function(a,b,c){return goog.dom.getAncestor(a,function(d){return(!b||d[$$PROP_nodeName]==b)&&(!c||goog.dom.classes.has(d,c))},true)}; goog.dom.getAncestor=function(a,b,c,d){if(!c)a=a[$$PROP_parentNode];var e=d==null,f=0;while(a&&(e||f<=d)){if(b(a))return a;a=a[$$PROP_parentNode];f++}return null};goog.dom.DomHelper=function(a){this.document_=a||goog[$$PROP_global][$$PROP_document]||GLOBAL_document};JSCompiler_extractPrototype=goog.dom.DomHelper[$$PROP_prototype];JSCompiler_extractPrototype.getDomHelper=goog.dom.getDomHelper;JSCompiler_extractPrototype.getDocument=function(){return this.document_}; JSCompiler_extractPrototype.getElement=function(a){return goog.isString(a)?this.document_.getElementById(a):a};JSCompiler_extractPrototype.$=goog.dom.DomHelper[$$PROP_prototype].getElement; JSCompiler_extractPrototype.getElementsByTagNameAndClass=function(a,b,c){var d=c||this.document_,e=a&&a!="*"?a[$$PROP_toLowerCase]():"";if(d.querySelectorAll&&(e||b)&&(!goog[$$PROP_userAgent].WEBKIT||this.isCss1CompatMode()||goog[$$PROP_userAgent].isVersion("528"))){var f=e+(b?"."+b:""),g=d.querySelectorAll(f);return goog[$$PROP_userAgent].IE&&goog[$$PROP_userAgent].isVersion("8")?goog.array.toArray(g):g}if(b&&d.getElementsByClassName){var h=d.getElementsByClassName(b);if(e){var i=[];for(var j=0, k;k=h[j];j++)e==k[$$PROP_nodeName][$$PROP_toLowerCase]()&&i[$$PROP_push](k);return i}else return h}var h=d.getElementsByTagName(e||"*");if(b){var i=[];for(var j=0,k;k=h[j];j++){var l=k.className;typeof l[$$PROP_split]=="function"&&goog.array[$$PROP_contains](l[$$PROP_split](" "),b)&&i[$$PROP_push](k)}return i}else return h};JSCompiler_extractPrototype.$$=goog.dom.DomHelper[$$PROP_prototype].getElementsByTagNameAndClass;JSCompiler_extractPrototype.setProperties=goog.dom.setProperties; JSCompiler_extractPrototype.getViewportSize=goog.dom.getViewportSize; JSCompiler_extractPrototype.createDom=function(a,b){if(goog[$$PROP_userAgent].IE&&b&&(b[$$PROP_name]||b[$$PROP_type])){var c=["<",a];b[$$PROP_name]&&c[$$PROP_push](' name="',goog.string.htmlEscape(b[$$PROP_name]),'"');if(b[$$PROP_type]){c[$$PROP_push](' type="',goog.string.htmlEscape(b[$$PROP_type]),'"');b=goog.cloneObject(b);delete b[$$PROP_type]}c[$$PROP_push](">");a=c[$$PROP_join]("")}var d=this[$$PROP_createElement](a);b&&goog.dom.setProperties(d,b);if(arguments[$$PROP_length]>2){function e(h){if(h)this[$$PROP_appendChild](d, goog.isString(h)?this[$$PROP_createTextNode](h):h)}for(var f=2;fthis.maxCount_)throw GLOBAL_Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var b=0;b=0;m--){var n=l[m];if((f||b==n[$$PROP_type])&&(g||c==n.capture)){goog.events.unlistenByKey(n.key);d++}}});else{var h=goog.getHashCode(a);if(goog.events.sources_[h]){var i=goog.events.sources_[h];for(var j=i[$$PROP_length]-1;j>=0;j--){var k=i[j];if((f||b==k[$$PROP_type])&&(g||c==k.capture)){goog.events.unlistenByKey(k.key); d++}}}}return d};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];if(c in d){d=d[c];var e=goog.getHashCode(a);if(d[e])return d[e]}}return null};goog.events.getListener=function(a,b,c,d,e){var f=!!d,g=goog.events.getListeners_(a,b,f);if(g)for(var h=0;h=0;k--){SETPROP_currentTarget(b, e[k]);d&=goog.events.fireListeners(e[k],b[$$PROP_type],true,b)&&b.returnValue_!=false}}if(i)if(h)for(var k=0;!b.propagationStopped_&&k=0;l--){SETPROP_currentTarget(i,j[l]);f&=goog.events.fireListeners(j[l],d,true,i)}for(var l=0;!i.propagationStopped_&&l=a[$$PROP_left]&&b.x<=a[$$PROP_right]&&b.y>=a.top&&b.y<=a[$$PROP_bottom]}); goog.math.Box.distance=function(a,b){if(b.x>=a[$$PROP_left]&&b.x<=a[$$PROP_right]){if(b.y>=a.top&&b.y<=a[$$PROP_bottom])return 0;return b.y=a.top&&b.y<=a[$$PROP_bottom])return b.xa.top){d[$$PROP_push](new goog.math.Rect(a[$$PROP_left],a.top,a[$$PROP_width],b.top-a.top));e=b.top;f-=b.top-a.top}if(ja[$$PROP_left]&&d[$$PROP_push](new goog.math.Rect(a[$$PROP_left],e,b[$$PROP_left]-a[$$PROP_left],f));i=a[$$PROP_left]+a[$$PROP_width]&&this.top<=a.top&&this.top+this[$$PROP_height]>=a.top+a[$$PROP_height]});goog.style={};goog[$$PROP_style].setStyle=function(a,b,c){goog.isString(b)?goog[$$PROP_style].setStyle_(a,c,b):goog[$$PROP_object][$$PROP_forEach](b,goog.partial(goog[$$PROP_style].setStyle_,a))};goog[$$PROP_style].setStyle_=function(a,b,c){a[$$PROP_style][goog[$$PROP_style].toCamelCase(c)]=b};goog[$$PROP_style].getStyle=function(a,b){return a[$$PROP_style][goog[$$PROP_style].toCamelCase(b)]}; goog[$$PROP_style].getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);if(c[$$PROP_defaultView]&&c[$$PROP_defaultView][$$PROP_getComputedStyle]){var d=c[$$PROP_defaultView][$$PROP_getComputedStyle](a,"");if(d)return d[b]}return null};goog[$$PROP_style].getCascadedStyle=function(a,b){return a[$$PROP_currentStyle]?a[$$PROP_currentStyle][b]:null}; goog[$$PROP_style].getStyle_=function(a,b){return goog[$$PROP_style][$$PROP_getComputedStyle](a,b)||goog[$$PROP_style].getCascadedStyle(a,b)||a[$$PROP_style][b]};goog[$$PROP_style].getComputedPosition=function(a){return goog[$$PROP_style].getStyle_(a,"position")};goog[$$PROP_style].getBackgroundColor=function(a){return goog[$$PROP_style].getStyle_(a,"backgroundColor")}; goog[$$PROP_style].setPosition=function(a,b,c){var d,e;if(b instanceof goog.math.Coordinate){d=b.x;e=b.y}else{d=b;e=c}SETPROP_left(a[$$PROP_style],typeof d=="number"?GLOBAL_Math[$$PROP_round](d)+"px":d);a[$$PROP_style].top=typeof e=="number"?GLOBAL_Math[$$PROP_round](e)+"px":e};goog[$$PROP_style].getPosition=function(a){return new goog.math.Coordinate(a[$$PROP_offsetLeft],a[$$PROP_offsetTop])}; goog[$$PROP_style].getClientViewportElement=function(a){var b;b=a?a[$$PROP_nodeType]==goog.dom.NodeType.DOCUMENT?a:goog.dom.getOwnerDocument(a):goog.dom.getDocument();if(goog[$$PROP_userAgent].IE&&!goog.dom.getDomHelper(b).isCss1CompatMode())return b[$$PROP_body];return b[$$PROP_documentElement]}; goog[$$PROP_style].getBoundingClientRect_=function(a){var b=a[$$PROP_getBoundingClientRect]();if(goog[$$PROP_userAgent].IE){var c=a.ownerDocument;b.left-=c[$$PROP_documentElement].clientLeft+c[$$PROP_body].clientLeft;b.top-=c[$$PROP_documentElement].clientTop+c[$$PROP_body].clientTop}return b}; goog[$$PROP_style].getPageOffset=function(a){var b=goog.dom.getOwnerDocument(a),c=goog[$$PROP_userAgent].GECKO&&b[$$PROP_getBoxObjectFor]&&goog[$$PROP_style].getComputedPosition(a)=="absolute"&&(a[$$PROP_style].top==""||a[$$PROP_style][$$PROP_left]=="");if(typeof goog[$$PROP_style].BUGGY_CAMINO_=="undefined")goog[$$PROP_style].BUGGY_CAMINO_=goog[$$PROP_userAgent].CAMINO&&!goog[$$PROP_userAgent].isVersion("1.8.0.11");var d=new goog.math.Coordinate(0,0),e=goog[$$PROP_style].getClientViewportElement(b); if(a==e)return d;var f=null,g;if(a[$$PROP_getBoundingClientRect]&&!c){g=goog[$$PROP_style].getBoundingClientRect_(a);var h=goog.dom.getDomHelper(b).getDocumentScroll();d.x=g[$$PROP_left]+h.x;d.y=g.top+h.y}else if(b[$$PROP_getBoxObjectFor]&&!c&&!goog[$$PROP_style].BUGGY_CAMINO_){g=b[$$PROP_getBoxObjectFor](a);var i=b[$$PROP_getBoxObjectFor](e);d.x=g.screenX-i.screenX;d.y=g.screenY-i.screenY}else{f=a;do{d.x+=f[$$PROP_offsetLeft];d.y+=f[$$PROP_offsetTop];if(f!=a){d.x+=f.clientLeft||0;d.y+=f.clientTop|| 0}if(goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_style].getComputedPosition(f)=="fixed"){d.x+=b[$$PROP_body][$$PROP_scrollLeft];d.y+=b[$$PROP_body][$$PROP_scrollTop];break}f=f.offsetParent}while(f&&f!=a);if(goog[$$PROP_userAgent].OPERA||goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_style].getComputedPosition(a)=="absolute")d.y-=b[$$PROP_body][$$PROP_offsetTop];f=a.offsetParent;while(f&&f!=b[$$PROP_body]){d.x-=f[$$PROP_scrollLeft];if(!goog[$$PROP_userAgent].OPERA||f.tagName!="TR")d.y-=f[$$PROP_scrollTop]; f=f.offsetParent}}if(goog[$$PROP_userAgent].GECKO&&a[$$PROP_getBoundingClientRect]){var j=goog[$$PROP_style].getComputedPosition(a);if(j=="static"||j=="relative"){d.x=GLOBAL_Math[$$PROP_floor](d.x);d.y=GLOBAL_Math[$$PROP_floor](d.y)}}return d};goog[$$PROP_style].getPageOffsetLeft=function(a){return goog[$$PROP_style].getPageOffset(a).x};goog[$$PROP_style].getPageOffsetTop=function(a){return goog[$$PROP_style].getPageOffset(a).y}; goog[$$PROP_style].getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a)),e=a;do{var f=d==b?goog[$$PROP_style].getPageOffset(e):goog[$$PROP_style].getClientPosition(e);c.x+=f.x;c.y+=f.y}while(d&&d!=b&&(e=d.frameElement)&&(d=d.parent));return c};goog[$$PROP_style].getRelativePosition=function(a,b){var c=goog[$$PROP_style].getClientPosition(a),d=goog[$$PROP_style].getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y-d.y)}; goog[$$PROP_style].getClientPosition=function(a){var b=new goog.math.Coordinate;if(a[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT)if(a[$$PROP_getBoundingClientRect]){var c=goog[$$PROP_style].getBoundingClientRect_(a);b.x=c[$$PROP_left];b.y=c.top}else{var d=goog.dom.getDomHelper(a).getDocumentScroll(),e=goog[$$PROP_style].getPageOffset(a);b.x=e.x-d.x;b.y=e.y-d.y}else{b.x=a[$$PROP_clientX];b.y=a[$$PROP_clientY]}return b}; goog[$$PROP_style].setPageOffset=function(a,b,c){var d=goog[$$PROP_style].getPageOffset(a);if(b instanceof goog.math.Coordinate){c=b.y;b=b.x}var e=b-d.x,f=c-d.y;goog[$$PROP_style].setPosition(a,a[$$PROP_offsetLeft]+e,a[$$PROP_offsetTop]+f)}; goog[$$PROP_style].setSize=function(a,b,c){var d;if(b instanceof goog.math.Size){d=b[$$PROP_height];b=b[$$PROP_width]}else{if(c==GLOBAL_undefined)throw GLOBAL_Error("missing height argument");d=c}SETPROP_width(a[$$PROP_style],typeof b=="number"?GLOBAL_Math[$$PROP_round](b)+"px":b);SETPROP_height(a[$$PROP_style],typeof d=="number"?GLOBAL_Math[$$PROP_round](d)+"px":d)}; goog[$$PROP_style].getSize=function(a){if(goog[$$PROP_style].getStyle_(a,"display")!="none")return goog[$$PROP_userAgent].OPERA?new goog.math.Size(a[$$PROP_offsetWidth]||a.clientWidth,a[$$PROP_offsetHeight]||a.clientHeight):new goog.math.Size(a[$$PROP_offsetWidth],a[$$PROP_offsetHeight]);var b=a[$$PROP_style],c=b.display,d=b.visibility,e=b.position;SETPROP_visibility(b,"hidden");b.position="absolute";SETPROP_display(b,"inline");var f,g;if(goog[$$PROP_userAgent].OPERA){f=a[$$PROP_offsetWidth]||a.clientWidth; g=a[$$PROP_offsetHeight]||a.clientHeight}else{f=a[$$PROP_offsetWidth];g=a[$$PROP_offsetHeight]}SETPROP_display(b,c);b.position=e;SETPROP_visibility(b,d);return new goog.math.Size(f,g)};goog[$$PROP_style].getBounds=function(a){var b=goog[$$PROP_style].getPageOffset(a),c=goog[$$PROP_style].getSize(a);return new goog.math.Rect(b.x,b.y,c[$$PROP_width],c[$$PROP_height])};goog[$$PROP_style].toCamelCase=function(a){return GLOBAL_String(a)[$$PROP_replace](/\-([a-z])/g,function(b,c){return c.toUpperCase()})}; goog[$$PROP_style].toSelectorCase=function(a){return a[$$PROP_replace](/([A-Z])/g,"-$1")[$$PROP_toLowerCase]()};goog[$$PROP_style].getOpacity=function(a){var b=a[$$PROP_style],c="";if("opacity"in b)c=b.opacity;else if("MozOpacity"in b)c=b.MozOpacity;else if("filter"in b){var d=b[$$PROP_filter][$$PROP_match](/alpha\(opacity=([\d.]+)\)/);if(d)c=GLOBAL_String(d[1]/100)}return c==""?c:GLOBAL_Number(c)}; goog[$$PROP_style].setOpacity=function(a,b){var c=a[$$PROP_style];if("opacity"in c)c.opacity=b;else if("MozOpacity"in c)c.MozOpacity=b;else if("filter"in c)SETPROP_filter(c,b===""?"":"alpha(opacity="+b*100+")")}; goog[$$PROP_style].setTransparentBackgroundImage=function(a,b){var c=a[$$PROP_style];if(goog[$$PROP_userAgent].IE&&!goog[$$PROP_userAgent].isVersion("8"))SETPROP_filter(c,'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")');else{c.backgroundImage="url("+b+")";c.backgroundPosition="top left";c.backgroundRepeat="no-repeat"}}; goog[$$PROP_style].clearTransparentBackgroundImage=function(a){var b=a[$$PROP_style];if("filter"in b)SETPROP_filter(b,"");else b.backgroundImage="none"};goog[$$PROP_style].showElement=function(a,b){SETPROP_display(a[$$PROP_style],b?"":"none")};goog[$$PROP_style].isElementShown=function(a){return a[$$PROP_style].display!="none"}; goog[$$PROP_style].installStyles=function(a,b){var c=goog.dom.getDomHelper(b),d=null;if(goog[$$PROP_userAgent].IE)d=c.getDocument().createStyleSheet();else{var e=c.$$("head")[0];if(!e){var f=c.$$("body")[0];e=c.createDom("head");f[$$PROP_parentNode][$$PROP_insertBefore](e,f)}d=c.createDom("style");c[$$PROP_appendChild](e,d)}goog[$$PROP_style].setStyles(d,a);return d}; goog[$$PROP_style].setStyles=function(a,b){if(goog[$$PROP_userAgent].IE)a.cssText=b;else{var c=goog[$$PROP_userAgent].WEBKIT?"innerText":"innerHTML";a[c]=b}};goog[$$PROP_style].setPreWrap=function(a){var b=a[$$PROP_style];if(goog[$$PROP_userAgent].IE){b.whiteSpace="pre";b.wordWrap="break-word"}else b.whiteSpace=goog[$$PROP_userAgent].GECKO?"-moz-pre-wrap":goog[$$PROP_userAgent].OPERA?"-o-pre-wrap":"pre-wrap"}; goog[$$PROP_style].setInlineBlock=function(a){var b=a[$$PROP_style];b.position="relative";if(goog[$$PROP_userAgent].IE&&!goog[$$PROP_userAgent].isVersion("8")){b.zoom="1";SETPROP_display(b,"inline")}else SETPROP_display(b,goog[$$PROP_userAgent].GECKO?goog[$$PROP_userAgent].isVersion("1.9a")?"inline-block":"-moz-inline-box":"inline-block")};goog[$$PROP_style].needsInlineBlockWrapper=function(a){return goog[$$PROP_style].browserNeedsInlineBlockWrapper_&&goog[$$PROP_style].hasUnguardedText_(a)}; goog[$$PROP_style].hasUnguardedText_=function(a){return a?goog.isString(a)||a[$$PROP_nodeType]==goog.dom.NodeType.TEXT?true:goog.array[$$PROP_some](a,goog[$$PROP_style].hasUnguardedText_):false};goog[$$PROP_style].browserNeedsInlineBlockWrapper_=goog[$$PROP_userAgent].GECKO&&!goog[$$PROP_userAgent].isVersion("1.9");goog[$$PROP_style].isRightToLeft=function(a){return"rtl"==goog[$$PROP_style].getStyle_(a,"direction")}; goog[$$PROP_style].unselectableStyle_=goog[$$PROP_userAgent].GECKO?"MozUserSelect":goog[$$PROP_userAgent].WEBKIT?"WebkitUserSelect":null;goog[$$PROP_style].isUnselectable=function(a){if(goog[$$PROP_style].unselectableStyle_)return a[$$PROP_style][goog[$$PROP_style].unselectableStyle_][$$PROP_toLowerCase]()=="none";else if(goog[$$PROP_userAgent].IE||goog[$$PROP_userAgent].OPERA)return a.getAttribute("unselectable")=="on";return false}; goog[$$PROP_style].setUnselectable=function(a,b,c){var d=!c?a.getElementsByTagName("*"):null,e=goog[$$PROP_style].unselectableStyle_;if(e){var f=b?"none":"";a[$$PROP_style][e]=f;if(d)for(var g=0,h;h=d[g];g++)h[$$PROP_style][e]=f}else if(goog[$$PROP_userAgent].IE||goog[$$PROP_userAgent].OPERA){var f=b?"on":"";a.setAttribute("unselectable",f);if(d)for(var g=0,h;h=d[g];g++)h.setAttribute("unselectable",f)}}; goog[$$PROP_style].getBorderBoxSize=function(a){return new goog.math.Size(a[$$PROP_offsetWidth],a[$$PROP_offsetHeight])}; goog[$$PROP_style].setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(goog[$$PROP_userAgent].IE&&(!d||!goog[$$PROP_userAgent].isVersion("8"))){var e=a[$$PROP_style];if(d){var f=goog[$$PROP_style].getPaddingBox(a),g=goog[$$PROP_style].getBorderBox(a);SETPROP_pixelWidth(e,b[$$PROP_width]-g[$$PROP_left]-f[$$PROP_left]-f[$$PROP_right]-g[$$PROP_right]);SETPROP_pixelHeight(e,b[$$PROP_height]-g.top-f.top-f[$$PROP_bottom]-g[$$PROP_bottom])}else{SETPROP_pixelWidth(e, b[$$PROP_width]);SETPROP_pixelHeight(e,b[$$PROP_height])}}else goog[$$PROP_style].setBoxSizingSize_(a,b,"border-box")}; goog[$$PROP_style].getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog[$$PROP_userAgent].IE&&a[$$PROP_currentStyle];if(c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&c[$$PROP_width]!="auto"&&c[$$PROP_height]!="auto"&&!c.boxSizing){var d=goog[$$PROP_style].getIePixelValue_(a,c[$$PROP_width],"width","pixelWidth"),e=goog[$$PROP_style].getIePixelValue_(a,c[$$PROP_height],"height","pixelHeight");return new goog.math.Size(d,e)}else{var f=goog[$$PROP_style].getBorderBoxSize(a),g=goog[$$PROP_style].getPaddingBox(a), h=goog[$$PROP_style].getBorderBox(a);return new goog.math.Size(f[$$PROP_width]-h[$$PROP_left]-g[$$PROP_left]-g[$$PROP_right]-h[$$PROP_right],f[$$PROP_height]-h.top-g.top-g[$$PROP_bottom]-h[$$PROP_bottom])}}; goog[$$PROP_style].setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(goog[$$PROP_userAgent].IE&&(!d||!goog[$$PROP_userAgent].isVersion("8"))){var e=a[$$PROP_style];if(d){SETPROP_pixelWidth(e,b[$$PROP_width]);SETPROP_pixelHeight(e,b[$$PROP_height])}else{var f=goog[$$PROP_style].getPaddingBox(a),g=goog[$$PROP_style].getBorderBox(a);SETPROP_pixelWidth(e,b[$$PROP_width]+g[$$PROP_left]+f[$$PROP_left]+f[$$PROP_right]+g[$$PROP_right]);SETPROP_pixelHeight(e, b[$$PROP_height]+g.top+f.top+f[$$PROP_bottom]+g[$$PROP_bottom])}}else goog[$$PROP_style].setBoxSizingSize_(a,b,"content-box")}; goog[$$PROP_style].setBoxSizingSize_=function(a,b,c){var d=a[$$PROP_style];if(goog[$$PROP_userAgent].GECKO)d.MozBoxSizing=c;else if(goog[$$PROP_userAgent].WEBKIT)d.WebkitBoxSizing=c;else if(goog[$$PROP_userAgent].OPERA&&!goog[$$PROP_userAgent].isVersion("9.50"))c?d.setProperty("box-sizing",c):d.removeProperty("box-sizing");else d.boxSizing=c;SETPROP_width(d,b[$$PROP_width]+"px");SETPROP_height(d,b[$$PROP_height]+"px")}; goog[$$PROP_style].getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/[$$PROP_test](b))return GLOBAL_parseInt(b,10);else{var e=a[$$PROP_style][c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a[$$PROP_currentStyle][c];a[$$PROP_style][c]=b;var g=a[$$PROP_style][d];a[$$PROP_style][c]=e;a.runtimeStyle[c]=f;return g}};goog[$$PROP_style].getIePixelDistance_=function(a,b){return goog[$$PROP_style].getIePixelValue_(a,goog[$$PROP_style].getCascadedStyle(a,b),"left","pixelLeft")}; goog[$$PROP_style].getBox_=function(a,b){if(goog[$$PROP_userAgent].IE){var c=goog[$$PROP_style].getIePixelDistance_(a,b+"Left"),d=goog[$$PROP_style].getIePixelDistance_(a,b+"Right"),e=goog[$$PROP_style].getIePixelDistance_(a,b+"Top"),f=goog[$$PROP_style].getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,f,c)}else{var c=goog[$$PROP_style][$$PROP_getComputedStyle](a,b+"Left"),d=goog[$$PROP_style][$$PROP_getComputedStyle](a,b+"Right"),e=goog[$$PROP_style][$$PROP_getComputedStyle](a,b+"Top"), f=goog[$$PROP_style][$$PROP_getComputedStyle](a,b+"Bottom");return new goog.math.Box(GLOBAL_parseFloat(e),GLOBAL_parseFloat(d),GLOBAL_parseFloat(f),GLOBAL_parseFloat(c))}};goog[$$PROP_style].getPaddingBox=function(a){return goog[$$PROP_style].getBox_(a,"padding")};goog[$$PROP_style].getMarginBox=function(a){return goog[$$PROP_style].getBox_(a,"margin")};goog[$$PROP_style].ieBorderWidthKeywords_={thin:2,medium:4,thick:6}; goog[$$PROP_style].getIePixelBorder_=function(a,b){if(goog[$$PROP_style].getCascadedStyle(a,b+"Style")=="none")return 0;var c=goog[$$PROP_style].getCascadedStyle(a,b+"Width");if(c in goog[$$PROP_style].ieBorderWidthKeywords_)return goog[$$PROP_style].ieBorderWidthKeywords_[c];return goog[$$PROP_style].getIePixelValue_(a,c,"left","pixelLeft")}; goog[$$PROP_style].getBorderBox=function(a){if(goog[$$PROP_userAgent].IE){var b=goog[$$PROP_style].getIePixelBorder_(a,"borderLeft"),c=goog[$$PROP_style].getIePixelBorder_(a,"borderRight"),d=goog[$$PROP_style].getIePixelBorder_(a,"borderTop"),e=goog[$$PROP_style].getIePixelBorder_(a,"borderBottom");return new goog.math.Box(d,c,e,b)}else{var b=goog[$$PROP_style][$$PROP_getComputedStyle](a,"borderLeftWidth"),c=goog[$$PROP_style][$$PROP_getComputedStyle](a,"borderRightWidth"),d=goog[$$PROP_style][$$PROP_getComputedStyle](a, "borderTopWidth"),e=goog[$$PROP_style][$$PROP_getComputedStyle](a,"borderBottomWidth");return new goog.math.Box(GLOBAL_parseFloat(d),GLOBAL_parseFloat(c),GLOBAL_parseFloat(e),GLOBAL_parseFloat(b))}}; goog[$$PROP_style].getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.createTextRange){var d=b[$$PROP_body].createTextRange();d.moveToElementText(a);c=d.queryCommandValue("FontName")}if(!c){c=goog[$$PROP_style].getStyle_(a,"fontFamily");if(goog[$$PROP_userAgent].OPERA&&goog[$$PROP_userAgent].LINUX)c=c[$$PROP_replace](/ \[[^\]]*\]/,"")}var e=c[$$PROP_split](",");if(e[$$PROP_length]>1)c=e[0];return goog.string.stripQuotes(c,"\"'")}; goog[$$PROP_style].getLengthUnits=function(a){var b=a[$$PROP_match](/[^\d]+$/);return b&&b[0]||null};goog[$$PROP_style].ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};goog[$$PROP_style].CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1}; goog[$$PROP_style].getFontSize=function(a){var b=goog[$$PROP_style].getStyle_(a,"fontSize"),c=goog[$$PROP_style].getLengthUnits(b);if(b&&"px"==c)return GLOBAL_parseInt(b,10);if(goog[$$PROP_userAgent].IE)if(c in goog[$$PROP_style].ABSOLUTE_CSS_LENGTH_UNITS_)return goog[$$PROP_style].getIePixelValue_(a,b,"left","pixelLeft");else if(a[$$PROP_parentNode]&&c in goog[$$PROP_style].CONVERTIBLE_RELATIVE_CSS_UNITS_)return goog[$$PROP_style].getIePixelValue_(a[$$PROP_parentNode],b,"left","pixelLeft");var d= goog.dom.createDom("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom[$$PROP_appendChild](a,d);b=d[$$PROP_offsetHeight];goog.dom[$$PROP_removeNode](d);return b};goog[$$PROP_style].parseStyleAttribute=function(a){var b={};goog.array[$$PROP_forEach](a[$$PROP_split](/\s*;\s*/),function(c){var d=c[$$PROP_split](/\s*:\s*/);if(d[$$PROP_length]==2)b[goog[$$PROP_style].toCamelCase(d[0][$$PROP_toLowerCase]())]=d[1]});return b}; goog[$$PROP_style].toStyleAttribute=function(a){var b=[];goog[$$PROP_object][$$PROP_forEach](a,function(c,d){b[$$PROP_push](goog[$$PROP_style].toSelectorCase(d),":",c,";")});return b[$$PROP_join]("")};goog[$$PROP_style].setFloat=function(a,b){a[$$PROP_style][goog[$$PROP_userAgent].IE?"styleFloat":"cssFloat"]=b};goog[$$PROP_style].getFloat=function(a){return a[$$PROP_style][goog[$$PROP_userAgent].IE?"styleFloat":"cssFloat"]||""};goog.Timer=function(a,b){goog.events.EventTarget[$$PROP_call](this);this.interval_=a||1;this.timerObject_=b||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer[$$PROP_prototype].enabled=false;goog.Timer.defaultTimerObject=goog[$$PROP_global].window;goog.Timer.intervalScale=0.8;JSCompiler_extractPrototype=goog.Timer[$$PROP_prototype]; JSCompiler_extractPrototype.timer_=null;JSCompiler_extractPrototype.setInterval=function(a){this.interval_=a;if(this.timer_&&this.enabled){this.stop();this[$$PROP_start]()}else this.timer_&&this.stop()}; JSCompiler_extractPrototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;if(a>0&&agoog.Timer.MAX_TIMEOUT_?-1:goog.Timer.defaultTimerObject[$$PROP_setTimeout](a,b||0)};SETPROP_clear(goog.Timer,function(a){goog.Timer.defaultTimerObject.clearTimeout(a)});goog.math.Range=function(a,b){a=GLOBAL_Number(a);b=GLOBAL_Number(b);this.start=a=b.end});goog.math.Range.containsPoint=function(a,b){return a[$$PROP_start]<=b&&a.end>=b};goog.math.randomInt=function(a){return GLOBAL_Math[$$PROP_floor](GLOBAL_Math[$$PROP_random]()*a)};goog.math.uniformRandom=function(a,b){return a+GLOBAL_Math[$$PROP_random]()*(b-a)};goog.math.clamp=function(a,b,c){return GLOBAL_Math.min(GLOBAL_Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return c*b<0?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return GLOBAL_Math.abs(a-b)<=(c||1.0E-6)}; goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};goog.math.toRadians=function(a){return a*GLOBAL_Math.PI/180};goog.math.toDegrees=function(a){return a*180/GLOBAL_Math.PI};goog.math.angleDx=function(a,b){return b*GLOBAL_Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*GLOBAL_Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(GLOBAL_Math.atan2(d-b,c-a)))}; goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);if(c>180)c=c-360;else if(c<=-180)c=360+c;return c};goog.math.sign=function(a){return a<0?-1:1}; goog.math.longestCommonSubsequence=function(a,b,c,d){var e=c||function(m,n){return m==n},f=d||function(m){return a[m]},g=a[$$PROP_length],h=b[$$PROP_length],i=[];for(var j=0;j0&&k>0)if(e(a[j-1],b[k-1])){l[$$PROP_unshift](f(j-1,k-1));j--;k--}else if(i[j-1][k]>i[j][k-1])j--;else k--;return l}; goog.math.sum=function(){return goog.array[$$PROP_reduce](arguments,function(a,b){return a+b},0)};goog.math.average=function(){return goog.math.sum[$$PROP_apply](null,arguments)/arguments[$$PROP_length]};goog.math.standardDeviation=function(){var a=arguments[$$PROP_length];if(a<2)return 0;var b=goog.math.average[$$PROP_apply](null,arguments),c=goog.math.sum[$$PROP_apply](null,goog.array.map(arguments,function(d){return GLOBAL_Math.pow(d-b,2)}))/(a-1);return GLOBAL_Math.sqrt(c)}; goog.math.isInt=function(a){return isFinite(a)&&a%1==0};goog.events.EventHandler=function(a){this.handler_=a};goog.inherits(goog.events.EventHandler,goog.Disposable);goog.events.EventHandler.KEY_POOL_INITIAL_COUNT=0;goog.events.EventHandler.KEY_POOL_MAX_COUNT=100;goog.events.EventHandler.keyPool_=new goog.structs.SimplePool(goog.events.EventHandler.KEY_POOL_INITIAL_COUNT,goog.events.EventHandler.KEY_POOL_MAX_COUNT);goog.events.EventHandler.keys_=null;goog.events.EventHandler.key_=null;JSCompiler_extractPrototype=goog.events.EventHandler[$$PROP_prototype]; JSCompiler_extractPrototype.listen=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f=goog.events.KeyCodes.F1&&a[$$PROP_keyCode]<=goog.events.KeyCodes.F12)return false;switch(a[$$PROP_keyCode]){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.END:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.PRINT_SCREEN:return false; default:return true}}; goog.events.KeyCodes.firesKeyPressEvent=function(a,b,c){if(!goog[$$PROP_userAgent].IE&&!(goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_userAgent].isVersion("525")))return true;if(goog[$$PROP_userAgent].IE&&!c&&(b==goog.events.KeyCodes.CTRL||b==goog.events.KeyCodes.ALT))return false;if(a>=goog.events.KeyCodes.ZERO&&a<=goog.events.KeyCodes.NINE)return true;if(a>=goog.events.KeyCodes.NUM_ZERO&&a<=goog.events.KeyCodes.NUM_MULTIPLY)return true;if(a>=goog.events.KeyCodes.A&&a<=goog.events.KeyCodes.Z)return true;if(a== goog.events.KeyCodes.ESC&&goog[$$PROP_userAgent].WEBKIT)return false;switch(a){case goog.events.KeyCodes.ENTER:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return true; default:return false}}; goog.events.KeyCodes.isCharacterKey=function(a){if(a>=goog.events.KeyCodes.ZERO&&a<=goog.events.KeyCodes.NINE)return true;if(a>=goog.events.KeyCodes.NUM_ZERO&&a<=goog.events.KeyCodes.NUM_MULTIPLY)return true;if(a>=goog.events.KeyCodes.A&&a<=goog.events.KeyCodes.Z)return true;switch(a){case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return true;default:return false}};goog.ui={};goog.ui.PopupBase=function(a,b){this.handler_=new goog.events.EventHandler(this);this.setElement(a||null);b&&this.setType(b)};goog.inherits(goog.ui.PopupBase,goog.events.EventTarget);goog.ui.PopupBase.Type={TOGGLE_DISPLAY:"toggle_display",MOVE_OFFSCREEN:"move_offscreen"};JSCompiler_extractPrototype=goog.ui.PopupBase[$$PROP_prototype];JSCompiler_extractPrototype.element_=null;JSCompiler_extractPrototype.autoHide_=true;JSCompiler_extractPrototype.autoHideRegion_=null; JSCompiler_extractPrototype.isVisible_=false;JSCompiler_extractPrototype.shouldHideAsync_=false;JSCompiler_extractPrototype.lastShowTime_=-1;JSCompiler_extractPrototype.lastHideTime_=-1;JSCompiler_extractPrototype.hideOnEscape_=false;JSCompiler_extractPrototype.type_=goog.ui.PopupBase.Type.TOGGLE_DISPLAY;goog.ui.PopupBase.EventType={BEFORE_SHOW:"beforeshow",SHOW:"show",BEFORE_HIDE:"beforehide",HIDE:"hide"};goog.ui.PopupBase.DEBOUNCE_DELAY_MS=150;JSCompiler_extractPrototype=goog.ui.PopupBase[$$PROP_prototype]; JSCompiler_extractPrototype.getType=function(){return this.type_};JSCompiler_extractPrototype.setType=function(a){this.type_=a};JSCompiler_extractPrototype.getElement=function(){return this.element_};JSCompiler_extractPrototype.setElement=function(a){this.ensureNotVisible_();this.element_=a};JSCompiler_extractPrototype.ensureNotVisible_=function(){if(this.isVisible_)throw GLOBAL_Error("Can not change this state of the popup while showing.");};JSCompiler_extractPrototype.isVisible=function(){return this.isVisible_}; JSCompiler_extractPrototype.setVisible=function(a){if(a){if(!this.element_)throw GLOBAL_Error("Caller must call setElement before trying to show thepopup");this.show_()}else this.hide_()};JSCompiler_extractPrototype.reposition=function(){}; JSCompiler_extractPrototype.show_=function(){if(!this.isVisible_)if(!!this.onBeforeShow()){this.reposition();var a=goog.dom.getOwnerDocument(this.element_);this.hideOnEscape_&&this.handler_.listen(a,goog.events.EventType.KEYDOWN,this.onDocumentKeyDown_,true);if(this.autoHide_){this.handler_.listen(a,goog.events.EventType.MOUSEDOWN,this.onDocumentMouseDown_,true);if(goog[$$PROP_userAgent].IE){var b=a.activeElement;while(b&&b[$$PROP_nodeName]=="IFRAME"){try{var c=goog.dom.getFrameContentDocument(b)}catch(d){break}a= c;b=a.activeElement}this.handler_.listen(a,goog.events.EventType.MOUSEDOWN,this.onDocumentMouseDown_,true);this.handler_.listen(a,goog.events.EventType.DEACTIVATE,this.onDocumentBlur_)}else this.handler_.listen(a,goog.events.EventType.BLUR,this.onDocumentBlur_)}if(this.type_==goog.ui.PopupBase.Type.TOGGLE_DISPLAY)this.showPopupElement();else this.type_==goog.ui.PopupBase.Type.MOVE_OFFSCREEN&&this.reposition();this.isVisible_=true;this.onShow_()}}; JSCompiler_extractPrototype.hide_=function(a){if(!this.isVisible_||!this.onBeforeHide_(a))return false;this.handler_&&this.handler_.removeAll();if(this.type_==goog.ui.PopupBase.Type.TOGGLE_DISPLAY)this.shouldHideAsync_?goog.Timer.callOnce(this.hidePopupElement_,0,this):this.hidePopupElement_();else this.type_==goog.ui.PopupBase.Type.MOVE_OFFSCREEN&&this.moveOffscreen_();this.isVisible_=false;this.onHide_(a);return true}; JSCompiler_extractPrototype.showPopupElement=function(){SETPROP_visibility(this.element_[$$PROP_style],"visible");goog[$$PROP_style].showElement(this.element_,true)};JSCompiler_extractPrototype.hidePopupElement_=function(){SETPROP_visibility(this.element_[$$PROP_style],"hidden");goog[$$PROP_style].showElement(this.element_,false)};JSCompiler_extractPrototype.moveOffscreen_=function(){SETPROP_left(this.element_[$$PROP_style],"-200px");this.element_[$$PROP_style].top="-200px"}; JSCompiler_extractPrototype.onBeforeShow=function(){return this[$$PROP_dispatchEvent](goog.ui.PopupBase.EventType.BEFORE_SHOW)};JSCompiler_extractPrototype.onShow_=function(){this.lastShowTime_=goog.now();this.lastHideTime_=-1;this[$$PROP_dispatchEvent](goog.ui.PopupBase.EventType.SHOW)};JSCompiler_extractPrototype.onBeforeHide_=function(a){return this[$$PROP_dispatchEvent]({type:goog.ui.PopupBase.EventType.BEFORE_HIDE,target:a})}; JSCompiler_extractPrototype.onHide_=function(a){this.lastHideTime_=goog.now();this[$$PROP_dispatchEvent]({type:goog.ui.PopupBase.EventType.HIDE,target:a})};JSCompiler_extractPrototype.onDocumentMouseDown_=function(a){var b=a[$$PROP_target];if(!goog.dom[$$PROP_contains](this.element_,b)&&(!this.autoHideRegion_||goog.dom[$$PROP_contains](this.autoHideRegion_,b))&&!this.shouldDebounce_())this.hide_(b)}; JSCompiler_extractPrototype.onDocumentKeyDown_=function(a){if(a[$$PROP_keyCode]==goog.events.KeyCodes.ESC)if(this.hide_(a[$$PROP_target])){a.preventDefault();a.stopPropagation()}};JSCompiler_extractPrototype.onDocumentBlur_=function(a){var b=goog.dom.getOwnerDocument(this.element_);if(goog[$$PROP_userAgent].IE||goog[$$PROP_userAgent].OPERA){var c=b.activeElement;if(c&&goog.dom[$$PROP_contains](this.element_,c))return}else if(a[$$PROP_target]!=b)return;this.shouldDebounce_()||this.hide_()}; JSCompiler_extractPrototype.shouldDebounce_=function(){return goog.now()-this.lastShowTime_p[$$PROP_width])if(k&goog.ui.Popup.Overflow.ADJUST_X){f-=m[$$PROP_width]-p[$$PROP_width];q=true}else if(k&goog.ui.Popup.Overflow.FAIL_X)j=false;if(m[$$PROP_height]>p[$$PROP_height])if(k&goog.ui.Popup.Overflow.ADJUST_Y){g-=m[$$PROP_height]-p[$$PROP_height];q=true}else if(k&goog.ui.Popup.Overflow.FAIL_Y)j=false;if(f-o.x<0)if(k&goog.ui.Popup.Overflow.ADJUST_X){f=o.x;q=true}else if(k&goog.ui.Popup.Overflow.FAIL_X)j=false;if(g-o.y<0)if(k&goog.ui.Popup.Overflow.ADJUST_Y){g=o.y; q=true}else if(k&goog.ui.Popup.Overflow.FAIL_Y)j=false;if(j&&r){q&&goog.ui.Popup.calculateVisibleRectSize_(p,f,g,n,o);(s=goog.ui.Popup.calculateSize_(m,k,p,d)||s)&&goog[$$PROP_style].setSize(b,m)}}j&&goog[$$PROP_style].setPosition(b,f,g);return j};goog.ui.Popup.calculateVisibleRectSize_=function(a,b,c,d,e){var f=b-e.x;SETPROP_width(a,d[$$PROP_width]-f);var g=c-e.y;SETPROP_height(a,d[$$PROP_height]-g)}; goog.ui.Popup.calculateSize_=function(a,b,c,d){var e=false;if(b&goog.ui.Popup.Overflow.RESIZE_WIDTH){var f=d?d[$$PROP_right]+d[$$PROP_left]:0;if(a[$$PROP_width]+f>c[$$PROP_width]){SETPROP_width(a,c[$$PROP_width]-f);e=true}}if(b&goog.ui.Popup.Overflow.RESIZE_HEIGHT){var g=d?d.top+d[$$PROP_bottom]:0;if(a[$$PROP_height]+g>c[$$PROP_height]){SETPROP_height(a,c[$$PROP_height]-g);e=true}}return e}; goog.ui.Popup.getEffectiveCorner_=function(a,b){var c=goog[$$PROP_style].isRightToLeft(a);switch(b){case goog.ui.Popup.Corner.TOP_LEFT:case goog.ui.Popup.Corner.TOP_RIGHT:case goog.ui.Popup.Corner.BOTTOM_LEFT:case goog.ui.Popup.Corner.BOTTOM_RIGHT:return b;case goog.ui.Popup.Corner.TOP_START:return c?goog.ui.Popup.Corner.TOP_RIGHT:goog.ui.Popup.Corner.TOP_LEFT;case goog.ui.Popup.Corner.TOP_END:return c?goog.ui.Popup.Corner.TOP_LEFT:goog.ui.Popup.Corner.TOP_RIGHT;case goog.ui.Popup.Corner.BOTTOM_START:return c? goog.ui.Popup.Corner.BOTTOM_RIGHT:goog.ui.Popup.Corner.BOTTOM_LEFT;case goog.ui.Popup.Corner.BOTTOM_END:return c?goog.ui.Popup.Corner.BOTTOM_LEFT:goog.ui.Popup.Corner.BOTTOM_RIGHT}}; goog.ui.Popup.flipCornerHorizontal_=function(a){switch(a){case goog.ui.Popup.Corner.TOP_LEFT:return goog.ui.Popup.Corner.TOP_RIGHT;case goog.ui.Popup.Corner.TOP_RIGHT:return goog.ui.Popup.Corner.TOP_LEFT;case goog.ui.Popup.Corner.BOTTOM_LEFT:return goog.ui.Popup.Corner.BOTTOM_RIGHT;case goog.ui.Popup.Corner.BOTTOM_RIGHT:return goog.ui.Popup.Corner.BOTTOM_LEFT;case goog.ui.Popup.Corner.TOP_START:return goog.ui.Popup.Corner.TOP_END;case goog.ui.Popup.Corner.TOP_END:return goog.ui.Popup.Corner.TOP_START; case goog.ui.Popup.Corner.BOTTOM_START:return goog.ui.Popup.Corner.BOTTOM_END;case goog.ui.Popup.Corner.BOTTOM_END:return goog.ui.Popup.Corner.BOTTOM_START}}; goog.ui.Popup.flipCornerVertical_=function(a){switch(a){case goog.ui.Popup.Corner.TOP_LEFT:return goog.ui.Popup.Corner.BOTTOM_LEFT;case goog.ui.Popup.Corner.TOP_RIGHT:return goog.ui.Popup.Corner.BOTTOM_RIGHT;case goog.ui.Popup.Corner.BOTTOM_LEFT:return goog.ui.Popup.Corner.TOP_LEFT;case goog.ui.Popup.Corner.BOTTOM_RIGHT:return goog.ui.Popup.Corner.TOP_RIGHT;case goog.ui.Popup.Corner.TOP_START:return goog.ui.Popup.Corner.BOTTOM_START;case goog.ui.Popup.Corner.TOP_END:return goog.ui.Popup.Corner.BOTTOM_END; case goog.ui.Popup.Corner.BOTTOM_START:return goog.ui.Popup.Corner.TOP_START;case goog.ui.Popup.Corner.BOTTOM_END:return goog.ui.Popup.Corner.TOP_END}};goog.ui.Popup.flipCorner_=function(a){return goog.ui.Popup.flipCornerVertical_(goog.ui.Popup.flipCornerHorizontal_(a))};goog.ui.Popup.AbstractPosition=function(){};goog.ui.Popup.AbstractPosition[$$PROP_prototype].reposition=function(){};goog.ui.Popup.AnchoredPosition=function(a,b){this.element=a;this.corner=b}; goog.inherits(goog.ui.Popup.AnchoredPosition,goog.ui.Popup.AbstractPosition);goog.ui.Popup.AnchoredPosition[$$PROP_prototype].reposition=function(a,b,c){goog.ui.Popup.positionPopup(this.element,this.corner,a,b,null,c)};goog.ui.Popup.AnchoredViewPortPosition=function(a,b,c){goog.ui.Popup.AnchoredPosition[$$PROP_call](this,a,b);this.adjust_=c||false};goog.inherits(goog.ui.Popup.AnchoredViewPortPosition,goog.ui.Popup.AnchoredPosition); goog.ui.Popup.AnchoredViewPortPosition[$$PROP_prototype].reposition=function(a,b,c){var d=goog.ui.Popup.positionPopup(this.element,this.corner,a,b,null,c,goog.ui.Popup.Overflow.FAIL_X|goog.ui.Popup.Overflow.FAIL_Y);if(!d){(d=goog.ui.Popup.positionPopup(this.element,b,a,this.corner,null,c,goog.ui.Popup.Overflow.FAIL_X|goog.ui.Popup.Overflow.FAIL_Y))||(this.adjust_?goog.ui.Popup.positionPopup(this.element,this.corner,a,b,null,c,goog.ui.Popup.Overflow.ADJUST_X|goog.ui.Popup.Overflow.ADJUST_Y):goog.ui.Popup.positionPopup(this.element, this.corner,a,b,null,c,goog.ui.Popup.Overflow.IGNORE))}};goog.ui.Popup.AbsolutePosition=function(a,b){this.coordinate=a instanceof goog.math.Coordinate?a:new goog.math.Coordinate(a,b)};goog.inherits(goog.ui.Popup.AbsolutePosition,goog.ui.Popup.AbstractPosition);goog.ui.Popup.AbsolutePosition[$$PROP_prototype].reposition=function(a,b,c){goog.ui.Popup.positionAtCoordinate(this.coordinate,a,b,c)};goog.ui.Popup.ViewPortPosition=function(a,b){goog.ui.Popup.AbsolutePosition[$$PROP_call](this,a,b)}; goog.inherits(goog.ui.Popup.ViewPortPosition,goog.ui.Popup.AbsolutePosition);goog.ui.Popup.ViewPortPosition[$$PROP_prototype].reposition=function(a,b,c){var d=goog[$$PROP_style].getClientViewportElement(a);goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_LEFT,a,b,this.coordinate,c)};goog.ui.Popup.ClientPosition=function(a,b){goog.ui.Popup.AbsolutePosition[$$PROP_call](this,a,b)};goog.inherits(goog.ui.Popup.ClientPosition,goog.ui.Popup.AbsolutePosition); goog.ui.Popup.ClientPosition[$$PROP_prototype].reposition=function(a,b,c){var d=goog[$$PROP_style].getClientViewportElement(a),e=new goog.math.Coordinate(this.coordinate.x+d[$$PROP_scrollLeft],this.coordinate.y+d[$$PROP_scrollTop]);goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_LEFT,a,b,e,c)};goog.ui.Popup.ViewPortClientPosition=function(a,b){goog.ui.Popup.ClientPosition[$$PROP_call](this,a,b)};goog.inherits(goog.ui.Popup.ViewPortClientPosition,goog.ui.Popup.ClientPosition); goog.ui.Popup.ViewPortClientPosition[$$PROP_prototype].reposition=function(a,b,c){var d=goog[$$PROP_style].getClientViewportElement(a),e=goog.dom.getDomHelper(d).getDocumentScroll(),f=new goog.math.Coordinate(this.coordinate.x+e.x,this.coordinate.y+e.y),g=goog.ui.Popup.Overflow.FAIL_X|goog.ui.Popup.Overflow.FAIL_Y;goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_LEFT,a,b,f,c,g)||goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_LEFT,a,goog.ui.Popup.flipCornerVertical_(b),f,c,g)||goog.ui.Popup.positionPopup(d, goog.ui.Popup.Corner.TOP_LEFT,a,goog.ui.Popup.flipCornerHorizontal_(b),f,c,g)||goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_LEFT,a,goog.ui.Popup.flipCorner_(b),f,c,g)||goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_LEFT,a,b,f,c)};goog.ui.Tooltip=function(a,b,c){this.dom_=c||(a?goog.dom.getDomHelper(goog.dom.getElement(a)):goog.dom.getDomHelper());goog.ui.Popup[$$PROP_call](this,this.dom_.createDom("div",{style:"position:absolute;display:none;"}));this.cursorPosition=new goog.math.Coordinate(1,1);this.activeEl_=null;this.elements_=new goog.structs.Set;a&&this.attach(a);b!=null&&this.setText(b)};goog.inherits(goog.ui.Tooltip,goog.ui.Popup);goog.ui.Tooltip.activeInstances_=[]; SETPROP_className(goog.ui.Tooltip[$$PROP_prototype],"goog-tooltip");goog.ui.Tooltip[$$PROP_prototype].showDelayMs_=500;goog.ui.Tooltip[$$PROP_prototype].hideDelayMs_=0;goog.ui.Tooltip.State={INACTIVE:0,WAITING_TO_SHOW:1,SHOWING:2,WAITING_TO_HIDE:3,UPDATING:4};JSCompiler_extractPrototype=goog.ui.Tooltip[$$PROP_prototype]; JSCompiler_extractPrototype.attach=function(a){a=goog.dom.getElement(a);this.elements_.add(a);goog.events.listen(a,goog.events.EventType.MOUSEOVER,this.handleMouseOver_,false,this);goog.events.listen(a,goog.events.EventType.MOUSEOUT,this.handleMouseOutAndBlur,false,this);goog.events.listen(a,goog.events.EventType.MOUSEMOVE,this.handleMouseMove_,false,this);goog.events.listen(a,goog.events.EventType.FOCUS,this.handleFocus_,false,this);goog.events.listen(a,goog.events.EventType.BLUR,this.handleMouseOutAndBlur, false,this)};JSCompiler_extractPrototype.detach=function(a){if(a){var b=goog.dom.getElement(a);this.detachElement_(b);this.elements_[$$PROP_remove](b)}else{var c=this.elements_.getValues();for(var b,d=0;b=c[d];d++)this.detachElement_(b);this.elements_[$$PROP_clear]()}}; JSCompiler_extractPrototype.detachElement_=function(a){goog.events.unlisten(a,goog.events.EventType.MOUSEOVER,this.handleMouseOver_,false,this);goog.events.unlisten(a,goog.events.EventType.MOUSEOUT,this.handleMouseOutAndBlur,false,this);goog.events.unlisten(a,goog.events.EventType.MOUSEMOVE,this.handleMouseMove_,false,this);goog.events.unlisten(a,goog.events.EventType.FOCUS,this.handleFocus_,false,this);goog.events.unlisten(a,goog.events.EventType.BLUR,this.handleMouseOutAndBlur,false,this)}; JSCompiler_extractPrototype.setHideDelayMs=function(a){this.hideDelayMs_=a};JSCompiler_extractPrototype.getHideDelayMs=function(){return this.hideDelayMs_};JSCompiler_extractPrototype.setText=function(a){goog.dom.setTextContent(this.getElement(),a)};JSCompiler_extractPrototype.setElement=function(a){var b=this.getElement();b&&goog.dom[$$PROP_removeNode](b);goog.ui.Tooltip.superClass_.setElement[$$PROP_call](this,a);a&&goog.dom[$$PROP_appendChild](this.dom_.getDocument()[$$PROP_body],a)}; JSCompiler_extractPrototype.getState=function(){return this.showTimer?this.isVisible()?goog.ui.Tooltip.State.UPDATING:goog.ui.Tooltip.State.WAITING_TO_SHOW:this.hideTimer?goog.ui.Tooltip.State.WAITING_TO_HIDE:this.isVisible()?goog.ui.Tooltip.State.SHOWING:goog.ui.Tooltip.State.INACTIVE}; JSCompiler_extractPrototype.isCoordinateInTooltip=function(a){if(!this.isVisible())return false;var b=goog[$$PROP_style].getPageOffset(this.getElement()),c=goog[$$PROP_style].getSize(this.getElement());return b.x<=a.x&&a.x<=b.x+c[$$PROP_width]&&b.y<=a.y&&a.y<=b.y+c[$$PROP_height]}; JSCompiler_extractPrototype.onBeforeShow=function(){if(!goog.ui.PopupBase[$$PROP_prototype].onBeforeShow[$$PROP_call](this))return false;if(this.anchor)for(var a,b=0;a=goog.ui.Tooltip.activeInstances_[b];b++)goog.dom[$$PROP_contains](a.getElement(),this.anchor)||a.setVisible(false);goog.array.insert(goog.ui.Tooltip.activeInstances_,this);var c=this.getElement();SETPROP_className(c,this.className);this.clearHideTimer_();goog.events.listen(c,goog.events.EventType.MOUSEOVER,this.handleTooltipMouseOver, false,this);goog.events.listen(c,goog.events.EventType.MOUSEOUT,this.handleTooltipMouseOut,false,this);this.clearShowTimer();return true}; JSCompiler_extractPrototype.onHide_=function(){goog.array[$$PROP_remove](goog.ui.Tooltip.activeInstances_,this);var a=this.getElement();for(var b,c=0;b=goog.ui.Tooltip.activeInstances_[c];c++)b.anchor&&goog.dom[$$PROP_contains](a,b.anchor)&&b.setVisible(false);this.parentTooltip_&&this.parentTooltip_.startHideTimer_();goog.events.unlisten(a,goog.events.EventType.MOUSEOVER,this.handleTooltipMouseOver,false,this);goog.events.unlisten(a,goog.events.EventType.MOUSEOUT,this.handleTooltipMouseOut,false, this);this.anchor=GLOBAL_undefined;if(this.getState()==goog.ui.Tooltip.State.INACTIVE)this.seenInteraction_=false;goog.ui.PopupBase[$$PROP_prototype].onHide_[$$PROP_call](this)};JSCompiler_extractPrototype.maybeShow=function(a,b){if(this.anchor==a)if(this.seenInteraction_||!this.requireInteraction_){this.setVisible(false);this.isVisible()||this.positionAndShow_(a,b)}else this.anchor=GLOBAL_undefined;this.showTimer=GLOBAL_undefined}; JSCompiler_extractPrototype.positionAndShow_=function(a,b){var c;if(b)c=b;else{var d=new goog.math.Coordinate(this.cursorPosition.x,this.cursorPosition.y);c=new goog.ui.Tooltip.CursorTooltipPosition(d)}this.anchor=a;this.setPosition(c);this.setVisible(true)};JSCompiler_extractPrototype.maybeHide=function(a){this.hideTimer=GLOBAL_undefined;if(a==this.anchor)if((this.activeEl_==null||this.activeEl_!=this.getElement()&&!this.elements_[$$PROP_contains](this.activeEl_))&&!this.hasActiveChild())this.setVisible(false)}; JSCompiler_extractPrototype.hasActiveChild=function(){return!!(this.childTooltip_&&this.childTooltip_.activeEl_)};JSCompiler_extractPrototype.handleMouseOver_=function(a){var b=this.getAnchorFromElement(a[$$PROP_target]);this.activeEl_=b;this.clearHideTimer_();if(b!=this.anchor){this.anchor=b;this.startShowTimer(b);this.checkForParentTooltip_()}};JSCompiler_extractPrototype.getAnchorFromElement=function(a){try{while(a&&!this.elements_[$$PROP_contains](a))a=a[$$PROP_parentNode];return a}catch(b){return null}}; JSCompiler_extractPrototype.handleMouseMove_=function(a){var b=this.dom_.getDocumentScroll();this.cursorPosition.x=a[$$PROP_clientX]+b.x;this.cursorPosition.y=a[$$PROP_clientY]+b.y;this.seenInteraction_=true}; JSCompiler_extractPrototype.handleFocus_=function(a){var b=this.getAnchorFromElement(a[$$PROP_target]);this.activeEl_=b;this.seenInteraction_=true;if(this.anchor!=b){this.anchor=b;var c=new goog.ui.Tooltip.ElementTooltipPosition(this.activeEl_);this.clearHideTimer_();this.startShowTimer(b,c);this.checkForParentTooltip_()}}; JSCompiler_extractPrototype.checkForParentTooltip_=function(){if(this.anchor)for(var a,b=0;a=goog.ui.Tooltip.activeInstances_[b];b++)if(goog.dom[$$PROP_contains](a.getElement(),this.anchor)){a.childTooltip_=this;this.parentTooltip_=a}}; JSCompiler_extractPrototype.handleMouseOutAndBlur=function(a){var b=this.getAnchorFromElement(a[$$PROP_target]),c=this.getAnchorFromElement(a[$$PROP_relatedTarget]);if(!(b==c)){if(b==this.activeEl_)this.activeEl_=null;this.clearShowTimer();if(this.isVisible()&&(!a[$$PROP_relatedTarget]||!goog.dom[$$PROP_contains](this.getElement(),a[$$PROP_relatedTarget])))this.startHideTimer_();else this.anchor=null}}; JSCompiler_extractPrototype.handleTooltipMouseOver=function(){var a=this.getElement();if(this.activeEl_!=a){this.clearHideTimer_();this.activeEl_=a}};JSCompiler_extractPrototype.handleTooltipMouseOut=function(a){var b=this.getElement();if(this.activeEl_==b&&(!a[$$PROP_relatedTarget]||!goog.dom[$$PROP_contains](b,a[$$PROP_relatedTarget]))){this.activeEl_=null;this.startHideTimer_()}}; JSCompiler_extractPrototype.startShowTimer=function(a,b){if(!this.showTimer)this.showTimer=goog.Timer.callOnce(goog.bind(this.maybeShow,this,a,b),this.showDelayMs_)};JSCompiler_extractPrototype.clearShowTimer=function(){if(this.showTimer){goog.Timer[$$PROP_clear](this.showTimer);this.showTimer=GLOBAL_undefined}};JSCompiler_extractPrototype.startHideTimer_=function(){if(this.getState()==goog.ui.Tooltip.State.SHOWING)this.hideTimer=goog.Timer.callOnce(goog.bind(this.maybeHide,this,this.anchor),this.getHideDelayMs())}; JSCompiler_extractPrototype.clearHideTimer_=function(){if(this.hideTimer){goog.Timer[$$PROP_clear](this.hideTimer);this.hideTimer=GLOBAL_undefined}};JSCompiler_extractPrototype.disposeInternal=function(){var a=this.getElement();goog.ui.Tooltip.superClass_.disposeInternal[$$PROP_call](this);this.detach();a&&goog.dom[$$PROP_removeNode](a);this.activeEl_=null;delete this.dom_};goog.ui.Tooltip.CursorTooltipPosition=function(a,b){goog.ui.Popup.ViewPortPosition[$$PROP_call](this,a,b)}; goog.inherits(goog.ui.Tooltip.CursorTooltipPosition,goog.ui.Popup.ViewPortPosition); goog.ui.Tooltip.CursorTooltipPosition[$$PROP_prototype].reposition=function(a,b,c){var d=goog[$$PROP_style].getClientViewportElement(a),e=c?new goog.math.Box(c.top+10,c[$$PROP_right],c[$$PROP_bottom],c[$$PROP_left]+10):new goog.math.Box(10,0,0,10),f=goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_START,a,goog.ui.Popup.Corner.TOP_START,this.coordinate,e,goog.ui.Popup.Overflow.ADJUST_X|goog.ui.Popup.Overflow.FAIL_Y);f||goog.ui.Popup.positionPopup(d,goog.ui.Popup.Corner.TOP_START,a,goog.ui.Popup.Corner.BOTTOM_START, this.coordinate,e,goog.ui.Popup.Overflow.ADJUST_X|goog.ui.Popup.Overflow.ADJUST_Y)};goog.ui.Tooltip.ElementTooltipPosition=function(a){goog.ui.Popup.AnchoredPosition[$$PROP_call](this,a,goog.ui.Popup.Corner.BOTTOM_RIGHT)};goog.inherits(goog.ui.Tooltip.ElementTooltipPosition,goog.ui.Popup.AnchoredPosition); goog.ui.Tooltip.ElementTooltipPosition[$$PROP_prototype].reposition=function(a,b,c){var d=new goog.math.Coordinate(0,0),e=c?new goog.math.Box(c.top,c[$$PROP_right],c[$$PROP_bottom],c[$$PROP_left]-10):new goog.math.Box(0,0,0,-10),f=goog.ui.Popup.positionPopup(this.element,this.corner,a,b,d,e,goog.ui.Popup.Overflow.ADJUST_X|goog.ui.Popup.Overflow.FAIL_Y);f||goog.ui.Popup.positionPopup(this.element,goog.ui.Popup.Corner.TOP_RIGHT,a,goog.ui.Popup.Corner.BOTTOM_LEFT,d,e,goog.ui.Popup.Overflow.ADJUST_X| goog.ui.Popup.Overflow.ADJUST_Y)};goog.ui.AdvancedTooltip=function(a,b,c){goog.ui.Tooltip[$$PROP_call](this,a,b,c)};goog.inherits(goog.ui.AdvancedTooltip,goog.ui.Tooltip);JSCompiler_extractPrototype=goog.ui.AdvancedTooltip[$$PROP_prototype];JSCompiler_extractPrototype.cursorTracking_=false;JSCompiler_extractPrototype.cursorTrackingHideDelayMs_=100;JSCompiler_extractPrototype.tracking_=false;JSCompiler_extractPrototype.setHotSpotPadding=function(a){this.hotSpotPadding_=a||null}; JSCompiler_extractPrototype.setCursorTracking=function(a){this.cursorTracking_=a};JSCompiler_extractPrototype.onShow_=function(){goog.ui.AdvancedTooltip.superClass_.onShow_[$$PROP_call](this);this.boundingBox_=goog[$$PROP_style].getBounds(this.getElement()).toBox();this.anchorBox_=goog[$$PROP_style].getBounds(this.anchor).toBox();this.tracking_=this.cursorTracking_;goog.events.listen(this.dom_.getDocument(),goog.events.EventType.MOUSEMOVE,this.handleMouseMove_,false,this)}; JSCompiler_extractPrototype.onHide_=function(){goog.ui.AdvancedTooltip.superClass_.onHide_[$$PROP_call](this);goog.events.unlisten(this.dom_.getDocument(),goog.events.EventType.MOUSEMOVE,this.handleMouseMove_,false,this);this.anchorBox_=this.boundingBox_=this.paddingBox_=null;this.tracking_=false}; JSCompiler_extractPrototype.isCoordinateInTooltip=function(a){if(this.paddingBox_)return this.paddingBox_[$$PROP_contains](a);return goog.ui.AdvancedTooltip.superClass_.isCoordinateInTooltip[$$PROP_call](this,a)};JSCompiler_extractPrototype.isCoordinateActive_=function(a){if(this.anchorBox_[$$PROP_contains](a)||this.isCoordinateInTooltip(a))return true;return!!this.childTooltip_&&this.childTooltip_.isCoordinateInTooltip(a)}; JSCompiler_extractPrototype.maybeHide=function(a){this.hideTimer=GLOBAL_undefined;if(a==this.anchor)if(!this.isCoordinateActive_(this.cursorPosition)&&!this.activeEl_&&!this.hasActiveChild())goog[$$PROP_userAgent].GECKO&&this.cursorPosition.x==0&&this.cursorPosition.y==0||this.setVisible(false)}; JSCompiler_extractPrototype.handleMouseMove_=function(a){var b=true;if(this.boundingBox_){var c=new goog.math.Coordinate(a[$$PROP_clientX],a[$$PROP_clientY]);if(this.isCoordinateActive_(c))b=false;else if(this.tracking_){var d=goog.math.Box.distance(this.boundingBox_,this.cursorPosition),e=goog.math.Box.distance(this.boundingBox_,c);b=e>=d}}if(b){this.startHideTimer_();this.activeEl_=null;if(this.childTooltip_)this.childTooltip_.activeEl_=null}else this.getState()==goog.ui.Tooltip.State.WAITING_TO_HIDE&& this.clearHideTimer_();goog.ui.AdvancedTooltip.superClass_.handleMouseMove_[$$PROP_call](this,a)};JSCompiler_extractPrototype.handleTooltipMouseOver=function(){if(this.activeEl_!=this.getElement()){this.tracking_=false;this.activeEl_=this.getElement();if(!this.paddingBox_&&this.hotSpotPadding_)this.paddingBox_=this.boundingBox_.clone().expand(this.hotSpotPadding_)}};JSCompiler_extractPrototype.getHideDelayMs=function(){return this.tracking_?this.cursorTrackingHideDelayMs_:this.hideDelayMs_};goog.asserts={};goog.asserts.assert=function(){};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h=[];a&&h[$$PROP_push](a,":");if(c){h[$$PROP_push]("//");b&&h[$$PROP_push](b,"@");h[$$PROP_push](c);d&&h[$$PROP_push](":",d)}e&&h[$$PROP_push](e);f&&h[$$PROP_push]("?",f);g&&h[$$PROP_push]("#",g);return h[$$PROP_join]("")};goog.uri.utils.splitRe_=/^(?:([^:\/?#]+):)?(?:\/\/(?:([^\/?#]*)@)?([^\/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/; goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(a){return a[$$PROP_match](goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(a){return a&&GLOBAL_decodeURIComponent(a)};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils[$$PROP_split](b)[a]||null};goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)}; goog.uri.utils.getUserInfoEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,a)};goog.uri.utils.getUserInfo=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a))};goog.uri.utils.getDomainEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,a)};goog.uri.utils.getDomain=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a))}; goog.uri.utils.getPort=function(a){return GLOBAL_Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,a))||null};goog.uri.utils.getPathEncoded=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,a)};goog.uri.utils.getPath=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a))};goog.uri.utils.getQueryData=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,a)}; goog.uri.utils.getFragmentEncoded=function(a){var b=a[$$PROP_indexOf]("#");return b<0?null:a[$$PROP_substr](b+1)};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))};goog.uri.utils.getHost=function(a){var b=goog.uri.utils[$$PROP_split](a);return goog.uri.utils.buildFromEncodedParts(b[goog.uri.utils.ComponentIndex.SCHEME],b[goog.uri.utils.ComponentIndex.USER_INFO],b[goog.uri.utils.ComponentIndex.DOMAIN],b[goog.uri.utils.ComponentIndex.PORT])}; goog.uri.utils.getPathAndAfter=function(a){var b=goog.uri.utils[$$PROP_split](a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,b[goog.uri.utils.ComponentIndex.PATH],b[goog.uri.utils.ComponentIndex.QUERY_DATA],b[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(a){var b=a[$$PROP_indexOf]("#");return b<0?a:a[$$PROP_substr](0,b)}; goog.uri.utils.haveSameDomain=function(a,b){var c=goog.uri.utils[$$PROP_split](a),d=goog.uri.utils[$$PROP_split](b);return c[goog.uri.utils.ComponentIndex.DOMAIN]==d[goog.uri.utils.ComponentIndex.DOMAIN]&&c[goog.uri.utils.ComponentIndex.SCHEME]==d[goog.uri.utils.ComponentIndex.SCHEME]&&c[goog.uri.utils.ComponentIndex.PORT]==d[goog.uri.utils.ComponentIndex.PORT]};goog.uri.utils.assertNoFragments_=function(){}; goog.uri.utils.appendQueryData_=function(a){goog.uri.utils.assertNoFragments_(a[0]);if(a[1]){var b=a[0][$$PROP_indexOf]("?");if(b<0)a[1]="?";else if(b==a[0][$$PROP_length]-1)a[1]=""}return a[$$PROP_join]("")};goog.uri.utils.appendKeyValuePairs_=function(a,b,c){if(goog.isArray(b)){b=b;for(var d=0;d=0){c=a[$$PROP_indexOf]("&",d);if(c<0)c=a[$$PROP_length];d+=b[$$PROP_length]+1;e[$$PROP_push](goog.string.urlDecode(a[$$PROP_substr](d,c-d)))}return e};goog.uri.utils.trailingQueryPunctuationRe_=/[?&]$/; goog.uri.utils.removeParam=function(a,b){goog.uri.utils.assertNoFragments_(a);var c=0,d,e=[];while((d=goog.uri.utils.findParam_(a,c,b))>=0){e[$$PROP_push](a[$$PROP_substring](c,d));c=a[$$PROP_indexOf]("&",d)+1||a[$$PROP_length]}e[$$PROP_push](a[$$PROP_substr](c));return e[$$PROP_join]("")[$$PROP_replace](goog.uri.utils.trailingQueryPunctuationRe_,"")};goog.Uri=function(a,b){var c;if(a instanceof goog.Uri){this.setIgnoreCase(b==null?a.getIgnoreCase():b);this.setScheme(a.getScheme());this.setUserInfo(a.getUserInfo());this.setDomain(a.getDomain());this.setPort(a.getPort());this.setPath(a.getPath());this.setQueryData(a.getQueryData().clone());this.setFragment(a.getFragment())}else if(a&&(c=goog.uri.utils[$$PROP_split](GLOBAL_String(a)))){this.setIgnoreCase(!!b);this.setScheme(c[goog.uri.utils.ComponentIndex.SCHEME],true);this.setUserInfo(c[goog.uri.utils.ComponentIndex.USER_INFO], true);this.setDomain(c[goog.uri.utils.ComponentIndex.DOMAIN],true);this.setPort(c[goog.uri.utils.ComponentIndex.PORT]);this.setPath(c[goog.uri.utils.ComponentIndex.PATH],true);this.setQueryData(c[goog.uri.utils.ComponentIndex.QUERY_DATA]);this.setFragment(c[goog.uri.utils.ComponentIndex.FRAGMENT],true)}else{this.setIgnoreCase(!!b);this.queryData_=new goog.Uri.QueryData(null,this,this.ignoreCase_)}};goog.Uri.RANDOM_PARAM="zx";JSCompiler_extractPrototype=goog.Uri[$$PROP_prototype]; JSCompiler_extractPrototype.scheme_="";JSCompiler_extractPrototype.userInfo_="";JSCompiler_extractPrototype.domain_="";JSCompiler_extractPrototype.port_=null;JSCompiler_extractPrototype.path_="";JSCompiler_extractPrototype.fragment_="";JSCompiler_extractPrototype.isReadOnly_=false;JSCompiler_extractPrototype.ignoreCase_=false; SETPROP_toString(JSCompiler_extractPrototype,function(){if(this.cachedToString_)return this.cachedToString_;var a=[];this.scheme_&&a[$$PROP_push](goog.Uri.encodeSpecialChars_(this.scheme_,goog.Uri.reDisallowedInSchemeOrUserInfo_),":");if(this.domain_){a[$$PROP_push]("//");this.userInfo_&&a[$$PROP_push](goog.Uri.encodeSpecialChars_(this.userInfo_,goog.Uri.reDisallowedInSchemeOrUserInfo_),"@");a[$$PROP_push](goog.Uri.encodeString_(this.domain_));this.port_!=null&&a[$$PROP_push](":",GLOBAL_String(this.getPort()))}this.path_&& a[$$PROP_push](goog.Uri.encodeSpecialChars_(this.path_,goog.Uri.reDisallowedInPath_));var b=GLOBAL_String(this.queryData_);b&&a[$$PROP_push]("?",b);this.fragment_&&a[$$PROP_push]("#",goog.Uri.encodeSpecialChars_(this.fragment_,goog.Uri.reDisallowedInFragment_));return this.cachedToString_=a[$$PROP_join]("")}); JSCompiler_extractPrototype.resolve=function(a){var b=this.clone(),c=a.hasScheme();if(c)b.setScheme(a.getScheme());else c=a.hasUserInfo();if(c)b.setUserInfo(a.getUserInfo());else c=a.hasDomain();if(c)b.setDomain(a.getDomain());else c=a.hasPort();var d=a.getPath();if(c)b.setPort(a.getPort());else{if(c=a.hasPath()){if(d[$$PROP_charAt](0)!="/")if(this.hasDomain()&&!this.hasPath())d="/"+d;else{var e=b.getPath()[$$PROP_lastIndexOf]("/");if(e!=-1)d=b.getPath()[$$PROP_substr](0,e+1)+d}d=goog.Uri.removeDotSegments_(d)}}if(c)b.setPath(d); else c=a.hasQuery();if(c)b.setQueryData(a.getQuery());else c=a.hasFragment();c&&b.setFragment(a.getFragment());return b};JSCompiler_extractPrototype.clone=function(){return goog.Uri.create(this.scheme_,this.userInfo_,this.domain_,this.port_,this.path_,this.queryData_.clone(),this.fragment_,this.ignoreCase_)};JSCompiler_extractPrototype.getScheme=function(){return this.scheme_}; JSCompiler_extractPrototype.setScheme=function(a,b){this.enforceReadOnly();delete this.cachedToString_;if(this.scheme_=b?goog.Uri.decodeOrEmpty_(a):a)this.scheme_=this.scheme_[$$PROP_replace](/:$/,"");return this};JSCompiler_extractPrototype.hasScheme=function(){return!!this.scheme_};JSCompiler_extractPrototype.getUserInfo=function(){return this.userInfo_}; JSCompiler_extractPrototype.setUserInfo=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.userInfo_=b?goog.Uri.decodeOrEmpty_(a):a;return this};JSCompiler_extractPrototype.hasUserInfo=function(){return!!this.userInfo_};JSCompiler_extractPrototype.getDomain=function(){return this.domain_};JSCompiler_extractPrototype.setDomain=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.domain_=b?goog.Uri.decodeOrEmpty_(a):a;return this}; JSCompiler_extractPrototype.hasDomain=function(){return!!this.domain_};JSCompiler_extractPrototype.getPort=function(){return this.port_};JSCompiler_extractPrototype.setPort=function(a){this.enforceReadOnly();delete this.cachedToString_;if(a){a=GLOBAL_Number(a);if(GLOBAL_isNaN(a)||a<0)throw GLOBAL_Error("Bad port number "+a);this.port_=a}else this.port_=null;return this};JSCompiler_extractPrototype.hasPort=function(){return this.port_!=null};JSCompiler_extractPrototype.getPath=function(){return this.path_}; JSCompiler_extractPrototype.setPath=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.path_=b?goog.Uri.decodeOrEmpty_(a):a;return this};JSCompiler_extractPrototype.hasPath=function(){return!!this.path_};JSCompiler_extractPrototype.hasQuery=function(){return this.queryData_[$$PROP_toString]()!==""}; JSCompiler_extractPrototype.setQueryData=function(a){this.enforceReadOnly();delete this.cachedToString_;if(a instanceof goog.Uri.QueryData){this.queryData_=a;this.queryData_.uri_=this;this.queryData_.setIgnoreCase(this.ignoreCase_)}else this.queryData_=new goog.Uri.QueryData(a,this,this.ignoreCase_);return this};JSCompiler_extractPrototype.getQuery=function(){return this.queryData_[$$PROP_toString]()};JSCompiler_extractPrototype.getQueryData=function(){return this.queryData_}; JSCompiler_extractPrototype.setParameterValue=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.queryData_.set(a,b);return this};JSCompiler_extractPrototype.getFragment=function(){return this.fragment_};JSCompiler_extractPrototype.setFragment=function(a,b){this.enforceReadOnly();delete this.cachedToString_;this.fragment_=b?goog.Uri.decodeOrEmpty_(a):a;return this};JSCompiler_extractPrototype.hasFragment=function(){return!!this.fragment_}; JSCompiler_extractPrototype.enforceReadOnly=function(){if(this.isReadOnly_)throw GLOBAL_Error("Tried to modify a read-only Uri");};JSCompiler_extractPrototype.setIgnoreCase=function(a){this.ignoreCase_=a;this.queryData_&&this.queryData_.setIgnoreCase(a)};JSCompiler_extractPrototype.getIgnoreCase=function(){return this.ignoreCase_};goog.Uri.parse=function(a,b){return a instanceof goog.Uri?a.clone():new goog.Uri(a,b)}; goog.Uri.create=function(a,b,c,d,e,f,g,h){var i=new goog.Uri(null,h);a&&i.setScheme(a);b&&i.setUserInfo(b);c&&i.setDomain(c);d&&i.setPort(d);e&&i.setPath(e);f&&i.setQueryData(f);g&&i.setFragment(g);return i};goog.Uri.resolve=function(a,b){a instanceof goog.Uri||(a=goog.Uri.parse(a));b instanceof goog.Uri||(b=goog.Uri.parse(b));return a.resolve(b)}; goog.Uri.removeDotSegments_=function(a){if(a==".."||a==".")return"";else if(!goog.string[$$PROP_contains](a,"./")&&!goog.string[$$PROP_contains](a,"/."))return a;else{var b=goog.string.startsWith(a,"/"),c=a[$$PROP_split]("/"),d=[];for(var e=0;e1||d[$$PROP_length]==1&&d[0]!="")d.pop();b&&e==c[$$PROP_length]&&d[$$PROP_push]("")}else{d[$$PROP_push](f);b=true}}return d[$$PROP_join]("/")}}; goog.Uri.decodeOrEmpty_=function(a){return a?GLOBAL_decodeURIComponent(a):""};goog.Uri.encodeString_=function(a){if(goog.isString(a))return GLOBAL_encodeURIComponent(a);return null};goog.Uri.encodeSpecialRegExp_=/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/;goog.Uri.encodeSpecialChars_=function(a,b){var c=null;if(goog.isString(a)){c=a;goog.Uri.encodeSpecialRegExp_[$$PROP_test](c)||(c=encodeURI(a));if(c.search(b)>=0)c=c[$$PROP_replace](b,goog.Uri.encodeChar_)}return c}; goog.Uri.encodeChar_=function(a){var b=a[$$PROP_charCodeAt](0);return"%"+(b>>4&15)[$$PROP_toString](16)+(b&15)[$$PROP_toString](16)};goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g;goog.Uri.reDisallowedInPath_=/[\#\?]/g;goog.Uri.reDisallowedInFragment_=/#/g; goog.Uri.haveSameDomain=function(a,b){var c=goog.uri.utils[$$PROP_split](a),d=goog.uri.utils[$$PROP_split](b);return c[goog.uri.utils.ComponentIndex.DOMAIN]==d[goog.uri.utils.ComponentIndex.DOMAIN]&&c[goog.uri.utils.ComponentIndex.PORT]==d[goog.uri.utils.ComponentIndex.PORT]}; goog.Uri.QueryData=function(a,b,c){this.keyMap_=new goog.structs.Map;this.uri_=b||null;this.ignoreCase_=!!c;if(a){var d=a[$$PROP_split]("&");for(var e=0;e=0){g=d[e][$$PROP_substring](0,f);h=d[e][$$PROP_substring](f+1)}else g=d[e];g=goog.string.urlDecode(g);g=this.getKeyName_(g);this.add(g,h?goog.string.urlDecode(h):"")}}}; goog.Uri.QueryData.createFromMap=function(a,b,c){return goog.Uri.QueryData.createFromKeysValues(goog.structs.getKeys(a),goog.structs.getValues(a),b,c)};goog.Uri.QueryData.createFromKeysValues=function(a,b,c,d){if(a[$$PROP_length]!=b[$$PROP_length])throw GLOBAL_Error("Mismatched lengths for keys/values");var e=new goog.Uri.QueryData(null,c,d);for(var f=0;f0&&a[$$PROP_push]("&");a[$$PROP_push](f,"=",goog.string.urlEncode(g[h]));b++}else{b>0&&a[$$PROP_push]("&");a[$$PROP_push](f,"=",goog.string.urlEncode(g));b++}}return this.cachedToString_=a[$$PROP_join]("")}); JSCompiler_extractPrototype.invalidateCache_=function(){delete this.cachedToString_;this.uri_&&delete this.uri_.cachedToString_};JSCompiler_extractPrototype.clone=function(){var a=new goog.Uri.QueryData;a.keyMap_=this.keyMap_.clone();return a};JSCompiler_extractPrototype.getKeyName_=function(a){var b=GLOBAL_String(a);if(this.ignoreCase_)b=b[$$PROP_toLowerCase]();return b}; JSCompiler_extractPrototype.setIgnoreCase=function(a){var b=a&&!this.ignoreCase_;if(b){this.invalidateCache_();goog.structs[$$PROP_forEach](this.keyMap_,function(c,d){var e=d[$$PROP_toLowerCase]();if(d!=e){this[$$PROP_remove](d);this.add(e,c)}},this)}this.ignoreCase_=a};JSCompiler_extractPrototype.extend=function(){for(var a=0;a