Files
openlayers/edit/build/ol-simple.js
2013-09-14 00:29:38 +02:00

1785 lines
854 KiB
JavaScript

var COMPILED=!0,goog=goog||{};goog.global=this;goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c=c[d]?c[d]:c[d]={}:c[d]=b};goog.define=function(a,b){var c=b;COMPILED||goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)&&(c=goog.global.CLOSURE_DEFINES[a]);goog.exportPath_(a,c)};goog.DEBUG=!1;goog.LOCALE="en";goog.TRUSTED_SITE=!0;
goog.provide=function(a){if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a];for(var b=a;(b=b.substring(0,b.lastIndexOf(".")))&&!goog.getObjectByName(b);)goog.implicitNamespaces_[b]=!0}goog.exportPath_(a)};goog.setTestOnly=function(a){if(COMPILED&&!goog.DEBUG)throw a=a||"",Error("Importing test-only code into non-debug environment"+a?": "+a:".");};
COMPILED||(goog.isProvided_=function(a){return!goog.implicitNamespaces_[a]&&!!goog.getObjectByName(a)},goog.implicitNamespaces_={});goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};
goog.addDependency=function(a,b,c){if(goog.DEPENDENCIES_ENABLED){var d;a=a.replace(/\\/g,"/");for(var e=goog.dependencies_,f=0;d=b[f];f++)e.nameToPath[d]=a,a in e.pathToNames||(e.pathToNames[a]={}),e.pathToNames[a][d]=!0;for(d=0;b=c[d];d++)a in e.requires||(e.requires[a]={}),e.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0;
goog.require=function(a){if(!COMPILED&&!goog.isProvided_(a)){if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b){goog.included_[b]=!0;goog.writeScripts_();return}}a="goog.require could not find: "+a;goog.global.console&&goog.global.console.error(a);throw Error(a);}};goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(a,b){return a};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};
goog.addSingletonGetter=function(a){a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;
goog.DEPENDENCIES_ENABLED&&(goog.included_={},goog.dependencies_={pathToNames:{},nameToPath:{},requires:{},visited:{},written:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return"undefined"!=typeof a&&"write"in a},goog.findBasePath_=function(){if(goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document.getElementsByTagName("script"),b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?"),d=-1==d?c.length:
d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a){var b=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;!goog.dependencies_.written[a]&&b(a)&&(goog.dependencies_.written[a]=!0)},goog.writeScriptTag_=function(a){if(goog.inHtmlDocument_()){var b=goog.global.document;if("complete"==b.readyState){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}b.write('\x3cscript type\x3d"text/javascript" src\x3d"'+
a+'"\x3e\x3c/script\x3e');return!0}return!1},goog.writeScripts_=function(){function a(e){if(!(e in d.written)){if(!(e in d.visited)&&(d.visited[e]=!0,e in d.requires))for(var g in d.requires[e])if(!goog.isProvided_(g))if(g in d.nameToPath)a(d.nameToPath[g]);else throw Error("Undefined nameToPath for "+g);e in c||(c[e]=!0,b.push(e))}}var b=[],c={},d=goog.dependencies_,e;for(e in goog.included_)d.written[e]||a(e);for(e=0;e<b.length;e++)if(b[e])goog.importScript_(goog.basePath+b[e]);else throw Error("Undefined script input");
},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js"));
goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isDef=function(a){return void 0!==a};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isString=function(a){return"string"==typeof a};
goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};goog.isFunction=function(a){return"function"==goog.typeOf(a)};goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.removeUid=function(a){"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};
goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval)if(null==goog.evalWorksForGlobals_&&(goog.global.eval("var _et_ \x3d 1;"),"undefined"!=typeof goog.global._et_?(delete goog.global._et_,goog.evalWorksForGlobals_=!0):goog.evalWorksForGlobals_=!1),goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("script");c.type="text/javascript";c.defer=!1;c.appendChild(b.createTextNode(a));b.body.appendChild(c);
b.body.removeChild(c)}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;goog.getCssName=function(a,b){var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")},d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};return b?a+"-"+d(b):d(a)};goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};
!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){var c=b||{},d;for(d in c){var e=(""+c[d]).replace(/\$/g,"$$$$");a=a.replace(RegExp("\\{\\$"+d+"\\}","gi"),e)}return a};goog.getMsgWithFallback=function(a,b){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.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.DEBUG&&!d)throw Error("arguments.caller not defined. goog.base() expects not to be running in strict mode. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_)return d.superClass_.constructor.apply(a,Array.prototype.slice.call(arguments,1));for(var e=Array.prototype.slice.call(arguments,2),f=!1,g=a.constructor;g;g=g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,
e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){a.call(goog.global)};var ol={};ol.inherits=goog.inherits;goog.debug={};goog.debug.Error=function(a){Error.captureStackTrace?Error.captureStackTrace(this,goog.debug.Error):this.stack=Error().stack||"";a&&(this.message=String(a))};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.string={};goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};
goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};goog.string.isEmpty=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptySafe=function(a){return goog.string.isEmpty(goog.string.makeSafe(a))};
goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};
goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};
goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};goog.string.numerateCompareRegExp_=/(\.\d+)|(\d+)|(\D+)/g;
goog.string.numerateCompare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.toLowerCase().match(goog.string.numerateCompareRegExp_),d=b.toLowerCase().match(goog.string.numerateCompareRegExp_),e=Math.min(c.length,d.length),f=0;f<e;f++){var g=c[f],h=d[f];if(g!=h)return c=parseInt(g,10),!isNaN(c)&&(d=parseInt(h,10),!isNaN(d)&&c-d)?c-d:g<h?-1:1}return c.length!=d.length?c.length-d.length:a<b?-1:1};goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};
goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"\x3cbr /\x3e":"\x3cbr\x3e")};
goog.string.htmlEscape=function(a,b){if(b)return a.replace(goog.string.amperRe_,"\x26amp;").replace(goog.string.ltRe_,"\x26lt;").replace(goog.string.gtRe_,"\x26gt;").replace(goog.string.quotRe_,"\x26quot;");if(!goog.string.allRe_.test(a))return a;-1!=a.indexOf("\x26")&&(a=a.replace(goog.string.amperRe_,"\x26amp;"));-1!=a.indexOf("\x3c")&&(a=a.replace(goog.string.ltRe_,"\x26lt;"));-1!=a.indexOf("\x3e")&&(a=a.replace(goog.string.gtRe_,"\x26gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.quotRe_,
"\x26quot;"));return a};goog.string.amperRe_=/&/g;goog.string.ltRe_=/</g;goog.string.gtRe_=/>/g;goog.string.quotRe_=/\"/g;goog.string.allRe_=/[&<>\"]/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"\x26")?"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesUsingDom_=function(a){var b={"\x26amp;":"\x26","\x26lt;":"\x3c","\x26gt;":"\x3e","\x26quot;":'"'},c=document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,e){var f=b[a];if(f)return f;if("#"==e.charAt(0)){var g=Number("0"+e.substr(1));isNaN(g)||(f=String.fromCharCode(g))}f||(c.innerHTML=a+" ",f=c.firstChild.nodeValue.slice(0,-1));return b[a]=f})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"\x26";case "lt":return"\x3c";case "gt":return"\x3e";case "quot":return'"';default:if("#"==c.charAt(0)){var d=Number("0"+c.substr(1));if(!isNaN(d))return String.fromCharCode(d)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g," \x26#160;"),b)};
goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);if(a.quote)return a.quote();for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a,c=a.charCodeAt(0);if(31<c&&127>c)b=a;else{if(256>c){if(b="\\x",16>c||256<c)b+="0"}else b="\\u",4096>c&&(b+="0");b+=c.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=b};goog.string.toMap=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=!0;return b};
goog.string.contains=function(a,b){return-1!=a.indexOf(b)};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&(b<a.length&&0<c)&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"");return a.replace(c,"")};goog.string.removeAll=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=function(a,b){return Array(b+1).join(a)};goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};
goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",k=e[g]||"",l=RegExp("(\\d*)(\\D*)","g"),m=RegExp("(\\d*)(\\D*)","g");do{var n=l.exec(h)||["","",""],q=m.exec(k)||["","",""];if(0==n[0].length&&0==q[0].length)break;var c=0==n[1].length?0:parseInt(n[1],10),r=0==q[1].length?0:parseInt(q[1],10),c=goog.string.compareElements_(c,r)||goog.string.compareElements_(0==
n[2].length,0==q[2].length)||goog.string.compareElements_(n[2],q[2])}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_MAX_;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmpty(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()})};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};ol.size={};ol.size.equals=function(a,b){return a[0]==b[0]&&a[1]==b[1]};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.peek=function(a){return a[a.length-1]};goog.array.ARRAY_PROTOTYPE_=Array.prototype;goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.indexOf?function(a,b,c){return goog.array.ARRAY_PROTOTYPE_.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.lastIndexOf?function(a,b,c){return goog.array.ARRAY_PROTOTYPE_.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.forEach?function(a,b,c){goog.array.ARRAY_PROTOTYPE_.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.filter?function(a,b,c){return goog.array.ARRAY_PROTOTYPE_.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.map?function(a,b,c){return goog.array.ARRAY_PROTOTYPE_.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};goog.array.reduce=function(a,b,c,d){if(a.reduce)return d?a.reduce(goog.bind(b,d),c):a.reduce(b,c);var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=function(a,b,c,d){if(a.reduceRight)return d?a.reduceRight(goog.bind(b,d),c):a.reduceRight(b,c);var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.some?function(a,b,c){return goog.array.ARRAY_PROTOTYPE_.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&goog.array.ARRAY_PROTOTYPE_.every?function(a,b,c){return goog.array.ARRAY_PROTOTYPE_.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndexRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=0<=c)&&goog.array.removeAt(a,c);return d};goog.array.removeAt=function(a,b){return 1==goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1).length};
goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.concat=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;
goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],e;if(goog.isArray(d)||(e=goog.isArrayLike(d))&&Object.prototype.hasOwnProperty.call(d,"callee"))a.push.apply(a,d);else if(e)for(var f=a.length,g=d.length,h=0;h<g;h++)a[f+h]=d[h];else a.push(d)}};goog.array.splice=function(a,b,c,d){return goog.array.ARRAY_PROTOTYPE_.splice.apply(a,goog.array.slice(arguments,1))};
goog.array.slice=function(a,b,c){return 2>=arguments.length?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PROTOTYPE_.slice.call(a,b,c)};goog.array.removeDuplicates=function(a,b){for(var c=b||a,d={},e=0,f=0;f<a.length;){var g=a[f++],h=goog.isObject(g)?"o"+goog.getUid(g):(typeof g).charAt(0)+g;Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,c[e++]=g)}c.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};
goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1,l;l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){goog.array.ARRAY_PROTOTYPE_.sort.call(a,b||goog.array.defaultCompare)};
goog.array.stableSort=function(a,b){for(var c=0;c<a.length;c++)a[c]={index:c,value:a[c]};var d=b||goog.array.defaultCompare;goog.array.sort(a,function(a,b){return d(a.value,b.value)||a.index-b.index});for(c=0;c<a.length;c++)a[c]=a[c].value};goog.array.sortObjectsByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(a[b],c[b])})};
goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare=function(a,b,c){return goog.array.equals(a,b,c)};
goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};
goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};
goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];goog.isArray(d)?b.push.apply(b,goog.array.flatten.apply(null,d)):b.push(d)}return b};
goog.array.rotate=function(a,b){a.length&&(b%=a.length,0<b?goog.array.ARRAY_PROTOTYPE_.unshift.apply(a,a.splice(-b,b)):0>b&&goog.array.ARRAY_PROTOTYPE_.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){b=goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1);goog.array.ARRAY_PROTOTYPE_.splice.call(a,c,0,b[0])};goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=0;;c++){for(var d=[],e=0;e<arguments.length;e++){var f=arguments[e];if(c>=f.length)return b;d.push(f[c])}b.push(d)}};
goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;0<d;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};ol.QuadKeyCharCode={ZERO:48,ONE:49,TWO:50,THREE:51};ol.TileCoord=function(a,b,c){this.z=a;this.x=b;this.y=c};ol.TileCoord.createFromQuadKey=function(a){var b=a.length,c=0,d=0,e=1<<b-1,f;for(f=0;f<b;++f){switch(a.charCodeAt(f)){case ol.QuadKeyCharCode.ONE:c+=e;break;case ol.QuadKeyCharCode.TWO:d+=e;break;case ol.QuadKeyCharCode.THREE:c+=e,d+=e}e>>=1}return new ol.TileCoord(b,c,d)};
ol.TileCoord.createFromString=function(a){a=a.split("/");a=goog.array.map(a,function(a,c,d){return parseInt(a,10)});return new ol.TileCoord(a[0],a[1],a[2])};ol.TileCoord.createOrUpdate=function(a,b,c,d){return goog.isDef(d)?(d.z=a,d.x=b,d.y=c,d):new ol.TileCoord(a,b,c)};ol.TileCoord.getKeyZXY=function(a,b,c){return[a,b,c].join("/")};ol.TileCoord.prototype.hash=function(){return(this.x<<this.z)+this.y};
ol.TileCoord.prototype.quadKey=function(){var a=Array(this.z),b=1<<this.z-1,c,d;for(c=0;c<this.z;++c)d=ol.QuadKeyCharCode.ZERO,this.x&b&&(d+=1),this.y&b&&(d+=2),a[c]=String.fromCharCode(d),b>>=1;return a.join("")};ol.TileCoord.prototype.toString=function(){return ol.TileCoord.getKeyZXY(this.z,this.x,this.y)};ol.TileRange=function(a,b,c,d){this.minX=a;this.maxX=b;this.minY=c;this.maxY=d};ol.TileRange.boundingTileRange=function(a){var b=arguments[0],b=new ol.TileRange(b.x,b.x,b.y,b.y),c,d,e;c=1;for(d=arguments.length;c<d;++c)e=arguments[c],b.minX=Math.min(b.minX,e.x),b.maxX=Math.max(b.maxX,e.x),b.minY=Math.min(b.minY,e.y),b.maxY=Math.max(b.maxY,e.y);return b};ol.TileRange.createOrUpdate=function(a,b,c,d,e){return goog.isDef(e)?(e.minX=a,e.maxX=b,e.minY=c,e.maxY=d,e):new ol.TileRange(a,b,c,d)};
ol.TileRange.prototype.contains=function(a){return this.minX<=a.x&&a.x<=this.maxX&&this.minY<=a.y&&a.y<=this.maxY};ol.TileRange.prototype.containsTileRange=function(a){return this.minX<=a.minX&&a.maxX<=this.maxX&&this.minY<=a.minY&&a.maxY<=this.maxY};ol.TileRange.prototype.equals=function(a){return this.minX==a.minX&&this.minY==a.minY&&this.maxX==a.maxX&&this.maxY==a.maxY};
ol.TileRange.prototype.extend=function(a){a.minX<this.minX&&(this.minX=a.minX);a.maxX>this.maxX&&(this.maxX=a.maxX);a.minY<this.minY&&(this.minY=a.minY);a.maxY>this.maxY&&(this.maxY=a.maxY)};ol.TileRange.prototype.getHeight=function(){return this.maxY-this.minY+1};ol.TileRange.prototype.getSize=function(){return[this.getWidth(),this.getHeight()]};ol.TileRange.prototype.getWidth=function(){return this.maxX-this.minX+1};
ol.TileRange.prototype.intersects=function(a){return this.minX<=a.maxX&&this.maxX>=a.minX&&this.minY<=a.maxY&&this.maxY>=a.minY};ol.Attribution=function(a){this.html_=a.html;this.tileRanges_=goog.isDef(a.tileRanges)?a.tileRanges:null};ol.Attribution.prototype.getHTML=function(){return this.html_};ol.Attribution.prototype.intersectsAnyTileRange=function(a){if(goog.isNull(this.tileRanges_))return!0;var b,c,d,e;for(e in a)if(e in this.tileRanges_)for(d=a[e],b=0,c=this.tileRanges_[e].length;b<c;++b)if(this.tileRanges_[e][b].intersects(d))return!0;return!1};ol.ASSUME_TOUCH=!1;ol.BrowserFeature={HAS_TOUCH:ol.ASSUME_TOUCH||goog.global.document&&"ontouchstart"in goog.global.document.documentElement||!!goog.global.navigator.msPointerEnabled};goog.disposable={};goog.disposable.IDisposable=function(){};goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this)};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};
goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;
goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete goog.Disposable.instances_[a]}};
goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]);this.onDisposeCallbacks_.push(goog.bind(a,b))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};
goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1};goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.events={};goog.events.Event=function(a,b){this.type=a;this.currentTarget=this.target=b};goog.events.Event.prototype.disposeInternal=function(){};goog.events.Event.prototype.dispose=function(){};goog.events.Event.prototype.propagationStopped_=!1;goog.events.Event.prototype.defaultPrevented=!1;goog.events.Event.prototype.returnValue_=!0;goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};
goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;
goog.userAgent.getUserAgentString=function(){return goog.global.navigator?goog.global.navigator.userAgent:null};goog.userAgent.getNavigator=function(){return goog.global.navigator};
goog.userAgent.init_=function(){goog.userAgent.detectedOpera_=!1;goog.userAgent.detectedIe_=!1;goog.userAgent.detectedWebkit_=!1;goog.userAgent.detectedMobile_=!1;goog.userAgent.detectedGecko_=!1;var a;if(!goog.userAgent.BROWSER_KNOWN_&&(a=goog.userAgent.getUserAgentString())){var b=goog.userAgent.getNavigator();goog.userAgent.detectedOpera_=goog.string.startsWith(a,"Opera");goog.userAgent.detectedIe_=!goog.userAgent.detectedOpera_&&(goog.string.contains(a,"MSIE")||goog.string.contains(a,"Trident"));
goog.userAgent.detectedWebkit_=!goog.userAgent.detectedOpera_&&goog.string.contains(a,"WebKit");goog.userAgent.detectedMobile_=goog.userAgent.detectedWebkit_&&goog.string.contains(a,"Mobile");goog.userAgent.detectedGecko_=!goog.userAgent.detectedOpera_&&!goog.userAgent.detectedWebkit_&&!goog.userAgent.detectedIe_&&"Gecko"==b.product}};goog.userAgent.BROWSER_KNOWN_||goog.userAgent.init_();goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.userAgent.detectedOpera_;
goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.userAgent.detectedIe_;goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.userAgent.detectedGecko_;goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.userAgent.detectedWebkit_;goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.detectedMobile_;goog.userAgent.SAFARI=goog.userAgent.WEBKIT;
goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;
goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD;
goog.userAgent.initPlatform_=function(){goog.userAgent.detectedMac_=goog.string.contains(goog.userAgent.PLATFORM,"Mac");goog.userAgent.detectedWindows_=goog.string.contains(goog.userAgent.PLATFORM,"Win");goog.userAgent.detectedLinux_=goog.string.contains(goog.userAgent.PLATFORM,"Linux");goog.userAgent.detectedX11_=!!goog.userAgent.getNavigator()&&goog.string.contains(goog.userAgent.getNavigator().appVersion||"","X11");var a=goog.userAgent.getUserAgentString();goog.userAgent.detectedAndroid_=!!a&&
goog.string.contains(a,"Android");goog.userAgent.detectedIPhone_=!!a&&goog.string.contains(a,"iPhone");goog.userAgent.detectedIPad_=!!a&&goog.string.contains(a,"iPad")};goog.userAgent.PLATFORM_KNOWN_||goog.userAgent.initPlatform_();goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.userAgent.detectedMac_;goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.userAgent.detectedWindows_;
goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.detectedLinux_;goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.detectedX11_;goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.userAgent.detectedAndroid_;goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.userAgent.detectedIPhone_;
goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.userAgent.detectedIPad_;
goog.userAgent.determineVersion_=function(){var a="",b;goog.userAgent.OPERA&&goog.global.opera?(a=goog.global.opera.version,a="function"==typeof a?a():a):(goog.userAgent.GECKO?b=/rv\:([^\);]+)(\)|;)/:goog.userAgent.IE?b=/\b(?:MSIE|rv)\s+([^\);]+)(\)|;)/:goog.userAgent.WEBKIT&&(b=/WebKit\/(\S+)/),b&&(a=(a=b.exec(goog.userAgent.getUserAgentString()))?a[1]:""));return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),b>parseFloat(a))?String(b):a};
goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};
goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.userAgent.isVersionOrHigherCache_[a]||(goog.userAgent.isVersionOrHigherCache_[a]=0<=goog.string.compareVersions(goog.userAgent.VERSION,a))};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;goog.userAgent.isDocumentModeOrHigher=function(a){return goog.userAgent.IE&&goog.userAgent.DOCUMENT_MODE>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;
goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document;return a&&goog.userAgent.IE?goog.userAgent.getDocumentMode_()||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5):void 0}();goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||
goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.msMaxTouchPoints)};goog.events.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",SELECTSTART:"selectstart",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:goog.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:goog.userAgent.IE?"focusout":"DOMFocusOut",CHANGE:"change",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",
DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DOMCONTENTLOADED:"DOMContentLoaded",ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",
PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",TRANSITIONEND:goog.userAgent.WEBKIT?"webkitTransitionEnd":goog.userAgent.OPERA?"oTransitionEnd":"transitionend",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",
MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",MSPOINTERDOWN:"MSPointerDown",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROVER:"MSPointerOver",MSPOINTEROUT:"MSPointerOut",MSPOINTERUP:"MSPointerUp",TEXTINPUT:"textinput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",LOADSTART:"loadstart",LOADSTOP:"loadstop",
RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive"};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.events.BrowserEvent=function(a,b){a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.IEButtonMap=[1,4,2];goog.events.BrowserEvent.prototype.target=null;goog.events.BrowserEvent.prototype.relatedTarget=null;goog.events.BrowserEvent.prototype.offsetX=0;goog.events.BrowserEvent.prototype.offsetY=0;goog.events.BrowserEvent.prototype.clientX=0;
goog.events.BrowserEvent.prototype.clientY=0;goog.events.BrowserEvent.prototype.screenX=0;goog.events.BrowserEvent.prototype.screenY=0;goog.events.BrowserEvent.prototype.button=0;goog.events.BrowserEvent.prototype.keyCode=0;goog.events.BrowserEvent.prototype.charCode=0;goog.events.BrowserEvent.prototype.ctrlKey=!1;goog.events.BrowserEvent.prototype.altKey=!1;goog.events.BrowserEvent.prototype.shiftKey=!1;goog.events.BrowserEvent.prototype.metaKey=!1;
goog.events.BrowserEvent.prototype.platformModifierKey=!1;goog.events.BrowserEvent.prototype.event_=null;
goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type;goog.events.Event.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;d?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(d,"nodeName")||(d=null)):c==goog.events.EventType.MOUSEOVER?d=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(d=a.toElement);this.relatedTarget=d;this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX;this.offsetY=goog.userAgent.WEBKIT||void 0!==
a.offsetY?a.offsetY:a.layerY;this.clientX=void 0!==a.clientX?a.clientX:a.pageX;this.clientY=void 0!==a.clientY?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.state=a.state;this.event_=a;a.defaultPrevented&&this.preventDefault();
delete this.propagationStopped_};goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IEButtonMap[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};
goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};
goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};goog.events.BrowserEvent.prototype.disposeInternal=function(){};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.object={};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};
goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};
goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arguments,c=c?0:1;c<d.length&&(a=a[d[c]],goog.isDef(a));c++);return a};goog.object.containsKey=function(a,b){return b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};
goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return b in a?a[b]:c};goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};
goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};goog.events.listeners_={};goog.events.listenerTree_={};goog.events.sources_={};goog.events.onString_="on";goog.events.onStringMap_={};goog.events.keySeparator_="_";goog.events.listen=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener_(c);return goog.events.Listenable.isImplementedBy(a)?a.listen(b,c,d,e):goog.events.listen_(a,b,c,!1,d,e)};
goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");e=!!e;var g=goog.events.listenerTree_;b in g||(g[b]={count_:0});g=g[b];e in g||(g[e]={count_:0},g.count_++);var g=g[e],h=goog.getUid(a),k;if(g[h]){k=g[h];for(var l=0;l<k.length;l++)if(g=k[l],g.listener==c&&g.handler==f){if(g.removed)break;d||(k[l].callOnce=!1);return k[l]}}else k=g[h]=[],g.count_++;l=goog.events.getProxy();g=new goog.events.Listener(c,l,a,b,e,f);g.callOnce=d;l.src=a;l.listener=g;k.push(g);goog.events.sources_[h]||
(goog.events.sources_[h]=[]);goog.events.sources_[h].push(g);a.addEventListener?a.addEventListener(b,l,e):a.attachEvent(goog.events.getOnString_(b),l);return goog.events.listeners_[g.key]=g};goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};
goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener_(c);return goog.events.Listenable.isImplementedBy(a)?a.listenOnce(b,c,d,e):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}c=goog.events.wrapListener_(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);d=!!d;a=goog.events.getListeners_(a,b,d);if(!a)return!1;for(f=0;f<a.length;f++)if(a[f].listener==c&&a[f].capture==d&&a[f].handler==e)return goog.events.unlistenByKey(a[f]);return!1};
goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy,e=a.capture;b.removeEventListener?b.removeEventListener(c,d,e):b.detachEvent&&b.detachEvent(goog.events.getOnString_(c),d);b=goog.getUid(b);goog.events.sources_[b]&&(d=goog.events.sources_[b],goog.array.remove(d,a),0==d.length&&delete goog.events.sources_[b]);a.markAsRemoved();if(d=goog.events.listenerTree_[c][e][b])goog.array.remove(d,
a),0==d.length&&(delete goog.events.listenerTree_[c][e][b],goog.events.listenerTree_[c][e].count_--),0==goog.events.listenerTree_[c][e].count_&&(delete goog.events.listenerTree_[c][e],goog.events.listenerTree_[c].count_--),0==goog.events.listenerTree_[c].count_&&delete goog.events.listenerTree_[c];delete goog.events.listeners_[a.key];return!0};goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};
goog.events.removeAll=function(a,b){var c=0,d=null==b;if(null!=a){if(a&&goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);var e=goog.getUid(a);if(goog.events.sources_[e])for(var e=goog.events.sources_[e],f=e.length-1;0<=f;f--){var g=e[f];if(d||b==g.type)goog.events.unlistenByKey(g),c++}}else goog.object.forEach(goog.events.listeners_,function(a){goog.events.unlistenByKey(a);c++});return c};
goog.events.removeAllNativeListeners=function(){var a=0;goog.object.forEach(goog.events.listeners_,function(b){goog.events.unlistenByKey(b);a++});return a};goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):goog.events.getListeners_(a,b,c)||[]};goog.events.getListeners_=function(a,b,c){var d=goog.events.listenerTree_;return b in d&&(d=d[b],c in d&&(d=d[c],a=goog.getUid(a),d[a]))?d[a]:null};
goog.events.getListener=function(a,b,c,d,e){d=!!d;c=goog.events.wrapListener_(c);if(goog.events.Listenable.isImplementedBy(a))return a.getListener(b,c,d,e);if(a=goog.events.getListeners_(a,b,d))for(b=0;b<a.length;b++)if(!a[b].removed&&a[b].listener==c&&a[b].capture==d&&a[b].handler==e)return a[b];return null};
goog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.getUid(a);var d=goog.events.sources_[a];if(d){var e=goog.isDef(b),f=goog.isDef(c);return e&&f?(d=goog.events.listenerTree_[b],!!d&&!!d[c]&&a in d[c]):e||f?goog.array.some(d,function(a){return e&&a.type==b||f&&a.capture==c}):!0}return!1};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" \x3d "+a[c]+" ("+a[c].id+")"):b.push(c+" \x3d "+a[c]);return b.join("\n")};
goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};goog.events.fireListeners=function(a,b,c,d){if(goog.events.Listenable.isImplementedBy(a))return a.fireListeners(b,c,d);var e=goog.events.listenerTree_;return b in e&&(e=e[b],c in e)?goog.events.fireListeners_(e[c],a,b,c,d):!0};
goog.events.fireListeners_=function(a,b,c,d,e){c=1;b=goog.getUid(b);if(a[b])for(a=goog.array.clone(a[b]),b=0;b<a.length;b++)(d=a[b])&&!d.removed&&(c&=!1!==goog.events.fireListener(d,e));return Boolean(c)};goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce&&goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.object.getCount(goog.events.listeners_)};goog.events.dispatchEvent=function(a,b){return a.dispatchEvent(b)};
goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
goog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;var c=a.type,d=goog.events.listenerTree_;if(!(c in d))return!0;var d=d[c],e,f;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){e=b||goog.getObjectByName("window.event");var g=!0 in d,h=!1 in d;if(g){if(goog.events.isMarkedIeEvent_(e))return!0;goog.events.markIeEvent_(e)}var k=new goog.events.BrowserEvent;k.init(e,this);e=!0;try{if(g){for(var l=[],m=k.currentTarget;m;m=m.parentNode)l.push(m);f=d[!0];for(var n=l.length-1;!k.propagationStopped_&&
0<=n;n--)k.currentTarget=l[n],e&=goog.events.fireListeners_(f,l[n],c,!0,k);if(h)for(f=d[!1],n=0;!k.propagationStopped_&&n<l.length;n++)k.currentTarget=l[n],e&=goog.events.fireListeners_(f,l[n],c,!1,k)}else e=goog.events.fireListener(a,k)}finally{l&&(l.length=0)}return e}c=new goog.events.BrowserEvent(b,this);return e=goog.events.fireListener(a,c)};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};
goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0);goog.events.wrapListener_=function(a){return goog.isFunction(a)?a:a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)})};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};
goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=this.listeners[a];f||(f=this.listeners[a]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(f,b,d,e);-1<g?(a=f[g],c||(a.callOnce=!1)):(a=new goog.events.Listener(b,null,this.src,a,!!d,e),a.callOnce=c,f.push(a));return a};
goog.events.ListenerMap.prototype.remove=function(a,b,c,d){if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1<b?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1};
goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].removed=!0;delete this.listeners[c];this.typeCount_--}return b};
goog.events.ListenerMap.prototype.getListeners=function(a,b){var c=this.listeners[a],d=[];if(c)for(var e=0;e<c.length;++e){var f=c[e];f.capture==b&&d.push(f)}return d};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a];var e=-1;a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1<e?a[e]:null};
goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=goog.isDef(b);return goog.object.some(this.listeners,function(e,f){for(var g=0;g<e.length;++g)if(!(c&&e[g].type!=a||d&&e[g].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1};goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.parentEventTarget_=null;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};
goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};
goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b,c=this.getParentEventTarget();if(c)for(b=[];c;c=c.getParentEventTarget())b.push(c);return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,b)};goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};
goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(a,b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(a,b,!0,c,d)};goog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(a,b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};
goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};goog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[a];if(!a)return!0;a=goog.array.clone(a);for(var d=!0,e=0;e<a.length;++e){var f=a[e];if(f&&!f.removed&&f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce&&this.unlistenByKey(f);d=!1!==g.call(h,c)&&d}}return d&&!1!=c.returnValue_};
goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(a,b)};goog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(a,b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){return this.eventTargetListeners_.hasListener(a,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){};
goog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}var e=!0,f;if(c)for(var g=c.length-1;!b.propagationStopped_&&0<=g;g--)f=b.currentTarget=c[g],e=f.fireListeners(d,!0,b)&&e;b.propagationStopped_||(f=b.currentTarget=a,e=f.fireListeners(d,!0,b)&&e,b.propagationStopped_||(e=f.fireListeners(d,!1,b)&&e));
if(c)for(g=0;!b.propagationStopped_&&g<c.length;g++)f=b.currentTarget=c[g],e=f.fireListeners(d,!1,b)&&e;return e};ol.ObjectEventType={CHANGE:"change"};ol.ObjectProperty={ACCESSORS:"ol_accessors_",BINDINGS:"ol_bindings_"};ol.Object=function(a){goog.events.EventTarget.call(this);this.values_={};goog.isDef(a)&&this.setValues(a)};goog.inherits(ol.Object,goog.events.EventTarget);ol.Object.changeEventTypeCache_={};ol.Object.getterNameCache_={};ol.Object.setterNameCache_={};ol.Object.capitalize=function(a){return a.substr(0,1).toUpperCase()+a.substr(1)};
ol.Object.getAccessors=function(a){return a[ol.ObjectProperty.ACCESSORS]||(a[ol.ObjectProperty.ACCESSORS]={})};ol.Object.getChangeEventType=function(a){return ol.Object.changeEventTypeCache_.hasOwnProperty(a)?ol.Object.changeEventTypeCache_[a]:ol.Object.changeEventTypeCache_[a]="change:"+a.toLowerCase()};ol.Object.getGetterName=function(a){return ol.Object.getterNameCache_.hasOwnProperty(a)?ol.Object.getterNameCache_[a]:ol.Object.getterNameCache_[a]="get"+ol.Object.capitalize(a)};
ol.Object.getListeners=function(a){return a[ol.ObjectProperty.BINDINGS]||(a[ol.ObjectProperty.BINDINGS]={})};ol.Object.getSetterName=function(a){return ol.Object.setterNameCache_.hasOwnProperty(a)?ol.Object.setterNameCache_[a]:ol.Object.setterNameCache_[a]="set"+ol.Object.capitalize(a)};
ol.Object.prototype.bindTo=function(a,b,c,d){c=c||a;this.unbind(a);var e=ol.Object.getChangeEventType(c);ol.Object.getListeners(this)[a]=goog.events.listen(b,e,function(){this.notifyInternal_(a)},void 0,this);ol.Object.getAccessors(this)[a]={target:b,key:c};d||this.notifyInternal_(a)};
ol.Object.prototype.get=function(a){var b,c=ol.Object.getAccessors(this);c.hasOwnProperty(a)?(b=c[a],a=b.target,b=b.key,c=ol.Object.getGetterName(b),b=a[c]?a[c]():a.get(b)):this.values_.hasOwnProperty(a)&&(b=this.values_[a]);return b};ol.Object.prototype.getKeys=function(){var a=goog.object.getKeys(ol.Object.getAccessors(this)).concat(goog.object.getKeys(this.values_));goog.array.removeDuplicates(a);return a};
ol.Object.prototype.notify=function(a){var b=ol.Object.getAccessors(this);b.hasOwnProperty(a)?(a=b[a],a.target.notify(a.key)):this.notifyInternal_(a)};ol.Object.prototype.notifyInternal_=function(a){a=ol.Object.getChangeEventType(a);this.dispatchEvent(a);this.dispatchEvent(ol.ObjectEventType.CHANGE)};ol.Object.prototype.on=function(a,b,c){return goog.events.listen(this,a,b,!1,c)};ol.Object.prototype.once=function(a,b,c){return goog.events.listenOnce(this,a,b,!1,c)};
ol.Object.prototype.set=function(a,b){var c=ol.Object.getAccessors(this);if(c.hasOwnProperty(a)){var d=c[a],c=d.target,d=d.key,e=ol.Object.getSetterName(d);if(c[e])c[e](b);else c.set(d,b)}else this.values_[a]=b,this.notifyInternal_(a)};ol.Object.prototype.setValues=function(a){var b,c,d;for(b in a)if(c=a[b],d=ol.Object.getSetterName(b),this[d])this[d](c);else this.set(b,c)};
ol.Object.prototype.unbind=function(a){var b=ol.Object.getListeners(this),c=b[a];c&&(delete b[a],goog.events.unlistenByKey(c),b=this.get(a),delete ol.Object.getAccessors(this)[a],this.values_[a]=b)};ol.Object.prototype.un=function(a,b,c){goog.events.unlisten(this,a,b,!1,c)};ol.Object.prototype.unByKey=function(a){goog.events.unlistenByKey(a)};ol.Object.prototype.unbindAll=function(){for(var a in ol.Object.getListeners(this))this.unbind(a)};ol.CollectionEventType={ADD:"add",REMOVE:"remove"};ol.CollectionEvent=function(a,b,c){goog.events.Event.call(this,a,c);this.elem_=b};goog.inherits(ol.CollectionEvent,goog.events.Event);ol.CollectionEvent.prototype.getElement=function(){return this.elem_};ol.CollectionProperty={LENGTH:"length"};ol.Collection=function(a){ol.Object.call(this);this.array_=a||[];this.updateLength_()};goog.inherits(ol.Collection,ol.Object);ol.Collection.prototype.clear=function(){for(;0<this.getLength();)this.pop()};
ol.Collection.prototype.extend=function(a){var b,c;b=0;for(c=a.length;b<c;++b)this.push(a[b]);return this};ol.Collection.prototype.forEach=function(a,b){goog.array.forEach(this.array_,a,b)};ol.Collection.prototype.getArray=function(){return this.array_};ol.Collection.prototype.getAt=function(a){return this.array_[a]};ol.Collection.prototype.getLength=function(){return this.get(ol.CollectionProperty.LENGTH)};
ol.Collection.prototype.insertAt=function(a,b){goog.array.insertAt(this.array_,b,a);this.updateLength_();this.dispatchEvent(new ol.CollectionEvent(ol.CollectionEventType.ADD,b,this))};ol.Collection.prototype.pop=function(){return this.removeAt(this.getLength()-1)};ol.Collection.prototype.push=function(a){var b=this.array_.length;this.insertAt(b,a);return b};ol.Collection.prototype.remove=function(a){var b=this.array_,c,d;c=0;for(d=b.length;c<d;++c)if(b[c]===a)return this.removeAt(c)};
ol.Collection.prototype.removeAt=function(a){var b=this.array_[a];goog.array.removeAt(this.array_,a);this.updateLength_();this.dispatchEvent(new ol.CollectionEvent(ol.CollectionEventType.REMOVE,b,this));return b};
ol.Collection.prototype.setAt=function(a,b){var c=this.getLength();if(a<c)c=this.array_[a],this.array_[a]=b,this.dispatchEvent(new ol.CollectionEvent(ol.CollectionEventType.REMOVE,c,this)),this.dispatchEvent(new ol.CollectionEvent(ol.CollectionEventType.ADD,b,this));else{for(;c<a;++c)this.insertAt(c,void 0);this.insertAt(a,b)}};ol.Collection.prototype.updateLength_=function(){this.set(ol.CollectionProperty.LENGTH,this.array_.length)};goog.color={};
goog.color.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",
darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",
ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",
lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",
moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",
seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return 0>c*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<c?c-=360:-180>=c&&(c=360+c);return c};
goog.math.sign=function(a){return 0==a?0:0>a?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);for(var l=[],h=e,k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.standardDeviation=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments),b=goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1);return Math.sqrt(b)};goog.math.isInt=function(a){return isFinite(a)&&0==a%1};
goog.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)};goog.math.safeFloor=function(a,b){return Math.floor(a+(b||2E-15))};goog.math.safeCeil=function(a,b){return Math.ceil(a-(b||2E-15))};goog.color.parse=function(a){var b={};a=String(a);var c=goog.color.prependHashIfNecessaryHelper(a);if(goog.color.isValidHexColor_(c))return b.hex=goog.color.normalizeHex(c),b.type="hex",b;c=goog.color.isValidRgbColor_(a);if(c.length)return b.hex=goog.color.rgbArrayToHex(c),b.type="rgb",b;if(goog.color.names&&(c=goog.color.names[a.toLowerCase()]))return b.hex=c,b.type="named",b;throw Error(a+" is not a valid color string");};
goog.color.isValidColor=function(a){var b=goog.color.prependHashIfNecessaryHelper(a);return!!(goog.color.isValidHexColor_(b)||goog.color.isValidRgbColor_(a).length||goog.color.names&&goog.color.names[a.toLowerCase()])};goog.color.parseRgb=function(a){var b=goog.color.isValidRgbColor_(a);if(!b.length)throw Error(a+" is not a valid RGB color");return b};goog.color.hexToRgbStyle=function(a){return goog.color.rgbStyle_(goog.color.hexToRgb(a))};goog.color.hexTripletRe_=/#(.)(.)(.)/;
goog.color.normalizeHex=function(a){if(!goog.color.isValidHexColor_(a))throw Error("'"+a+"' is not a valid hex color");4==a.length&&(a=a.replace(goog.color.hexTripletRe_,"#$1$1$2$2$3$3"));return a.toLowerCase()};goog.color.hexToRgb=function(a){a=goog.color.normalizeHex(a);var b=parseInt(a.substr(1,2),16),c=parseInt(a.substr(3,2),16);a=parseInt(a.substr(5,2),16);return[b,c,a]};
goog.color.rgbToHex=function(a,b,c){a=Number(a);b=Number(b);c=Number(c);if(isNaN(a)||0>a||255<a||isNaN(b)||0>b||255<b||isNaN(c)||0>c||255<c)throw Error('"('+a+","+b+","+c+'") is not a valid RGB color');a=goog.color.prependZeroIfNecessaryHelper(a.toString(16));b=goog.color.prependZeroIfNecessaryHelper(b.toString(16));c=goog.color.prependZeroIfNecessaryHelper(c.toString(16));return"#"+a+b+c};goog.color.rgbArrayToHex=function(a){return goog.color.rgbToHex(a[0],a[1],a[2])};
goog.color.rgbToHsl=function(a,b,c){a/=255;b/=255;c/=255;var d=Math.max(a,b,c),e=Math.min(a,b,c),f=0,g=0,h=0.5*(d+e);d!=e&&(d==a?f=60*(b-c)/(d-e):d==b?f=60*(c-a)/(d-e)+120:d==c&&(f=60*(a-b)/(d-e)+240),g=0<h&&0.5>=h?(d-e)/(2*h):(d-e)/(2-2*h));return[Math.round(f+360)%360,g,h]};goog.color.rgbArrayToHsl=function(a){return goog.color.rgbToHsl(a[0],a[1],a[2])};goog.color.hueToRgb_=function(a,b,c){0>c?c+=1:1<c&&(c-=1);return 1>6*c?a+6*(b-a)*c:1>2*c?b:2>3*c?a+6*(b-a)*(2/3-c):a};
goog.color.hslToRgb=function(a,b,c){var d=0,e=0,f=0;a/=360;if(0==b)d=e=f=255*c;else var g=f=0,g=0.5>c?c*(1+b):c+b-b*c,f=2*c-g,d=255*goog.color.hueToRgb_(f,g,a+1/3),e=255*goog.color.hueToRgb_(f,g,a),f=255*goog.color.hueToRgb_(f,g,a-1/3);return[Math.round(d),Math.round(e),Math.round(f)]};goog.color.hslArrayToRgb=function(a){return goog.color.hslToRgb(a[0],a[1],a[2])};goog.color.validHexColorRe_=/^#(?:[0-9a-f]{3}){1,2}$/i;goog.color.isValidHexColor_=function(a){return goog.color.validHexColorRe_.test(a)};
goog.color.normalizedHexColorRe_=/^#[0-9a-f]{6}$/;goog.color.isNormalizedHexColor_=function(a){return goog.color.normalizedHexColorRe_.test(a)};goog.color.rgbColorRe_=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;goog.color.isValidRgbColor_=function(a){var b=a.match(goog.color.rgbColorRe_);if(b){a=Number(b[1]);var c=Number(b[2]),b=Number(b[3]);if(0<=a&&255>=a&&0<=c&&255>=c&&0<=b&&255>=b)return[a,c,b]}return[]};
goog.color.prependZeroIfNecessaryHelper=function(a){return 1==a.length?"0"+a:a};goog.color.prependHashIfNecessaryHelper=function(a){return"#"==a.charAt(0)?a:"#"+a};goog.color.rgbStyle_=function(a){return"rgb("+a.join(",")+")"};
goog.color.hsvToRgb=function(a,b,c){var d=0,e=0,f=0;if(0==b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return[Math.floor(d),Math.floor(e),Math.floor(f)]};
goog.color.rgbToHsv=function(a,b,c){var d=Math.max(Math.max(a,b),c),e=Math.min(Math.min(a,b),c);if(e==d)e=a=0;else{var f=d-e,e=f/d;a=60*(a==d?(b-c)/f:b==d?2+(c-a)/f:4+(a-b)/f);0>a&&(a+=360);360<a&&(a-=360)}return[a,e,d]};goog.color.rgbArrayToHsv=function(a){return goog.color.rgbToHsv(a[0],a[1],a[2])};goog.color.hsvArrayToRgb=function(a){return goog.color.hsvToRgb(a[0],a[1],a[2])};goog.color.hexToHsl=function(a){a=goog.color.hexToRgb(a);return goog.color.rgbToHsl(a[0],a[1],a[2])};
goog.color.hslToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a,b,c))};goog.color.hslArrayToHex=function(a){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a[0],a[1],a[2]))};goog.color.hexToHsv=function(a){return goog.color.rgbArrayToHsv(goog.color.hexToRgb(a))};goog.color.hsvToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hsvToRgb(a,b,c))};goog.color.hsvArrayToHex=function(a){return goog.color.hsvToHex(a[0],a[1],a[2])};
goog.color.hslDistance=function(a,b){var c,d;c=0.5>=a[2]?a[1]*a[2]:a[1]*(1-a[2]);d=0.5>=b[2]?b[1]*b[2]:b[1]*(1-b[2]);return(a[2]-b[2])*(a[2]-b[2])+c*c+d*d-2*c*d*Math.cos(2*(a[0]/360-b[0]/360)*Math.PI)};goog.color.blend=function(a,b,c){c=goog.math.clamp(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};goog.color.darken=function(a,b){return goog.color.blend([0,0,0],a,b)};
goog.color.lighten=function(a,b){return goog.color.blend([255,255,255],a,b)};goog.color.highContrast=function(a,b){for(var c=[],d=0;d<b.length;d++)c.push({color:b[d],diff:goog.color.yiqBrightnessDiff_(b[d],a)+goog.color.colorDiff_(b[d],a)});c.sort(function(a,b){return b.diff-a.diff});return c[0].color};goog.color.yiqBrightness_=function(a){return Math.round((299*a[0]+587*a[1]+114*a[2])/1E3)};goog.color.yiqBrightnessDiff_=function(a,b){return Math.abs(goog.color.yiqBrightness_(a)-goog.color.yiqBrightness_(b))};
goog.color.colorDiff_=function(a,b){return Math.abs(a[0]-b[0])+Math.abs(a[1]-b[1])+Math.abs(a[2]-b[2])};ol.Color=function(a,b,c,d){this.r=goog.math.clamp(a,0,255);this.g=goog.math.clamp(b,0,255);this.b=goog.math.clamp(c,0,255);this.a=goog.math.clamp(d,0,1)};ol.Color.createFromString=function(a,b){var c=goog.color.hexToRgb(goog.color.parse(a).hex),d=goog.isDef(b)?b:1;return new ol.Color(c[0],c[1],c[2],d)};ol.Color.equals=function(a,b){return a.r==b.r&&a.g==b.g&&a.b==b.b&&a.a==b.a};ol.array={};ol.array.binaryFindNearest=function(a,b){var c=goog.array.binarySearch(a,b,function(a,b){return b-a});if(0<=c)return c;if(-1==c)return 0;if(c==-a.length-1)return a.length-1;var d=-c-2,c=-c-1;return a[d]-b<b-a[c]?d:c};
ol.array.linearFindNearest=function(a,b,c){var d=a.length;if(a[0]<=b)return 0;if(!(b<=a[d-1]))if(0<c)for(c=1;c<d;++c){if(a[c]<b)return c-1}else if(0>c)for(c=1;c<d;++c){if(a[c]<=b)return c}else for(c=1;c<d;++c){if(a[c]==b)return c;if(a[c]<b)return a[c-1]-b<b-a[c]?c-1:c}return d-1};ol.ResolutionConstraint={};ol.ResolutionConstraint.createSnapToResolutions=function(a){return function(b,c,d){if(goog.isDef(b))return b=ol.array.linearFindNearest(a,b,d),b=goog.math.clamp(b+c,0,a.length-1),a[b]}};ol.ResolutionConstraint.createSnapToPower=function(a,b,c){return function(d,e,f){if(goog.isDef(d))return f=0<f?0:0>f?1:0.5,d=Math.floor(Math.log(b/d)/Math.log(a)+f),e=Math.max(d+e,0),goog.isDef(c)&&(e=Math.min(e,c)),b/Math.pow(a,e)}};ol.RotationConstraint={};ol.RotationConstraint.none=function(a,b){if(goog.isDef(a))return a+b};ol.RotationConstraint.createSnapToN=function(a){var b=2*Math.PI/a;return function(a,d){if(goog.isDef(a))return a=Math.floor((a+d)/b+0.5)*b}};ol.RotationConstraint.createSnapToZero=function(a){var b=a||0.1;return function(a,d){if(goog.isDef(a))return Math.abs(a+d)<=b?0:a+d}};ol.Constraints=function(a,b){this.resolution=a;this.rotation=b};ol.coordinate={};ol.coordinate.add=function(a,b){a[0]+=b[0];a[1]+=b[1];return a};ol.coordinate.createStringXY=function(a){return function(b){return ol.coordinate.toStringXY(b,a)}};ol.coordinate.degreesToStringHDMS_=function(a,b){var c=goog.math.modulo(a+180,360)-180,d=Math.abs(Math.round(3600*c));return Math.floor(d/3600)+"\u00b0 "+Math.floor(d/60%60)+"\u2032 "+Math.floor(d%60)+"\u2033 "+b.charAt(0>c?1:0)};ol.coordinate.equals=function(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c};
ol.coordinate.rotate=function(a,b){var c=Math.cos(b),d=Math.sin(b),e=a[1]*c+a[0]*d;a[0]=a[0]*c-a[1]*d;a[1]=e;return a};ol.coordinate.scale=function(a,b){a[0]*=b;a[1]*=b;return a};ol.coordinate.squaredDistance=function(a,b){var c=a[0]-b[0],d=a[1]-b[1];return c*c+d*d};ol.coordinate.closestOnSegment=function(a,b){var c=a[0],d=a[1],e=b[0],f=b[1],g=e[0],e=e[1],h=f[0],k=f[1],l=h-g,m=k-e,f=0==l&&0==m?0:(l*(c-g)+m*(d-e))/(l*l+m*m||0);0>=f||(1<=f?(g=h,e=k):(g+=f*l,e+=f*m));c=g-c;d=e-d;return[g,e,c*c+d*d,f]};
ol.coordinate.toStringHDMS=function(a){return goog.isDef(a)?ol.coordinate.degreesToStringHDMS_(a[1],"NS")+" "+ol.coordinate.degreesToStringHDMS_(a[0],"EW"):""};ol.coordinate.toStringXY=function(a,b){if(goog.isDef(a)){var c=b||0;return a[0].toFixed(c)+", "+a[1].toFixed(c)}return""};ol.coordinate.fromProjectedArray=function(a,b){var c=b.charAt(0);return"n"===c||"s"===c?[a[1],a[0]]:a};ol.DeviceOrientationProperty={ALPHA:"alpha",BETA:"beta",GAMMA:"gamma",HEADING:"heading",TRACKING:"tracking"};ol.DeviceOrientation=function(a){ol.Object.call(this);a=goog.isDef(a)?a:{};this.listenerKey_=null;goog.events.listen(this,ol.Object.getChangeEventType(ol.DeviceOrientationProperty.TRACKING),this.handleTrackingChanged_,!1,this);this.setTracking(goog.isDef(a.tracking)?a.tracking:!1)};goog.inherits(ol.DeviceOrientation,ol.Object);
ol.DeviceOrientation.prototype.disposeInternal=function(){this.setTracking(!1);ol.DeviceOrientation.superClass_.disposeInternal.call(this)};ol.DeviceOrientation.SUPPORTED="DeviceOrientationEvent"in window;
ol.DeviceOrientation.prototype.orientationChange_=function(a){a=a.getBrowserEvent();if(goog.isDefAndNotNull(a.alpha)){var b=goog.math.toRadians(a.alpha);this.set(ol.DeviceOrientationProperty.ALPHA,b);goog.isBoolean(a.absolute)&&a.absolute?this.set(ol.DeviceOrientationProperty.HEADING,b):goog.isDefAndNotNull(a.webkitCompassHeading)&&(goog.isDefAndNotNull(a.webkitCompassAccuracy)&&-1!=a.webkitCompassAccuracy)&&(b=goog.math.toRadians(a.webkitCompassHeading),this.set(ol.DeviceOrientationProperty.HEADING,
b))}goog.isDefAndNotNull(a.beta)&&this.set(ol.DeviceOrientationProperty.BETA,goog.math.toRadians(a.beta));goog.isDefAndNotNull(a.gamma)&&this.set(ol.DeviceOrientationProperty.GAMMA,goog.math.toRadians(a.gamma))};ol.DeviceOrientation.prototype.getAlpha=function(){return this.get(ol.DeviceOrientationProperty.ALPHA)};goog.exportProperty(ol.DeviceOrientation.prototype,"getAlpha",ol.DeviceOrientation.prototype.getAlpha);ol.DeviceOrientation.prototype.getBeta=function(){return this.get(ol.DeviceOrientationProperty.BETA)};
goog.exportProperty(ol.DeviceOrientation.prototype,"getBeta",ol.DeviceOrientation.prototype.getBeta);ol.DeviceOrientation.prototype.getGamma=function(){return this.get(ol.DeviceOrientationProperty.GAMMA)};goog.exportProperty(ol.DeviceOrientation.prototype,"getGamma",ol.DeviceOrientation.prototype.getGamma);ol.DeviceOrientation.prototype.getHeading=function(){return this.get(ol.DeviceOrientationProperty.HEADING)};goog.exportProperty(ol.DeviceOrientation.prototype,"getHeading",ol.DeviceOrientation.prototype.getHeading);
ol.DeviceOrientation.prototype.getTracking=function(){return this.get(ol.DeviceOrientationProperty.TRACKING)};goog.exportProperty(ol.DeviceOrientation.prototype,"getTracking",ol.DeviceOrientation.prototype.getTracking);
ol.DeviceOrientation.prototype.handleTrackingChanged_=function(){if(ol.DeviceOrientation.SUPPORTED){var a=this.getTracking();a&&goog.isNull(this.listenerKey_)?this.listenerKey_=goog.events.listen(window,"deviceorientation",this.orientationChange_,!1,this):a||goog.isNull(this.listenerKey_)||(goog.events.unlistenByKey(this.listenerKey_),this.listenerKey_=null)}};ol.DeviceOrientation.prototype.setTracking=function(a){this.set(ol.DeviceOrientationProperty.TRACKING,a)};
goog.exportProperty(ol.DeviceOrientation.prototype,"setTracking",ol.DeviceOrientation.prototype.setTracking);ol.Ellipsoid=function(a,b){this.a=a;this.flattening=b;this.b=this.a*(1-this.flattening);this.eSquared=2*b-b*b;this.e=Math.sqrt(this.eSquared)};
ol.Ellipsoid.prototype.vincenty=function(a,b,c,d){c=goog.isDef(c)?c:1E-12;var e=goog.isDef(d)?d:100,f=this.flattening,g=goog.math.toRadians(a[1]);d=goog.math.toRadians(b[1]);var h=goog.math.toRadians(b[0]-a[0]);b=Math.atan((1-f)*Math.tan(g));a=Math.cos(b);b=Math.sin(b);g=Math.atan((1-f)*Math.tan(d));d=Math.cos(g);var g=Math.sin(g),k=h,l,m,n;m=Infinity;for(var q,r,p;0<e;--e){n=Math.cos(k);q=Math.sin(k);r=d*q;p=a*g-b*d*n;p=Math.sqrt(r*r+p*p);if(0===p)return{distance:0,initialBearing:0,finalBearing:0};
n=b*g+a*d*n;r=Math.atan2(p,n);m=a*d*q/p;l=1-m*m;q=n-2*b*g/l;isNaN(q)&&(q=0);var s=f/16*l*(4+f*(4-3*l)),s=h+(1-s)*f*m*(r+s*p*(q+s*n*(2*q*q-1)));m=Math.abs(s-k);k=s;if(m<c)break}if(0===e)return{distance:NaN,finalBearing:NaN,initialBearing:NaN};c=this.b*this.b;f=l*(this.a*this.a-c)/c;c=1+f/16384*(4096+f*(f*(320-175*f)-768));f=f/1024*(256+f*(f*(74-47*f)-128));p=f*p*(q+f/4*(n*(2*q*q-1)-f/6*q*(4*p*p-3)*(4*q*q-3)));n=Math.cos(k);q=Math.sin(k);f=Math.atan2(d*q,a*g-b*d*n);a=Math.atan2(a*q,a*g*n-b*d);return{distance:this.b*
c*(r-p),initialBearing:goog.math.toDegrees(f),finalBearing:goog.math.toDegrees(a)}};ol.Ellipsoid.prototype.vincentyDistance=function(a,b,c,d){return this.vincenty(a,b,c,d).distance};ol.Ellipsoid.prototype.vincentyFinalBearing=function(a,b,c,d){return this.vincenty(a,b,c,d).finalBearing};ol.Ellipsoid.prototype.vincentyInitialBearing=function(a,b,c,d){return this.vincenty(a,b,c,d).initialBearing};ol.extent={};ol.extent.boundingExtent=function(a){var b=ol.extent.createEmpty(),c=a.length,d;for(d=0;d<c;++d)ol.extent.extendCoordinate(b,a[d]);return b};ol.extent.boundingExtentXYs_=function(a,b,c){var d=Math.min.apply(null,a);a=Math.max.apply(null,a);var e=Math.min.apply(null,b);b=Math.max.apply(null,b);return ol.extent.createOrUpdate(d,a,e,b,c)};ol.extent.containsCoordinate=function(a,b){return a[0]<=b[0]&&b[0]<=a[1]&&a[2]<=b[1]&&b[1]<=a[3]};
ol.extent.containsExtent=function(a,b){return a[0]<=b[0]&&b[1]<=a[1]&&a[2]<=b[2]&&b[3]<=a[3]};ol.extent.createEmpty=function(){return[Infinity,-Infinity,Infinity,-Infinity]};ol.extent.createOrUpdate=function(a,b,c,d,e){return goog.isDef(e)?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]};ol.extent.empty=function(a){a[0]=a[2]=Infinity;a[1]=a[3]=-Infinity;return a};ol.extent.equals=function(a,b){return a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]};
ol.extent.extend=function(a,b){b[0]<a[0]&&(a[0]=b[0]);b[1]>a[1]&&(a[1]=b[1]);b[2]<a[2]&&(a[2]=b[2]);b[3]>a[3]&&(a[3]=b[3])};ol.extent.extendCoordinate=function(a,b){b[0]<a[0]&&(a[0]=b[0]);b[0]>a[1]&&(a[1]=b[0]);b[1]<a[2]&&(a[2]=b[1]);b[1]>a[3]&&(a[3]=b[1])};ol.extent.getBottomLeft=function(a){return[a[0],a[2]]};ol.extent.getBottomRight=function(a){return[a[1],a[2]]};ol.extent.getCenter=function(a){return[(a[0]+a[1])/2,(a[2]+a[3])/2]};
ol.extent.getForView2DAndSize=function(a,b,c,d,e){var f=b*d[0]/2;d=b*d[1]/2;b=Math.cos(c);c=Math.sin(c);f=[-f,-f,f,f];d=[-d,d,-d,d];var g,h,k;for(g=0;4>g;++g)h=f[g],k=d[g],f[g]=a[0]+h*b-k*c,d[g]=a[1]+h*c+k*b;return ol.extent.boundingExtentXYs_(f,d,e)};ol.extent.getHeight=function(a){return a[3]-a[2]};ol.extent.getSize=function(a){return[a[1]-a[0],a[3]-a[2]]};ol.extent.getTopLeft=function(a){return[a[0],a[3]]};ol.extent.getTopRight=function(a){return[a[1],a[3]]};
ol.extent.getWidth=function(a){return a[1]-a[0]};ol.extent.intersects=function(a,b){return a[0]<=b[1]&&a[1]>=b[0]&&a[2]<=b[3]&&a[3]>=b[2]};ol.extent.isEmpty=function(a){return a[1]<a[0]||a[3]<a[2]};ol.extent.normalize=function(a,b){return[(b[0]-a[0])/(a[1]-a[0]),(b[1]-a[2])/(a[3]-a[2])]};ol.extent.scaleFromCenter=function(a,b){var c=(a[1]-a[0])/2*(b-1),d=(a[3]-a[2])/2*(b-1);a[0]-=c;a[1]+=c;a[2]-=d;a[3]+=d};ol.extent.toString=function(a){return"("+[a[0],a[1],a[2],a[3]].join(", ")+")"};
ol.extent.transform=function(a,b,c){a=[a[0],a[2],a[0],a[3],a[1],a[2],a[1],a[3]];b(a,a,2);return ol.extent.boundingExtentXYs_([a[0],a[2],a[4],a[6]],[a[1],a[3],a[5],a[7]],c)};ol.geom={};ol.geom.SharedVertices=function(a){a=a?a:{};this.coordinates=[];this.starts_=[];this.counts_=[];this.dimension_=a.dimension||2;this.offset_=a.offset||null};ol.geom.SharedVertices.prototype.add=function(a){for(var b=this.coordinates.length,c=this.offset_,d=this.dimension_,e=a.length,f,g,h=0;h<e;++h){f=a[h];g=b+h*d;for(var k=0;k<d;++k)this.coordinates[g+k]=f[k]-(c?c[k]:0)}a=this.starts_.push(b);this.counts_.push(e);return a-1};
ol.geom.SharedVertices.prototype.get=function(a,b,c){a=this.coordinates[this.starts_[a]+b*this.dimension_+c];this.offset_&&(a+=this.offset_[c]);return a};ol.geom.SharedVertices.prototype.getCount=function(a){return this.counts_[a]};ol.geom.SharedVertices.prototype.getCounts=function(){return this.counts_};ol.geom.SharedVertices.prototype.getDimension=function(){return this.dimension_};ol.geom.SharedVertices.prototype.getOffset=function(){return this.offset_};
ol.geom.SharedVertices.prototype.getStart=function(a){return this.starts_[a]};ol.geom.SharedVertices.prototype.getStarts=function(){return this.starts_};ol.geom.SharedVertices.prototype.set=function(a,b,c,d){a=this.starts_[a];this.offset_&&(d-=this.offset_[c]);this.coordinates[a+b*this.dimension_+c]=d};ol.geom.Geometry=function(){this.vertices=null};ol.geom.Geometry.prototype.clone=function(){var a=new this.constructor(this.getCoordinates());a.dimension=this.dimension;return a};ol.geom.Geometry.prototype.getSharedVertices=function(){return this.vertices};ol.geom.GeometryType={POINT:"point",LINESTRING:"linestring",LINEARRING:"linearring",POLYGON:"polygon",MULTIPOINT:"multipoint",MULTILINESTRING:"multilinestring",MULTIPOLYGON:"multipolygon",GEOMETRYCOLLECTION:"geometrycollection"};ol.layer={};ol.layer.VectorLayerRenderIntent={DEFAULT:"default",FUTURE:"future",HIDDEN:"hidden",SELECTED:"selected",TEMPORARY:"temporary"};ol.Feature=function(a){ol.Object.call(this,a);this.renderIntent=ol.layer.VectorLayerRenderIntent.DEFAULT;this.symbolizers_=null};goog.inherits(ol.Feature,ol.Object);ol.Feature.prototype.getAttributes=function(){var a=this.getKeys(),b=a.length,c={},d,e;for(d=0;d<b;++d)e=a[d],c[e]=this.get(e);return c};ol.Feature.prototype.getFeatureId=function(){return this.featureId_};ol.Feature.prototype.getGeometry=function(){return goog.isDef(this.geometryName_)?this.get(this.geometryName_):null};
ol.Feature.prototype.getSymbolizers=function(){return this.symbolizers_};ol.Feature.prototype.set=function(a,b){!goog.isDef(this.geometryName_)&&b instanceof ol.geom.Geometry&&(this.geometryName_=a);ol.Feature.superClass_.set.call(this,a,b)};ol.Feature.prototype.setFeatureId=function(a){this.featureId_=a};ol.Feature.prototype.setGeometry=function(a){goog.isDef(this.geometryName_)||(this.geometryName_=ol.Feature.DEFAULT_GEOMETRY);this.set(this.geometryName_,a)};
ol.Feature.prototype.setSymbolizers=function(a){this.symbolizers_=a};ol.Feature.DEFAULT_GEOMETRY="geometry";goog.vec={};goog.vec.Float32Array=function(a){this.length=a.length||a;for(var b=0;b<this.length;b++)this[b]=a[b]||0};goog.vec.Float32Array.BYTES_PER_ELEMENT=4;goog.vec.Float32Array.prototype.BYTES_PER_ELEMENT=4;goog.vec.Float32Array.prototype.set=function(a,b){b=b||0;for(var c=0;c<a.length&&b+c<this.length;c++)this[b+c]=a[c]};goog.vec.Float32Array.prototype.toString=Array.prototype.join;
"undefined"==typeof Float32Array&&(goog.exportProperty(goog.vec.Float32Array,"BYTES_PER_ELEMENT",goog.vec.Float32Array.BYTES_PER_ELEMENT),goog.exportProperty(goog.vec.Float32Array.prototype,"BYTES_PER_ELEMENT",goog.vec.Float32Array.prototype.BYTES_PER_ELEMENT),goog.exportProperty(goog.vec.Float32Array.prototype,"set",goog.vec.Float32Array.prototype.set),goog.exportProperty(goog.vec.Float32Array.prototype,"toString",goog.vec.Float32Array.prototype.toString),goog.exportSymbol("Float32Array",goog.vec.Float32Array));goog.vec.Float64Array=function(a){this.length=a.length||a;for(var b=0;b<this.length;b++)this[b]=a[b]||0};goog.vec.Float64Array.BYTES_PER_ELEMENT=8;goog.vec.Float64Array.prototype.BYTES_PER_ELEMENT=8;goog.vec.Float64Array.prototype.set=function(a,b){b=b||0;for(var c=0;c<a.length&&b+c<this.length;c++)this[b+c]=a[c]};goog.vec.Float64Array.prototype.toString=Array.prototype.join;
if("undefined"==typeof Float64Array){try{goog.exportProperty(goog.vec.Float64Array,"BYTES_PER_ELEMENT",goog.vec.Float64Array.BYTES_PER_ELEMENT)}catch(float64ArrayError){}goog.exportProperty(goog.vec.Float64Array.prototype,"BYTES_PER_ELEMENT",goog.vec.Float64Array.prototype.BYTES_PER_ELEMENT);goog.exportProperty(goog.vec.Float64Array.prototype,"set",goog.vec.Float64Array.prototype.set);goog.exportProperty(goog.vec.Float64Array.prototype,"toString",goog.vec.Float64Array.prototype.toString);goog.exportSymbol("Float64Array",
goog.vec.Float64Array)};goog.vec.EPSILON=1E-6;goog.vec.Vec3={};goog.vec.Vec3.createFloat32=function(){return new Float32Array(3)};goog.vec.Vec3.createFloat64=function(){return new Float64Array(3)};goog.vec.Vec3.createNumber=function(){var a=Array(3);goog.vec.Vec3.setFromValues(a,0,0,0);return a};goog.vec.Vec3.create=function(){return new Float32Array(3)};goog.vec.Vec3.createFloat32FromArray=function(a){var b=goog.vec.Vec3.createFloat32();goog.vec.Vec3.setFromArray(b,a);return b};
goog.vec.Vec3.createFloat32FromValues=function(a,b,c){var d=goog.vec.Vec3.createFloat32();goog.vec.Vec3.setFromValues(d,a,b,c);return d};goog.vec.Vec3.cloneFloat32=goog.vec.Vec3.createFloat32FromArray;goog.vec.Vec3.createFloat64FromArray=function(a){var b=goog.vec.Vec3.createFloat64();goog.vec.Vec3.setFromArray(b,a);return b};goog.vec.Vec3.createFloat64FromValues=function(a,b,c){var d=goog.vec.Vec3.createFloat64();goog.vec.Vec3.setFromValues(d,a,b,c);return d};goog.vec.Vec3.cloneFloat64=goog.vec.Vec3.createFloat64FromArray;
goog.vec.Vec3.createFromArray=function(a){var b=goog.vec.Vec3.create();goog.vec.Vec3.setFromArray(b,a);return b};goog.vec.Vec3.createFromValues=function(a,b,c){var d=goog.vec.Vec3.create();goog.vec.Vec3.setFromValues(d,a,b,c);return d};goog.vec.Vec3.clone=function(a){var b=goog.vec.Vec3.create();goog.vec.Vec3.setFromArray(b,a);return b};goog.vec.Vec3.setFromValues=function(a,b,c,d){a[0]=b;a[1]=c;a[2]=d;return a};goog.vec.Vec3.setFromArray=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a};
goog.vec.Vec3.add=function(a,b,c){c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c};goog.vec.Vec3.subtract=function(a,b,c){c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c};goog.vec.Vec3.negate=function(a,b){b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b};goog.vec.Vec3.scale=function(a,b,c){c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c};goog.vec.Vec3.magnitudeSquared=function(a){var b=a[0],c=a[1];a=a[2];return b*b+c*c+a*a};
goog.vec.Vec3.magnitude=function(a){var b=a[0],c=a[1];a=a[2];return Math.sqrt(b*b+c*c+a*a)};goog.vec.Vec3.normalize=function(a,b){var c=1/goog.vec.Vec3.magnitude(a);b[0]=a[0]*c;b[1]=a[1]*c;b[2]=a[2]*c;return b};goog.vec.Vec3.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]};goog.vec.Vec3.cross=function(a,b,c){var d=a[0],e=a[1];a=a[2];var f=b[0],g=b[1];b=b[2];c[0]=e*b-a*g;c[1]=a*f-d*b;c[2]=d*g-e*f;return c};
goog.vec.Vec3.distanceSquared=function(a,b){var c=a[0]-b[0],d=a[1]-b[1],e=a[2]-b[2];return c*c+d*d+e*e};goog.vec.Vec3.distance=function(a,b){return Math.sqrt(goog.vec.Vec3.distanceSquared(a,b))};goog.vec.Vec3.direction=function(a,b,c){var d=b[0]-a[0],e=b[1]-a[1];a=b[2]-a[2];(b=Math.sqrt(d*d+e*e+a*a))?(b=1/b,c[0]=d*b,c[1]=e*b,c[2]=a*b):c[0]=c[1]=c[2]=0;return c};goog.vec.Vec3.lerp=function(a,b,c,d){var e=a[0],f=a[1];a=a[2];d[0]=(b[0]-e)*c+e;d[1]=(b[1]-f)*c+f;d[2]=(b[2]-a)*c+a;return d};
goog.vec.Vec3.equals=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]};goog.vec.Vec4={};goog.vec.Vec4.createFloat32=function(){return new Float32Array(4)};goog.vec.Vec4.createFloat64=function(){return new Float64Array(4)};goog.vec.Vec4.createNumber=function(){var a=Array(4);goog.vec.Vec4.setFromValues(a,0,0,0,0);return a};goog.vec.Vec4.create=function(){return new Float32Array(4)};goog.vec.Vec4.createFromArray=function(a){var b=goog.vec.Vec4.create();goog.vec.Vec4.setFromArray(b,a);return b};
goog.vec.Vec4.createFloat32FromArray=function(a){var b=goog.vec.Vec4.createFloat32();goog.vec.Vec4.setFromArray(b,a);return b};goog.vec.Vec4.createFloat32FromValues=function(a,b,c,d){var e=goog.vec.Vec4.createFloat32();goog.vec.Vec4.setFromValues(e,a,b,c,d);return e};goog.vec.Vec4.cloneFloat32=goog.vec.Vec4.createFloat32FromArray;goog.vec.Vec4.createFloat64FromArray=function(a){var b=goog.vec.Vec4.createFloat64();goog.vec.Vec4.setFromArray(b,a);return b};
goog.vec.Vec4.createFloat64FromValues=function(a,b,c,d){var e=goog.vec.Vec4.createFloat64();goog.vec.Vec4.setFromValues(e,a,b,c,d);return e};goog.vec.Vec4.cloneFloat64=goog.vec.Vec4.createFloat64FromArray;goog.vec.Vec4.createFromValues=function(a,b,c,d){var e=goog.vec.Vec4.create();goog.vec.Vec4.setFromValues(e,a,b,c,d);return e};goog.vec.Vec4.clone=goog.vec.Vec4.createFromArray;goog.vec.Vec4.setFromValues=function(a,b,c,d,e){a[0]=b;a[1]=c;a[2]=d;a[3]=e;return a};
goog.vec.Vec4.setFromArray=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];return a};goog.vec.Vec4.add=function(a,b,c){c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];return c};goog.vec.Vec4.subtract=function(a,b,c){c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];return c};goog.vec.Vec4.negate=function(a,b){b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=-a[3];return b};goog.vec.Vec4.scale=function(a,b,c){c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;return c};
goog.vec.Vec4.magnitudeSquared=function(a){var b=a[0],c=a[1],d=a[2];a=a[3];return b*b+c*c+d*d+a*a};goog.vec.Vec4.magnitude=function(a){var b=a[0],c=a[1],d=a[2];a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)};goog.vec.Vec4.normalize=function(a,b){var c=1/goog.vec.Vec4.magnitude(a);b[0]=a[0]*c;b[1]=a[1]*c;b[2]=a[2]*c;b[3]=a[3]*c;return b};goog.vec.Vec4.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};
goog.vec.Vec4.lerp=function(a,b,c,d){var e=a[0],f=a[1],g=a[2];a=a[3];d[0]=(b[0]-e)*c+e;d[1]=(b[1]-f)*c+f;d[2]=(b[2]-g)*c+g;d[3]=(b[3]-a)*c+a;return d};goog.vec.Vec4.equals=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]};goog.vec.Mat4={};goog.vec.Mat4.createFloat32=function(){return new Float32Array(16)};goog.vec.Mat4.createFloat64=function(){return new Float64Array(16)};goog.vec.Mat4.createNumber=function(){var a=Array(16);goog.vec.Mat4.setFromValues(a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return a};goog.vec.Mat4.create=function(){return goog.vec.Mat4.createFloat32()};goog.vec.Mat4.createFloat32Identity=function(){var a=goog.vec.Mat4.createFloat32();a[0]=a[5]=a[10]=a[15]=1;return a};
goog.vec.Mat4.createFloat64Identity=function(){var a=goog.vec.Mat4.createFloat64();a[0]=a[5]=a[10]=a[15]=1;return a};goog.vec.Mat4.createNumberIdentity=function(){var a=Array(16);goog.vec.Mat4.setFromValues(a,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return a};goog.vec.Mat4.createIdentity=function(){return goog.vec.Mat4.createFloat32Identity()};goog.vec.Mat4.createFloat32FromArray=function(a){var b=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFloat32FromValues=function(a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s){var t=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromValues(t,a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s);return t};goog.vec.Mat4.cloneFloat32=goog.vec.Mat4.createFloat32FromArray;goog.vec.Mat4.createFloat64FromArray=function(a){var b=goog.vec.Mat4.createFloat64();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFloat64FromValues=function(a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s){var t=goog.vec.Mat4.createFloat64();goog.vec.Mat4.setFromValues(t,a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s);return t};goog.vec.Mat4.cloneFloat64=goog.vec.Mat4.createFloat64FromArray;goog.vec.Mat4.createFromArray=function(a){var b=goog.vec.Mat4.createFloat32();goog.vec.Mat4.setFromArray(b,a);return b};
goog.vec.Mat4.createFromValues=function(a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s){return goog.vec.Mat4.createFloat32FromValues(a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s)};goog.vec.Mat4.clone=goog.vec.Mat4.createFromArray;goog.vec.Mat4.getElement=function(a,b,c){return a[b+4*c]};goog.vec.Mat4.setElement=function(a,b,c,d){a[b+4*c]=d;return a};
goog.vec.Mat4.setFromValues=function(a,b,c,d,e,f,g,h,k,l,m,n,q,r,p,s,t){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;a[6]=h;a[7]=k;a[8]=l;a[9]=m;a[10]=n;a[11]=q;a[12]=r;a[13]=p;a[14]=s;a[15]=t;return a};goog.vec.Mat4.setFromArray=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a};
goog.vec.Mat4.setFromRowMajorArray=function(a,b){a[0]=b[0];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=b[1];a[5]=b[5];a[6]=b[9];a[7]=b[13];a[8]=b[2];a[9]=b[6];a[10]=b[10];a[11]=b[14];a[12]=b[3];a[13]=b[7];a[14]=b[11];a[15]=b[15];return a};goog.vec.Mat4.setDiagonalValues=function(a,b,c,d,e){a[0]=b;a[5]=c;a[10]=d;a[15]=e;return a};goog.vec.Mat4.setDiagonal=function(a,b){a[0]=b[0];a[5]=b[1];a[10]=b[2];a[15]=b[3];return a};
goog.vec.Mat4.getDiagonal=function(a,b,c){if(c)for(var d=0<c?4*c:-c,e=0;e<4-Math.abs(c);e++)b[e]=a[d+5*e];else b[0]=a[0],b[1]=a[5],b[2]=a[10],b[3]=a[15];return b};goog.vec.Mat4.setColumnValues=function(a,b,c,d,e,f){b*=4;a[b]=c;a[b+1]=d;a[b+2]=e;a[b+3]=f;return a};goog.vec.Mat4.setColumn=function(a,b,c){b*=4;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];return a};goog.vec.Mat4.getColumn=function(a,b,c){b*=4;c[0]=a[b];c[1]=a[b+1];c[2]=a[b+2];c[3]=a[b+3];return c};
goog.vec.Mat4.setColumns=function(a,b,c,d,e){goog.vec.Mat4.setColumn(a,0,b);goog.vec.Mat4.setColumn(a,1,c);goog.vec.Mat4.setColumn(a,2,d);goog.vec.Mat4.setColumn(a,3,e);return a};goog.vec.Mat4.getColumns=function(a,b,c,d,e){goog.vec.Mat4.getColumn(a,0,b);goog.vec.Mat4.getColumn(a,1,c);goog.vec.Mat4.getColumn(a,2,d);goog.vec.Mat4.getColumn(a,3,e)};goog.vec.Mat4.setRowValues=function(a,b,c,d,e,f){a[b]=c;a[b+4]=d;a[b+8]=e;a[b+12]=f;return a};
goog.vec.Mat4.setRow=function(a,b,c){a[b]=c[0];a[b+4]=c[1];a[b+8]=c[2];a[b+12]=c[3];return a};goog.vec.Mat4.getRow=function(a,b,c){c[0]=a[b];c[1]=a[b+4];c[2]=a[b+8];c[3]=a[b+12];return c};goog.vec.Mat4.setRows=function(a,b,c,d,e){goog.vec.Mat4.setRow(a,0,b);goog.vec.Mat4.setRow(a,1,c);goog.vec.Mat4.setRow(a,2,d);goog.vec.Mat4.setRow(a,3,e);return a};
goog.vec.Mat4.getRows=function(a,b,c,d,e){goog.vec.Mat4.getRow(a,0,b);goog.vec.Mat4.getRow(a,1,c);goog.vec.Mat4.getRow(a,2,d);goog.vec.Mat4.getRow(a,3,e)};goog.vec.Mat4.makeZero=function(a){a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=0;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=0;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=0;return a};goog.vec.Mat4.makeIdentity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};
goog.vec.Mat4.addMat=function(a,b,c){c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];c[3]=a[3]+b[3];c[4]=a[4]+b[4];c[5]=a[5]+b[5];c[6]=a[6]+b[6];c[7]=a[7]+b[7];c[8]=a[8]+b[8];c[9]=a[9]+b[9];c[10]=a[10]+b[10];c[11]=a[11]+b[11];c[12]=a[12]+b[12];c[13]=a[13]+b[13];c[14]=a[14]+b[14];c[15]=a[15]+b[15];return c};
goog.vec.Mat4.subMat=function(a,b,c){c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];c[3]=a[3]-b[3];c[4]=a[4]-b[4];c[5]=a[5]-b[5];c[6]=a[6]-b[6];c[7]=a[7]-b[7];c[8]=a[8]-b[8];c[9]=a[9]-b[9];c[10]=a[10]-b[10];c[11]=a[11]-b[11];c[12]=a[12]-b[12];c[13]=a[13]-b[13];c[14]=a[14]-b[14];c[15]=a[15]-b[15];return c};
goog.vec.Mat4.multScalar=function(a,b,c){c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;c[3]=a[3]*b;c[4]=a[4]*b;c[5]=a[5]*b;c[6]=a[6]*b;c[7]=a[7]*b;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12]*b;c[13]=a[13]*b;c[14]=a[14]*b;c[15]=a[15]*b;return c};
goog.vec.Mat4.multMat=function(a,b,c){var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],k=a[5],l=a[6],m=a[7],n=a[8],q=a[9],r=a[10],p=a[11],s=a[12],t=a[13],u=a[14];a=a[15];var w=b[0],v=b[1],B=b[2],z=b[3],F=b[4],A=b[5],x=b[6],y=b[7],C=b[8],D=b[9],G=b[10],E=b[11],H=b[12],J=b[13],I=b[14];b=b[15];c[0]=d*w+h*v+n*B+s*z;c[1]=e*w+k*v+q*B+t*z;c[2]=f*w+l*v+r*B+u*z;c[3]=g*w+m*v+p*B+a*z;c[4]=d*F+h*A+n*x+s*y;c[5]=e*F+k*A+q*x+t*y;c[6]=f*F+l*A+r*x+u*y;c[7]=g*F+m*A+p*x+a*y;c[8]=d*C+h*D+n*G+s*E;c[9]=e*C+k*D+q*G+t*E;c[10]=f*C+
l*D+r*G+u*E;c[11]=g*C+m*D+p*G+a*E;c[12]=d*H+h*J+n*I+s*b;c[13]=e*H+k*J+q*I+t*b;c[14]=f*H+l*J+r*I+u*b;c[15]=g*H+m*J+p*I+a*b;return c};
goog.vec.Mat4.transpose=function(a,b){if(b==a){var c=a[1],d=a[2],e=a[3],f=a[6],g=a[7],h=a[11];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=c;b[6]=a[9];b[7]=a[13];b[8]=d;b[9]=f;b[11]=a[14];b[12]=e;b[13]=g;b[14]=h}else b[0]=a[0],b[1]=a[4],b[2]=a[8],b[3]=a[12],b[4]=a[1],b[5]=a[5],b[6]=a[9],b[7]=a[13],b[8]=a[2],b[9]=a[6],b[10]=a[10],b[11]=a[14],b[12]=a[3],b[13]=a[7],b[14]=a[11],b[15]=a[15];return b};
goog.vec.Mat4.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],k=a[7],l=a[8],m=a[9],n=a[10],q=a[11],r=a[12],p=a[13],s=a[14];a=a[15];return(b*g-c*f)*(n*a-q*s)-(b*h-d*f)*(m*a-q*p)+(b*k-e*f)*(m*s-n*p)+(c*h-d*g)*(l*a-q*r)-(c*k-e*g)*(l*s-n*r)+(d*k-e*h)*(l*p-m*r)};
goog.vec.Mat4.invert=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],k=a[6],l=a[7],m=a[8],n=a[9],q=a[10],r=a[11],p=a[12],s=a[13],t=a[14],u=a[15],w=c*h-d*g,v=c*k-e*g,B=c*l-f*g,z=d*k-e*h,F=d*l-f*h,A=e*l-f*k,x=m*s-n*p,y=m*t-q*p,C=m*u-r*p,D=n*t-q*s,G=n*u-r*s,E=q*u-r*t,H=w*E-v*G+B*D+z*C-F*y+A*x;if(0==H)return!1;H=1/H;b[0]=(h*E-k*G+l*D)*H;b[1]=(-d*E+e*G-f*D)*H;b[2]=(s*A-t*F+u*z)*H;b[3]=(-n*A+q*F-r*z)*H;b[4]=(-g*E+k*C-l*y)*H;b[5]=(c*E-e*C+f*y)*H;b[6]=(-p*A+t*B-u*v)*H;b[7]=(m*A-q*B+r*v)*H;b[8]=
(g*G-h*C+l*x)*H;b[9]=(-c*G+d*C-f*x)*H;b[10]=(p*F-s*B+u*w)*H;b[11]=(-m*F+n*B-r*w)*H;b[12]=(-g*D+h*y-k*x)*H;b[13]=(c*D-d*y+e*x)*H;b[14]=(-p*z+s*v-t*w)*H;b[15]=(m*z-n*v+q*w)*H;return!0};goog.vec.Mat4.equals=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]&&a[6]==b[6]&&a[7]==b[7]&&a[8]==b[8]&&a[9]==b[9]&&a[10]==b[10]&&a[11]==b[11]&&a[12]==b[12]&&a[13]==b[13]&&a[14]==b[14]&&a[15]==b[15]};
goog.vec.Mat4.multVec3=function(a,b,c){var d=b[0],e=b[1];b=b[2];c[0]=d*a[0]+e*a[4]+b*a[8]+a[12];c[1]=d*a[1]+e*a[5]+b*a[9]+a[13];c[2]=d*a[2]+e*a[6]+b*a[10]+a[14];return c};goog.vec.Mat4.multVec3NoTranslate=function(a,b,c){var d=b[0],e=b[1];b=b[2];c[0]=d*a[0]+e*a[4]+b*a[8];c[1]=d*a[1]+e*a[5]+b*a[9];c[2]=d*a[2]+e*a[6]+b*a[10];return c};
goog.vec.Mat4.multVec3Projective=function(a,b,c){var d=b[0],e=b[1];b=b[2];var f=1/(d*a[3]+e*a[7]+b*a[11]+a[15]);c[0]=(d*a[0]+e*a[4]+b*a[8]+a[12])*f;c[1]=(d*a[1]+e*a[5]+b*a[9]+a[13])*f;c[2]=(d*a[2]+e*a[6]+b*a[10]+a[14])*f;return c};goog.vec.Mat4.multVec4=function(a,b,c){var d=b[0],e=b[1],f=b[2];b=b[3];c[0]=d*a[0]+e*a[4]+f*a[8]+b*a[12];c[1]=d*a[1]+e*a[5]+f*a[9]+b*a[13];c[2]=d*a[2]+e*a[6]+f*a[10]+b*a[14];c[3]=d*a[3]+e*a[7]+f*a[11]+b*a[15];return c};
goog.vec.Mat4.makeTranslate=function(a,b,c,d){goog.vec.Mat4.makeIdentity(a);return goog.vec.Mat4.setColumnValues(a,3,b,c,d,1)};goog.vec.Mat4.makeScale=function(a,b,c,d){goog.vec.Mat4.makeIdentity(a);return goog.vec.Mat4.setDiagonalValues(a,b,c,d,1)};goog.vec.Mat4.makeRotate=function(a,b,c,d,e){var f=Math.cos(b),g=1-f;b=Math.sin(b);return goog.vec.Mat4.setFromValues(a,c*c*g+f,c*d*g+e*b,c*e*g-d*b,0,c*d*g-e*b,d*d*g+f,d*e*g+c*b,0,c*e*g+d*b,d*e*g-c*b,e*e*g+f,0,0,0,0,1)};
goog.vec.Mat4.makeRotateX=function(a,b){var c=Math.cos(b),d=Math.sin(b);return goog.vec.Mat4.setFromValues(a,1,0,0,0,0,c,d,0,0,-d,c,0,0,0,0,1)};goog.vec.Mat4.makeRotateY=function(a,b){var c=Math.cos(b),d=Math.sin(b);return goog.vec.Mat4.setFromValues(a,c,0,-d,0,0,1,0,0,d,0,c,0,0,0,0,1)};goog.vec.Mat4.makeRotateZ=function(a,b){var c=Math.cos(b),d=Math.sin(b);return goog.vec.Mat4.setFromValues(a,c,d,0,0,-d,c,0,0,0,0,1,0,0,0,0,1)};
goog.vec.Mat4.makeFrustum=function(a,b,c,d,e,f,g){return goog.vec.Mat4.setFromValues(a,2*f/(c-b),0,0,0,0,2*f/(e-d),0,0,(c+b)/(c-b),(e+d)/(e-d),-(g+f)/(g-f),-1,0,0,-(2*g*f)/(g-f),0)};goog.vec.Mat4.makePerspective=function(a,b,c,d,e){var f=b/2;b=e-d;var g=Math.sin(f);if(0==b||0==g||0==c)return a;f=Math.cos(f)/g;return goog.vec.Mat4.setFromValues(a,f/c,0,0,0,0,f,0,0,0,0,-(e+d)/b,-1,0,0,-(2*d*e)/b,0)};
goog.vec.Mat4.makeOrtho=function(a,b,c,d,e,f,g){return goog.vec.Mat4.setFromValues(a,2/(c-b),0,0,0,0,2/(e-d),0,0,0,0,-2/(g-f),0,-(c+b)/(c-b),-(e+d)/(e-d),-(g+f)/(g-f),1)};
goog.vec.Mat4.makeLookAt=function(a,b,c,d){var e=goog.vec.Mat4.tmpVec4_[0];goog.vec.Vec3.subtract(c,b,e);goog.vec.Vec3.normalize(e,e);e[3]=0;c=goog.vec.Mat4.tmpVec4_[1];goog.vec.Vec3.cross(e,d,c);goog.vec.Vec3.normalize(c,c);c[3]=0;d=goog.vec.Mat4.tmpVec4_[2];goog.vec.Vec3.cross(c,e,d);goog.vec.Vec3.normalize(d,d);d[3]=0;goog.vec.Vec3.negate(e,e);goog.vec.Mat4.setRow(a,0,c);goog.vec.Mat4.setRow(a,1,d);goog.vec.Mat4.setRow(a,2,e);goog.vec.Mat4.setRowValues(a,3,0,0,0,1);goog.vec.Mat4.translate(a,-b[0],
-b[1],-b[2]);return a};goog.vec.Mat4.toLookAt=function(a,b,c,d){var e=goog.vec.Mat4.tmpMat4_[0];if(!goog.vec.Mat4.invert(a,e))return!1;b&&(b[0]=e[12],b[1]=e[13],b[2]=e[14]);if(c||d)c||(c=goog.vec.Mat4.tmpVec3_[0]),c[0]=-a[2],c[1]=-a[6],c[2]=-a[10],goog.vec.Vec3.normalize(c,c);d&&(b=goog.vec.Mat4.tmpVec3_[1],b[0]=a[0],b[1]=a[4],b[2]=a[8],goog.vec.Vec3.cross(b,c,d),goog.vec.Vec3.normalize(d,d));return!0};
goog.vec.Mat4.makeEulerZXZ=function(a,b,c,d){var e=Math.cos(b);b=Math.sin(b);var f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);a[0]=e*g-f*b*d;a[1]=f*e*d+g*b;a[2]=d*c;a[3]=0;a[4]=-e*d-g*f*b;a[5]=e*f*g-b*d;a[6]=g*c;a[7]=0;a[8]=c*b;a[9]=-e*c;a[10]=f;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a};
goog.vec.Mat4.toEulerZXZ=function(a,b,c){var d=Math.sqrt(a[2]*a[2]+a[6]*a[6]);c=c?-1:1;d>goog.vec.EPSILON?(b[2]=Math.atan2(a[2]*c,a[6]*c),b[1]=Math.atan2(d*c,a[10]),b[0]=Math.atan2(a[8]*c,-a[9]*c)):(b[0]=0,b[1]=Math.atan2(d*c,a[10]),b[2]=Math.atan2(a[1],a[0]));b[0]=(b[0]+2*Math.PI)%(2*Math.PI);b[2]=(b[2]+2*Math.PI)%(2*Math.PI);b[1]=(b[1]*c+2*Math.PI)%(2*Math.PI)*c;return b};
goog.vec.Mat4.translate=function(a,b,c,d){return goog.vec.Mat4.setColumnValues(a,3,a[0]*b+a[4]*c+a[8]*d+a[12],a[1]*b+a[5]*c+a[9]*d+a[13],a[2]*b+a[6]*c+a[10]*d+a[14],a[3]*b+a[7]*c+a[11]*d+a[15])};goog.vec.Mat4.scale=function(a,b,c,d){return goog.vec.Mat4.setFromValues(a,a[0]*b,a[1]*b,a[2]*b,a[3]*b,a[4]*c,a[5]*c,a[6]*c,a[7]*c,a[8]*d,a[9]*d,a[10]*d,a[11]*d,a[12],a[13],a[14],a[15])};
goog.vec.Mat4.rotate=function(a,b,c,d,e){var f=a[0],g=a[1],h=a[2],k=a[3],l=a[4],m=a[5],n=a[6],q=a[7],r=a[8],p=a[9],s=a[10],t=a[11],u=a[12],w=a[13],v=a[14],B=a[15],z=Math.cos(b),F=Math.sin(b),A=1-z;b=c*c*A+z;var x=c*d*A+e*F,y=c*e*A-d*F,C=c*d*A-e*F,D=d*d*A+z,G=d*e*A+c*F,E=c*e*A+d*F;c=d*e*A-c*F;e=e*e*A+z;return goog.vec.Mat4.setFromValues(a,f*b+l*x+r*y,g*b+m*x+p*y,h*b+n*x+s*y,k*b+q*x+t*y,f*C+l*D+r*G,g*C+m*D+p*G,h*C+n*D+s*G,k*C+q*D+t*G,f*E+l*c+r*e,g*E+m*c+p*e,h*E+n*c+s*e,k*E+q*c+t*e,u,w,v,B)};
goog.vec.Mat4.rotateX=function(a,b){var c=a[4],d=a[5],e=a[6],f=a[7],g=a[8],h=a[9],k=a[10],l=a[11],m=Math.cos(b),n=Math.sin(b);a[4]=c*m+g*n;a[5]=d*m+h*n;a[6]=e*m+k*n;a[7]=f*m+l*n;a[8]=c*-n+g*m;a[9]=d*-n+h*m;a[10]=e*-n+k*m;a[11]=f*-n+l*m;return a};goog.vec.Mat4.rotateY=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[8],h=a[9],k=a[10],l=a[11],m=Math.cos(b),n=Math.sin(b);a[0]=c*m+g*-n;a[1]=d*m+h*-n;a[2]=e*m+k*-n;a[3]=f*m+l*-n;a[8]=c*n+g*m;a[9]=d*n+h*m;a[10]=e*n+k*m;a[11]=f*n+l*m;return a};
goog.vec.Mat4.rotateZ=function(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],k=a[6],l=a[7],m=Math.cos(b),n=Math.sin(b);a[0]=c*m+g*n;a[1]=d*m+h*n;a[2]=e*m+k*n;a[3]=f*m+l*n;a[4]=c*-n+g*m;a[5]=d*-n+h*m;a[6]=e*-n+k*m;a[7]=f*-n+l*m;return a};goog.vec.Mat4.getTranslation=function(a,b){b[0]=a[12];b[1]=a[13];b[2]=a[14];return b};goog.vec.Mat4.tmpVec3_=[goog.vec.Vec3.createFloat64(),goog.vec.Vec3.createFloat64()];goog.vec.Mat4.tmpVec4_=[goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64(),goog.vec.Vec4.createFloat64()];
goog.vec.Mat4.tmpMat4_=[goog.vec.Mat4.createFloat64()];ol.TileState={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};ol.Tile=function(a,b){goog.events.EventTarget.call(this);this.tileCoord=a;this.state=b};goog.inherits(ol.Tile,goog.events.EventTarget);ol.Tile.prototype.dispatchChangeEvent=function(){this.dispatchEvent(goog.events.EventType.CHANGE)};ol.Tile.prototype.getKey=function(){return goog.getUid(this).toString()};ol.Tile.prototype.getState=function(){return this.state};ol.structs={};ol.structs.PriorityQueue=function(a,b){this.priorityFunction_=a;this.keyFunction_=b;this.elements_=[];this.priorities_=[];this.queuedElements_={}};ol.structs.PriorityQueue.DROP=Infinity;ol.structs.PriorityQueue.prototype.assertValid=function(){var a=this.elements_.length,b;for(b=0;b<(a>>1)-1;++b);};ol.structs.PriorityQueue.prototype.clear=function(){this.elements_.length=0;this.priorities_.length=0;goog.object.clear(this.queuedElements_)};
ol.structs.PriorityQueue.prototype.dequeue=function(){var a=this.elements_,b=this.priorities_,c=a[0];1==a.length?(a.length=0,b.length=0):(a[0]=a.pop(),b[0]=b.pop(),this.siftUp_(0));a=this.keyFunction_(c);delete this.queuedElements_[a];return c};ol.structs.PriorityQueue.prototype.enqueue=function(a){var b=this.priorityFunction_(a);b!=ol.structs.PriorityQueue.DROP&&(this.elements_.push(a),this.priorities_.push(b),this.queuedElements_[this.keyFunction_(a)]=!0,this.siftDown_(0,this.elements_.length-1))};
ol.structs.PriorityQueue.prototype.getCount=function(){return this.elements_.length};ol.structs.PriorityQueue.prototype.getLeftChildIndex_=function(a){return 2*a+1};ol.structs.PriorityQueue.prototype.getRightChildIndex_=function(a){return 2*a+2};ol.structs.PriorityQueue.prototype.getParentIndex_=function(a){return a-1>>1};ol.structs.PriorityQueue.prototype.heapify_=function(){var a;for(a=(this.elements_.length>>1)-1;0<=a;a--)this.siftUp_(a)};
ol.structs.PriorityQueue.prototype.isEmpty=function(){return 0===this.elements_.length};ol.structs.PriorityQueue.prototype.isKeyQueued=function(a){return a in this.queuedElements_};ol.structs.PriorityQueue.prototype.isQueued=function(a){return this.isKeyQueued(this.keyFunction_(a))};
ol.structs.PriorityQueue.prototype.siftUp_=function(a){for(var b=this.elements_,c=this.priorities_,d=b.length,e=b[a],f=c[a],g=a;a<d>>1;){var h=this.getLeftChildIndex_(a),k=this.getRightChildIndex_(a),h=k<d&&c[k]<c[h]?k:h;b[a]=b[h];c[a]=c[h];a=h}b[a]=e;c[a]=f;this.siftDown_(g,a)};ol.structs.PriorityQueue.prototype.siftDown_=function(a,b){for(var c=this.elements_,d=this.priorities_,e=c[b],f=d[b];b>a;){var g=this.getParentIndex_(b);if(d[g]>f)c[b]=c[g],d[b]=d[g],b=g;else break}c[b]=e;d[b]=f};
ol.structs.PriorityQueue.prototype.reprioritize=function(){var a=this.priorityFunction_,b=this.elements_,c=this.priorities_,d=0,e=b.length,f,g,h;for(g=0;g<e;++g)f=b[g],h=a(f),h==ol.structs.PriorityQueue.DROP?delete this.queuedElements_[this.keyFunction_(f)]:(c[d]=h,b[d++]=f);b.length=d;c.length=d;this.heapify_()};ol.TileQueue=function(a,b){ol.structs.PriorityQueue.call(this,function(b){return a.apply(null,b)},function(a){return a[0].getKey()});this.tileChangeCallback_=b;this.tilesLoading_=0};goog.inherits(ol.TileQueue,ol.structs.PriorityQueue);ol.TileQueue.prototype.getTilesLoading=function(){return this.tilesLoading_};ol.TileQueue.prototype.handleTileChange=function(){--this.tilesLoading_;this.tileChangeCallback_()};
ol.TileQueue.prototype.loadMoreTiles=function(a,b){var c=Math.min(a-this.getTilesLoading(),b,this.getCount()),d,e;for(d=0;d<c;++d)e=this.dequeue()[0],goog.events.listenOnce(e,goog.events.EventType.CHANGE,this.handleTileChange,!1,this),e.load();this.tilesLoading_+=c};/*
Latitude/longitude spherical geodesy formulae taken from
http://www.movable-type.co.uk/scripts/latlong.html
Licenced under CC-BY-3.0.
*/
ol.Sphere=function(a){this.radius=a};ol.Sphere.prototype.cosineDistance=function(a,b){var c=goog.math.toRadians(a[1]),d=goog.math.toRadians(b[1]),e=goog.math.toRadians(b[0]-a[0]);return this.radius*Math.acos(Math.sin(c)*Math.sin(d)+Math.cos(c)*Math.cos(d)*Math.cos(e))};
ol.Sphere.prototype.crossTrackDistance=function(a,b,c){var d=this.cosineDistance(a,b);b=goog.math.toRadians(this.initialBearing(a,b));a=goog.math.toRadians(this.initialBearing(a,c));return this.radius*Math.asin(Math.sin(d/this.radius)*Math.sin(a-b))};ol.Sphere.prototype.equirectangularDistance=function(a,b){var c=goog.math.toRadians(a[1]),d=goog.math.toRadians(b[1]),e=goog.math.toRadians(b[0]-a[0])*Math.cos((c+d)/2),c=d-c;return this.radius*Math.sqrt(e*e+c*c)};
ol.Sphere.prototype.finalBearing=function(a,b){return(this.initialBearing(b,a)+180)%360};ol.Sphere.prototype.haversineDistance=function(a,b){var c=goog.math.toRadians(a[1]),d=goog.math.toRadians(b[1]),e=(d-c)/2,f=goog.math.toRadians(b[0]-a[0])/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*this.radius*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};
ol.Sphere.prototype.initialBearing=function(a,b){var c=goog.math.toRadians(a[1]),d=goog.math.toRadians(b[1]),e=goog.math.toRadians(b[0]-a[0]),f=Math.sin(e)*Math.cos(d),c=Math.cos(c)*Math.sin(d)-Math.sin(c)*Math.cos(d)*Math.cos(e);return goog.math.toDegrees(Math.atan2(f,c))};ol.Sphere.prototype.maximumLatitude=function(a,b){return Math.cos(Math.abs(Math.sin(goog.math.toRadians(a))*Math.cos(goog.math.toRadians(b))))};
ol.Sphere.prototype.midpoint=function(a,b){var c=goog.math.toRadians(a[1]),d=goog.math.toRadians(b[1]),e=goog.math.toRadians(a[0]),f=goog.math.toRadians(b[0]-a[0]),g=Math.cos(d)*Math.cos(f),f=Math.cos(d)*Math.sin(f),g=Math.cos(c)+g,c=Math.atan2(Math.sin(c)+Math.sin(d),Math.sqrt(g*g+f*f)),e=e+Math.atan2(f,g);return[goog.math.toDegrees(e),goog.math.toDegrees(c)]};
ol.Sphere.prototype.offset=function(a,b,c){var d=goog.math.toRadians(a[1]);a=goog.math.toRadians(a[0]);var e=b/this.radius;b=Math.asin(Math.sin(d)*Math.cos(e)+Math.cos(d)*Math.sin(e)*Math.cos(c));c=a+Math.atan2(Math.sin(c)*Math.sin(e)*Math.cos(d),Math.cos(e)-Math.sin(d)*Math.sin(b));return[goog.math.toDegrees(c),goog.math.toDegrees(b)]};ol.sphere={};ol.sphere.NORMAL=new ol.Sphere(6370997);ol.proj={};ol.ENABLE_PROJ4JS=!0;ol.HAVE_PROJ4JS=ol.ENABLE_PROJ4JS&&"object"==typeof Proj4js;ol.ProjectionUnits={DEGREES:"degrees",FEET:"ft",METERS:"m"};ol.METERS_PER_UNIT={};ol.METERS_PER_UNIT[ol.ProjectionUnits.DEGREES]=2*Math.PI*ol.sphere.NORMAL.radius/360;ol.METERS_PER_UNIT[ol.ProjectionUnits.FEET]=0.3048;ol.METERS_PER_UNIT[ol.ProjectionUnits.METERS]=1;
ol.Projection=function(a){this.code_=a.code;this.units_=a.units;this.extent_=goog.isDef(a.extent)?a.extent:null;this.axisOrientation_=goog.isDef(a.axisOrientation)?a.axisOrientation:"enu";this.global_=goog.isDef(a.global)?a.global:!1;this.defaultTileGrid_=null};ol.Projection.prototype.getCode=function(){return this.code_};ol.Projection.prototype.getExtent=function(){return this.extent_};ol.Projection.prototype.getUnits=function(){return this.units_};ol.Projection.prototype.getMetersPerUnit=function(){return ol.METERS_PER_UNIT[this.units_]};
ol.Projection.prototype.getAxisOrientation=function(){return this.axisOrientation_};ol.Projection.prototype.isGlobal=function(){return this.global_};ol.Projection.prototype.getDefaultTileGrid=function(){return this.defaultTileGrid_};ol.Projection.prototype.setDefaultTileGrid=function(a){this.defaultTileGrid_=a};ol.Proj4jsProjection_=function(a,b){var c={units:a.units,axisOrientation:a.axis};goog.object.extend(c,b);ol.Projection.call(this,c);this.proj4jsProj_=a;this.toEPSG4326_=null};
goog.inherits(ol.Proj4jsProjection_,ol.Projection);ol.Proj4jsProjection_.prototype.getMetersPerUnit=function(){var a=this.proj4jsProj_.to_meter;goog.isDef(a)||(a=ol.METERS_PER_UNIT[this.units_]);return a};
ol.Proj4jsProjection_.prototype.getPointResolution=function(a,b){if(this.getUnits()==ol.ProjectionUnits.DEGREES)return a;goog.isNull(this.toEPSG4326_)&&(this.toEPSG4326_=ol.proj.getTransformFromProjections(this,ol.proj.getProj4jsProjectionFromCode_({code:"EPSG:4326",extent:null})));var c=[b[0]-a/2,b[1],b[0]+a/2,b[1],b[0],b[1]-a/2,b[0],b[1]+a/2],c=this.toEPSG4326_(c,c,2),d=ol.sphere.NORMAL.haversineDistance(c.slice(0,2),c.slice(2,4)),c=ol.sphere.NORMAL.haversineDistance(c.slice(4,6),c.slice(6,8)),
d=(d+c)/2;this.getUnits()==ol.ProjectionUnits.FEET&&(d/=0.3048);return d};ol.Proj4jsProjection_.prototype.getProj4jsProj=function(){return this.proj4jsProj_};ol.proj.proj4jsProjections_={};ol.proj.projections_={};ol.proj.transforms_={};ol.proj.addEquivalentProjections=function(a){ol.proj.addProjections(a);goog.array.forEach(a,function(b){goog.array.forEach(a,function(a){b!==a&&ol.proj.addTransform(b,a,ol.proj.cloneTransform)})})};
ol.proj.addEquivalentTransforms=function(a,b,c,d){goog.array.forEach(a,function(a){goog.array.forEach(b,function(b){ol.proj.addTransform(a,b,c);ol.proj.addTransform(b,a,d)})})};ol.proj.addProj4jsProjection_=function(a){var b=ol.proj.proj4jsProjections_,c=a.getCode();b[c]=a};ol.proj.addProjection=function(a){var b=ol.proj.projections_,c=a.getCode();b[c]=a;ol.proj.addTransform(a,a,ol.proj.cloneTransform)};ol.proj.addProjections=function(a){goog.array.forEach(a,function(a){ol.proj.addProjection(a)})};
ol.proj.clearAllProjections=function(){ol.ENABLE_PROJ4JS&&(ol.proj.proj4jsProjections_={});ol.proj.projections_={};ol.proj.transforms_={}};ol.proj.createProjection=function(a,b){return goog.isDefAndNotNull(a)?goog.isString(a)?ol.proj.get(a):a:ol.proj.get(b)};ol.proj.addTransform=function(a,b,c){a=a.getCode();b=b.getCode();var d=ol.proj.transforms_;goog.object.containsKey(d,a)||(d[a]={});d[a][b]=c};
ol.proj.removeTransform=function(a,b){var c=a.getCode(),d=b.getCode(),e=ol.proj.transforms_,f=e[c][d];delete e[c][d];0===goog.object.getKeys(e[c]).length&&delete e[c];return f};ol.proj.get=function(a){var b;a instanceof ol.Projection?b=a:goog.isString(a)?(b=ol.proj.projections_[a],ol.HAVE_PROJ4JS&&!goog.isDef(b)&&(b=ol.proj.getProj4jsProjectionFromCode_({code:a,extent:null})),goog.isDef(b)||(b=null)):b=null;return b};
ol.proj.getProj4jsProjectionFromCode_=function(a){var b=a.code,c=ol.proj.proj4jsProjections_,d=c[b];if(!goog.isDef(d)){var e=new Proj4js.Proj(b),f=e.srsCode,d=c[f];goog.isDef(d)||(a=goog.object.clone(a),a.code=f,d=new ol.Proj4jsProjection_(e,a),c[f]=d);c[b]=d}return d};ol.proj.equivalent=function(a,b){return a===b?!0:a.getUnits()!=b.getUnits()?!1:ol.proj.getTransformFromProjections(a,b)===ol.proj.cloneTransform};
ol.proj.getTransform=function(a,b){var c=ol.proj.get(a),d=ol.proj.get(b);return ol.proj.getTransformFromProjections(c,d)};
ol.proj.getTransformFromProjections=function(a,b){var c=ol.proj.transforms_,d=a.getCode(),e=b.getCode(),f;goog.object.containsKey(c,d)&&goog.object.containsKey(c[d],e)&&(f=c[d][e]);if(ol.HAVE_PROJ4JS&&!goog.isDef(f)){var g=(a instanceof ol.Proj4jsProjection_?a:ol.proj.getProj4jsProjectionFromCode_({code:d,extent:null})).getProj4jsProj(),h=(b instanceof ol.Proj4jsProjection_?b:ol.proj.getProj4jsProjectionFromCode_({code:e,extent:null})).getProj4jsProj();f=function(a,b,c){var d=a.length;c=1<c?c:2;goog.isDef(b)||
(b=2<c?a.slice():Array(d));for(var e,f=0;f<d;f+=c)e=new Proj4js.Point(a[f],a[f+1]),e=Proj4js.transform(g,h,e),b[f]=e.x,b[f+1]=e.y;return b};ol.proj.addTransform(a,b,f)}goog.isDef(f)||(f=ol.proj.identityTransform);return f};ol.proj.identityTransform=function(a,b,c){if(goog.isDef(b)&&a!==b){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];a=b}return a};ol.proj.cloneTransform=function(a,b,c){if(goog.isDef(b)){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];a=b}else a=a.slice();return a};
ol.proj.transform=function(a,b,c){return ol.proj.getTransform(b,c)(a)};ol.proj.transformWithProjections=function(a,b,c){return ol.proj.getTransformFromProjections(b,c)(a)};ol.proj.configureProj4jsProjection=function(a){return ol.proj.getProj4jsProjectionFromCode_(a)};ol.IView2D=function(){};ol.IView2D.prototype.getCenter=function(){};ol.IView2D.prototype.getProjection=function(){};ol.IView2D.prototype.getResolution=function(){};ol.IView2D.prototype.getRotation=function(){};ol.IView2D.prototype.getView2DState=function(){};ol.layer.LayerProperty={BRIGHTNESS:"brightness",CONTRAST:"contrast",HUE:"hue",OPACITY:"opacity",SATURATION:"saturation",VISIBLE:"visible"};
ol.layer.Base=function(a){ol.Object.call(this);a=goog.object.clone(a);a.brightness=goog.isDef(a.brightness)?a.brightness:0;a.contrast=goog.isDef(a.contrast)?a.contrast:1;a.hue=goog.isDef(a.hue)?a.hue:0;a.opacity=goog.isDef(a.opacity)?a.opacity:1;a.saturation=goog.isDef(a.saturation)?a.saturation:1;a.visible=goog.isDef(a.visible)?a.visible:!0;this.setValues(a);goog.events.listen(this,[ol.Object.getChangeEventType(ol.layer.LayerProperty.BRIGHTNESS),ol.Object.getChangeEventType(ol.layer.LayerProperty.CONTRAST),
ol.Object.getChangeEventType(ol.layer.LayerProperty.HUE),ol.Object.getChangeEventType(ol.layer.LayerProperty.OPACITY),ol.Object.getChangeEventType(ol.layer.LayerProperty.SATURATION),goog.events.EventType.LOAD],this.handleLayerChange,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.layer.LayerProperty.VISIBLE),this.handleLayerVisibleChange,!1,this)};goog.inherits(ol.layer.Base,ol.Object);ol.layer.Base.prototype.dispatchChangeEvent=function(){this.dispatchEvent(goog.events.EventType.CHANGE)};
ol.layer.Base.prototype.getBrightness=function(){return this.get(ol.layer.LayerProperty.BRIGHTNESS)};goog.exportProperty(ol.layer.Base.prototype,"getBrightness",ol.layer.Base.prototype.getBrightness);ol.layer.Base.prototype.getContrast=function(){return this.get(ol.layer.LayerProperty.CONTRAST)};goog.exportProperty(ol.layer.Base.prototype,"getContrast",ol.layer.Base.prototype.getContrast);ol.layer.Base.prototype.getHue=function(){return this.get(ol.layer.LayerProperty.HUE)};
goog.exportProperty(ol.layer.Base.prototype,"getHue",ol.layer.Base.prototype.getHue);
ol.layer.Base.prototype.getLayerState=function(){var a=this.getBrightness(),b=this.getContrast(),c=this.getHue(),d=this.getOpacity(),e=this.isReady(),f=this.getSaturation(),g=this.getVisible();return{brightness:goog.isDef(a)?goog.math.clamp(a,-1,1):0,contrast:goog.isDef(b)?Math.max(b,0):1,hue:goog.isDef(c)?c:0,opacity:goog.isDef(d)?goog.math.clamp(d,0,1):1,ready:e,saturation:goog.isDef(f)?Math.max(f,0):1,visible:goog.isDef(g)?!!g:!0}};ol.layer.Base.prototype.getOpacity=function(){return this.get(ol.layer.LayerProperty.OPACITY)};
goog.exportProperty(ol.layer.Base.prototype,"getOpacity",ol.layer.Base.prototype.getOpacity);ol.layer.Base.prototype.getSaturation=function(){return this.get(ol.layer.LayerProperty.SATURATION)};goog.exportProperty(ol.layer.Base.prototype,"getSaturation",ol.layer.Base.prototype.getSaturation);ol.layer.Base.prototype.getVisible=function(){return this.get(ol.layer.LayerProperty.VISIBLE)};goog.exportProperty(ol.layer.Base.prototype,"getVisible",ol.layer.Base.prototype.getVisible);
ol.layer.Base.prototype.handleLayerChange=function(){this.getVisible()&&this.isReady()&&this.dispatchChangeEvent()};ol.layer.Base.prototype.handleLayerVisibleChange=function(){this.isReady()&&this.dispatchChangeEvent()};ol.layer.Base.prototype.setBrightness=function(a){this.set(ol.layer.LayerProperty.BRIGHTNESS,a)};goog.exportProperty(ol.layer.Base.prototype,"setBrightness",ol.layer.Base.prototype.setBrightness);
ol.layer.Base.prototype.setContrast=function(a){this.set(ol.layer.LayerProperty.CONTRAST,a)};goog.exportProperty(ol.layer.Base.prototype,"setContrast",ol.layer.Base.prototype.setContrast);ol.layer.Base.prototype.setHue=function(a){this.set(ol.layer.LayerProperty.HUE,a)};goog.exportProperty(ol.layer.Base.prototype,"setHue",ol.layer.Base.prototype.setHue);ol.layer.Base.prototype.setOpacity=function(a){this.set(ol.layer.LayerProperty.OPACITY,a)};
goog.exportProperty(ol.layer.Base.prototype,"setOpacity",ol.layer.Base.prototype.setOpacity);ol.layer.Base.prototype.setSaturation=function(a){this.set(ol.layer.LayerProperty.SATURATION,a)};goog.exportProperty(ol.layer.Base.prototype,"setSaturation",ol.layer.Base.prototype.setSaturation);ol.layer.Base.prototype.setVisible=function(a){this.set(ol.layer.LayerProperty.VISIBLE,a)};goog.exportProperty(ol.layer.Base.prototype,"setVisible",ol.layer.Base.prototype.setVisible);goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};
goog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;0<=b;b--)a=c[b].call(this,a);return a}};
goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e<c;e++)a=b[e].apply(this,arguments);return a}};goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(b[a].apply(this,arguments))return!0;return!1}};
goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};goog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};ol.source={};ol.source.Source=function(a){goog.events.EventTarget.call(this);this.projection_=ol.proj.get(a.projection);this.extent_=goog.isDef(a.extent)?a.extent:goog.isDef(a.projection)?this.projection_.getExtent():null;this.attributions_=goog.isDef(a.attributions)?a.attributions:null;this.logo_=a.logo;this.revision_=0};goog.inherits(ol.source.Source,goog.events.EventTarget);ol.source.Source.prototype.dispatchChangeEvent=function(){++this.revision_;this.dispatchEvent(goog.events.EventType.CHANGE)};
ol.source.Source.prototype.dispatchLoadEvent=function(){++this.revision_;this.dispatchEvent(goog.events.EventType.LOAD)};ol.source.Source.prototype.getAttributions=function(){return this.attributions_};ol.source.Source.prototype.getExtent=function(){return this.extent_};ol.source.Source.prototype.getLogo=function(){return this.logo_};ol.source.Source.prototype.getProjection=function(){return this.projection_};ol.source.Source.prototype.getRevision=function(){return this.revision_};
ol.source.Source.prototype.isReady=goog.functions.TRUE;ol.source.Source.prototype.setAttributions=function(a){this.attributions_=a};ol.source.Source.prototype.setExtent=function(a){this.extent_=a};ol.source.Source.prototype.setLogo=function(a){this.logo_=a};ol.source.Source.prototype.setProjection=function(a){this.projection_=a};ol.layer.Layer=function(a){var b=goog.object.clone(a);delete b.source;ol.layer.Base.call(this,b);this.selectionData_={featuresBySelectedFeatureUid:{},layer:null,selectedFeaturesByFeatureUid:{}};this.source_=a.source;goog.events.listen(this.source_,goog.events.EventType.CHANGE,this.handleSourceChange_,!1,this);this.source_.isReady()||goog.events.listenOnce(this.source_,goog.events.EventType.LOAD,this.handleSourceLoad_,!1,this)};goog.inherits(ol.layer.Layer,ol.layer.Base);
ol.layer.Layer.prototype.dispatchLoadEvent_=function(){this.dispatchEvent(goog.events.EventType.LOAD)};ol.layer.Layer.prototype.getLayersArray=function(a){a=goog.isDef(a)?a:[];a.push(this);return a};ol.layer.Layer.prototype.getLayerStatesArray=function(a){a=goog.isDef(a)?a:{layers:[],layerStates:[]};a.layers.push(this);a.layerStates.push(this.getLayerState());return a};ol.layer.Layer.prototype.getSelectionData=function(){return this.selectionData_};ol.layer.Layer.prototype.getSource=function(){return this.source_};
ol.layer.Layer.prototype.handleSourceChange_=function(){this.dispatchChangeEvent()};ol.layer.Layer.prototype.handleSourceLoad_=function(){this.dispatchLoadEvent_()};ol.layer.Layer.prototype.isReady=function(){return this.getSource().isReady()};ol.GeolocationProperty={ACCURACY:"accuracy",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed",TRACKING:"tracking",TRACKING_OPTIONS:"trackingOptions"};
ol.Geolocation=function(a){ol.Object.call(this);a=goog.isDef(a)?a:{};this.position_=null;this.transform_=ol.proj.identityTransform;this.watchId_=void 0;goog.events.listen(this,ol.Object.getChangeEventType(ol.GeolocationProperty.PROJECTION),this.handleProjectionChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.GeolocationProperty.TRACKING),this.handleTrackingChanged_,!1,this);goog.isDef(a.projection)&&this.setProjection(ol.proj.get(a.projection));goog.isDef(a.trackingOptions)&&
this.setTrackingOptions(a.trackingOptions);this.setTracking(goog.isDef(a.tracking)?a.tracking:!1)};goog.inherits(ol.Geolocation,ol.Object);ol.Geolocation.prototype.disposeInternal=function(){this.setTracking(!1);ol.Geolocation.superClass_.disposeInternal.call(this)};
ol.Geolocation.prototype.handleProjectionChanged_=function(){var a=this.getProjection();goog.isDefAndNotNull(a)&&(this.transform_=ol.proj.getTransformFromProjections(ol.proj.get("EPSG:4326"),a),goog.isNull(this.position_)||this.set(ol.GeolocationProperty.POSITION,this.transform_(this.position_)))};
ol.Geolocation.prototype.handleTrackingChanged_=function(){if(ol.Geolocation.SUPPORTED){var a=this.getTracking();a&&!goog.isDef(this.watchId_)?this.watchId_=goog.global.navigator.geolocation.watchPosition(goog.bind(this.positionChange_,this),goog.bind(this.positionError_,this),this.getTrackingOptions()):!a&&goog.isDef(this.watchId_)&&(goog.global.navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}};ol.Geolocation.SUPPORTED="geolocation"in goog.global.navigator;
ol.Geolocation.prototype.positionChange_=function(a){a=a.coords;this.set(ol.GeolocationProperty.ACCURACY,a.accuracy);this.set(ol.GeolocationProperty.ALTITUDE,goog.isNull(a.altitude)?void 0:a.altitude);this.set(ol.GeolocationProperty.ALTITUDE_ACCURACY,goog.isNull(a.altitudeAccuracy)?void 0:a.altitudeAccuracy);this.set(ol.GeolocationProperty.HEADING,goog.isNull(a.heading)?void 0:goog.math.toRadians(a.heading));goog.isNull(this.position_)?this.position_=[a.longitude,a.latitude]:(this.position_[0]=a.longitude,
this.position_[1]=a.latitude);this.set(ol.GeolocationProperty.POSITION,this.transform_(this.position_));this.set(ol.GeolocationProperty.SPEED,goog.isNull(a.speed)?void 0:a.speed)};ol.Geolocation.prototype.positionError_=function(a){a.type=goog.events.EventType.ERROR;this.dispatchEvent(a)};ol.Geolocation.prototype.getAccuracy=function(){return this.get(ol.GeolocationProperty.ACCURACY)};goog.exportProperty(ol.Geolocation.prototype,"getAccuracy",ol.Geolocation.prototype.getAccuracy);
ol.Geolocation.prototype.getAltitude=function(){return this.get(ol.GeolocationProperty.ALTITUDE)};goog.exportProperty(ol.Geolocation.prototype,"getAltitude",ol.Geolocation.prototype.getAltitude);ol.Geolocation.prototype.getAltitudeAccuracy=function(){return this.get(ol.GeolocationProperty.ALTITUDE_ACCURACY)};goog.exportProperty(ol.Geolocation.prototype,"getAltitudeAccuracy",ol.Geolocation.prototype.getAltitudeAccuracy);ol.Geolocation.prototype.getHeading=function(){return this.get(ol.GeolocationProperty.HEADING)};
goog.exportProperty(ol.Geolocation.prototype,"getHeading",ol.Geolocation.prototype.getHeading);ol.Geolocation.prototype.getPosition=function(){return this.get(ol.GeolocationProperty.POSITION)};goog.exportProperty(ol.Geolocation.prototype,"getPosition",ol.Geolocation.prototype.getPosition);ol.Geolocation.prototype.getProjection=function(){return this.get(ol.GeolocationProperty.PROJECTION)};goog.exportProperty(ol.Geolocation.prototype,"getProjection",ol.Geolocation.prototype.getProjection);
ol.Geolocation.prototype.getSpeed=function(){return this.get(ol.GeolocationProperty.SPEED)};goog.exportProperty(ol.Geolocation.prototype,"getSpeed",ol.Geolocation.prototype.getSpeed);ol.Geolocation.prototype.getTracking=function(){return this.get(ol.GeolocationProperty.TRACKING)};goog.exportProperty(ol.Geolocation.prototype,"getTracking",ol.Geolocation.prototype.getTracking);ol.Geolocation.prototype.getTrackingOptions=function(){return this.get(ol.GeolocationProperty.TRACKING_OPTIONS)};
goog.exportProperty(ol.Geolocation.prototype,"getTrackingOptions",ol.Geolocation.prototype.getTrackingOptions);ol.Geolocation.prototype.setProjection=function(a){this.set(ol.GeolocationProperty.PROJECTION,a)};goog.exportProperty(ol.Geolocation.prototype,"setProjection",ol.Geolocation.prototype.setProjection);ol.Geolocation.prototype.setTracking=function(a){this.set(ol.GeolocationProperty.TRACKING,a)};goog.exportProperty(ol.Geolocation.prototype,"setTracking",ol.Geolocation.prototype.setTracking);
ol.Geolocation.prototype.setTrackingOptions=function(a){this.set(ol.GeolocationProperty.TRACKING_OPTIONS,a)};goog.exportProperty(ol.Geolocation.prototype,"setTrackingOptions",ol.Geolocation.prototype.setTrackingOptions);ol.IView3D=function(){};ol.IView=function(){};ol.IView.prototype.getView2D=function(){};ol.IView.prototype.getView3D=function(){};ol.ImageState={IDLE:0,LOADING:1,LOADED:2,ERROR:3};ol.Image=function(a,b,c,d,e){goog.events.EventTarget.call(this);this.attributions_=e;this.extent_=a;this.src_=c;this.resolution_=b;this.image_=new Image;goog.isNull(d)||(this.image_.crossOrigin=d);this.imageByContext_={};this.imageListenerKeys_=null;this.state=ol.ImageState.IDLE};goog.inherits(ol.Image,goog.events.EventTarget);ol.Image.prototype.dispatchChangeEvent=function(){this.dispatchEvent(goog.events.EventType.CHANGE)};
ol.Image.prototype.getAttributions=function(){return this.attributions_};ol.Image.prototype.getExtent=function(){return this.extent_};ol.Image.prototype.getImageElement=function(a){if(goog.isDef(a)){var b=goog.getUid(a);if(b in this.imageByContext_)return this.imageByContext_[b];a=goog.object.isEmpty(this.imageByContext_)?this.image_:this.image_.cloneNode(!1);return this.imageByContext_[b]=a}return this.image_};ol.Image.prototype.getResolution=function(){return this.resolution_};
ol.Image.prototype.getState=function(){return this.state};ol.Image.prototype.handleImageError_=function(){this.state=ol.ImageState.ERROR;this.unlistenImage_();this.dispatchChangeEvent()};ol.Image.prototype.handleImageLoad_=function(){this.state=ol.ImageState.LOADED;this.unlistenImage_();this.dispatchChangeEvent()};
ol.Image.prototype.load=function(){this.state==ol.ImageState.IDLE&&(this.state=ol.ImageState.LOADING,this.imageListenerKeys_=[goog.events.listenOnce(this.image_,goog.events.EventType.ERROR,this.handleImageError_,!1,this),goog.events.listenOnce(this.image_,goog.events.EventType.LOAD,this.handleImageLoad_,!1,this)],this.image_.src=this.src_)};ol.Image.prototype.unlistenImage_=function(){goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.ImageTile=function(a,b,c,d){ol.Tile.call(this,a,b);this.src_=c;this.image_=new Image;goog.isNull(d)||(this.image_.crossOrigin=d);this.imageByContext_={};this.imageListenerKeys_=null};goog.inherits(ol.ImageTile,ol.Tile);ol.ImageTile.prototype.getImage=function(a){if(goog.isDef(a)){var b=goog.getUid(a);if(b in this.imageByContext_)return this.imageByContext_[b];a=goog.object.isEmpty(this.imageByContext_)?this.image_:this.image_.cloneNode(!1);return this.imageByContext_[b]=a}return this.image_};
ol.ImageTile.prototype.getKey=function(){return this.src_};ol.ImageTile.prototype.handleImageError_=function(){this.state=ol.TileState.ERROR;this.unlistenImage_();this.dispatchChangeEvent()};ol.ImageTile.prototype.handleImageLoad_=function(){this.state=this.image_.naturalWidth&&this.image_.naturalHeight?ol.TileState.LOADED:ol.TileState.EMPTY;this.unlistenImage_();this.dispatchChangeEvent()};
ol.ImageTile.prototype.load=function(){this.state==ol.TileState.IDLE&&(this.state=ol.TileState.LOADING,this.imageListenerKeys_=[goog.events.listenOnce(this.image_,goog.events.EventType.ERROR,this.handleImageError_,!1,this),goog.events.listenOnce(this.image_,goog.events.EventType.LOAD,this.handleImageLoad_,!1,this)],this.image_.src=this.src_)};ol.ImageTile.prototype.unlistenImage_=function(){goog.array.forEach(this.imageListenerKeys_,goog.events.unlistenByKey);this.imageListenerKeys_=null};ol.ImageUrlFunction={};ol.ImageUrlFunction.createFromParamsFunction=function(a,b,c){return function(d,e,f){return c(a,b,d,e,f)}};ol.ImageUrlFunction.nullImageUrlFunction=function(a,b){};ol.ViewHint={ANIMATING:0,INTERACTING:1};ol.View=function(){ol.Object.call(this);this.hints_=[0,0]};goog.inherits(ol.View,ol.Object);ol.View.prototype.getHints=function(){return goog.array.clone(this.hints_)};ol.View.prototype.setHint=function(a,b){this.hints_[a]+=b;return this.hints_[a]};goog.fx={};goog.fx.easing={};goog.fx.easing.easeIn=function(a){return a*a*a};goog.fx.easing.easeOut=function(a){return 1-Math.pow(1-a,3)};goog.fx.easing.inAndOut=function(a){return 3*a*a-2*a*a*a};ol.easing={};ol.easing.bounce=function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a};ol.easing.easeIn=goog.fx.easing.easeIn;ol.easing.easeOut=goog.fx.easing.easeOut;ol.easing.elastic=function(a){return Math.pow(2,-10*a)*Math.sin((a-0.075)*2*Math.PI/0.3)+1};ol.easing.inAndOut=goog.fx.easing.inAndOut;ol.easing.linear=function(a){return a};
ol.easing.upAndDown=function(a){return 0.5>a?ol.easing.inAndOut(2*a):1-ol.easing.inAndOut(2*(a-0.5))};ol.animation={};ol.animation.bounce=function(a){var b=a.resolution,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:ol.easing.upAndDown;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(g.time<c+d){var h=e((g.time-c)/d),k=b-g.view2DState.resolution;g.animate=!0;g.view2DState.resolution+=h*k;g.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.pan=function(a){var b=a.source,c=goog.isDef(a.start)?a.start:goog.now(),d=b[0],e=b[1],f=goog.isDef(a.duration)?a.duration:1E3,g=goog.isDef(a.easing)?a.easing:ol.easing.inAndOut;return function(a,b){if(b.time<c)return b.animate=!0,b.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(b.time<c+f){var l=1-g((b.time-c)/f),m=d-b.view2DState.center[0],n=e-b.view2DState.center[1];b.animate=!0;b.view2DState.center[0]+=l*m;b.view2DState.center[1]+=l*n;b.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.rotate=function(a){var b=a.rotation,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:ol.easing.inAndOut;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(g.time<c+d){var h=1-e((g.time-c)/d),k=b-g.view2DState.rotation;g.animate=!0;g.view2DState.rotation+=h*k;g.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};
ol.animation.zoom=function(a){var b=a.resolution,c=goog.isDef(a.start)?a.start:goog.now(),d=goog.isDef(a.duration)?a.duration:1E3,e=goog.isDef(a.easing)?a.easing:ol.easing.inAndOut;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[ol.ViewHint.ANIMATING]+=1,!0;if(g.time<c+d){var h=1-e((g.time-c)/d),k=b-g.view2DState.resolution;g.animate=!0;g.view2DState.resolution+=h*k;g.viewHints[ol.ViewHint.ANIMATING]+=1;return!0}return!1}};ol.Kinetic=function(a,b,c){this.decay_=a;this.minVelocity_=b;this.delay_=c;this.points_=[];this.initialVelocity_=this.angle_=0};ol.Kinetic.prototype.begin=function(){this.initialVelocity_=this.angle_=this.points_.length=0};ol.Kinetic.prototype.update=function(a,b){this.points_.push(a,b,goog.now())};
ol.Kinetic.prototype.end=function(){var a=goog.now()-this.delay_,b=this.points_.length-3;if(this.points_[b+2]<a)return!1;for(var c=b-3;0<=c&&this.points_[c+2]>a;)c-=3;if(0<=c){var a=this.points_[b+2]-this.points_[c+2],d=this.points_[b]-this.points_[c],b=this.points_[b+1]-this.points_[c+1];this.angle_=Math.atan2(b,d);this.initialVelocity_=Math.sqrt(d*d+b*b)/a;return this.initialVelocity_>this.minVelocity_}return!1};
ol.Kinetic.prototype.pan=function(a){var b=this.decay_,c=this.initialVelocity_,d=this.minVelocity_,e=this.getDuration_();return ol.animation.pan({source:a,duration:e,easing:function(a){return c*(Math.exp(b*a*e)-1)/(d-c)}})};ol.Kinetic.prototype.getDuration_=function(){return Math.log(this.minVelocity_/this.initialVelocity_)/this.decay_};ol.Kinetic.prototype.getDistance=function(){return(this.minVelocity_-this.initialVelocity_)/this.decay_};ol.Kinetic.prototype.getAngle=function(){return this.angle_};goog.structs={};goog.structs.getCount=function(a){return"function"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if("function"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.object.getValues(a)};
goog.structs.getKeys=function(a){if("function"==typeof a.getKeys)return a.getKeys();if("function"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return goog.object.getKeys(a)}};goog.structs.contains=function(a,b){return"function"==typeof a.contains?a.contains(b):"function"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};
goog.structs.isEmpty=function(a){return"function"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};goog.structs.clear=function(a){"function"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};
goog.structs.forEach=function(a,b,c){if("function"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
goog.structs.filter=function(a,b,c){if("function"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d,e=goog.structs.getKeys(a),f=goog.structs.getValues(a),g=f.length;if(e){d={};for(var h=0;h<g;h++)b.call(c,f[h],e[h],a)&&(d[e[h]]=f[h])}else for(d=[],h=0;h<g;h++)b.call(c,f[h],void 0,a)&&d.push(f[h]);return d};
goog.structs.map=function(a,b,c){if("function"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d,e=goog.structs.getKeys(a),f=goog.structs.getValues(a),g=f.length;if(e){d={};for(var h=0;h<g;h++)d[e[h]]=b.call(c,f[h],e[h],a)}else for(d=[],h=0;h<g;h++)d[h]=b.call(c,f[h],void 0,a);return d};
goog.structs.some=function(a,b,c){if("function"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return!0;return!1};
goog.structs.every=function(a,b,c){if("function"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.iter={};goog.iter.StopIteration="StopIteration"in goog.global?goog.global.StopIteration:Error("StopIteration");goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function(){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=function(a){return this};
goog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if("function"==typeof a.__iterator__)return a.__iterator__(!1);if(goog.isArrayLike(a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");};
goog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(e){if(e!==goog.iter.StopIteration)throw e;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a};
goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1<arguments.length&&(d=a,e=b);if(0==f)throw Error("Range step argument must not be zero");var g=new goog.iter.Iterator;g.next=function(){if(0<f&&d>=e||0>f&&d<=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)};goog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();return b.call(c,a,void 0,d)}};return a};
goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1};goog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};
goog.iter.chain=function(a){var b=arguments,c=b.length,d=0,e=new goog.iter.Iterator;e.next=function(){try{if(d>=c)throw goog.iter.StopIteration;return goog.iter.toIterator(b[d]).next()}catch(a){if(a!==goog.iter.StopIteration||d>=c)throw a;d++;return this.next()}};return e};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a};
goog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;)if(e){var a=d.next();if(b.call(c,a,void 0,d))return a;e=!1}else throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};
goog.iter.equals=function(a,b){a=goog.iter.toIterator(a);b=goog.iter.toIterator(b);var c,d;try{for(;;){c=d=!1;var e=a.next();c=!0;var f=b.next();d=!0;if(e!=f)break}}catch(g){if(g!==goog.iter.StopIteration)throw g;if(c&&!d)return!1;if(!d)try{b.next()}catch(h){if(h!==goog.iter.StopIteration)throw h;return!0}}return!1};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};
goog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0<=b;b--){if(d[b]<c[b].length-1){d[b]++;break}if(0==b){d=null;break}d[b]=0}return a}throw goog.iter.StopIteration;};return b};
goog.iter.cycle=function(a){var b=goog.iter.toIterator(a),c=[],d=0;a=new goog.iter.Iterator;var e=!1;a.next=function(){var a=null;if(!e)try{return a=b.next(),c.push(a),a}catch(g){if(g!=goog.iter.StopIteration||goog.array.isEmpty(c))throw g;e=!0}a=c[d];d=(d+1)%c.length;return a};return a};goog.structs.Map=function(a,b){this.map_={};this.keys_=[];var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};goog.structs.Map.prototype.count_=0;goog.structs.Map.prototype.version_=0;goog.structs.Map.prototype.getCount=function(){return this.count_};
goog.structs.Map.prototype.getValues=function(){this.cleanupKeysArray_();for(var a=[],b=0;b<this.keys_.length;b++)a.push(this.map_[this.keys_[b]]);return a};goog.structs.Map.prototype.getKeys=function(){this.cleanupKeysArray_();return this.keys_.concat()};goog.structs.Map.prototype.containsKey=function(a){return goog.structs.Map.hasKey_(this.map_,a)};
goog.structs.Map.prototype.containsValue=function(a){for(var b=0;b<this.keys_.length;b++){var c=this.keys_[b];if(goog.structs.Map.hasKey_(this.map_,c)&&this.map_[c]==a)return!0}return!1};goog.structs.Map.prototype.equals=function(a,b){if(this===a)return!0;if(this.count_!=a.getCount())return!1;var c=b||goog.structs.Map.defaultEquals;this.cleanupKeysArray_();for(var d,e=0;d=this.keys_[e];e++)if(!c(this.get(d),a.get(d)))return!1;return!0};goog.structs.Map.defaultEquals=function(a,b){return a===b};
goog.structs.Map.prototype.isEmpty=function(){return 0==this.count_};goog.structs.Map.prototype.clear=function(){this.map_={};this.version_=this.count_=this.keys_.length=0};goog.structs.Map.prototype.remove=function(a){return goog.structs.Map.hasKey_(this.map_,a)?(delete this.map_[a],this.count_--,this.version_++,this.keys_.length>2*this.count_&&this.cleanupKeysArray_(),!0):!1};
goog.structs.Map.prototype.cleanupKeysArray_=function(){if(this.count_!=this.keys_.length){for(var a=0,b=0;a<this.keys_.length;){var c=this.keys_[a];goog.structs.Map.hasKey_(this.map_,c)&&(this.keys_[b++]=c);a++}this.keys_.length=b}if(this.count_!=this.keys_.length){for(var d={},b=a=0;a<this.keys_.length;)c=this.keys_[a],goog.structs.Map.hasKey_(d,c)||(this.keys_[b++]=c,d[c]=1),a++;this.keys_.length=b}};
goog.structs.Map.prototype.get=function(a,b){return goog.structs.Map.hasKey_(this.map_,a)?this.map_[a]:b};goog.structs.Map.prototype.set=function(a,b){goog.structs.Map.hasKey_(this.map_,a)||(this.count_++,this.keys_.push(a),this.version_++);this.map_[a]=b};goog.structs.Map.prototype.addAll=function(a){var b;a instanceof goog.structs.Map?(b=a.getKeys(),a=a.getValues()):(b=goog.object.getKeys(a),a=goog.object.getValues(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c])};
goog.structs.Map.prototype.clone=function(){return new goog.structs.Map(this)};goog.structs.Map.prototype.transpose=function(){for(var a=new goog.structs.Map,b=0;b<this.keys_.length;b++){var c=this.keys_[b];a.set(this.map_[c],c)}return a};goog.structs.Map.prototype.toObject=function(){this.cleanupKeysArray_();for(var a={},b=0;b<this.keys_.length;b++){var c=this.keys_[b];a[c]=this.map_[c]}return a};goog.structs.Map.prototype.getKeyIterator=function(){return this.__iterator__(!0)};
goog.structs.Map.prototype.getValueIterator=function(){return this.__iterator__(!1)};goog.structs.Map.prototype.__iterator__=function(a){this.cleanupKeysArray_();var b=0,c=this.keys_,d=this.map_,e=this.version_,f=this,g=new goog.iter.Iterator;g.next=function(){for(;;){if(e!=f.version_)throw Error("The map has changed since the iterator was created");if(b>=c.length)throw goog.iter.StopIteration;var g=c[b++];return a?g:d[g]}};return g};
goog.structs.Map.hasKey_=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h="";a&&(h+=a+":");c&&(h+="//",b&&(h+=b+"@"),h+=c,d&&(h+=":"+d));e&&(h+=e);f&&(h+="?"+f);g&&(h+="#"+g);return h};goog.uri.utils.splitRe_=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?\x3d[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");
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){goog.uri.utils.phishingProtection_();return a.match(goog.uri.utils.splitRe_)};goog.uri.utils.needsPhishingProtection_=goog.userAgent.WEBKIT;
goog.uri.utils.phishingProtection_=function(){if(goog.uri.utils.needsPhishingProtection_){goog.uri.utils.needsPhishingProtection_=!1;var a=goog.global.location;if(a){var b=a.href;if(b&&(b=goog.uri.utils.getDomain(b))&&b!=a.hostname)throw goog.uri.utils.needsPhishingProtection_=!0,Error();}}};goog.uri.utils.decodeIfPossible_=function(a){return a&&decodeURIComponent(a)};goog.uri.utils.getComponentByIndex_=function(a,b){return goog.uri.utils.split(b)[a]||null};
goog.uri.utils.getScheme=function(a){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,a)};goog.uri.utils.getEffectiveScheme=function(a){a=goog.uri.utils.getScheme(a);!a&&self.location&&(a=self.location.protocol,a=a.substr(0,a.length-1));return a?a.toLowerCase():""};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 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.indexOf("#");return 0>b?null:a.substr(b+1)};goog.uri.utils.setFragmentEncoded=function(a,b){return goog.uri.utils.removeFragment(a)+(b?"#"+b:"")};goog.uri.utils.getFragment=function(a){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a))};
goog.uri.utils.getHost=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME],a[goog.uri.utils.ComponentIndex.USER_INFO],a[goog.uri.utils.ComponentIndex.DOMAIN],a[goog.uri.utils.ComponentIndex.PORT])};goog.uri.utils.getPathAndAfter=function(a){a=goog.uri.utils.split(a);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,a[goog.uri.utils.ComponentIndex.PATH],a[goog.uri.utils.ComponentIndex.QUERY_DATA],a[goog.uri.utils.ComponentIndex.FRAGMENT])};
goog.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return 0>b?a:a.substr(0,b)};goog.uri.utils.haveSameDomain=function(a,b){var c=goog.uri.utils.split(a),d=goog.uri.utils.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.assertNoFragmentsOrQueries_=function(a){if(goog.DEBUG&&(0<=a.indexOf("#")||0<=a.indexOf("?")))throw Error("goog.uri.utils: Fragment or query identifiers are not supported: ["+a+"]");};goog.uri.utils.appendQueryData_=function(a){if(a[1]){var b=a[0],c=b.indexOf("#");0<=c&&(a.push(b.substr(c)),a[0]=b=b.substr(0,c));c=b.indexOf("?");0>c?a[1]="?":c==b.length-1&&(a[1]=void 0)}return a.join("")};
goog.uri.utils.appendKeyValuePairs_=function(a,b,c){if(goog.isArray(b))for(var d=0;d<b.length;d++)goog.uri.utils.appendKeyValuePairs_(a,String(b[d]),c);else null!=b&&c.push("\x26",a,""===b?"":"\x3d",goog.string.urlEncode(b))};goog.uri.utils.buildQueryDataBuffer_=function(a,b,c){for(c=c||0;c<b.length;c+=2)goog.uri.utils.appendKeyValuePairs_(b[c],b[c+1],a);return a};goog.uri.utils.buildQueryData=function(a,b){var c=goog.uri.utils.buildQueryDataBuffer_([],a,b);c[0]="";return c.join("")};
goog.uri.utils.buildQueryDataBufferFromMap_=function(a,b){for(var c in b)goog.uri.utils.appendKeyValuePairs_(c,b[c],a);return a};goog.uri.utils.buildQueryDataFromMap=function(a){a=goog.uri.utils.buildQueryDataBufferFromMap_([],a);a[0]="";return a.join("")};goog.uri.utils.appendParams=function(a,b){return goog.uri.utils.appendQueryData_(2==arguments.length?goog.uri.utils.buildQueryDataBuffer_([a],arguments[1],0):goog.uri.utils.buildQueryDataBuffer_([a],arguments,1))};
goog.uri.utils.appendParamsFromMap=function(a,b){return goog.uri.utils.appendQueryData_(goog.uri.utils.buildQueryDataBufferFromMap_([a],b))};goog.uri.utils.appendParam=function(a,b,c){a=[a,"\x26",b];goog.isDefAndNotNull(c)&&a.push("\x3d",goog.string.urlEncode(c));return goog.uri.utils.appendQueryData_(a)};
goog.uri.utils.findParam_=function(a,b,c,d){for(var e=c.length;0<=(b=a.indexOf(c,b))&&b<d;){var f=a.charCodeAt(b-1);if(f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.QUESTION)if(f=a.charCodeAt(b+e),!f||f==goog.uri.utils.CharCode_.EQUAL||f==goog.uri.utils.CharCode_.AMPERSAND||f==goog.uri.utils.CharCode_.HASH)return b;b+=e+1}return-1};goog.uri.utils.hashOrEndRe_=/#|$/;goog.uri.utils.hasParam=function(a,b){return 0<=goog.uri.utils.findParam_(a,0,b,a.search(goog.uri.utils.hashOrEndRe_))};
goog.uri.utils.getParamValue=function(a,b){var c=a.search(goog.uri.utils.hashOrEndRe_),d=goog.uri.utils.findParam_(a,0,b,c);if(0>d)return null;var e=a.indexOf("\x26",d);if(0>e||e>c)e=c;d+=b.length+1;return goog.string.urlDecode(a.substr(d,e-d))};goog.uri.utils.getParamValues=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));){d=a.indexOf("\x26",e);if(0>d||d>c)d=c;e+=b.length+1;f.push(goog.string.urlDecode(a.substr(e,d-e)))}return f};
goog.uri.utils.trailingQueryPunctuationRe_=/[?&]($|#)/;goog.uri.utils.removeParam=function(a,b){for(var c=a.search(goog.uri.utils.hashOrEndRe_),d=0,e,f=[];0<=(e=goog.uri.utils.findParam_(a,d,b,c));)f.push(a.substring(d,e)),d=Math.min(a.indexOf("\x26",e)+1||c,c);f.push(a.substr(d));return f.join("").replace(goog.uri.utils.trailingQueryPunctuationRe_,"$1")};goog.uri.utils.setParam=function(a,b,c){return goog.uri.utils.appendParam(goog.uri.utils.removeParam(a,b),b,c)};
goog.uri.utils.appendPath=function(a,b){goog.uri.utils.assertNoFragmentsOrQueries_(a);goog.string.endsWith(a,"/")&&(a=a.substr(0,a.length-1));goog.string.startsWith(b,"/")&&(b=b.substr(1));return goog.string.buildString(a,"/",b)};goog.uri.utils.StandardQueryParam={RANDOM:"zx"};goog.uri.utils.makeUnique=function(a){return goog.uri.utils.setParam(a,goog.uri.utils.StandardQueryParam.RANDOM,goog.string.getRandomString())};goog.Uri=function(a,b){var c;a instanceof goog.Uri?(this.ignoreCase_=goog.isDef(b)?b:a.getIgnoreCase(),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())):a&&(c=goog.uri.utils.split(String(a)))?(this.ignoreCase_=!!b,this.setScheme(c[goog.uri.utils.ComponentIndex.SCHEME]||"",!0),this.setUserInfo(c[goog.uri.utils.ComponentIndex.USER_INFO]||
"",!0),this.setDomain(c[goog.uri.utils.ComponentIndex.DOMAIN]||"",!0),this.setPort(c[goog.uri.utils.ComponentIndex.PORT]),this.setPath(c[goog.uri.utils.ComponentIndex.PATH]||"",!0),this.setQueryData(c[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",!0),this.setFragment(c[goog.uri.utils.ComponentIndex.FRAGMENT]||"",!0)):(this.ignoreCase_=!!b,this.queryData_=new goog.Uri.QueryData(null,null,this.ignoreCase_))};goog.Uri.preserveParameterTypesCompatibilityFlag=!1;goog.Uri.RANDOM_PARAM=goog.uri.utils.StandardQueryParam.RANDOM;
goog.Uri.prototype.scheme_="";goog.Uri.prototype.userInfo_="";goog.Uri.prototype.domain_="";goog.Uri.prototype.port_=null;goog.Uri.prototype.path_="";goog.Uri.prototype.fragment_="";goog.Uri.prototype.isReadOnly_=!1;goog.Uri.prototype.ignoreCase_=!1;
goog.Uri.prototype.toString=function(){var a=[],b=this.getScheme();b&&a.push(goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInSchemeOrUserInfo_),":");if(b=this.getDomain()){a.push("//");var c=this.getUserInfo();c&&a.push(goog.Uri.encodeSpecialChars_(c,goog.Uri.reDisallowedInSchemeOrUserInfo_),"@");a.push(goog.string.urlEncode(b));b=this.getPort();null!=b&&a.push(":",String(b))}if(b=this.getPath())this.hasDomain()&&"/"!=b.charAt(0)&&a.push("/"),a.push(goog.Uri.encodeSpecialChars_(b,"/"==b.charAt(0)?
goog.Uri.reDisallowedInAbsolutePath_:goog.Uri.reDisallowedInRelativePath_));(b=this.getEncodedQuery())&&a.push("?",b);(b=this.getFragment())&&a.push("#",goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInFragment_));return a.join("")};
goog.Uri.prototype.resolve=function(a){var b=this.clone(),c=a.hasScheme();c?b.setScheme(a.getScheme()):c=a.hasUserInfo();c?b.setUserInfo(a.getUserInfo()):c=a.hasDomain();c?b.setDomain(a.getDomain()):c=a.hasPort();var d=a.getPath();if(c)b.setPort(a.getPort());else if(c=a.hasPath()){if("/"!=d.charAt(0))if(this.hasDomain()&&!this.hasPath())d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}d=goog.Uri.removeDotSegments(d)}c?b.setPath(d):c=a.hasQuery();c?b.setQueryData(a.getDecodedQuery()):
c=a.hasFragment();c&&b.setFragment(a.getFragment());return b};goog.Uri.prototype.clone=function(){return new goog.Uri(this)};goog.Uri.prototype.getScheme=function(){return this.scheme_};goog.Uri.prototype.setScheme=function(a,b){this.enforceReadOnly();if(this.scheme_=b?goog.Uri.decodeOrEmpty_(a):a)this.scheme_=this.scheme_.replace(/:$/,"");return this};goog.Uri.prototype.hasScheme=function(){return!!this.scheme_};goog.Uri.prototype.getUserInfo=function(){return this.userInfo_};
goog.Uri.prototype.setUserInfo=function(a,b){this.enforceReadOnly();this.userInfo_=b?goog.Uri.decodeOrEmpty_(a):a;return this};goog.Uri.prototype.hasUserInfo=function(){return!!this.userInfo_};goog.Uri.prototype.getDomain=function(){return this.domain_};goog.Uri.prototype.setDomain=function(a,b){this.enforceReadOnly();this.domain_=b?goog.Uri.decodeOrEmpty_(a):a;return this};goog.Uri.prototype.hasDomain=function(){return!!this.domain_};goog.Uri.prototype.getPort=function(){return this.port_};
goog.Uri.prototype.setPort=function(a){this.enforceReadOnly();if(a){a=Number(a);if(isNaN(a)||0>a)throw Error("Bad port number "+a);this.port_=a}else this.port_=null;return this};goog.Uri.prototype.hasPort=function(){return null!=this.port_};goog.Uri.prototype.getPath=function(){return this.path_};goog.Uri.prototype.setPath=function(a,b){this.enforceReadOnly();this.path_=b?goog.Uri.decodeOrEmpty_(a):a;return this};goog.Uri.prototype.hasPath=function(){return!!this.path_};
goog.Uri.prototype.hasQuery=function(){return""!==this.queryData_.toString()};goog.Uri.prototype.setQueryData=function(a,b){this.enforceReadOnly();a instanceof goog.Uri.QueryData?(this.queryData_=a,this.queryData_.setIgnoreCase(this.ignoreCase_)):(b||(a=goog.Uri.encodeSpecialChars_(a,goog.Uri.reDisallowedInQuery_)),this.queryData_=new goog.Uri.QueryData(a,null,this.ignoreCase_));return this};goog.Uri.prototype.setQuery=function(a,b){return this.setQueryData(a,b)};
goog.Uri.prototype.getEncodedQuery=function(){return this.queryData_.toString()};goog.Uri.prototype.getDecodedQuery=function(){return this.queryData_.toDecodedString()};goog.Uri.prototype.getQueryData=function(){return this.queryData_};goog.Uri.prototype.getQuery=function(){return this.getEncodedQuery()};goog.Uri.prototype.setParameterValue=function(a,b){this.enforceReadOnly();this.queryData_.set(a,b);return this};
goog.Uri.prototype.setParameterValues=function(a,b){this.enforceReadOnly();goog.isArray(b)||(b=[String(b)]);this.queryData_.setValues(a,b);return this};goog.Uri.prototype.getParameterValues=function(a){return this.queryData_.getValues(a)};goog.Uri.prototype.getParameterValue=function(a){return this.queryData_.get(a)};goog.Uri.prototype.getFragment=function(){return this.fragment_};goog.Uri.prototype.setFragment=function(a,b){this.enforceReadOnly();this.fragment_=b?goog.Uri.decodeOrEmpty_(a):a;return this};
goog.Uri.prototype.hasFragment=function(){return!!this.fragment_};goog.Uri.prototype.hasSameDomainAs=function(a){return(!this.hasDomain()&&!a.hasDomain()||this.getDomain()==a.getDomain())&&(!this.hasPort()&&!a.hasPort()||this.getPort()==a.getPort())};goog.Uri.prototype.makeUnique=function(){this.enforceReadOnly();this.setParameterValue(goog.Uri.RANDOM_PARAM,goog.string.getRandomString());return this};goog.Uri.prototype.removeParameter=function(a){this.enforceReadOnly();this.queryData_.remove(a);return this};
goog.Uri.prototype.setReadOnly=function(a){this.isReadOnly_=a;return this};goog.Uri.prototype.isReadOnly=function(){return this.isReadOnly_};goog.Uri.prototype.enforceReadOnly=function(){if(this.isReadOnly_)throw Error("Tried to modify a read-only Uri");};goog.Uri.prototype.setIgnoreCase=function(a){this.ignoreCase_=a;this.queryData_&&this.queryData_.setIgnoreCase(a);return this};goog.Uri.prototype.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){h=new goog.Uri(null,h);a&&h.setScheme(a);b&&h.setUserInfo(b);c&&h.setDomain(c);d&&h.setPort(d);e&&h.setPath(e);f&&h.setQueryData(f);g&&h.setFragment(g);return h};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"";if(goog.string.contains(a,"./")||goog.string.contains(a,"/.")){var b=goog.string.startsWith(a,"/");a=a.split("/");for(var c=[],d=0;d<a.length;){var e=a[d++];"."==e?b&&d==a.length&&c.push(""):".."==e?((1<c.length||1==c.length&&""!=c[0])&&c.pop(),b&&d==a.length&&c.push("")):(c.push(e),b=!0)}return c.join("/")}return a};goog.Uri.decodeOrEmpty_=function(a){return a?decodeURIComponent(a):""};
goog.Uri.encodeSpecialChars_=function(a,b){return goog.isString(a)?encodeURI(a).replace(b,goog.Uri.encodeChar_):null};goog.Uri.encodeChar_=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)};goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g;goog.Uri.reDisallowedInRelativePath_=/[\#\?:]/g;goog.Uri.reDisallowedInAbsolutePath_=/[\#\?]/g;goog.Uri.reDisallowedInQuery_=/[\#\?@]/g;goog.Uri.reDisallowedInFragment_=/#/g;
goog.Uri.haveSameDomain=function(a,b){var c=goog.uri.utils.split(a),d=goog.uri.utils.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.encodedQuery_=a||null;this.ignoreCase_=!!c};
goog.Uri.QueryData.prototype.ensureKeyMapInitialized_=function(){if(!this.keyMap_&&(this.keyMap_=new goog.structs.Map,this.count_=0,this.encodedQuery_))for(var a=this.encodedQuery_.split("\x26"),b=0;b<a.length;b++){var c=a[b].indexOf("\x3d"),d=null,e=null;0<=c?(d=a[b].substring(0,c),e=a[b].substring(c+1)):d=a[b];d=goog.string.urlDecode(d);d=this.getKeyName_(d);this.add(d,e?goog.string.urlDecode(e):"")}};
goog.Uri.QueryData.createFromMap=function(a,b,c){b=goog.structs.getKeys(a);if("undefined"==typeof b)throw Error("Keys are undefined");c=new goog.Uri.QueryData(null,null,c);a=goog.structs.getValues(a);for(var d=0;d<b.length;d++){var e=b[d],f=a[d];goog.isArray(f)?c.setValues(e,f):c.add(e,f)}return c};
goog.Uri.QueryData.createFromKeysValues=function(a,b,c,d){if(a.length!=b.length)throw Error("Mismatched lengths for keys/values");c=new goog.Uri.QueryData(null,null,d);for(d=0;d<a.length;d++)c.add(a[d],b[d]);return c};goog.Uri.QueryData.prototype.keyMap_=null;goog.Uri.QueryData.prototype.count_=null;goog.Uri.QueryData.prototype.getCount=function(){this.ensureKeyMapInitialized_();return this.count_};
goog.Uri.QueryData.prototype.add=function(a,b){this.ensureKeyMapInitialized_();this.invalidateCache_();a=this.getKeyName_(a);var c=this.keyMap_.get(a);c||this.keyMap_.set(a,c=[]);c.push(b);this.count_++;return this};goog.Uri.QueryData.prototype.remove=function(a){this.ensureKeyMapInitialized_();a=this.getKeyName_(a);return this.keyMap_.containsKey(a)?(this.invalidateCache_(),this.count_-=this.keyMap_.get(a).length,this.keyMap_.remove(a)):!1};
goog.Uri.QueryData.prototype.clear=function(){this.invalidateCache_();this.keyMap_=null;this.count_=0};goog.Uri.QueryData.prototype.isEmpty=function(){this.ensureKeyMapInitialized_();return 0==this.count_};goog.Uri.QueryData.prototype.containsKey=function(a){this.ensureKeyMapInitialized_();a=this.getKeyName_(a);return this.keyMap_.containsKey(a)};goog.Uri.QueryData.prototype.containsValue=function(a){var b=this.getValues();return goog.array.contains(b,a)};
goog.Uri.QueryData.prototype.getKeys=function(){this.ensureKeyMapInitialized_();for(var a=this.keyMap_.getValues(),b=this.keyMap_.getKeys(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};goog.Uri.QueryData.prototype.getValues=function(a){this.ensureKeyMapInitialized_();var b=[];if(a)this.containsKey(a)&&(b=goog.array.concat(b,this.keyMap_.get(this.getKeyName_(a))));else{a=this.keyMap_.getValues();for(var c=0;c<a.length;c++)b=goog.array.concat(b,a[c])}return b};
goog.Uri.QueryData.prototype.set=function(a,b){this.ensureKeyMapInitialized_();this.invalidateCache_();a=this.getKeyName_(a);this.containsKey(a)&&(this.count_-=this.keyMap_.get(a).length);this.keyMap_.set(a,[b]);this.count_++;return this};goog.Uri.QueryData.prototype.get=function(a,b){var c=a?this.getValues(a):[];return goog.Uri.preserveParameterTypesCompatibilityFlag?0<c.length?c[0]:b:0<c.length?String(c[0]):b};
goog.Uri.QueryData.prototype.setValues=function(a,b){this.remove(a);0<b.length&&(this.invalidateCache_(),this.keyMap_.set(this.getKeyName_(a),goog.array.clone(b)),this.count_+=b.length)};
goog.Uri.QueryData.prototype.toString=function(){if(this.encodedQuery_)return this.encodedQuery_;if(!this.keyMap_)return"";for(var a=[],b=this.keyMap_.getKeys(),c=0;c<b.length;c++)for(var d=b[c],e=goog.string.urlEncode(d),d=this.getValues(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="\x3d"+goog.string.urlEncode(d[f]));a.push(g)}return this.encodedQuery_=a.join("\x26")};goog.Uri.QueryData.prototype.toDecodedString=function(){return goog.Uri.decodeOrEmpty_(this.toString())};
goog.Uri.QueryData.prototype.invalidateCache_=function(){this.encodedQuery_=null};goog.Uri.QueryData.prototype.filterKeys=function(a){this.ensureKeyMapInitialized_();goog.structs.forEach(this.keyMap_,function(b,c,d){goog.array.contains(a,c)||this.remove(c)},this);return this};goog.Uri.QueryData.prototype.clone=function(){var a=new goog.Uri.QueryData;a.encodedQuery_=this.encodedQuery_;this.keyMap_&&(a.keyMap_=this.keyMap_.clone(),a.count_=this.count_);return a};
goog.Uri.QueryData.prototype.getKeyName_=function(a){a=String(a);this.ignoreCase_&&(a=a.toLowerCase());return a};goog.Uri.QueryData.prototype.setIgnoreCase=function(a){a&&!this.ignoreCase_&&(this.ensureKeyMapInitialized_(),this.invalidateCache_(),goog.structs.forEach(this.keyMap_,function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),this.setValues(d,a))},this));this.ignoreCase_=a};
goog.Uri.QueryData.prototype.extend=function(a){for(var b=0;b<arguments.length;b++)goog.structs.forEach(arguments[b],function(a,b){this.add(b,a)},this)};goog.async={};goog.async.AnimationDelay=function(a,b,c){goog.Disposable.call(this);this.listener_=a;this.handler_=c;this.win_=b||window;this.callback_=goog.bind(this.doAction_,this)};goog.inherits(goog.async.AnimationDelay,goog.Disposable);goog.async.AnimationDelay.prototype.id_=null;goog.async.AnimationDelay.prototype.usingListeners_=!1;goog.async.AnimationDelay.TIMEOUT=20;goog.async.AnimationDelay.MOZ_BEFORE_PAINT_EVENT_="MozBeforePaint";
goog.async.AnimationDelay.prototype.start=function(){this.stop();this.usingListeners_=!1;var a=this.getRaf_(),b=this.getCancelRaf_();a&&!b&&this.win_.mozRequestAnimationFrame?(this.id_=goog.events.listen(this.win_,goog.async.AnimationDelay.MOZ_BEFORE_PAINT_EVENT_,this.callback_),this.win_.mozRequestAnimationFrame(null),this.usingListeners_=!0):this.id_=a&&b?a.call(this.win_,this.callback_):this.win_.setTimeout(goog.functions.lock(this.callback_),goog.async.AnimationDelay.TIMEOUT)};
goog.async.AnimationDelay.prototype.stop=function(){if(this.isActive()){var a=this.getRaf_(),b=this.getCancelRaf_();a&&!b&&this.win_.mozRequestAnimationFrame?goog.events.unlistenByKey(this.id_):a&&b?b.call(this.win_,this.id_):this.win_.clearTimeout(this.id_)}this.id_=null};goog.async.AnimationDelay.prototype.fire=function(){this.stop();this.doAction_()};goog.async.AnimationDelay.prototype.fireIfActive=function(){this.isActive()&&this.fire()};
goog.async.AnimationDelay.prototype.isActive=function(){return null!=this.id_};goog.async.AnimationDelay.prototype.doAction_=function(){this.usingListeners_&&this.id_&&goog.events.unlistenByKey(this.id_);this.id_=null;this.listener_.call(this.handler_,goog.now())};goog.async.AnimationDelay.prototype.disposeInternal=function(){this.stop();goog.async.AnimationDelay.superClass_.disposeInternal.call(this)};
goog.async.AnimationDelay.prototype.getRaf_=function(){var a=this.win_;return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||null};goog.async.AnimationDelay.prototype.getCancelRaf_=function(){var a=this.win_;return a.cancelRequestAnimationFrame||a.webkitCancelRequestAnimationFrame||a.mozCancelRequestAnimationFrame||a.oCancelRequestAnimationFrame||a.msCancelRequestAnimationFrame||null};goog.Timer=function(a,b){goog.events.EventTarget.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.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=0.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};
goog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()};
goog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0<a&&a<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now()))}};goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)};
goog.Timer.prototype.start=function(){this.enabled=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)};goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this);this.stop();delete this.timerObject_};goog.Timer.TICK="tick";
goog.Timer.callOnce=function(a,b,c){if(goog.isFunction(a))c&&(a=goog.bind(a,c));else if(a&&"function"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error("Invalid listener argument");return b>goog.Timer.MAX_TIMEOUT_?-1:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};goog.async.Delay=function(a,b,c){goog.Disposable.call(this);this.listener_=a;this.interval_=b||0;this.handler_=c;this.callback_=goog.bind(this.doAction_,this)};goog.inherits(goog.async.Delay,goog.Disposable);goog.Delay=goog.async.Delay;goog.async.Delay.prototype.id_=0;goog.async.Delay.prototype.disposeInternal=function(){goog.async.Delay.superClass_.disposeInternal.call(this);this.stop();delete this.listener_;delete this.handler_};
goog.async.Delay.prototype.start=function(a){this.stop();this.id_=goog.Timer.callOnce(this.callback_,goog.isDef(a)?a:this.interval_)};goog.async.Delay.prototype.stop=function(){this.isActive()&&goog.Timer.clear(this.id_);this.id_=0};goog.async.Delay.prototype.fire=function(){this.stop();this.doAction_()};goog.async.Delay.prototype.fireIfActive=function(){this.isActive()&&this.fire()};goog.async.Delay.prototype.isActive=function(){return 0!=this.id_};
goog.async.Delay.prototype.doAction_=function(){this.id_=0;this.listener_&&this.listener_.call(this.handler_)};goog.structs.Collection=function(){};goog.structs.Set=function(a){this.map_=new goog.structs.Map;a&&this.addAll(a)};goog.structs.Set.getKey_=function(a){var b=typeof a;return"object"==b&&a||"function"==b?"o"+goog.getUid(a):b.substr(0,1)+a};goog.structs.Set.prototype.getCount=function(){return this.map_.getCount()};goog.structs.Set.prototype.add=function(a){this.map_.set(goog.structs.Set.getKey_(a),a)};goog.structs.Set.prototype.addAll=function(a){a=goog.structs.getValues(a);for(var b=a.length,c=0;c<b;c++)this.add(a[c])};
goog.structs.Set.prototype.removeAll=function(a){a=goog.structs.getValues(a);for(var b=a.length,c=0;c<b;c++)this.remove(a[c])};goog.structs.Set.prototype.remove=function(a){return this.map_.remove(goog.structs.Set.getKey_(a))};goog.structs.Set.prototype.clear=function(){this.map_.clear()};goog.structs.Set.prototype.isEmpty=function(){return this.map_.isEmpty()};goog.structs.Set.prototype.contains=function(a){return this.map_.containsKey(goog.structs.Set.getKey_(a))};
goog.structs.Set.prototype.containsAll=function(a){return goog.structs.every(a,this.contains,this)};goog.structs.Set.prototype.intersection=function(a){var b=new goog.structs.Set;a=goog.structs.getValues(a);for(var c=0;c<a.length;c++){var d=a[c];this.contains(d)&&b.add(d)}return b};goog.structs.Set.prototype.difference=function(a){var b=this.clone();b.removeAll(a);return b};goog.structs.Set.prototype.getValues=function(){return this.map_.getValues()};goog.structs.Set.prototype.clone=function(){return new goog.structs.Set(this)};
goog.structs.Set.prototype.equals=function(a){return this.getCount()==goog.structs.getCount(a)&&this.isSubsetOf(a)};goog.structs.Set.prototype.isSubsetOf=function(a){var b=goog.structs.getCount(a);if(this.getCount()>b)return!1;!(a instanceof goog.structs.Set)&&5<b&&(a=new goog.structs.Set(a));return goog.structs.every(this,function(b){return goog.structs.contains(a,b)})};goog.structs.Set.prototype.__iterator__=function(a){return this.map_.__iterator__(!1)};goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.MAX_STACK_DEPTH=50;goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};goog.debug.fnNameCache_={};goog.dom={};goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE};goog.dom.TagName={A:"A",ABBR:"ABBR",ACRONYM:"ACRONYM",ADDRESS:"ADDRESS",APPLET:"APPLET",AREA:"AREA",ARTICLE:"ARTICLE",ASIDE:"ASIDE",AUDIO:"AUDIO",B:"B",BASE:"BASE",BASEFONT:"BASEFONT",BDI:"BDI",BDO:"BDO",BIG:"BIG",BLOCKQUOTE:"BLOCKQUOTE",BODY:"BODY",BR:"BR",BUTTON:"BUTTON",CANVAS:"CANVAS",CAPTION:"CAPTION",CENTER:"CENTER",CITE:"CITE",CODE:"CODE",COL:"COL",COLGROUP:"COLGROUP",COMMAND:"COMMAND",DATA:"DATA",DATALIST:"DATALIST",DD:"DD",DEL:"DEL",DETAILS:"DETAILS",DFN:"DFN",DIALOG:"DIALOG",DIR:"DIR",DIV:"DIV",
DL:"DL",DT:"DT",EM:"EM",EMBED:"EMBED",FIELDSET:"FIELDSET",FIGCAPTION:"FIGCAPTION",FIGURE:"FIGURE",FONT:"FONT",FOOTER:"FOOTER",FORM:"FORM",FRAME:"FRAME",FRAMESET:"FRAMESET",H1:"H1",H2:"H2",H3:"H3",H4:"H4",H5:"H5",H6:"H6",HEAD:"HEAD",HEADER:"HEADER",HGROUP:"HGROUP",HR:"HR",HTML:"HTML",I:"I",IFRAME:"IFRAME",IMG:"IMG",INPUT:"INPUT",INS:"INS",ISINDEX:"ISINDEX",KBD:"KBD",KEYGEN:"KEYGEN",LABEL:"LABEL",LEGEND:"LEGEND",LI:"LI",LINK:"LINK",MAP:"MAP",MARK:"MARK",MATH:"MATH",MENU:"MENU",META:"META",METER:"METER",
NAV:"NAV",NOFRAMES:"NOFRAMES",NOSCRIPT:"NOSCRIPT",OBJECT:"OBJECT",OL:"OL",OPTGROUP:"OPTGROUP",OPTION:"OPTION",OUTPUT:"OUTPUT",P:"P",PARAM:"PARAM",PRE:"PRE",PROGRESS:"PROGRESS",Q:"Q",RP:"RP",RT:"RT",RUBY:"RUBY",S:"S",SAMP:"SAMP",SCRIPT:"SCRIPT",SECTION:"SECTION",SELECT:"SELECT",SMALL:"SMALL",SOURCE:"SOURCE",SPAN:"SPAN",STRIKE:"STRIKE",STRONG:"STRONG",STYLE:"STYLE",SUB:"SUB",SUMMARY:"SUMMARY",SUP:"SUP",SVG:"SVG",TABLE:"TABLE",TBODY:"TBODY",TD:"TD",TEXTAREA:"TEXTAREA",TFOOT:"TFOOT",TH:"TH",THEAD:"THEAD",
TIME:"TIME",TITLE:"TITLE",TR:"TR",TRACK:"TRACK",TT:"TT",U:"U",UL:"UL",VAR:"VAR",VIDEO:"VIDEO",WBR:"WBR"};goog.dom.classes={};goog.dom.classes.set=function(a,b){a.className=b};goog.dom.classes.get=function(a){a=a.className;return goog.isString(a)&&a.match(/\S+/g)||[]};goog.dom.classes.add=function(a,b){var c=goog.dom.classes.get(a),d=goog.array.slice(arguments,1),e=c.length+d.length;goog.dom.classes.add_(c,d);goog.dom.classes.set(a,c.join(" "));return c.length==e};
goog.dom.classes.remove=function(a,b){var c=goog.dom.classes.get(a),d=goog.array.slice(arguments,1),e=goog.dom.classes.getDifference_(c,d);goog.dom.classes.set(a,e.join(" "));return e.length==c.length-d.length};goog.dom.classes.add_=function(a,b){for(var c=0;c<b.length;c++)goog.array.contains(a,b[c])||a.push(b[c])};goog.dom.classes.getDifference_=function(a,b){return goog.array.filter(a,function(a){return!goog.array.contains(b,a)})};
goog.dom.classes.swap=function(a,b,c){for(var d=goog.dom.classes.get(a),e=!1,f=0;f<d.length;f++)d[f]==b&&(goog.array.splice(d,f--,1),e=!0);e&&(d.push(c),goog.dom.classes.set(a,d.join(" ")));return e};goog.dom.classes.addRemove=function(a,b,c){var d=goog.dom.classes.get(a);goog.isString(b)?goog.array.remove(d,b):goog.isArray(b)&&(d=goog.dom.classes.getDifference_(d,b));goog.isString(c)&&!goog.array.contains(d,c)?d.push(c):goog.isArray(c)&&goog.dom.classes.add_(d,c);goog.dom.classes.set(a,d.join(" "))};
goog.dom.classes.has=function(a,b){return goog.array.contains(goog.dom.classes.get(a),b)};goog.dom.classes.enable=function(a,b,c){c?goog.dom.classes.add(a,b):goog.dom.classes.remove(a,b)};goog.dom.classes.toggle=function(a,b){var c=!goog.dom.classes.has(a,b);goog.dom.classes.enable(a,b,c);return c};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});goog.math.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1};goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};
goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};
goog.math.Coordinate.prototype.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};goog.math.Coordinate.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};goog.math.Coordinate.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};goog.math.Coordinate.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=a,goog.isNumber(b)&&(this.y+=b));return this};
goog.math.Coordinate.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.x*=a;this.y*=c;return this};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"});goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)};
goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)};goog.math.Size.prototype.area=function(){return this.width*this.height};goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)};goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height};goog.math.Size.prototype.isEmpty=function(){return!this.area()};goog.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};
goog.math.Size.prototype.fitsInside=function(a){return this.width<=a.width&&this.height<=a.height};goog.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};goog.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Size.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.width*=a;this.height*=c;return this};
goog.math.Size.prototype.scaleToFit=function(a){a=this.aspectRatio()>a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom.ASSUME_STANDARDS_MODE=!0;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};
goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.isString(a)?document.getElementById(a):a};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};
goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):c.getElementsByClassName?c.getElementsByClassName(a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)};goog.dom.getElementByClass=function(a,b){var c=b||document,d=null;return(d=goog.dom.canUseQuerySelector_(c)?c.querySelector("."+a):goog.dom.getElementsByClass(a,b)[0])||null};goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)};
goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&"*"!=b?b.toUpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&goog.array.contains(b.split(/\s+/),c)&&(d[e++]=g);d.length=
e;return d}return a};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in goog.dom.DIRECT_ATTRIBUTE_MAP_?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")||goog.string.startsWith(d,"data-")?a.setAttribute(d,b):a[d]=b})};
goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};goog.dom.getViewportSize_=function(a){a=a.document;a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new goog.math.Size(a.clientWidth,a.clientHeight)};
goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){a=goog.dom.getViewportSize_(a).height;var c=b.body,d=b.documentElement;if(goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{var b=d.scrollHeight,e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight);c=b>a?b>e?b:e:b<e?b:e}}return c};
goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()};goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)};
goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a);a=goog.dom.getWindow_(a);return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&a.pageYOffset!=b.scrollTop?new goog.math.Coordinate(b.scrollLeft,b.scrollTop):new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)};
goog.dom.getDocumentScrollElement_=function(a){return!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body};goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)};
goog.dom.createDom_=function(a,b){var c=b[0],d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["\x3c",c];d.name&&c.push(' name\x3d"',goog.string.htmlEscape(d.name),'"');if(d.type){c.push(' type\x3d"',goog.string.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d);delete e.type;d=e}c.push("\x3e");c=c.join("")}c=a.createElement(c);d&&(goog.isString(d)?c.className=d:goog.isArray(d)?goog.dom.classes.add.apply(null,[c].concat(d)):goog.dom.setProperties(c,
d));2<b.length&&goog.dom.append_(a,c,b,2);return c};goog.dom.append_=function(a,b,c,d){function e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.toArray(f):f,e):e(f)}};goog.dom.$dom=goog.dom.createDom;goog.dom.createElement=function(a){return document.createElement(a)};goog.dom.createTextNode=function(a){return document.createTextNode(String(a))};
goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)};goog.dom.createTable_=function(a,b,c,d){for(var e=["\x3ctr\x3e"],f=0;f<c;f++)e.push(d?"\x3ctd\x3e\x26nbsp;\x3c/td\x3e":"\x3ctd\x3e\x3c/td\x3e");e.push("\x3c/tr\x3e");e=e.join("");c=["\x3ctable\x3e"];for(f=0;f<b;f++)c.push(e);c.push("\x3c/table\x3e");a=a.createElement(goog.dom.TagName.DIV);a.innerHTML=c.join("");return a.removeChild(a.firstChild)};
goog.dom.htmlToDocumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(document,a)};goog.dom.htmlToDocumentFragment_=function(a,b){var c=a.createElement("div");goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(c.innerHTML="\x3cbr\x3e"+b,c.removeChild(c.firstChild)):c.innerHTML=b;if(1==c.childNodes.length)return c.removeChild(c.firstChild);for(var d=a.createDocumentFragment();c.firstChild;)d.appendChild(c.firstChild);return d};
goog.dom.getCompatMode=function(){return goog.dom.isCss1CompatMode()?"CSS1Compat":"BackCompat"};goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)};goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==a.compatMode};goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case goog.dom.TagName.APPLET:case goog.dom.TagName.AREA:case goog.dom.TagName.BASE:case goog.dom.TagName.BR:case goog.dom.TagName.COL:case goog.dom.TagName.COMMAND:case goog.dom.TagName.EMBED:case goog.dom.TagName.FRAME:case goog.dom.TagName.HR:case goog.dom.TagName.IMG:case goog.dom.TagName.INPUT:case goog.dom.TagName.IFRAME:case goog.dom.TagName.ISINDEX:case goog.dom.TagName.KEYGEN:case goog.dom.TagName.LINK:case goog.dom.TagName.NOFRAMES:case goog.dom.TagName.NOSCRIPT:case goog.dom.TagName.META:case goog.dom.TagName.OBJECT:case goog.dom.TagName.PARAM:case goog.dom.TagName.SCRIPT:case goog.dom.TagName.SOURCE:case goog.dom.TagName.STYLE:case goog.dom.TagName.TRACK:case goog.dom.TagName.WBR:return!1}return!0};
goog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSiblingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};goog.dom.insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)};
goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};
goog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&void 0!=a.children?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirstElementChild=function(a){return void 0!=a.firstElementChild?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,!0)};goog.dom.getLastElementChild=function(a){return void 0!=a.lastElementChild?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,!1)};
goog.dom.getNextElementSibling=function(a){return void 0!=a.nextElementSibling?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,!0)};goog.dom.getPreviousElementSibling=function(a){return void 0!=a.previousElementSibling?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,!1)};goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};
goog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};goog.dom.isNodeLike=function(a){return goog.isObject(a)&&0<a.nodeType};goog.dom.isElement=function(a){return goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT};
goog.dom.isWindow=function(a){return goog.isObject(a)&&a.window==a};goog.dom.getParentElement=function(a){if(goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY&&!(goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&a instanceof goog.global.SVGElement))return a.parentElement;a=a.parentNode;return goog.dom.isElement(a)?a:null};
goog.dom.contains=function(a,b){if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,
f=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c&&goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d&&goog.dom.contains(f,a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=goog.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);d=d.createRange();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(goog.global.Range.START_TO_END,d)};
goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSiblingOrder_(d,a)};goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};
goog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=Infinity;for(b=0;b<c;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b<e;b++){for(var g=d[0][b],h=1;h<c;h++)if(g!=d[h][b])return f;f=g}return f};goog.dom.getOwnerDocument=function(a){return a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};
goog.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document};goog.dom.getFrameContentWindow=function(a){return a.contentWindow||goog.dom.getWindow_(goog.dom.getFrameContentDocument(a))};
goog.dom.setTextContent=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)))}};goog.dom.getOuterHtml=function(a){if("outerHTML"in a)return a.outerHTML;var b=goog.dom.getOwnerDocument(a).createElement("div");b.appendChild(a.cloneNode(!0));return b.innerHTML};
goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,!1);return c};goog.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||goog.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1};goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"};
goog.dom.isFocusableTabIndex=function(a){var b=a.getAttributeNode("tabindex");return b&&b.specified?(a=a.tabIndex,goog.isNumber(a)&&0<=a&&32768>a):!1};goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,!1);return b.join("")};
goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length};
goog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument(a).body,d=[];a&&a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTextContent(e));a=a.parentNode}return goog.string.trimLeft(d.join("")).replace(/ +/g," ").length};
goog.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0<a.length&&d<b;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT)var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," "),d=d+f.length;else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;0<=f;f--)a.push(e.childNodes[f]);goog.isObject(c)&&(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e);return e};
goog.dom.isNodeList=function(a){if(a&&"number"==typeof a.length){if(goog.isObject(a))return"function"==typeof a.item||"string"==typeof a.item;if(goog.isFunction(a))return"function"==typeof a.item}return!1};goog.dom.getAncestorByTagNameAndClass=function(a,b,c){if(!b&&!c)return null;var d=b?b.toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!d||a.nodeName==d)&&(!c||goog.dom.classes.has(a,c))},!0)};
goog.dom.getAncestorByClass=function(a,b){return goog.dom.getAncestorByTagNameAndClass(a,null,b)};goog.dom.getAncestor=function(a,b,c,d){c||(a=a.parentNode);c=null==d;for(var e=0;a&&(c||e<=d);){if(b(a))return a;a=a.parentNode;e++}return null};goog.dom.getActiveElement=function(a){try{return a&&a.activeElement}catch(b){}return null};goog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper;
goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a};goog.dom.DomHelper.prototype.getDocument=function(){return this.document_};goog.dom.DomHelper.prototype.getElement=function(a){return goog.isString(a)?this.document_.getElementById(a):a};goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};
goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())};
goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)};goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom;goog.dom.DomHelper.prototype.createElement=function(a){return this.document_.createElement(a)};goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(String(a))};
goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};goog.dom.DomHelper.prototype.htmlToDocumentFragment=function(a){return goog.dom.htmlToDocumentFragment_(this.document_,a)};goog.dom.DomHelper.prototype.getCompatMode=function(){return this.isCss1CompatMode()?"CSS1Compat":"BackCompat"};goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)};goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)};
goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)};goog.dom.DomHelper.prototype.getActiveElement=function(a){return goog.dom.getActiveElement(a||this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild;goog.dom.DomHelper.prototype.append=goog.dom.append;
goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren;goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren;goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore;goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter;goog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt;goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode;goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode;
goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement;goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren;goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild;goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild;goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling;goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling;
goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode;goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode;goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike;goog.dom.DomHelper.prototype.isElement=goog.dom.isElement;goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow;goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement;goog.dom.DomHelper.prototype.contains=goog.dom.contains;goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder;
goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor;goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument;goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument;goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow;goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent;goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml;goog.dom.DomHelper.prototype.findNode=goog.dom.findNode;
goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes;goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex;goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex;goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent;goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength;goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset;goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset;
goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList;goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass;goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.dom.ViewportSizeMonitor=function(a){goog.events.EventTarget.call(this);this.window_=a||window;this.listenerKey_=goog.events.listen(this.window_,goog.events.EventType.RESIZE,this.handleResize_,!1,this);this.size_=goog.dom.getViewportSize(this.window_)};goog.inherits(goog.dom.ViewportSizeMonitor,goog.events.EventTarget);
goog.dom.ViewportSizeMonitor.getInstanceForWindow=function(a){a=a||window;var b=goog.getUid(a);return goog.dom.ViewportSizeMonitor.windowInstanceMap_[b]=goog.dom.ViewportSizeMonitor.windowInstanceMap_[b]||new goog.dom.ViewportSizeMonitor(a)};goog.dom.ViewportSizeMonitor.removeInstanceForWindow=function(a){a=goog.getUid(a||window);goog.dispose(goog.dom.ViewportSizeMonitor.windowInstanceMap_[a]);delete goog.dom.ViewportSizeMonitor.windowInstanceMap_[a]};
goog.dom.ViewportSizeMonitor.windowInstanceMap_={};goog.dom.ViewportSizeMonitor.prototype.listenerKey_=null;goog.dom.ViewportSizeMonitor.prototype.window_=null;goog.dom.ViewportSizeMonitor.prototype.size_=null;goog.dom.ViewportSizeMonitor.prototype.getSize=function(){return this.size_?this.size_.clone():null};
goog.dom.ViewportSizeMonitor.prototype.disposeInternal=function(){goog.dom.ViewportSizeMonitor.superClass_.disposeInternal.call(this);this.listenerKey_&&(goog.events.unlistenByKey(this.listenerKey_),this.listenerKey_=null);this.size_=this.window_=null};goog.dom.ViewportSizeMonitor.prototype.handleResize_=function(a){a=goog.dom.getViewportSize(this.window_);goog.math.Size.equals(a,this.size_)||(this.size_=a,this.dispatchEvent(goog.events.EventType.RESIZE))};goog.events.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,
X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,
SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,PHANTOM:255};
goog.events.KeyCodes.isTextModifyingKeyEvent=function(a){if(a.altKey&&!a.ctrlKey||a.metaKey||a.keyCode>=goog.events.KeyCodes.F1&&a.keyCode<=goog.events.KeyCodes.F12)return!1;switch(a.keyCode){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.END:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.MAC_FF_META:case goog.events.KeyCodes.META:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.NUM_CENTER:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.PHANTOM:case goog.events.KeyCodes.PRINT_SCREEN:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.SCROLL_LOCK:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.WIN_KEY:case goog.events.KeyCodes.WIN_KEY_RIGHT:return!1;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return!goog.userAgent.GECKO;
default:return a.keyCode<goog.events.KeyCodes.FIRST_MEDIA_KEY||a.keyCode>goog.events.KeyCodes.LAST_MEDIA_KEY}};
goog.events.KeyCodes.firesKeyPressEvent=function(a,b,c,d,e){if(!(goog.userAgent.IE||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("525")))return!0;if(goog.userAgent.MAC&&e)return goog.events.KeyCodes.isCharacterKey(a);if(e&&!d||!c&&(b==goog.events.KeyCodes.CTRL||b==goog.events.KeyCodes.ALT||goog.userAgent.MAC&&b==goog.events.KeyCodes.META))return!1;if(goog.userAgent.WEBKIT&&d&&c)switch(a){case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.TILDE: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:return!1}if(goog.userAgent.IE&&
d&&b==a)return!1;switch(a){case goog.events.KeyCodes.ENTER:return!(goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9));case goog.events.KeyCodes.ESC:return!goog.userAgent.WEBKIT}return goog.events.KeyCodes.isCharacterKey(a)};
goog.events.KeyCodes.isCharacterKey=function(a){if(a>=goog.events.KeyCodes.ZERO&&a<=goog.events.KeyCodes.NINE||a>=goog.events.KeyCodes.NUM_ZERO&&a<=goog.events.KeyCodes.NUM_MULTIPLY||a>=goog.events.KeyCodes.A&&a<=goog.events.KeyCodes.Z||goog.userAgent.WEBKIT&&0==a)return!0;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.FF_SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.FF_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!0;
default:return!1}};goog.events.KeyCodes.normalizeGeckoKeyCode=function(a){switch(a){case goog.events.KeyCodes.FF_EQUALS:return goog.events.KeyCodes.EQUALS;case goog.events.KeyCodes.FF_SEMICOLON:return goog.events.KeyCodes.SEMICOLON;case goog.events.KeyCodes.MAC_FF_META:return goog.events.KeyCodes.META;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return goog.events.KeyCodes.WIN_KEY;default:return a}};goog.events.KeyHandler=function(a,b){goog.events.EventTarget.call(this);a&&this.attach(a,b)};goog.inherits(goog.events.KeyHandler,goog.events.EventTarget);goog.events.KeyHandler.prototype.element_=null;goog.events.KeyHandler.prototype.keyPressKey_=null;goog.events.KeyHandler.prototype.keyDownKey_=null;goog.events.KeyHandler.prototype.keyUpKey_=null;goog.events.KeyHandler.prototype.lastKey_=-1;goog.events.KeyHandler.prototype.keyCode_=-1;goog.events.KeyHandler.prototype.altKey_=!1;
goog.events.KeyHandler.EventType={KEY:"key"};
goog.events.KeyHandler.safariKey_={3:goog.events.KeyCodes.ENTER,12:goog.events.KeyCodes.NUMLOCK,63232:goog.events.KeyCodes.UP,63233:goog.events.KeyCodes.DOWN,63234:goog.events.KeyCodes.LEFT,63235:goog.events.KeyCodes.RIGHT,63236:goog.events.KeyCodes.F1,63237:goog.events.KeyCodes.F2,63238:goog.events.KeyCodes.F3,63239:goog.events.KeyCodes.F4,63240:goog.events.KeyCodes.F5,63241:goog.events.KeyCodes.F6,63242:goog.events.KeyCodes.F7,63243:goog.events.KeyCodes.F8,63244:goog.events.KeyCodes.F9,63245:goog.events.KeyCodes.F10,
63246:goog.events.KeyCodes.F11,63247:goog.events.KeyCodes.F12,63248:goog.events.KeyCodes.PRINT_SCREEN,63272:goog.events.KeyCodes.DELETE,63273:goog.events.KeyCodes.HOME,63275:goog.events.KeyCodes.END,63276:goog.events.KeyCodes.PAGE_UP,63277:goog.events.KeyCodes.PAGE_DOWN,63289:goog.events.KeyCodes.NUMLOCK,63302:goog.events.KeyCodes.INSERT};
goog.events.KeyHandler.keyIdentifier_={Up:goog.events.KeyCodes.UP,Down:goog.events.KeyCodes.DOWN,Left:goog.events.KeyCodes.LEFT,Right:goog.events.KeyCodes.RIGHT,Enter:goog.events.KeyCodes.ENTER,F1:goog.events.KeyCodes.F1,F2:goog.events.KeyCodes.F2,F3:goog.events.KeyCodes.F3,F4:goog.events.KeyCodes.F4,F5:goog.events.KeyCodes.F5,F6:goog.events.KeyCodes.F6,F7:goog.events.KeyCodes.F7,F8:goog.events.KeyCodes.F8,F9:goog.events.KeyCodes.F9,F10:goog.events.KeyCodes.F10,F11:goog.events.KeyCodes.F11,F12:goog.events.KeyCodes.F12,
"U+007F":goog.events.KeyCodes.DELETE,Home:goog.events.KeyCodes.HOME,End:goog.events.KeyCodes.END,PageUp:goog.events.KeyCodes.PAGE_UP,PageDown:goog.events.KeyCodes.PAGE_DOWN,Insert:goog.events.KeyCodes.INSERT};goog.events.KeyHandler.USES_KEYDOWN_=goog.userAgent.IE||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("525");goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_=goog.userAgent.MAC&&goog.userAgent.GECKO;
goog.events.KeyHandler.prototype.handleKeyDown_=function(a){goog.userAgent.WEBKIT&&(this.lastKey_==goog.events.KeyCodes.CTRL&&!a.ctrlKey||this.lastKey_==goog.events.KeyCodes.ALT&&!a.altKey||goog.userAgent.MAC&&this.lastKey_==goog.events.KeyCodes.META&&!a.metaKey)&&(this.keyCode_=this.lastKey_=-1);-1==this.lastKey_&&(a.ctrlKey&&a.keyCode!=goog.events.KeyCodes.CTRL?this.lastKey_=goog.events.KeyCodes.CTRL:a.altKey&&a.keyCode!=goog.events.KeyCodes.ALT?this.lastKey_=goog.events.KeyCodes.ALT:a.metaKey&&
a.keyCode!=goog.events.KeyCodes.META&&(this.lastKey_=goog.events.KeyCodes.META));goog.events.KeyHandler.USES_KEYDOWN_&&!goog.events.KeyCodes.firesKeyPressEvent(a.keyCode,this.lastKey_,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):(this.keyCode_=goog.userAgent.GECKO?goog.events.KeyCodes.normalizeGeckoKeyCode(a.keyCode):a.keyCode,goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(this.altKey_=a.altKey))};goog.events.KeyHandler.prototype.resetState=function(){this.keyCode_=this.lastKey_=-1};
goog.events.KeyHandler.prototype.handleKeyup_=function(a){this.resetState();this.altKey_=a.altKey};
goog.events.KeyHandler.prototype.handleEvent=function(a){var b=a.getBrowserEvent(),c,d,e=b.altKey;goog.userAgent.IE&&a.type==goog.events.EventType.KEYPRESS?(c=this.keyCode_,d=c!=goog.events.KeyCodes.ENTER&&c!=goog.events.KeyCodes.ESC?b.keyCode:0):goog.userAgent.WEBKIT&&a.type==goog.events.EventType.KEYPRESS?(c=this.keyCode_,d=0<=b.charCode&&63232>b.charCode&&goog.events.KeyCodes.isCharacterKey(c)?b.charCode:0):goog.userAgent.OPERA?(c=this.keyCode_,d=goog.events.KeyCodes.isCharacterKey(c)?b.keyCode:
0):(c=b.keyCode||this.keyCode_,d=b.charCode||0,goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(e=this.altKey_),goog.userAgent.MAC&&(d==goog.events.KeyCodes.QUESTION_MARK&&c==goog.events.KeyCodes.WIN_KEY)&&(c=goog.events.KeyCodes.SLASH));var f=c,g=b.keyIdentifier;c?63232<=c&&c in goog.events.KeyHandler.safariKey_?f=goog.events.KeyHandler.safariKey_[c]:25==c&&a.shiftKey&&(f=9):g&&g in goog.events.KeyHandler.keyIdentifier_&&(f=goog.events.KeyHandler.keyIdentifier_[g]);a=f==this.lastKey_;this.lastKey_=
f;b=new goog.events.KeyEvent(f,d,a,b);b.altKey=e;this.dispatchEvent(b)};goog.events.KeyHandler.prototype.getElement=function(){return this.element_};
goog.events.KeyHandler.prototype.attach=function(a,b){this.keyUpKey_&&this.detach();this.element_=a;this.keyPressKey_=goog.events.listen(this.element_,goog.events.EventType.KEYPRESS,this,b);this.keyDownKey_=goog.events.listen(this.element_,goog.events.EventType.KEYDOWN,this.handleKeyDown_,b,this);this.keyUpKey_=goog.events.listen(this.element_,goog.events.EventType.KEYUP,this.handleKeyup_,b,this)};
goog.events.KeyHandler.prototype.detach=function(){this.keyPressKey_&&(goog.events.unlistenByKey(this.keyPressKey_),goog.events.unlistenByKey(this.keyDownKey_),goog.events.unlistenByKey(this.keyUpKey_),this.keyUpKey_=this.keyDownKey_=this.keyPressKey_=null);this.element_=null;this.keyCode_=this.lastKey_=-1};goog.events.KeyHandler.prototype.disposeInternal=function(){goog.events.KeyHandler.superClass_.disposeInternal.call(this);this.detach()};
goog.events.KeyEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,d);this.type=goog.events.KeyHandler.EventType.KEY;this.keyCode=a;this.charCode=b;this.repeat=c};goog.inherits(goog.events.KeyEvent,goog.events.BrowserEvent);goog.dom.vendor={};goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null};goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null};goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++){var d=arguments[c];b.top=Math.min(b.top,d.y);b.right=Math.max(b.right,d.x);b.bottom=Math.max(b.bottom,d.y);b.left=Math.min(b.left,d.x)}return b};goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};
goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"});goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)};goog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=b,this.bottom+=c,this.left-=d);return this};
goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};goog.math.Box.equals=function(a,b){return a==b?!0:a&&b?a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left:!1};
goog.math.Box.contains=function(a,b){return a&&b?b instanceof goog.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom:!1};goog.math.Box.relativePositionX=function(a,b){return b.x<a.left?b.x-a.left:b.x>a.right?b.x-a.right:0};goog.math.Box.relativePositionY=function(a,b){return b.y<a.top?b.y-a.top:b.y>a.bottom?b.y-a.bottom:0};
goog.math.Box.distance=function(a,b){var c=goog.math.Box.relativePositionX(a,b),d=goog.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+d*d)};goog.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};
goog.math.Box.prototype.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};goog.math.Box.prototype.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this};
goog.math.Box.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};goog.math.Box.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(this.left+=a,this.right+=a,goog.isNumber(b)&&(this.top+=b,this.bottom+=b));return this};
goog.math.Box.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.right*=a;this.top*=c;this.bottom*=c;return this};goog.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)};goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};
goog.DEBUG&&(goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"});goog.math.Rect.equals=function(a,b){return a==b?!0:a&&b?a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height:!1};
goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};
goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top),f=Math.min(a.top+a.height,b.top+b.height);if(e<=f)return new goog.math.Rect(c,e,d-c,f-e)}return null};goog.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};goog.math.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this,a)};
goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];var c=[],d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;b.top>a.top&&(c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);k<g&&(c.push(new goog.math.Rect(a.left,k,a.width,g-k)),e=k-d);b.left>a.left&&c.push(new goog.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new goog.math.Rect(h,d,f-h,e));return c};
goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;var c=a.clone();c.boundingRect(b);return c};
goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Rect?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};goog.math.Rect.prototype.squaredDistance=function(a){var b=a.x<this.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);a=a.y<this.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0);return b*b+a*a};
goog.math.Rect.prototype.distance=function(a){return Math.sqrt(this.squaredDistance(a))};goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)};goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)};goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)};
goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)};goog.math.Rect.prototype.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};goog.math.Rect.prototype.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};
goog.math.Rect.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Rect.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=a,goog.isNumber(b)&&(this.top+=b));return this};goog.math.Rect.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.width*=a;this.top*=c;this.height*=c;return this};goog.style={};goog.style.GET_BOUNDING_CLIENT_RECT_ALWAYS_EXISTS=!1;goog.style.setStyle=function(a,b,c){goog.isString(b)?goog.style.setStyle_(a,c,b):goog.object.forEach(b,goog.partial(goog.style.setStyle_,a))};goog.style.setStyle_=function(a,b,c){(c=goog.style.getVendorJsStyleName_(a,c))&&(a.style[c]=b)};goog.style.getVendorJsStyleName_=function(a,b){var c=goog.string.toCamelCase(b);if(void 0===a.style[c]){var d=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(b);if(void 0!==a.style[d])return d}return c};
goog.style.getVendorStyleName_=function(a,b){var c=goog.string.toCamelCase(b);return void 0===a.style[c]&&(c=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(b),void 0!==a.style[c])?goog.dom.vendor.getVendorPrefix()+"-"+b:b};goog.style.getStyle=function(a,b){var c=a.style[goog.string.toCamelCase(b)];return"undefined"!==typeof c?c:a.style[goog.style.getVendorJsStyleName_(a,b)]||""};
goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b)||"":""};goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style&&a.style[b]};
goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,"position")};goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgroundColor")};goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,"overflowX")};goog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,"overflowY")};goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,"zIndex")};
goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")};goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor")};goog.style.setPosition=function(a,b,c){var d,e=goog.userAgent.GECKO&&(goog.userAgent.MAC||goog.userAgent.X11)&&goog.userAgent.isVersionOrHigher("1.9");b instanceof goog.math.Coordinate?(d=b.x,b=b.y):(d=b,b=c);a.style.left=goog.style.getPixelStyleValue_(d,e);a.style.top=goog.style.getPixelStyleValue_(b,e)};
goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};goog.style.getClientViewportElement=function(a){a=a?goog.dom.getOwnerDocument(a):goog.dom.getDocument();return!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body};goog.style.getViewportPageOffset=function(a){var b=a.body;a=a.documentElement;return new goog.math.Coordinate(b.scrollLeft||a.scrollLeft,b.scrollTop||a.scrollTop)};
goog.style.getBoundingClientRect_=function(a){var b;try{b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}goog.userAgent.IE&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b};
goog.style.getOffsetParent=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return a.offsetParent;var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=goog.style.getStyle_(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null};
goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,Infinity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if(!(goog.userAgent.IE&&0==a.clientWidth||goog.userAgent.WEBKIT&&0==a.clientHeight&&a==d||a==d||a==e||"visible"==goog.style.getStyle_(a,"overflow"))){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,
g.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null};
goog.style.getContainerOffsetToScrollInto=function(a,b,c){var d=goog.style.getPageOffset(a),e=goog.style.getPageOffset(b),f=goog.style.getBorderBox(b),g=d.x-e.x-f.left,d=d.y-e.y-f.top,e=b.clientWidth-a.offsetWidth;a=b.clientHeight-a.offsetHeight;f=b.scrollLeft;b=b.scrollTop;c?(f+=g-e/2,b+=d-a/2):(f+=Math.min(g,Math.max(g-e,0)),b+=Math.min(d,Math.max(d-a,0)));return new goog.math.Coordinate(f,b)};
goog.style.scrollIntoContainerView=function(a,b,c){a=goog.style.getContainerOffsetToScrollInto(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};
goog.style.getClientLeftTop=function(a){if(goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("1.9")){var b=parseFloat(goog.style.getComputedStyle(a,"borderLeftWidth"));if(goog.style.isRightToLeft(a))var c=a.offsetWidth-a.clientWidth-b-parseFloat(goog.style.getComputedStyle(a,"borderRightWidth")),b=b+c;return new goog.math.Coordinate(b,parseFloat(goog.style.getComputedStyle(a,"borderTopWidth")))}return new goog.math.Coordinate(a.clientLeft,a.clientTop)};
goog.style.getPageOffset=function(a){var b,c=goog.dom.getOwnerDocument(a),d=goog.style.getStyle_(a,"position"),e=!goog.style.GET_BOUNDING_CLIENT_RECT_ALWAYS_EXISTS&&goog.userAgent.GECKO&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),f=new goog.math.Coordinate(0,0),g=goog.style.getClientViewportElement(c);if(a==g)return f;if(goog.style.GET_BOUNDING_CLIENT_RECT_ALWAYS_EXISTS||a.getBoundingClientRect)b=goog.style.getBoundingClientRect_(a),
a=goog.dom.getDomHelper(c).getDocumentScroll(),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&!e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;b!=a&&(f.x+=b.clientLeft||0,f.y+=b.clientTop||0);if(goog.userAgent.WEBKIT&&"fixed"==goog.style.getComputedPosition(b)){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(goog.userAgent.OPERA||goog.userAgent.WEBKIT&&"absolute"==
d)f.y-=c.body.offsetTop;for(b=a;(b=goog.style.getOffsetParent(b))&&b!=c.body&&b!=g;)f.x-=b.scrollLeft,goog.userAgent.OPERA&&"TR"==b.tagName||(f.y-=b.scrollTop)}return f};goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y};
goog.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.style.getPageOffset(e):goog.style.getClientPositionForElement_(null);c.x+=f.x;c.y+=f.y}while(d&&d!=b&&(e=d.frameElement)&&(d=d.parent));return c};
goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=goog.style.getFramedPageOffset(d,c.getWindow());c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));goog.userAgent.IE&&!b.isCss1CompatMode()&&(c=goog.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};
goog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition(a),d=goog.style.getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y-d.y)};
goog.style.getClientPositionForElement_=function(a){var b;if(goog.style.GET_BOUNDING_CLIENT_RECT_ALWAYS_EXISTS||a.getBoundingClientRect)b=goog.style.getBoundingClientRect_(a),b=new goog.math.Coordinate(b.left,b.top);else{b=goog.dom.getDomHelper(a).getDocumentScroll();var c=goog.style.getPageOffset(a);b=new goog.math.Coordinate(c.x-b.x,c.y-b.y)}return goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher(12)?goog.math.Coordinate.sum(b,goog.style.getCssTranslation(a)):b};
goog.style.getClientPosition=function(a){if(a.nodeType==goog.dom.NodeType.ELEMENT)return goog.style.getClientPositionForElement_(a);var b=goog.isFunction(a.getBrowserEvent),c=a;a.targetTouches?c=a.targetTouches[0]:b&&a.getBrowserEvent().targetTouches&&(c=a.getBrowserEvent().targetTouches[0]);return new goog.math.Coordinate(c.clientX,c.clientY)};
goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);b instanceof goog.math.Coordinate&&(c=b.y,b=b.x);goog.style.setPosition(a,a.offsetLeft+(b-d.x),a.offsetTop+(c-d.y))};goog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error("missing height argument");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.getPixelStyleValue_=function(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a};
goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,!0)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,!0)};goog.style.getSize=function(a){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,a)};
goog.style.evaluateWithTemporaryDisplay_=function(a,b){if("none"!=goog.style.getStyle_(b,"display"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";var g=a(b);c.display=d;c.position=f;c.visibility=e;return g};
goog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT&&!b&&!c;return goog.isDef(b)&&!d||!a.getBoundingClientRect?new goog.math.Size(b,c):(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top))};goog.style.getTransformedSize=function(a){if(!a.getBoundingClientRect)return null;a=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,a);return new goog.math.Size(a.right-a.left,a.bottom-a.top)};
goog.style.getBounds=function(a){var b=goog.style.getPageOffset(a);a=goog.style.getSize(a);return new goog.math.Rect(b.x,b.y,a.width,a.height)};goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};
goog.style.getOpacity=function(a){var b=a.style;a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return""==a?a:Number(a)};goog.style.setOpacity=function(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity\x3d"+100*b+")")};
goog.style.setTransparentBackgroundImage=function(a,b){var c=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?c.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src\x3d"'+b+'", sizingMethod\x3d"crop")':(c.backgroundImage="url("+b+")",c.backgroundPosition="top left",c.backgroundRepeat="no-repeat")};goog.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a.filter="":a.backgroundImage="none"};
goog.style.showElement=function(a,b){goog.style.setElementShown(a,b)};goog.style.setElementShown=function(a,b){a.style.display=b?"":"none"};goog.style.isElementShown=function(a){return"none"!=a.style.display};
goog.style.installStyles=function(a,b){var c=goog.dom.getDomHelper(b),d=null;if(goog.userAgent.IE)d=c.getDocument().createStyleSheet(),goog.style.setStyles(d,a);else{var e=c.getElementsByTagNameAndClass("head")[0];e||(d=c.getElementsByTagNameAndClass("body")[0],e=c.createDom("head"),d.parentNode.insertBefore(e,d));d=c.createDom("style");goog.style.setStyles(d,a);c.appendChild(e,d)}return d};goog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)};
goog.style.setStyles=function(a,b){goog.userAgent.IE?a.cssText=b:a.innerHTML=b};goog.style.setPreWrap=function(a){a=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};
goog.style.setInlineBlock=function(a){a=a.style;a.position="relative";goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.zoom="1",a.display="inline"):a.display=goog.userAgent.GECKO?goog.userAgent.isVersionOrHigher("1.9a")?"inline-block":"-moz-inline-box":"inline-block"};goog.style.isRightToLeft=function(a){return"rtl"==goog.style.getStyle_(a,"direction")};goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT?"WebkitUserSelect":null;
goog.style.isUnselectable=function(a){return goog.style.unselectableStyle_?"none"==a.style[goog.style.unselectableStyle_].toLowerCase():goog.userAgent.IE||goog.userAgent.OPERA?"on"==a.getAttribute("unselectable"):!1};
goog.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName("*");var d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style[d]=b,c){a=0;for(var e;e=c[a];a++)e.style[d]=b}}else if(goog.userAgent.IE||goog.userAgent.OPERA)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)};goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)};
goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"border-box");else if(c=a.style,d){var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHeight=b.height};
goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE&&a.currentStyle;if(c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&"auto"!=c.width&&"auto"!=c.height&&!c.boxSizing)return b=goog.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new goog.math.Size(b,a);c=goog.style.getBorderBoxSize(a);b=goog.style.getPaddingBox(a);a=goog.style.getBorderBox(a);return new goog.math.Size(c.width-a.left-
b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom)};
goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"content-box");else if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.height;else{var d=goog.style.getPaddingBox(a),e=goog.style.getBorderBox(a);c.pixelWidth=b.width+e.left+d.left+d.right+e.right;c.pixelHeight=b.height+e.top+d.top+d.bottom+e.bottom}};
goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=Math.max(b.width,0)+"px";a.height=Math.max(b.height,0)+"px"};goog.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return b};
goog.style.getIePixelDistance_=function(a,b){var c=goog.style.getCascadedStyle(a,b);return c?goog.style.getIePixelValue_(a,c,"left","pixelLeft"):0};
goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+"Left"),d=goog.style.getIePixelDistance_(a,b+"Right"),e=goog.style.getIePixelDistance_(a,b+"Top"),f=goog.style.getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,f,c)}c=goog.style.getComputedStyle(a,b+"Left");d=goog.style.getComputedStyle(a,b+"Right");e=goog.style.getComputedStyle(a,b+"Top");f=goog.style.getComputedStyle(a,b+"Bottom");return new goog.math.Box(parseFloat(e),parseFloat(d),parseFloat(f),
parseFloat(c))};goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,"padding")};goog.style.getMarginBox=function(a){return goog.style.getBox_(a,"margin")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};
goog.style.getIePixelBorder_=function(a,b){if("none"==goog.style.getCascadedStyle(a,b+"Style"))return 0;var c=goog.style.getCascadedStyle(a,b+"Width");return c in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[c]:goog.style.getIePixelValue_(a,c,"left","pixelLeft")};
goog.style.getBorderBox=function(a){if(goog.userAgent.IE){var b=goog.style.getIePixelBorder_(a,"borderLeft"),c=goog.style.getIePixelBorder_(a,"borderRight"),d=goog.style.getIePixelBorder_(a,"borderTop");a=goog.style.getIePixelBorder_(a,"borderBottom");return new goog.math.Box(d,c,a,b)}b=goog.style.getComputedStyle(a,"borderLeftWidth");c=goog.style.getComputedStyle(a,"borderRightWidth");d=goog.style.getComputedStyle(a,"borderTopWidth");a=goog.style.getComputedStyle(a,"borderBottomWidth");return new goog.math.Box(parseFloat(d),
parseFloat(c),parseFloat(a),parseFloat(b))};goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.body.createTextRange){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}c||(c=goog.style.getStyle_(a,"fontFamily"));a=c.split(",");1<a.length&&(c=a[0]);return goog.string.stripQuotes(c,"\"'")};goog.style.lengthUnitRegex_=/[^\d]+$/;
goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))&&a[0]||null};goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};
goog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,"fontSize"),c=goog.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent.IE){if(c in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,"left","pixelLeft");if(a.parentNode&&a.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&c in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b==c?"1em":b,"left","pixelLeft")}c=
goog.dom.createDom("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom.appendChild(a,c);b=c.offsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=function(a){var b={};goog.array.forEach(a.split(/\s*;\s*/),function(a){a=a.split(/\s*:\s*/);2==a.length&&(b[goog.string.toCamelCase(a[0].toLowerCase())]=a[1])});return b};
goog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),":",a,";")});return b.join("")};goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b};goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""};
goog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement("div");a&&(b.className=a);b.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px";a=goog.dom.createElement("div");goog.style.setSize(a,"200px","200px");b.appendChild(a);goog.dom.appendChild(goog.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;goog.dom.removeNode(b);return a};goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;
goog.style.getCssTranslation=function(a){var b;goog.userAgent.IE?b="-ms-transform":goog.userAgent.WEBKIT?b="-webkit-transform":goog.userAgent.OPERA?b="-o-transform":goog.userAgent.GECKO&&(b="-moz-transform");var c;b&&(c=goog.style.getStyle_(a,b));c||(c=goog.style.getStyle_(a,"transform"));return c?(a=c.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new goog.math.Coordinate(0,0):new goog.math.Coordinate(0,0)};goog.events.MouseWheelHandler=function(a,b){goog.events.EventTarget.call(this);this.element_=a;var c=goog.dom.isElement(this.element_)?this.element_:this.element_?this.element_.body:null;this.isRtl_=!!c&&goog.style.isRightToLeft(c);this.listenKey_=goog.events.listen(this.element_,goog.userAgent.GECKO?"DOMMouseScroll":"mousewheel",this,b)};goog.inherits(goog.events.MouseWheelHandler,goog.events.EventTarget);goog.events.MouseWheelHandler.EventType={MOUSEWHEEL:"mousewheel"};
goog.events.MouseWheelHandler.prototype.setMaxDeltaX=function(a){this.maxDeltaX_=a};goog.events.MouseWheelHandler.prototype.setMaxDeltaY=function(a){this.maxDeltaY_=a};
goog.events.MouseWheelHandler.prototype.handleEvent=function(a){var b=0,c=0,d=0;a=a.getBrowserEvent();if("mousewheel"==a.type){c=1;if(goog.userAgent.IE||goog.userAgent.WEBKIT&&(goog.userAgent.WINDOWS||goog.userAgent.isVersionOrHigher("532.0")))c=40;d=goog.events.MouseWheelHandler.smartScale_(-a.wheelDelta,c);goog.isDef(a.wheelDeltaX)?(b=goog.events.MouseWheelHandler.smartScale_(-a.wheelDeltaX,c),c=goog.events.MouseWheelHandler.smartScale_(-a.wheelDeltaY,c)):c=d}else d=a.detail,100<d?d=3:-100>d&&(d=
-3),goog.isDef(a.axis)&&a.axis===a.HORIZONTAL_AXIS?b=d:c=d;goog.isNumber(this.maxDeltaX_)&&(b=goog.math.clamp(b,-this.maxDeltaX_,this.maxDeltaX_));goog.isNumber(this.maxDeltaY_)&&(c=goog.math.clamp(c,-this.maxDeltaY_,this.maxDeltaY_));this.isRtl_&&(b=-b);b=new goog.events.MouseWheelEvent(d,a,b,c);this.dispatchEvent(b)};goog.events.MouseWheelHandler.smartScale_=function(a,b){return goog.userAgent.WEBKIT&&(goog.userAgent.MAC||goog.userAgent.LINUX)&&0!=a%b?a:a/b};
goog.events.MouseWheelHandler.prototype.disposeInternal=function(){goog.events.MouseWheelHandler.superClass_.disposeInternal.call(this);goog.events.unlistenByKey(this.listenKey_);this.listenKey_=null};goog.events.MouseWheelEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,b);this.type=goog.events.MouseWheelHandler.EventType.MOUSEWHEEL;this.detail=a;this.deltaX=c;this.deltaY=d};goog.inherits(goog.events.MouseWheelEvent,goog.events.BrowserEvent);ol.MapEventType={POSTRENDER:"postrender",MOVEEND:"moveend"};ol.MapEvent=function(a,b,c){goog.events.Event.call(this,a);this.map=b;this.frameState=goog.isDef(c)?c:null};goog.inherits(ol.MapEvent,goog.events.Event);ol.MapBrowserEvent=function(a,b,c,d){ol.MapEvent.call(this,a,b,d);this.browserEvent=c;this.pixel_=this.coordinate_=null};goog.inherits(ol.MapBrowserEvent,ol.MapEvent);ol.MapBrowserEvent.prototype.getCoordinate=function(){goog.isNull(this.coordinate_)&&(this.coordinate_=this.map.getCoordinateFromPixel(this.getPixel()));return this.coordinate_};
ol.MapBrowserEvent.prototype.getPixel=function(){if(goog.isNull(this.pixel_)){var a=goog.style.getRelativePosition(this.browserEvent,this.map.getViewport());this.pixel_=[a.x,a.y]}return this.pixel_};ol.MapBrowserEvent.prototype.isMouseActionButton=function(){return ol.BrowserFeature.HAS_TOUCH||this.browserEvent.isMouseActionButton()};ol.MapBrowserEvent.prototype.preventDefault=function(){ol.MapBrowserEvent.superClass_.preventDefault.call(this);this.browserEvent.preventDefault()};
ol.MapBrowserEvent.prototype.stopPropagation=function(){ol.MapBrowserEvent.superClass_.stopPropagation.call(this);this.browserEvent.stopPropagation()};
ol.MapBrowserEventHandler=function(a){goog.events.EventTarget.call(this);this.map_=a;this.dragged_=!1;this.down_=this.touchListenerKeys_=this.dragListenerKeys_=this.listenerKeys_=this.timestamp_=null;a=this.map_.getViewport();this.listenerKeys_=[goog.events.listen(a,[goog.events.EventType.CLICK,goog.events.EventType.DBLCLICK],this.click_,!1,this),goog.events.listen(a,goog.events.EventType.MOUSEDOWN,this.handleMouseDown_,!1,this),goog.events.listen(a,goog.events.EventType.MOUSEMOVE,this.relayEvent_,
!1,this),goog.events.listen(a,goog.events.EventType.MOUSEOUT,this.relayEvent_,!1,this),goog.events.listen(a,goog.events.EventType.CONTEXTMENU,this.relayEvent_,!1,this)];this.touchListenerKeys_=[goog.events.listen(a,[goog.events.EventType.TOUCHSTART,goog.events.EventType.MSPOINTERDOWN],this.handleTouchStart_,!1,this),goog.events.listen(goog.global.document,[goog.events.EventType.TOUCHMOVE,goog.events.EventType.MSPOINTERMOVE],this.handleTouchMove_,!1,this),goog.events.listen(goog.global.document,[goog.events.EventType.TOUCHEND,
goog.events.EventType.MSPOINTERUP],this.handleTouchEnd_,!1,this)]};goog.inherits(ol.MapBrowserEventHandler,goog.events.EventTarget);ol.MapBrowserEventHandler.prototype.click_=function(a){if(!this.dragged_){var b=a.type;a=0===this.timestamp_||b==goog.events.EventType.DBLCLICK?new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.DBLCLICK,this.map_,a):new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.CLICK,this.map_,a);this.dispatchEvent(a)}};
ol.MapBrowserEventHandler.prototype.handleMouseUp_=function(a){this.down_&&(this.down_=null,goog.array.forEach(this.dragListenerKeys_,goog.events.unlistenByKey),this.dragListenerKeys_=null,this.dragged_&&(a=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.DRAGEND,this.map_,a),this.dispatchEvent(a)))};
ol.MapBrowserEventHandler.prototype.handleMouseDown_=function(a){var b=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.DOWN,this.map_,a);this.dispatchEvent(b);this.down_||(this.down_=a,this.dragged_=!1,this.dragListenerKeys_=[goog.events.listen(goog.global.document,goog.events.EventType.MOUSEMOVE,this.handleMouseMove_,!1,this),goog.events.listen(goog.global.document,goog.events.EventType.MOUSEUP,this.handleMouseUp_,!1,this)],a.preventDefault())};
ol.MapBrowserEventHandler.prototype.handleMouseMove_=function(a){var b;this.dragged_||(this.dragged_=!0,b=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.DRAGSTART,this.map_,this.down_),this.dispatchEvent(b));b=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.DRAG,this.map_,a);this.dispatchEvent(b)};ol.MapBrowserEventHandler.prototype.relayEvent_=function(a){this.dispatchEvent(new ol.MapBrowserEvent(a.type,this.map_,a))};
ol.MapBrowserEventHandler.prototype.handleTouchStart_=function(a){a.preventDefault();this.down_=a;this.dragged_=!1;a=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.TOUCHSTART,this.map_,a);this.dispatchEvent(a)};ol.MapBrowserEventHandler.prototype.handleTouchMove_=function(a){this.down_&&(this.dragged_=!0,a=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.TOUCHMOVE,this.map_,a),this.dispatchEvent(a))};
ol.MapBrowserEventHandler.prototype.handleTouchEnd_=function(a){a=new ol.MapBrowserEvent(ol.MapBrowserEvent.EventType.TOUCHEND,this.map_,a);this.dispatchEvent(a);this.dragged_||(a=goog.now(),this.timestamp_=!this.timestamp_||250<a-this.timestamp_?a:0,goog.isNull(this.down_)||this.click_(this.down_));this.down_=null};
ol.MapBrowserEventHandler.prototype.disposeInternal=function(){goog.isNull(this.listenerKeys_)||(goog.array.forEach(this.listenerKeys_,goog.events.unlistenByKey),this.listenerKeys_=null);goog.isNull(this.dragListenerKeys_)||(goog.array.forEach(this.dragListenerKeys_,goog.events.unlistenByKey),this.dragListenerKeys_=null);goog.isNull(this.touchListenerKeys_)||(goog.array.forEach(this.touchListenerKeys_,goog.events.unlistenByKey),this.touchListenerKeys_=null);ol.MapBrowserEventHandler.superClass_.disposeInternal.call(this)};
ol.MapBrowserEvent.EventType={CLICK:goog.events.EventType.CLICK,DBLCLICK:goog.events.EventType.DBLCLICK,DOWN:"down",DRAGSTART:"dragstart",DRAG:"drag",DRAGEND:"dragend",TOUCHSTART:goog.events.EventType.TOUCHSTART,TOUCHMOVE:goog.events.EventType.TOUCHMOVE,TOUCHEND:goog.events.EventType.TOUCHEND,MOUSEMOVE:goog.events.EventType.MOUSEMOVE,MOUSEOUT:goog.events.EventType.MOUSEOUT,CONTEXTMENU:goog.events.EventType.CONTEXTMENU};ol.View2DProperty={CENTER:"center",PROJECTION:"projection",RESOLUTION:"resolution",ROTATION:"rotation"};
ol.View2D=function(a){ol.View.call(this);a=a||{};var b={};b[ol.View2DProperty.CENTER]=goog.isDef(a.center)?a.center:null;b[ol.View2DProperty.PROJECTION]=ol.proj.createProjection(a.projection,"EPSG:3857");var c=ol.View2D.createResolutionConstraint_(a);this.maxResolution_=c.maxResolution;this.minResolution_=c.minResolution;var c=c.constraint,d=ol.View2D.createRotationConstraint_(a);this.constraints_=new ol.Constraints(c,d);goog.isDef(a.resolution)?b[ol.View2DProperty.RESOLUTION]=a.resolution:goog.isDef(a.zoom)&&
(b[ol.View2DProperty.RESOLUTION]=this.constrainResolution(this.maxResolution_,a.zoom));b[ol.View2DProperty.ROTATION]=goog.isDef(a.rotation)?a.rotation:0;this.setValues(b)};goog.inherits(ol.View2D,ol.View);ol.View2D.prototype.calculateCenterRotate=function(a,b){var c,d=this.getCenter();goog.isDef(d)&&(c=[d[0]-b[0],d[1]-b[1]],ol.coordinate.rotate(c,a-this.getRotation()),ol.coordinate.add(c,b));return c};
ol.View2D.prototype.calculateCenterZoom=function(a,b){var c,d=this.getCenter(),e=this.getResolution();goog.isDef(d)&&goog.isDef(e)&&(c=[b[0]-a*(b[0]-d[0])/e,b[1]-a*(b[1]-d[1])/e]);return c};ol.View2D.prototype.constrainResolution=function(a,b,c){return this.constraints_.resolution(a,b||0,c||0)};ol.View2D.prototype.constrainRotation=function(a,b){return this.constraints_.rotation(a,b||0)};ol.View2D.prototype.getCenter=function(){return this.get(ol.View2DProperty.CENTER)};
goog.exportProperty(ol.View2D.prototype,"getCenter",ol.View2D.prototype.getCenter);ol.View2D.prototype.calculateExtent=function(a){var b=this.getCenter(),c=this.getResolution();return[b[0]-c*a[0]/2,b[0]+c*a[0]/2,b[1]-c*a[1]/2,b[1]+c*a[1]/2]};ol.View2D.prototype.getProjection=function(){return this.get(ol.View2DProperty.PROJECTION)};goog.exportProperty(ol.View2D.prototype,"getProjection",ol.View2D.prototype.getProjection);ol.View2D.prototype.getResolution=function(){return this.get(ol.View2DProperty.RESOLUTION)};
goog.exportProperty(ol.View2D.prototype,"getResolution",ol.View2D.prototype.getResolution);ol.View2D.prototype.getResolutionForExtent=function(a,b){return Math.max((a[1]-a[0])/b[0],(a[3]-a[2])/b[1])};ol.View2D.prototype.getResolutionForValueFunction=function(a){var b=a||2,c=this.maxResolution_,d=Math.log(c/this.minResolution_)/Math.log(b);return function(a){return c/Math.pow(b,a*d)}};ol.View2D.prototype.getRotation=function(){return this.get(ol.View2DProperty.ROTATION)};
goog.exportProperty(ol.View2D.prototype,"getRotation",ol.View2D.prototype.getRotation);ol.View2D.prototype.getValueForResolutionFunction=function(a){var b=a||2,c=this.maxResolution_,d=Math.log(c/this.minResolution_)/Math.log(b);return function(a){return Math.log(c/a)/Math.log(b)/d}};ol.View2D.prototype.getView2D=function(){return this};
ol.View2D.prototype.getView2DState=function(){var a=this.getCenter(),b=this.getProjection(),c=this.getResolution(),d=this.getRotation();return{center:a.slice(),projection:goog.isDef(b)?b:null,resolution:c,rotation:goog.isDef(d)?d:0}};ol.View2D.prototype.getView3D=function(){};ol.View2D.prototype.getZoom=function(){var a,b=this.getResolution();if(goog.isDef(b)){var c,d=0;do{c=this.constrainResolution(this.maxResolution_,d);if(c==b){a=d;break}++d}while(c>this.minResolution_)}return a};
ol.View2D.prototype.fitExtent=function(a,b){this.setCenter(ol.extent.getCenter(a));var c=this.getResolutionForExtent(a,b),c=this.constrainResolution(c,0,0);this.setResolution(c)};ol.View2D.prototype.isDef=function(){return goog.isDefAndNotNull(this.getCenter())&&goog.isDef(this.getResolution())};ol.View2D.prototype.setCenter=function(a){this.set(ol.View2DProperty.CENTER,a)};goog.exportProperty(ol.View2D.prototype,"setCenter",ol.View2D.prototype.setCenter);
ol.View2D.prototype.setProjection=function(a){this.set(ol.View2DProperty.PROJECTION,a)};goog.exportProperty(ol.View2D.prototype,"setProjection",ol.View2D.prototype.setProjection);ol.View2D.prototype.setResolution=function(a){this.set(ol.View2DProperty.RESOLUTION,a)};goog.exportProperty(ol.View2D.prototype,"setResolution",ol.View2D.prototype.setResolution);ol.View2D.prototype.setRotation=function(a){this.set(ol.View2DProperty.ROTATION,a)};goog.exportProperty(ol.View2D.prototype,"setRotation",ol.View2D.prototype.setRotation);
ol.View2D.prototype.setZoom=function(a){a=this.constrainResolution(this.maxResolution_,a,0);this.setResolution(a)};
ol.View2D.createResolutionConstraint_=function(a){var b,c;if(goog.isDef(a.resolutions))b=a.resolutions,c=b[0],a=b[b.length-1],b=ol.ResolutionConstraint.createSnapToResolutions(b);else{c=a.maxResolution;goog.isDef(c)||(c=a.projection,b=ol.proj.createProjection(c,"EPSG:3857").getExtent(),c=(goog.isNull(b)?360*ol.METERS_PER_UNIT[ol.ProjectionUnits.DEGREES]/ol.METERS_PER_UNIT[c.getUnits()]:Math.max(b[1]-b[0],b[3]-b[2]))/ol.DEFAULT_TILE_SIZE);b=a.maxZoom;goog.isDef(b)||(b=28);var d=a.zoomFactor;goog.isDef(d)||
(d=2);a=c/Math.pow(d,b);b=ol.ResolutionConstraint.createSnapToPower(d,c,b)}return{constraint:b,maxResolution:c,minResolution:a}};ol.View2D.createRotationConstraint_=function(a){return ol.RotationConstraint.createSnapToZero()};ol.control={};ol.control.Control=function(a){ol.Object.call(this);this.element=goog.isDef(a.element)?a.element:null;this.target_=a.target;this.map_=null;this.listenerKeys=[]};goog.inherits(ol.control.Control,ol.Object);ol.control.Control.prototype.disposeInternal=function(){goog.dom.removeNode(this.element);ol.control.Control.superClass_.disposeInternal.call(this)};ol.control.Control.prototype.getMap=function(){return this.map_};ol.control.Control.prototype.handleMapPostrender=goog.nullFunction;
ol.control.Control.prototype.setMap=function(a){goog.isNull(this.map_)||goog.dom.removeNode(this.element);goog.array.isEmpty(this.listenerKeys)||(goog.array.forEach(this.listenerKeys,goog.events.unlistenByKey),this.listenerKeys.length=0);this.map_=a;if(!goog.isNull(this.map_)){var b=goog.isDef(this.target_)?this.target_:a.getOverlayContainer();goog.dom.appendChild(b,this.element);this.handleMapPostrender!==goog.nullFunction&&this.listenerKeys.push(goog.events.listen(a,ol.MapEventType.POSTRENDER,this.handleMapPostrender,
!1,this))}};ol.css={};ol.css.CLASS_UNSELECTABLE="ol-unselectable";ol.css.CLASS_UNSUPPORTED="ol-unsupported";ol.control.Attribution=function(a){a=goog.isDef(a)?a:{};this.ulElement_=goog.dom.createElement(goog.dom.TagName.UL);var b=goog.isDef(a.className)?a.className:"ol-attribution",b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":b+" "+ol.css.CLASS_UNSELECTABLE},this.ulElement_);ol.control.Control.call(this,{element:b,target:a.target});this.renderedVisible_=!0;this.attributionElements_={};this.attributionElementRenderedVisible_={}};goog.inherits(ol.control.Attribution,ol.control.Control);
ol.control.Attribution.prototype.getSourceAttributions=function(a){var b,c,d,e,f,g,h,k,l,m=a.layersArray,n=goog.object.clone(a.attributions),q={};b=0;for(c=m.length;b<c;b++)if(d=m[b].getSource(),l=goog.getUid(d).toString(),k=d.getAttributions(),!goog.isNull(k))for(d=0,e=k.length;d<e;d++)g=k[d],h=goog.getUid(g).toString(),h in n||(f=a.usedTiles[l],goog.isDef(f)&&g.intersectsAnyTileRange(f)?(h in q&&delete q[h],n[h]=g):q[h]=g);return[n,q]};ol.control.Attribution.prototype.handleMapPostrender=function(a){this.updateElement_(a.frameState)};
ol.control.Attribution.prototype.updateElement_=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.setElementShown(this.element,!1),this.renderedVisible_=!1);else{var b=this.getSourceAttributions(a);a=b[0];var b=b[1],c,d;for(d in this.attributionElements_)d in a?(this.attributionElementRenderedVisible_[d]||(goog.style.setElementShown(this.attributionElements_[d],!0),this.attributionElementRenderedVisible_[d]=!0),delete a[d]):d in b?(this.attributionElementRenderedVisible_[d]&&(goog.style.setElementShown(this.attributionElements_[d],
!1),delete this.attributionElementRenderedVisible_[d]),delete b[d]):(goog.dom.removeNode(this.attributionElements_[d]),delete this.attributionElements_[d],delete this.attributionElementRenderedVisible_[d]);for(d in a)c=goog.dom.createElement(goog.dom.TagName.LI),c.innerHTML=a[d].getHTML(),goog.dom.appendChild(this.ulElement_,c),this.attributionElements_[d]=c,this.attributionElementRenderedVisible_[d]=!0;for(d in b)c=goog.dom.createElement(goog.dom.TagName.LI),c.innerHTML=b[d].getHTML(),goog.style.setElementShown(c,
!1),goog.dom.appendChild(this.ulElement_,c),this.attributionElements_[d]=c;d=!goog.object.isEmpty(this.attributionElementRenderedVisible_);this.renderedVisible_!=d&&(goog.style.setElementShown(this.element,d),this.renderedVisible_=d)}};ol.control.Logo=function(a){a=goog.isDef(a)?a:{};this.ulElement_=goog.dom.createElement(goog.dom.TagName.UL);var b=goog.isDef(a.className)?a.className:"ol-logo",b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":b+" "+ol.css.CLASS_UNSELECTABLE},this.ulElement_);ol.control.Control.call(this,{element:b,target:a.target});this.renderedVisible_=!0;this.logoElements_={}};goog.inherits(ol.control.Logo,ol.control.Control);ol.control.Logo.prototype.handleMapPostrender=function(a){this.updateElement_(a.frameState)};
ol.control.Logo.prototype.updateElement_=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.setElementShown(this.element,!1),this.renderedVisible_=!1);else{var b;a=a.logos;var c=this.logoElements_;for(b in c)b in a||(goog.dom.removeNode(c[b]),delete c[b]);var d,e;for(b in a)b in c||(d=new Image,d.src=b,e=goog.dom.createElement(goog.dom.TagName.LI),e.appendChild(d),goog.dom.appendChild(this.ulElement_,e),c[b]=e);b=!goog.object.isEmpty(a);this.renderedVisible_!=b&&(goog.style.setElementShown(this.element,
b),this.renderedVisible_=b)}};ol.control.ZOOM_DURATION=250;
ol.control.Zoom=function(a){a=goog.isDef(a)?a:{};var b=goog.isDef(a.className)?a.className:"ol-zoom",c=goog.isDef(a.delta)?a.delta:1,d=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomIn","class":b+"-in"});goog.events.listen(d,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],goog.partial(ol.control.Zoom.prototype.zoomByDelta_,c),!1,this);var e=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomOut","class":b+"-out"});goog.events.listen(e,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],
goog.partial(ol.control.Zoom.prototype.zoomByDelta_,-c),!1,this);b=goog.dom.createDom(goog.dom.TagName.DIV,b+" "+ol.css.CLASS_UNSELECTABLE,d,e);ol.control.Control.call(this,{element:b,target:a.target})};goog.inherits(ol.control.Zoom,ol.control.Control);
ol.control.Zoom.prototype.zoomByDelta_=function(a,b){b.preventDefault();var c=this.getMap(),d=c.getView().getView2D(),e=d.getResolution();goog.isDef(e)&&(c.beforeRender(ol.animation.zoom({resolution:e,duration:ol.control.ZOOM_DURATION,easing:ol.easing.easeOut})),c=d.constrainResolution(e,a),d.setResolution(c))};ol.control.defaults=function(a){var b=goog.isDef(a)?a:{};a=new ol.Collection;if(goog.isDef(b.attribution)?b.attribution:1){var c=goog.isDef(b.attributionOptions)?b.attributionOptions:void 0;a.push(new ol.control.Attribution(c))}if(goog.isDef(b.logo)?b.logo:1)c=goog.isDef(b.logoOptions)?b.logoOptions:void 0,a.push(new ol.control.Logo(c));if(goog.isDef(b.zoom)?b.zoom:1)b=goog.isDef(b.zoomOptions)?b.zoomOptions:void 0,a.push(new ol.control.Zoom(b));return a};ol.interaction={};ol.interaction.Interaction=function(){};ol.interaction.Interaction.pan=function(a,b,c,d){var e=b.getCenter();goog.isDef(e)&&(goog.isDef(d)&&a.beforeRender(ol.animation.pan({source:e,duration:d,easing:ol.easing.linear})),b.setCenter([e[0]+c[0],e[1]+c[1]]))};ol.interaction.Interaction.rotate=function(a,b,c,d,e){c=b.constrainRotation(c,0);ol.interaction.Interaction.rotateWithoutConstraints(a,b,c,d,e)};
ol.interaction.Interaction.rotateWithoutConstraints=function(a,b,c,d,e){if(goog.isDefAndNotNull(c)){var f=b.getRotation(),g=b.getCenter();goog.isDef(f)&&(goog.isDef(g)&&goog.isDef(e))&&(a.beforeRender(ol.animation.rotate({rotation:f,duration:e,easing:ol.easing.easeOut})),goog.isDef(d)&&a.beforeRender(ol.animation.pan({source:g,duration:e,easing:ol.easing.easeOut})));if(goog.isDefAndNotNull(d)){var h=b.calculateCenterRotate(c,d);a.withFrozenRendering(function(){b.setCenter(h);b.setRotation(c)})}else b.setRotation(c)}};
ol.interaction.Interaction.zoom=function(a,b,c,d,e,f){c=b.constrainResolution(c,0,f);ol.interaction.Interaction.zoomWithoutConstraints(a,b,c,d,e)};ol.interaction.Interaction.zoomByDelta=function(a,b,c,d,e){var f=b.getResolution();c=b.constrainResolution(f,c,0);ol.interaction.Interaction.zoomWithoutConstraints(a,b,c,d,e)};
ol.interaction.Interaction.zoomWithoutConstraints=function(a,b,c,d,e){if(goog.isDefAndNotNull(c)){var f=b.getResolution(),g=b.getCenter();goog.isDef(f)&&(goog.isDef(g)&&goog.isDef(e))&&(a.beforeRender(ol.animation.zoom({resolution:f,duration:e,easing:ol.easing.easeOut})),goog.isDef(d)&&a.beforeRender(ol.animation.pan({source:g,duration:e,easing:ol.easing.easeOut})));if(goog.isDefAndNotNull(d)){var h=b.calculateCenterZoom(c,d);a.withFrozenRendering(function(){b.setCenter(h);b.setResolution(c)})}else b.setResolution(c)}};ol.interaction.DOUBLECLICKZOOM_ANIMATION_DURATION=250;ol.interaction.DoubleClickZoom=function(a){a=goog.isDef(a)?a:{};this.delta_=goog.isDef(a.delta)?a.delta:1;ol.interaction.Interaction.call(this)};goog.inherits(ol.interaction.DoubleClickZoom,ol.interaction.Interaction);
ol.interaction.DoubleClickZoom.prototype.handleMapBrowserEvent=function(a){var b=!1,c=a.browserEvent;if(a.type==ol.MapBrowserEvent.EventType.DBLCLICK&&a.isMouseActionButton()){var b=a.map,d=a.getCoordinate(),c=c.shiftKey?-this.delta_:this.delta_,e=b.getView().getView2D();ol.interaction.Interaction.zoomByDelta(b,e,c,d,ol.interaction.DOUBLECLICKZOOM_ANIMATION_DURATION);a.preventDefault();b=!0}return!b};ol.interaction.condition={};ol.interaction.condition.altKeyOnly=function(a){a=a.browserEvent;return a.altKey&&!a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.altShiftKeysOnly=function(a){a=a.browserEvent;return a.altKey&&!a.platformModifierKey&&a.shiftKey};ol.interaction.condition.always=goog.functions.TRUE;ol.interaction.condition.clickOnly=function(a){return a.browserEvent.type==goog.events.EventType.CLICK};
ol.interaction.condition.noModifierKeys=function(a){a=a.browserEvent;return!a.altKey&&!a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.platformModifierKeyOnly=function(a){a=a.browserEvent;return!a.altKey&&a.platformModifierKey&&!a.shiftKey};ol.interaction.condition.shiftKeyOnly=function(a){a=a.browserEvent;return!a.altKey&&!a.platformModifierKey&&a.shiftKey};
ol.interaction.condition.targetNotEditable=function(a){a=a.browserEvent.target.tagName;return a!==goog.dom.TagName.INPUT&&a!==goog.dom.TagName.SELECT&&a!==goog.dom.TagName.TEXTAREA};ol.interaction.Drag=function(){ol.interaction.Interaction.call(this);this.dragging_=!1;this.interactingHint=1;this.offsetY=this.offsetX=this.startY=this.startX=0;this.startCoordinate=this.startCenter=null};goog.inherits(ol.interaction.Drag,ol.interaction.Interaction);ol.interaction.Drag.prototype.getDragging=function(){return this.dragging_};ol.interaction.Drag.prototype.handleDrag=goog.nullFunction;ol.interaction.Drag.prototype.handleDragEnd=goog.nullFunction;
ol.interaction.Drag.prototype.handleDragStart=goog.functions.FALSE;ol.interaction.Drag.prototype.handleDown=goog.nullFunction;
ol.interaction.Drag.prototype.handleMapBrowserEvent=function(a){var b=a.map;if(!b.isDef())return!0;var c=!1,b=b.getView(),d=a.browserEvent;a.type==ol.MapBrowserEvent.EventType.DOWN&&this.handleDown(a);if(this.dragging_)a.type==ol.MapBrowserEvent.EventType.DRAG?(this.deltaX=d.clientX-this.startX,this.deltaY=d.clientY-this.startY,this.handleDrag(a)):a.type==ol.MapBrowserEvent.EventType.DRAGEND&&(this.deltaX=d.clientX-this.startX,this.deltaY=d.clientY-this.startY,this.handleDragEnd(a),b.setHint(ol.ViewHint.INTERACTING,
-this.interactingHint),this.dragging_=!1);else if(a.type==ol.MapBrowserEvent.EventType.DRAGSTART){var e=b.getView2D().getView2DState();this.startX=d.clientX;this.startY=d.clientY;this.deltaY=this.deltaX=0;this.startCenter=e.center;this.startCoordinate=a.getCoordinate();this.handleDragStart(a)&&(b.setHint(ol.ViewHint.INTERACTING,this.interactingHint),this.dragging_=!0,a.preventDefault(),c=!0)}return!c};ol.interaction.DragPan=function(a){ol.interaction.Drag.call(this);a=goog.isDef(a)?a:{};this.condition_=goog.isDef(a.condition)?a.condition:ol.interaction.condition.noModifierKeys;this.kinetic_=a.kinetic;this.kineticPreRenderFn_=null};goog.inherits(ol.interaction.DragPan,ol.interaction.Drag);
ol.interaction.DragPan.prototype.handleDrag=function(a){this.kinetic_&&this.kinetic_.update(a.browserEvent.clientX,a.browserEvent.clientY);a=a.map;var b=a.getView(),c=b.getView2DState(),d=[-c.resolution*this.deltaX,c.resolution*this.deltaY];ol.coordinate.rotate(d,c.rotation);ol.coordinate.add(d,this.startCenter);a.requestRenderFrame();b.setCenter(d)};
ol.interaction.DragPan.prototype.handleDragEnd=function(a){a=a.map;var b=a.getView().getView2D();if(this.kinetic_&&this.kinetic_.end()){var c=b.getView2DState(),d=this.kinetic_.getDistance(),e=this.kinetic_.getAngle();this.kineticPreRenderFn_=this.kinetic_.pan(c.center);a.beforeRender(this.kineticPreRenderFn_);c=a.getPixelFromCoordinate(c.center);d=a.getCoordinateFromPixel([c[0]-d*Math.cos(e),c[1]-d*Math.sin(e)]);b.setCenter(d)}a.requestRenderFrame()};
ol.interaction.DragPan.prototype.handleDragStart=function(a){var b=a.browserEvent;return b.isMouseActionButton()&&this.condition_(a)?(this.kinetic_&&(this.kinetic_.begin(),this.kinetic_.update(b.clientX,b.clientY)),a.map.requestRenderFrame(),!0):!1};
ol.interaction.DragPan.prototype.handleDown=function(a){var b=a.map,c=b.getView();!goog.isNull(this.kineticPreRenderFn_)&&b.removePreRenderFunction(this.kineticPreRenderFn_)&&(b.requestRenderFrame(),c.setCenter(a.frameState.view2DState.center),this.kineticPreRenderFn_=null)};ol.interaction.DRAGROTATE_ANIMATION_DURATION=250;ol.interaction.DragRotate=function(a){a=goog.isDef(a)?a:{};ol.interaction.Drag.call(this);this.condition_=goog.isDef(a.condition)?a.condition:ol.interaction.condition.altShiftKeysOnly;this.lastAngle_=void 0};goog.inherits(ol.interaction.DragRotate,ol.interaction.Drag);
ol.interaction.DragRotate.prototype.handleDrag=function(a){var b=a.map,c=b.getSize();a=a.getPixel();c=Math.atan2(c[1]/2-a[1],a[0]-c[0]/2);if(goog.isDef(this.lastAngle_)){a=c-this.lastAngle_;var d=b.getView().getView2D(),e=d.getView2DState();b.requestRenderFrame();ol.interaction.Interaction.rotateWithoutConstraints(b,d,e.rotation-a)}this.lastAngle_=c};
ol.interaction.DragRotate.prototype.handleDragEnd=function(a){a=a.map;var b=a.getView().getView2D(),c=b.getView2DState();ol.interaction.Interaction.rotate(a,b,c.rotation,void 0,ol.interaction.DRAGROTATE_ANIMATION_DURATION)};ol.interaction.DragRotate.prototype.handleDragStart=function(a){return a.browserEvent.isMouseActionButton()&&this.condition_(a)?(a.map.requestRenderFrame(),this.lastAngle_=void 0,!0):!1};ol.control.DragBox=function(a){var b=goog.dom.createDom(goog.dom.TagName.DIV,"ol-dragbox");this.startPixel_=null;this.startCoordinate_=a.startCoordinate;ol.control.Control.call(this,{element:b})};goog.inherits(ol.control.DragBox,ol.control.Control);
ol.control.DragBox.prototype.setMap=function(a){ol.control.DragBox.superClass_.setMap.call(this,a);goog.isNull(a)||(this.startPixel_=a.getPixelFromCoordinate(this.startCoordinate_),goog.style.setPosition(this.element,this.startPixel_[0],this.startPixel_[1]),goog.style.setBorderBoxSize(this.element,new goog.math.Size(0,0)),this.listenerKeys.push(goog.events.listen(a,ol.MapBrowserEvent.EventType.DRAG,this.updateBox_,!1,this)))};
ol.control.DragBox.prototype.updateBox_=function(a){var b=this.getMap();a=a.getCoordinate();b=b.getPixelFromCoordinate(a);goog.style.setPosition(this.element,Math.min(b[0],this.startPixel_[0]),Math.min(b[1],this.startPixel_[1]));goog.style.setBorderBoxSize(this.element,new goog.math.Size(Math.abs(b[0]-this.startPixel_[0]),Math.abs(b[1]-this.startPixel_[1])))};ol.SHIFT_DRAG_ZOOM_HYSTERESIS_PIXELS=8;ol.SHIFT_DRAG_ZOOM_HYSTERESIS_PIXELS_SQUARED=ol.SHIFT_DRAG_ZOOM_HYSTERESIS_PIXELS*ol.SHIFT_DRAG_ZOOM_HYSTERESIS_PIXELS;ol.interaction.DragZoom=function(a){ol.interaction.Drag.call(this);a=goog.isDef(a)?a:{};this.condition_=goog.isDef(a.condition)?a.condition:ol.interaction.condition.shiftKeyOnly;this.dragBox_=null};goog.inherits(ol.interaction.DragZoom,ol.interaction.Drag);
ol.interaction.DragZoom.prototype.handleDragEnd=function(a){this.dragBox_.setMap(null);this.dragBox_=null;if(this.deltaX*this.deltaX+this.deltaY*this.deltaY>=ol.SHIFT_DRAG_ZOOM_HYSTERESIS_PIXELS_SQUARED){var b=a.map,c=ol.extent.boundingExtent([this.startCoordinate,a.getCoordinate()]);b.withFrozenRendering(function(){var a=b.getView(),e=b.getSize();a.fitExtent(c,e);a.setRotation(0)})}};
ol.interaction.DragZoom.prototype.handleDragStart=function(a){return a.browserEvent.isMouseActionButton()&&this.condition_(a)?(this.dragBox_=new ol.control.DragBox({startCoordinate:this.startCoordinate}),this.dragBox_.setMap(a.map),!0):!1};ol.interaction.KEYBOARD_PAN_DURATION=100;ol.interaction.KeyboardPan=function(a){ol.interaction.Interaction.call(this);a=goog.isDef(a)?a:{};this.condition_=goog.isDef(a.condition)?a.condition:goog.functions.and(ol.interaction.condition.noModifierKeys,ol.interaction.condition.targetNotEditable);this.delta_=goog.isDef(a.delta)?a.delta:128};goog.inherits(ol.interaction.KeyboardPan,ol.interaction.Interaction);
ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent=function(a){var b=!1;if(a.type==goog.events.KeyHandler.EventType.KEY){var c=a.browserEvent.keyCode;if(this.condition_(a)&&(c==goog.events.KeyCodes.DOWN||c==goog.events.KeyCodes.LEFT||c==goog.events.KeyCodes.RIGHT||c==goog.events.KeyCodes.UP)){var b=a.map,d=b.getView(),e=d.getView2DState(),f=e.resolution*this.delta_,g=0,h=0;c==goog.events.KeyCodes.DOWN?h=-f:c==goog.events.KeyCodes.LEFT?g=-f:c==goog.events.KeyCodes.RIGHT?g=f:h=f;c=[g,h];ol.coordinate.rotate(c,
e.rotation);ol.interaction.Interaction.pan(b,d,c,ol.interaction.KEYBOARD_PAN_DURATION);a.preventDefault();b=!0}}return!b};ol.interaction.KEYBOARD_ZOOM_DURATION=100;ol.interaction.KeyboardZoom=function(a){ol.interaction.Interaction.call(this);a=goog.isDef(a)?a:{};this.condition_=goog.isDef(a.condition)?a.condition:goog.functions.and(ol.interaction.condition.noModifierKeys,ol.interaction.condition.targetNotEditable);this.delta_=goog.isDef(a.delta)?a.delta:1};goog.inherits(ol.interaction.KeyboardZoom,ol.interaction.Interaction);
ol.interaction.KeyboardZoom.prototype.handleMapBrowserEvent=function(a){var b=!1;if(a.type==goog.events.KeyHandler.EventType.KEY){var c=a.browserEvent.charCode;if(this.condition_(a)&&(43==c||45==c)){b=a.map;c=43==c?this.delta_:-this.delta_;b.requestRenderFrame();var d=b.getView().getView2D();ol.interaction.Interaction.zoomByDelta(b,d,c,void 0,ol.interaction.KEYBOARD_ZOOM_DURATION);a.preventDefault();b=!0}}return!b};ol.interaction.MOUSEWHEELZOOM_ANIMATION_DURATION=250;ol.interaction.MOUSEWHEELZOOM_MAXDELTA=1;ol.interaction.MOUSEWHEELZOOM_TIMEOUT_DURATION=80;ol.interaction.MouseWheelZoom=function(){ol.interaction.Interaction.call(this);this.delta_=0;this.lastAnchor_=null;this.timeoutId_=this.startTime_=void 0};goog.inherits(ol.interaction.MouseWheelZoom,ol.interaction.Interaction);
ol.interaction.MouseWheelZoom.prototype.handleMapBrowserEvent=function(a){var b=!1;if(a.type==goog.events.MouseWheelHandler.EventType.MOUSEWHEEL){var b=a.map,c=a.browserEvent;this.lastAnchor_=a.getCoordinate();this.delta_+=c.deltaY/3;goog.isDef(this.startTime_)||(this.startTime_=goog.now());c=Math.max(ol.interaction.MOUSEWHEELZOOM_TIMEOUT_DURATION-(goog.now()-this.startTime_),0);goog.global.clearTimeout(this.timeoutId_);this.timeoutId_=goog.global.setTimeout(goog.bind(this.doZoom_,this,b),c);a.preventDefault();
b=!0}return!b};ol.interaction.MouseWheelZoom.prototype.doZoom_=function(a){var b=ol.interaction.MOUSEWHEELZOOM_MAXDELTA,b=goog.math.clamp(this.delta_,-b,b),c=a.getView().getView2D();a.requestRenderFrame();ol.interaction.Interaction.zoomByDelta(a,c,-b,this.lastAnchor_,ol.interaction.MOUSEWHEELZOOM_ANIMATION_DURATION);this.delta_=0;this.lastAnchor_=null;this.timeoutId_=this.startTime_=void 0};ol.interaction.Touch=function(){ol.interaction.Interaction.call(this);this.handled_=!1;this.trackedTouches_={};this.targetTouches=[]};goog.inherits(ol.interaction.Touch,ol.interaction.Interaction);ol.interaction.Touch.centroid=function(a){for(var b=a.length,c=0,d=0,e=0;e<b;e++)c+=a[e].clientX,d+=a[e].clientY;return[c/b,d/b]};ol.interaction.Touch.isTouchEvent_=function(a){a=a.type;return a===ol.MapBrowserEvent.EventType.TOUCHSTART||a===ol.MapBrowserEvent.EventType.TOUCHMOVE||a===ol.MapBrowserEvent.EventType.TOUCHEND};
ol.interaction.Touch.prototype.updateTrackedTouches_=function(a){if(ol.interaction.Touch.isTouchEvent_(a)){var b=a.browserEvent.getBrowserEvent();goog.isDef(b.targetTouches)?this.targetTouches=b.targetTouches:goog.isDef(b.pointerId)&&(a.type==ol.MapBrowserEvent.EventType.TOUCHEND?delete this.trackedTouches_[b.pointerId]:this.trackedTouches_[b.pointerId]=b,this.targetTouches=goog.object.getValues(this.trackedTouches_))}};ol.interaction.Touch.prototype.handleTouchMove=goog.nullFunction;
ol.interaction.Touch.prototype.handleTouchEnd=goog.functions.FALSE;ol.interaction.Touch.prototype.handleTouchStart=goog.functions.FALSE;
ol.interaction.Touch.prototype.handleMapBrowserEvent=function(a){var b=a.map.getView();this.updateTrackedTouches_(a);this.handled_&&(a.type==ol.MapBrowserEvent.EventType.TOUCHMOVE?this.handleTouchMove(a):a.type==ol.MapBrowserEvent.EventType.TOUCHEND&&((this.handled_=this.handleTouchEnd(a))||b.setHint(ol.ViewHint.INTERACTING,-1)));a.type==ol.MapBrowserEvent.EventType.TOUCHSTART&&(a=this.handleTouchStart(a),!this.handled_&&a&&b.setHint(ol.ViewHint.INTERACTING,1),this.handled_=a);return!0};ol.interaction.TouchPan=function(a){ol.interaction.Touch.call(this);this.kinetic_=(goog.isDef(a)?a:{}).kinetic;this.lastCentroid=this.kineticPreRenderFn_=null;this.noKinetic_=!1};goog.inherits(ol.interaction.TouchPan,ol.interaction.Touch);
ol.interaction.TouchPan.prototype.handleTouchMove=function(a){var b=ol.interaction.Touch.centroid(this.targetTouches);if(!goog.isNull(this.lastCentroid)){this.kinetic_&&this.kinetic_.update(b[0],b[1]);var c=this.lastCentroid[0]-b[0],d=b[1]-this.lastCentroid[1];a=a.map;var e=a.getView().getView2D(),f=e.getView2DState(),c=[c,d];ol.coordinate.scale(c,f.resolution);ol.coordinate.rotate(c,f.rotation);ol.coordinate.add(c,f.center);a.requestRenderFrame();e.setCenter(c)}this.lastCentroid=b};
ol.interaction.TouchPan.prototype.handleTouchEnd=function(a){a=a.map;var b=a.getView();if(0===this.targetTouches.length){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){var c=this.kinetic_.getDistance(),d=this.kinetic_.getAngle(),e=b.getCenter();this.kineticPreRenderFn_=this.kinetic_.pan(e);a.beforeRender(this.kineticPreRenderFn_);e=a.getPixelFromCoordinate(e);c=a.getCoordinateFromPixel([e[0]-c*Math.cos(d),e[1]-c*Math.sin(d)]);b.setCenter(c)}a.requestRenderFrame();return!1}this.lastCentroid=
null;return!0};ol.interaction.TouchPan.prototype.handleTouchStart=function(a){if(0<this.targetTouches.length){var b=a.map,c=b.getView();this.lastCentroid=null;b.requestRenderFrame();!goog.isNull(this.kineticPreRenderFn_)&&b.removePreRenderFunction(this.kineticPreRenderFn_)&&(c.setCenter(a.frameState.view2DState.center),this.kineticPreRenderFn_=null);this.kinetic_&&this.kinetic_.begin();this.noKinetic_=1<this.targetTouches.length;return!0}return!1};ol.interaction.TOUCHROTATE_ANIMATION_DURATION=250;ol.interaction.TouchRotate=function(a){ol.interaction.Touch.call(this);a=goog.isDef(a)?a:{};this.anchor_=null;this.lastAngle_=void 0;this.rotating_=!1;this.rotationDelta_=0;this.threshold_=goog.isDef(a.threshold)?a.threshold:0.3};goog.inherits(ol.interaction.TouchRotate,ol.interaction.Touch);
ol.interaction.TouchRotate.prototype.handleTouchMove=function(a){var b=0,c=this.targetTouches[0],d=this.targetTouches[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);goog.isDef(this.lastAngle_)&&(b=c-this.lastAngle_,this.rotationDelta_+=b,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0));this.lastAngle_=c;a=a.map;c=goog.style.getClientPosition(a.getViewport());d=ol.interaction.Touch.centroid(this.targetTouches);d[0]-=c.x;d[1]-=c.y;this.anchor_=a.getCoordinateFromPixel(d);
this.rotating_&&(c=a.getView().getView2D(),d=c.getView2DState(),a.requestRenderFrame(),ol.interaction.Interaction.rotateWithoutConstraints(a,c,d.rotation+b,this.anchor_))};ol.interaction.TouchRotate.prototype.handleTouchEnd=function(a){if(2>this.targetTouches.length){a=a.map;var b=a.getView().getView2D(),c=b.getView2DState();this.rotating_&&ol.interaction.Interaction.rotate(a,b,c.rotation,this.anchor_,ol.interaction.TOUCHROTATE_ANIMATION_DURATION);return!1}return!0};
ol.interaction.TouchRotate.prototype.handleTouchStart=function(a){return 2<=this.targetTouches.length?(a=a.map,this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,a.requestRenderFrame(),!0):!1};ol.interaction.TOUCHZOOM_ANIMATION_DURATION=400;ol.interaction.TouchZoom=function(){ol.interaction.Touch.call(this);this.anchor_=null;this.lastDistance_=void 0;this.lastScaleDelta_=1};goog.inherits(ol.interaction.TouchZoom,ol.interaction.Touch);
ol.interaction.TouchZoom.prototype.handleTouchMove=function(a){var b=1,c=this.targetTouches[0],d=this.targetTouches[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);goog.isDef(this.lastDistance_)&&(b=this.lastDistance_/e);this.lastDistance_=e;1!=b&&(this.lastScaleDelta_=b);a=a.map;var e=a.getView().getView2D(),c=e.getView2DState(),d=goog.style.getClientPosition(a.getViewport()),f=ol.interaction.Touch.centroid(this.targetTouches);f[0]-=d.x;f[1]-=d.y;this.anchor_=a.getCoordinateFromPixel(f);
a.requestRenderFrame();ol.interaction.Interaction.zoomWithoutConstraints(a,e,c.resolution*b,this.anchor_)};ol.interaction.TouchZoom.prototype.handleTouchEnd=function(a){if(2>this.targetTouches.length){a=a.map;var b=a.getView().getView2D(),c=b.getView2DState();ol.interaction.Interaction.zoom(a,b,c.resolution,this.anchor_,ol.interaction.TOUCHZOOM_ANIMATION_DURATION,this.lastScaleDelta_-1);return!1}return!0};
ol.interaction.TouchZoom.prototype.handleTouchStart=function(a){return 2<=this.targetTouches.length?(a=a.map,this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,a.requestRenderFrame(),!0):!1};ol.interaction.defaults=function(a){a=goog.isDef(a)?a:{};var b=new ol.Collection,c=new ol.Kinetic(-0.005,0.05,100);(goog.isDef(a.altShiftDragRotate)?a.altShiftDragRotate:1)&&b.push(new ol.interaction.DragRotate);(goog.isDef(a.doubleClickZoom)?a.doubleClickZoom:1)&&b.push(new ol.interaction.DoubleClickZoom({delta:a.zoomDelta}));(goog.isDef(a.touchPan)?a.touchPan:1)&&b.push(new ol.interaction.TouchPan({kinetic:c}));(goog.isDef(a.touchRotate)?a.touchRotate:1)&&b.push(new ol.interaction.TouchRotate);
(goog.isDef(a.touchZoom)?a.touchZoom:1)&&b.push(new ol.interaction.TouchZoom);(goog.isDef(a.dragPan)?a.dragPan:1)&&b.push(new ol.interaction.DragPan({kinetic:c}));if(goog.isDef(a.keyboard)?a.keyboard:1)b.push(new ol.interaction.KeyboardPan),b.push(new ol.interaction.KeyboardZoom({delta:a.zoomDelta}));(goog.isDef(a.mouseWheelZoom)?a.mouseWheelZoom:1)&&b.push(new ol.interaction.MouseWheelZoom);(goog.isDef(a.shiftDragZoom)?a.shiftDragZoom:1)&&b.push(new ol.interaction.DragZoom);return b};ol.layer.GroupProperty={LAYERS:"layers"};ol.layer.Group=function(a){var b=goog.isDef(a)?a:{};a=goog.object.clone(b);delete a.layers;b=b.layers;ol.layer.Base.call(this,a);this.listenerKeys_=null;goog.events.listen(this,ol.Object.getChangeEventType(ol.layer.GroupProperty.LAYERS),this.handleLayersChanged_,!1,this);goog.isDef(b)?goog.isArray(b)&&(b=new ol.Collection(goog.array.clone(b))):b=new ol.Collection;this.setLayers(b)};goog.inherits(ol.layer.Group,ol.layer.Base);
ol.layer.Group.prototype.handleLayerChange=function(){this.getVisible()&&this.dispatchChangeEvent()};ol.layer.Group.prototype.handleLayerVisibleChange=function(){this.dispatchChangeEvent()};
ol.layer.Group.prototype.handleLayersChanged_=function(a){goog.isNull(this.listenerKeys_)||(goog.array.forEach(goog.object.getValues(this.listenerKeys_),goog.events.unlistenByKey),this.listenerKeys_=null);a=this.getLayers();if(goog.isDefAndNotNull(a)){this.listenerKeys_={add:goog.events.listen(a,ol.CollectionEventType.ADD,this.handleLayersAdd_,!1,this),remove:goog.events.listen(a,ol.CollectionEventType.REMOVE,this.handleLayersRemove_,!1,this)};a=a.getArray();var b,c,d;b=0;for(c=a.length;b<c;b++)d=
a[b],this.listenerKeys_[goog.getUid(d).toString()]=goog.events.listen(d,goog.events.EventType.CHANGE,this.handleLayerChange,!1,this)}this.dispatchChangeEvent()};ol.layer.Group.prototype.handleLayersAdd_=function(a){a=a.getElement();this.listenerKeys_[goog.getUid(a).toString()]=goog.events.listen(a,goog.events.EventType.CHANGE,this.handleLayerChange,!1,this);this.dispatchChangeEvent()};
ol.layer.Group.prototype.handleLayersRemove_=function(a){a=a.getElement();a=goog.getUid(a).toString();goog.events.unlistenByKey(this.listenerKeys_[a]);delete this.listenerKeys_[a];this.dispatchChangeEvent()};ol.layer.Group.prototype.getLayers=function(){return this.get(ol.layer.GroupProperty.LAYERS)};goog.exportProperty(ol.layer.Group.prototype,"getLayers",ol.layer.Group.prototype.getLayers);ol.layer.Group.prototype.setLayers=function(a){this.set(ol.layer.GroupProperty.LAYERS,a)};
goog.exportProperty(ol.layer.Group.prototype,"setLayers",ol.layer.Group.prototype.setLayers);ol.layer.Group.prototype.getLayersArray=function(a){var b=goog.isDef(a)?a:[];this.getLayers().forEach(function(a){a.getLayersArray(b)});return b};
ol.layer.Group.prototype.getLayerStatesArray=function(a){var b=goog.isDef(a)?a:{layers:[],layerStates:[]},c=b.layers.length;this.getLayers().forEach(function(a){a.getLayerStatesArray(b)});a=this.getLayerState();var d,e;for(d=b.layerStates.length;c<d;c++)e=b.layerStates[c],e.brightness=goog.math.clamp(e.brightness+a.brightness,-1,1),e.contrast*=a.contrast,e.hue+=a.hue,e.opacity*=a.opacity,e.saturation*=a.saturation,e.visible=e.visible&&a.visible;return b};
ol.layer.Group.prototype.isReady=function(){return null===goog.array.find(this.getLayers().getArray(),function(a,b,c){return!a.isReady()})};ol.math={};ol.math.cosh=function(a){return(Math.exp(a)+Math.exp(-a))/2};ol.math.coth=function(a){a=Math.exp(-2*a);return(1+a)/(1-a)};ol.math.csch=function(a){return 2/(Math.exp(a)-Math.exp(-a))};ol.math.roundUpToPowerOfTwo=function(a){return Math.pow(2,Math.ceil(Math.log(a)/Math.LN2))};ol.math.sech=function(a){return 2/(Math.exp(a)+Math.exp(-a))};ol.math.sinh=function(a){return(Math.exp(a)-Math.exp(-a))/2};ol.math.tanh=function(a){a=Math.exp(-2*a);return(1-a)/(1+a)};ol.proj.EPSG3857=function(a){ol.Projection.call(this,{code:a,units:ol.ProjectionUnits.METERS,extent:ol.proj.EPSG3857.EXTENT,global:!0})};goog.inherits(ol.proj.EPSG3857,ol.Projection);ol.proj.EPSG3857.RADIUS=6378137;ol.proj.EPSG3857.HALF_SIZE=Math.PI*ol.proj.EPSG3857.RADIUS;ol.proj.EPSG3857.EXTENT=[-ol.proj.EPSG3857.HALF_SIZE,ol.proj.EPSG3857.HALF_SIZE,-ol.proj.EPSG3857.HALF_SIZE,ol.proj.EPSG3857.HALF_SIZE];ol.proj.EPSG3857.CODES=["EPSG:3857","EPSG:102100","EPSG:102113","EPSG:900913","urn:ogc:def:crs:EPSG:6.18:3:3857"];
ol.proj.EPSG3857.PROJECTIONS=goog.array.map(ol.proj.EPSG3857.CODES,function(a){return new ol.proj.EPSG3857(a)});ol.proj.EPSG3857.fromEPSG4326=function(a,b,c){var d=a.length;c=1<c?c:2;goog.isDef(b)||(b=2<c?a.slice():Array(d));for(var e=0;e<d;e+=c)b[e]=ol.proj.EPSG3857.RADIUS*Math.PI*a[e]/180,b[e+1]=ol.proj.EPSG3857.RADIUS*Math.log(Math.tan(Math.PI*(a[e+1]+90)/360));return b};
ol.proj.EPSG3857.toEPSG4326=function(a,b,c){var d=a.length;c=1<c?c:2;goog.isDef(b)||(b=2<c?a.slice():Array(d));for(var e=0;e<d;e+=c)b[e]=180*a[e]/(ol.proj.EPSG3857.RADIUS*Math.PI),b[e+1]=360*Math.atan(Math.exp(a[e+1]/ol.proj.EPSG3857.RADIUS))/Math.PI-90;return b};ol.proj.EPSG3857.prototype.getPointResolution=function(a,b){return a/ol.math.cosh(b[1]/ol.proj.EPSG3857.RADIUS)};ol.proj.EPSG4326=function(a,b){ol.Projection.call(this,{code:a,units:ol.ProjectionUnits.DEGREES,extent:ol.proj.EPSG4326.EXTENT,axisOrientation:b,global:!0})};goog.inherits(ol.proj.EPSG4326,ol.Projection);ol.proj.EPSG4326.EXTENT=[-180,180,-90,90];
ol.proj.EPSG4326.PROJECTIONS=[new ol.proj.EPSG4326("CRS:84"),new ol.proj.EPSG4326("EPSG:4326","neu"),new ol.proj.EPSG4326("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new ol.proj.EPSG4326("urn:ogc:def:crs:OGC:1.3:CRS84"),new ol.proj.EPSG4326("urn:ogc:def:crs:OGC:2:84"),new ol.proj.EPSG4326("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new ol.proj.EPSG4326("urn:x-ogc:def:crs:EPSG:4326","neu")];ol.proj.EPSG4326.prototype.getPointResolution=function(a,b){return a};ol.proj.common={};ol.proj.common.add=function(){ol.proj.addEquivalentProjections(ol.proj.EPSG3857.PROJECTIONS);ol.proj.addEquivalentProjections(ol.proj.EPSG4326.PROJECTIONS);ol.proj.addEquivalentTransforms(ol.proj.EPSG4326.PROJECTIONS,ol.proj.EPSG3857.PROJECTIONS,ol.proj.EPSG3857.fromEPSG4326,ol.proj.EPSG3857.toEPSG4326)};ol.tilegrid={};ol.DEFAULT_TILE_SIZE=256;ol.DEFAULT_MAX_ZOOM=42;
ol.tilegrid.TileGrid=function(a){this.minZoom=goog.isDef(a.minZoom)?a.minZoom:0;this.resolutions_=a.resolutions;this.maxZoom=this.resolutions_.length-1;this.origin_=goog.isDef(a.origin)?a.origin:null;this.origins_=null;goog.isDef(a.origins)&&(this.origins_=a.origins);this.tileSizes_=null;goog.isDef(a.tileSizes)&&(this.tileSizes_=a.tileSizes);this.tileSize_=goog.isDef(a.tileSize)?a.tileSize:goog.isNull(this.tileSizes_)?[ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE]:null};
ol.tilegrid.TileGrid.tmpTileCoord_=new ol.TileCoord(0,0,0);ol.tilegrid.TileGrid.prototype.forEachTileCoordParentTileRange=function(a,b,c,d,e){e=this.getTileCoordExtent(a,e);for(a=a.z-1;a>=this.minZoom;){if(b.call(c,a,this.getTileRangeForExtentAndZ(e,a,d)))return!0;--a}return!1};ol.tilegrid.TileGrid.prototype.getMaxZoom=function(){return this.maxZoom};ol.tilegrid.TileGrid.prototype.getMinZoom=function(){return this.minZoom};
ol.tilegrid.TileGrid.prototype.getOrigin=function(a){return goog.isNull(this.origin_)?this.origins_[a]:this.origin_};ol.tilegrid.TileGrid.prototype.getResolution=function(a){return this.resolutions_[a]};ol.tilegrid.TileGrid.prototype.getResolutions=function(){return this.resolutions_};ol.tilegrid.TileGrid.prototype.getTileCoordChildTileRange=function(a,b,c){return a.z<this.maxZoom?(c=this.getTileCoordExtent(a,c),this.getTileRangeForExtentAndZ(c,a.z+1,b)):null};
ol.tilegrid.TileGrid.prototype.getTileRangeExtent=function(a,b,c){var d=this.getOrigin(a),e=this.getResolution(a);a=this.getTileSize(a);return ol.extent.createOrUpdate(d[0]+b.minX*a[0]*e,d[0]+(b.maxX+1)*a[0]*e,d[1]+b.minY*a[1]*e,d[1]+(b.maxY+1)*a[1]*e,c)};
ol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndResolution=function(a,b,c){var d=ol.tilegrid.TileGrid.tmpTileCoord_;this.getTileCoordForXYAndResolution_(a[0],a[2],b,!1,d);var e=d.x,f=d.y;this.getTileCoordForXYAndResolution_(a[1],a[3],b,!0,d);return ol.TileRange.createOrUpdate(e,d.x,f,d.y,c)};ol.tilegrid.TileGrid.prototype.getTileRangeForExtentAndZ=function(a,b,c){b=this.getResolution(b);return this.getTileRangeForExtentAndResolution(a,b,c)};
ol.tilegrid.TileGrid.prototype.getTileCoordCenter=function(a){var b=this.getOrigin(a.z),c=this.getResolution(a.z),d=this.getTileSize(a.z);return[b[0]+(a.x+0.5)*d[0]*c,b[1]+(a.y+0.5)*d[1]*c]};ol.tilegrid.TileGrid.prototype.getTileCoordExtent=function(a,b){var c=this.getOrigin(a.z),d=this.getResolution(a.z),e=this.getTileSize(a.z),f=c[0]+a.x*e[0]*d,c=c[1]+a.y*e[1]*d;return ol.extent.createOrUpdate(f,f+e[0]*d,c,c+e[1]*d,b)};
ol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndResolution=function(a,b,c){return this.getTileCoordForXYAndResolution_(a[0],a[1],b,!1,c)};ol.tilegrid.TileGrid.prototype.getTileCoordForXYAndResolution_=function(a,b,c,d,e){var f=this.getZForResolution(c),g=c/this.getResolution(f),h=this.getOrigin(f),k=this.getTileSize(f);a=g*(a-h[0])/(c*k[0]);b=g*(b-h[1])/(c*k[1]);d?(a=Math.ceil(a)-1,b=Math.ceil(b)-1):(a=Math.floor(a),b=Math.floor(b));return ol.TileCoord.createOrUpdate(f,a,b,e)};
ol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndZ=function(a,b,c){b=this.getResolution(b);return this.getTileCoordForXYAndResolution_(a[0],a[1],b,!1,c)};ol.tilegrid.TileGrid.prototype.getTileCoordResolution=function(a){return this.resolutions_[a.z]};ol.tilegrid.TileGrid.prototype.getTileSize=function(a){return goog.isNull(this.tileSize_)?this.tileSizes_[a]:this.tileSize_};ol.tilegrid.TileGrid.prototype.getZForResolution=function(a){return ol.array.linearFindNearest(this.resolutions_,a,0)};
ol.tilegrid.getForProjection=function(a){var b=a.getDefaultTileGrid();goog.isNull(b)&&(b=ol.tilegrid.createForProjection(a),a.setDefaultTileGrid(b));return b};
ol.tilegrid.createForProjection=function(a,b,c){var d=a.getExtent();a=goog.isNull(d)?360*ol.METERS_PER_UNIT[ol.ProjectionUnits.DEGREES]/a.getMetersPerUnit():Math.max(d[1]-d[0],d[3]-d[2]);b=goog.isDef(b)?b:ol.DEFAULT_MAX_ZOOM;c=goog.isDef(c)?c:[ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE];b=Array(b+1);a/=Math.max(c[0],c[1]);for(var e=0,f=b.length;e<f;++e)b[e]=a/Math.pow(2,e);return new ol.tilegrid.TileGrid({origin:goog.isNull(d)?[0,0]:ol.extent.getBottomLeft(d),resolutions:b,tileSize:c})};ol.source.Tile=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection});this.opaque_=goog.isDef(a.opaque)?a.opaque:!1;this.tileGrid=goog.isDef(a.tileGrid)?a.tileGrid:null};goog.inherits(ol.source.Tile,ol.source.Source);ol.source.Tile.prototype.canExpireCache=goog.functions.FALSE;
ol.source.Tile.prototype.findLoadedTiles=function(a,b,c,d){var e=!0,f,g,h,k;for(h=d.minX;h<=d.maxX;++h)for(k=d.minY;k<=d.maxY;++k)g=this.getKeyZXY(c,h,k),a[c]&&a[c][g]||(f=b(c,h,k),goog.isNull(f)?e=!1:(a[c]||(a[c]={}),a[c][g]=f));return e};ol.source.Tile.prototype.getKeyZXY=function(a,b,c){return ol.TileCoord.getKeyZXY(a,b,c)};ol.source.Tile.prototype.getOpaque=function(){return this.opaque_};ol.source.Tile.prototype.getResolutions=function(){return this.tileGrid.getResolutions()};
ol.source.Tile.prototype.getTileGrid=function(){return this.tileGrid};ol.source.Tile.prototype.useTile=goog.nullFunction;ol.renderer={};ol.renderer.Layer=function(a,b){goog.Disposable.call(this);this.mapRenderer_=a;this.layer_=b};goog.inherits(ol.renderer.Layer,goog.Disposable);ol.renderer.Layer.prototype.getFeatureInfoForPixel=function(a,b,c){var d=this.getLayer(),e=d.getSource();goog.isFunction(e.getFeatureInfoForPixel)&&e.getFeatureInfoForPixel(a,this.getMap(),function(a){b(a,d)},c)};ol.renderer.Layer.prototype.getLayer=function(){return this.layer_};ol.renderer.Layer.prototype.getMap=function(){return this.mapRenderer_.getMap()};
ol.renderer.Layer.prototype.getMapRenderer=function(){return this.mapRenderer_};ol.renderer.Layer.prototype.handleImageChange=function(a){a.target.getState()===ol.ImageState.LOADED&&this.renderIfReadyAndVisible()};ol.renderer.Layer.prototype.renderIfReadyAndVisible=function(){var a=this.getLayer();a.getVisible()&&a.isReady()&&this.getMap().render()};
ol.renderer.Layer.prototype.scheduleExpireCache=function(a,b){b.canExpireCache()&&a.postRenderFunctions.push(goog.partial(function(a,b,e){b=goog.getUid(a).toString();a.expireCache(e.usedTiles[b])},b))};ol.renderer.Layer.prototype.updateAttributions=function(a,b){if(goog.isDefAndNotNull(b)){var c,d,e;d=0;for(e=b.length;d<e;++d)c=b[d],a[goog.getUid(c).toString()]=c}};ol.renderer.Layer.prototype.updateLogos=function(a,b){var c=b.getLogo();goog.isDef(c)&&(a.logos[c]=!0)};
ol.renderer.Layer.prototype.updateUsedTiles=function(a,b,c,d){b=goog.getUid(b).toString();c=c.toString();b in a?c in a[b]?a[b][c].extend(d):a[b][c]=d:(a[b]={},a[b][c]=d)};ol.renderer.Layer.prototype.createGetTileIfLoadedFunction=function(a,b,c){return function(d,e,f){d=b.getTile(d,e,f,c);return a(d)?d:null}};ol.renderer.Layer.prototype.snapCenterToPixel=function(a,b,c){return[b*(Math.round(a[0]/b)+c[0]%2/2),b*(Math.round(a[1]/b)+c[1]%2/2)]};
ol.renderer.Layer.prototype.manageTilePyramid=function(a,b,c,d,e,f,g,h,k){var l=goog.getUid(b).toString();l in a.wantedTiles||(a.wantedTiles[l]={});var m=a.wantedTiles[l];a=a.tileQueue;var n=c.getMinZoom(),q,r,p,s,t,u;for(u=f;u>=n;--u)for(r=c.getTileRangeForExtentAndZ(e,u),p=c.getResolution(u),s=r.minX;s<=r.maxX;++s)for(t=r.minY;t<=r.maxY;++t)f-u<=g?(q=b.getTile(u,s,t,d),q.getState()==ol.TileState.IDLE&&(m[q.tileCoord.toString()]=!0,a.isKeyQueued(q.getKey())||a.enqueue([q,l,c.getTileCoordCenter(q.tileCoord),
p])),goog.isDef(h)&&h.call(k,q)):b.useTile(u,s,t)};ol.renderer.Map=function(a,b){goog.Disposable.call(this);this.map_=b;this.layerRenderers_={}};goog.inherits(ol.renderer.Map,goog.Disposable);
ol.renderer.Map.prototype.calculateMatrices2D=function(a){var b=a.view2DState,c=a.coordinateToPixelMatrix;goog.vec.Mat4.makeIdentity(c);goog.vec.Mat4.translate(c,a.size[0]/2,a.size[1]/2,0);goog.vec.Mat4.scale(c,1/b.resolution,-1/b.resolution,1);goog.vec.Mat4.rotateZ(c,-b.rotation);goog.vec.Mat4.translate(c,-b.center[0],-b.center[1],0);goog.vec.Mat4.invert(c,a.pixelToCoordinateMatrix)};ol.renderer.Map.prototype.createLayerRenderer=function(a){return new ol.renderer.Layer(this,a)};
ol.renderer.Map.prototype.disposeInternal=function(){goog.object.forEach(this.layerRenderers_,function(a){goog.dispose(a)});ol.renderer.Map.superClass_.disposeInternal.call(this)};ol.renderer.Map.prototype.getCanvas=goog.functions.NULL;
ol.renderer.Map.prototype.getFeatureInfoForPixel=function(a,b,c,d){for(var e=b.length,f=Array(e),g=function(a,d){f[goog.array.indexOf(b,d)]=a;--e;e||c(f)},h,k=0;k<e;++k)h=b[k],h=this.getLayerRenderer(h),goog.isFunction(h.getFeatureInfoForPixel)?h.getFeatureInfoForPixel(a,g,d):--e};
ol.renderer.Map.prototype.getFeaturesForPixel=function(a,b,c,d){for(var e=b.length,f=Array(e),g=function(a,d){f[goog.array.indexOf(b,d)]=a;--e;e||c(f)},h,k=0;k<e;++k)h=b[k],h=this.getLayerRenderer(h),goog.isFunction(h.getFeaturesForPixel)?h.getFeaturesForPixel(a,g,d):--e};ol.renderer.Map.prototype.getLayerRenderer=function(a){var b=goog.getUid(a).toString();if(b in this.layerRenderers_)return this.layerRenderers_[b];a=this.createLayerRenderer(a);return this.layerRenderers_[b]=a};
ol.renderer.Map.prototype.getLayerRendererByKey=function(a){return this.layerRenderers_[a]};ol.renderer.Map.prototype.getLayerRenderers=function(){return this.layerRenderers_};ol.renderer.Map.prototype.getMap=function(){return this.map_};ol.renderer.Map.prototype.removeLayerRendererByKey_=function(a){var b=this.layerRenderers_[a];delete this.layerRenderers_[a];return b};ol.renderer.Map.prototype.renderFrame=goog.nullFunction;
ol.renderer.Map.prototype.removeUnusedLayerRenderers_=function(a,b){for(var c in this.layerRenderers_)!goog.isNull(b)&&c in b.layerStates||goog.dispose(this.removeLayerRendererByKey_(c))};ol.renderer.Map.prototype.scheduleRemoveUnusedLayerRenderers=function(a){for(var b in this.layerRenderers_)if(!(b in a.layerStates)){a.postRenderFunctions.push(goog.bind(this.removeUnusedLayerRenderers_,this));break}};ol.source.Image=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection});this.imageUrlFunction=goog.isDef(a.imageUrlFunction)?a.imageUrlFunction:ol.ImageUrlFunction.nullImageUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:null;this.resolutions_=goog.isDef(a.resolutions)?a.resolutions:null};goog.inherits(ol.source.Image,ol.source.Source);
ol.source.Image.prototype.createImage=function(a,b,c,d){var e=null;c=this.imageUrlFunction(a,c,d);goog.isDef(c)&&(e=new ol.Image(a,b,c,this.crossOrigin_,this.getAttributions()));return e};ol.source.Image.prototype.findNearestResolution=function(a){goog.isNull(this.resolutions_)||(a=ol.array.linearFindNearest(this.resolutions_,a,0),a=this.resolutions_[a]);return a};ol.layer.Image=function(a){ol.layer.Layer.call(this,a)};goog.inherits(ol.layer.Image,ol.layer.Layer);ol.layer.Image.prototype.getImageSource=function(){return this.getSource()};ol.layer.TileProperty={PRELOAD:"preload"};ol.layer.Tile=function(a){ol.layer.Layer.call(this,a);this.setPreload(goog.isDef(a.preload)?a.preload:0)};goog.inherits(ol.layer.Tile,ol.layer.Layer);ol.layer.Tile.prototype.getPreload=function(){return this.get(ol.layer.TileProperty.PRELOAD)};goog.exportProperty(ol.layer.Tile.prototype,"getPreload",ol.layer.Tile.prototype.getPreload);ol.layer.Tile.prototype.getTileSource=function(){return this.getSource()};
ol.layer.Tile.prototype.setPreload=function(a){this.set(ol.layer.TileProperty.PRELOAD,a)};goog.exportProperty(ol.layer.Tile.prototype,"setPreload",ol.layer.Tile.prototype.setPreload);ol.expr={};ol.expr.Expression=function(){};ol.expr.Call=function(a,b){this.callee_=a;this.args_=b};goog.inherits(ol.expr.Call,ol.expr.Expression);ol.expr.Call.prototype.evaluate=function(a,b,c){var d=goog.isDefAndNotNull(b)?b:a,d=this.callee_.evaluate(d);if(!d||!goog.isFunction(d))throw Error("Expected function but found "+d);for(var e=goog.isDef(c)?c:{},f=this.args_.length,g=Array(f),h=0;h<f;++h)g[h]=this.args_[h].evaluate(a,b,c);return d.apply(e,g)};ol.expr.Call.prototype.getArgs=function(){return this.args_};
ol.expr.Call.prototype.getCallee=function(){return this.callee_};ol.expr.ComparisonOp={EQ:"\x3d\x3d",NEQ:"!\x3d",STRICT_EQ:"\x3d\x3d\x3d",STRICT_NEQ:"!\x3d\x3d",GT:"\x3e",LT:"\x3c",GTE:"\x3e\x3d",LTE:"\x3c\x3d"};ol.expr.Comparison=function(a,b,c){this.operator_=a;this.left_=b;this.right_=c};goog.inherits(ol.expr.Comparison,ol.expr.Expression);ol.expr.Comparison.isValidOp=function(){var a={},b;for(b in ol.expr.ComparisonOp)a[ol.expr.ComparisonOp[b]]=!0;return function(b){return!!a[b]}}();
ol.expr.Comparison.prototype.evaluate=function(a,b,c){var d;d=this.right_.evaluate(a,b,c);a=this.left_.evaluate(a,b,c);b=this.operator_;if(b===ol.expr.ComparisonOp.EQ)d=a==d;else if(b===ol.expr.ComparisonOp.NEQ)d=a!=d;else if(b===ol.expr.ComparisonOp.STRICT_EQ)d=a===d;else if(b===ol.expr.ComparisonOp.STRICT_NEQ)d=a!==d;else if(b===ol.expr.ComparisonOp.GT)d=a>d;else if(b===ol.expr.ComparisonOp.LT)d=a<d;else if(b===ol.expr.ComparisonOp.GTE)d=a>=d;else if(b===ol.expr.ComparisonOp.LTE)d=a<=d;else throw Error("Unsupported comparison operator: "+
this.operator_);return d};ol.expr.Comparison.prototype.getOperator=function(){return this.operator_};ol.expr.Comparison.prototype.getLeft=function(){return this.left_};ol.expr.Comparison.prototype.getRight=function(){return this.right_};ol.expr.Identifier=function(a){this.name_=a};goog.inherits(ol.expr.Identifier,ol.expr.Expression);ol.expr.Identifier.prototype.evaluate=function(a){if(!goog.isDefAndNotNull(a))throw Error("Attempt to evaluate identifier with no scope");return a[this.name_]};
ol.expr.Identifier.prototype.getName=function(){return this.name_};ol.expr.Literal=function(a){this.value_=a};goog.inherits(ol.expr.Literal,ol.expr.Expression);ol.expr.Literal.prototype.evaluate=function(){return this.value_};ol.expr.Literal.prototype.getValue=function(){return this.value_};ol.expr.LogicalOp={AND:"\x26\x26",OR:"||"};ol.expr.Logical=function(a,b,c){this.operator_=a;this.left_=b;this.right_=c};goog.inherits(ol.expr.Logical,ol.expr.Expression);
ol.expr.Logical.isValidOp=function(){var a={},b;for(b in ol.expr.LogicalOp)a[ol.expr.LogicalOp[b]]=!0;return function(b){return!!a[b]}}();ol.expr.Logical.prototype.evaluate=function(a,b,c){var d;d=this.right_.evaluate(a,b,c);a=this.left_.evaluate(a,b,c);if(this.operator_===ol.expr.LogicalOp.AND)d=a&&d;else if(this.operator_===ol.expr.LogicalOp.OR)d=a||d;else throw Error("Unsupported logical operator: "+this.operator_);return d};ol.expr.Logical.prototype.getOperator=function(){return this.operator_};
ol.expr.Logical.prototype.getLeft=function(){return this.left_};ol.expr.Logical.prototype.getRight=function(){return this.right_};ol.expr.MathOp={ADD:"+",SUBTRACT:"-",MULTIPLY:"*",DIVIDE:"/",MOD:"%"};ol.expr.Math=function(a,b,c){this.operator_=a;this.left_=b;this.right_=c};goog.inherits(ol.expr.Math,ol.expr.Expression);ol.expr.Math.isValidOp=function(){var a={},b;for(b in ol.expr.MathOp)a[ol.expr.MathOp[b]]=!0;return function(b){return!!a[b]}}();
ol.expr.Math.prototype.evaluate=function(a,b,c){var d;d=this.right_.evaluate(a,b,c);a=this.left_.evaluate(a,b,c);b=this.operator_;if(b===ol.expr.MathOp.ADD)d=a+d;else if(b===ol.expr.MathOp.SUBTRACT)d=Number(a)-Number(d);else if(b===ol.expr.MathOp.MULTIPLY)d=Number(a)*Number(d);else if(b===ol.expr.MathOp.DIVIDE)d=Number(a)/Number(d);else if(b===ol.expr.MathOp.MOD)d=Number(a)%Number(d);else throw Error("Unsupported math operator: "+this.operator_);return d};ol.expr.Math.prototype.getOperator=function(){return this.operator_};
ol.expr.Math.prototype.getLeft=function(){return this.left_};ol.expr.Math.prototype.getRight=function(){return this.right_};ol.expr.Member=function(a,b){this.object_=a;this.property_=b};goog.inherits(ol.expr.Member,ol.expr.Expression);ol.expr.Member.prototype.evaluate=function(a,b,c){a=this.object_.evaluate(a,b,c);if(!goog.isObject(a))throw Error("Expected member expression to evaluate to an object but got "+a);return this.property_.evaluate(a)};ol.expr.Member.prototype.getObject=function(){return this.object_};
ol.expr.Member.prototype.getProperty=function(){return this.property_};ol.expr.Not=function(a){this.argument_=a};goog.inherits(ol.expr.Not,ol.expr.Expression);ol.expr.Not.prototype.evaluate=function(a,b,c){return!this.argument_.evaluate(a,b,c)};ol.expr.Not.prototype.getArgument=function(){return this.argument_};ol.expr.Char={AMPERSAND:38,BACKSLASH:92,BANG:33,CARRIAGE_RETURN:13,COMMA:44,DIGIT_0:48,DIGIT_7:55,DIGIT_9:57,DOLLAR:36,DOUBLE_QUOTE:34,DOT:46,EQUAL:61,FORM_FEED:12,GREATER:62,LEFT_PAREN:40,LESS:60,LINE_FEED:10,LINE_SEPARATOR:8232,LOWER_A:97,LOWER_E:101,LOWER_F:102,LOWER_X:120,LOWER_Z:122,MINUS:45,NONBREAKING_SPACE:160,PARAGRAPH_SEPARATOR:8233,PERCENT:37,PIPE:124,PLUS:43,RIGHT_PAREN:41,SINGLE_QUOTE:39,SLASH:47,SPACE:32,STAR:42,TAB:9,TILDE:126,UNDERSCORE:95,UPPER_A:65,UPPER_E:69,UPPER_F:70,UPPER_X:88,
UPPER_Z:90,VERTICAL_TAB:11};ol.expr.TokenType={BOOLEAN_LITERAL:"Boolean",EOF:"\x3cend\x3e",IDENTIFIER:"Identifier",KEYWORD:"Keyword",NULL_LITERAL:"Null",NUMERIC_LITERAL:"Numeric",PUNCTUATOR:"Punctuator",STRING_LITERAL:"String",UNKNOWN:"Unknown"};ol.expr.Lexer=function(a){this.source_=a;this.length_=a.length;this.nextIndex_=this.index_=0};
ol.expr.Lexer.prototype.expect=function(a){if(!this.match(a))throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:this.getCurrentChar_(),index:this.index_});this.skip()};ol.expr.Lexer.prototype.increment_=function(a){this.index_+=a};ol.expr.Lexer.prototype.isDecimalDigit_=function(a){return a>=ol.expr.Char.DIGIT_0&&a<=ol.expr.Char.DIGIT_9};
ol.expr.Lexer.prototype.isFutureReservedWord_=function(a){return"class"===a||"enum"===a||"export"===a||"extends"===a||"import"===a||"super"===a};ol.expr.Lexer.prototype.isHexDigit_=function(a){return this.isDecimalDigit_(a)||a>=ol.expr.Char.LOWER_A&&a<=ol.expr.Char.LOWER_F||a>=ol.expr.Char.UPPER_A&&a<=ol.expr.Char.UPPER_F};ol.expr.Lexer.prototype.isIdentifierPart_=function(a){return this.isIdentifierStart_(a)||a>=ol.expr.Char.DIGIT_0&&a<=ol.expr.Char.DIGIT_9};
ol.expr.Lexer.prototype.isIdentifierStart_=function(a){return a===ol.expr.Char.DOLLAR||a===ol.expr.Char.UNDERSCORE||a>=ol.expr.Char.UPPER_A&&a<=ol.expr.Char.UPPER_Z||a>=ol.expr.Char.LOWER_A&&a<=ol.expr.Char.LOWER_Z};
ol.expr.Lexer.prototype.isKeyword_=function(a){return"break"===a||"case"===a||"catch"===a||"continue"===a||"debugger"===a||"default"===a||"delete"===a||"do"===a||"else"===a||"finally"===a||"for"===a||"function"===a||"if"===a||"in"===a||"instanceof"===a||"new"===a||"return"===a||"switch"===a||"this"===a||"throw"===a||"try"===a||"typeof"===a||"var"===a||"void"===a||"while"===a||"with"===a};
ol.expr.Lexer.prototype.isLineTerminator_=function(a){return a===ol.expr.Char.LINE_FEED||a===ol.expr.Char.CARRIAGE_RETURN||a===ol.expr.Char.LINE_SEPARATOR||a===ol.expr.Char.PARAGRAPH_SEPARATOR};ol.expr.Lexer.prototype.isOctalDigit_=function(a){return a>=ol.expr.Char.DIGIT_0&&a<=ol.expr.Char.DIGIT_7};
ol.expr.Lexer.prototype.isWhitespace_=function(a){return a===ol.expr.Char.SPACE||a===ol.expr.Char.TAB||a===ol.expr.Char.VERTICAL_TAB||a===ol.expr.Char.FORM_FEED||a===ol.expr.Char.NONBREAKING_SPACE||5760<=a&&0<"\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005"+"\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff".indexOf(String.fromCharCode(a))};ol.expr.Lexer.prototype.getCharCode_=function(a){return this.source_.charCodeAt(this.index_+a)};ol.expr.Lexer.prototype.getCurrentChar_=function(){return this.source_[this.index_]};
ol.expr.Lexer.prototype.getCurrentCharCode_=function(){return this.getCharCode_(0)};ol.expr.Lexer.prototype.match=function(a){var b=this.peek();return b.type===ol.expr.TokenType.PUNCTUATOR&&b.value===a};
ol.expr.Lexer.prototype.next=function(){var a=this.skipWhitespace_();return this.index_>=this.length_?{type:ol.expr.TokenType.EOF,value:null,index:this.index_}:a===ol.expr.Char.LEFT_PAREN||a===ol.expr.Char.RIGHT_PAREN?this.scanPunctuator_(a):a===ol.expr.Char.SINGLE_QUOTE||a===ol.expr.Char.DOUBLE_QUOTE?this.scanStringLiteral_(a):this.isIdentifierStart_(a)?this.scanIdentifier_(a):a===ol.expr.Char.DOT?this.isDecimalDigit_(this.getCharCode_(1))?this.scanNumericLiteral_(a):this.scanPunctuator_(a):this.isDecimalDigit_(a)?
this.scanNumericLiteral_(a):this.scanPunctuator_(a)};ol.expr.Lexer.prototype.peek=function(){var a=this.index_,b=this.next();this.nextIndex_=this.index_;this.index_=a;return b};
ol.expr.Lexer.prototype.scanHexLiteral_=function(a){for(var b="",c=this.index_-2;this.index_<this.length_&&this.isHexDigit_(a);)b+=String.fromCharCode(a),this.increment_(1),a=this.getCurrentCharCode_();if(0===b.length||this.isIdentifierStart_(a))throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:String.fromCharCode(a),index:this.index_});return{type:ol.expr.TokenType.NUMERIC_LITERAL,value:parseInt("0x"+b,16),index:c}};
ol.expr.Lexer.prototype.scanIdentifier_=function(a){var b=this.index_;for(this.increment_(1);this.index_<this.length_;)if(a=this.getCurrentCharCode_(),this.isIdentifierPart_(a))this.increment_(1);else break;a=this.source_.slice(b,this.index_);return{type:1===a.length?ol.expr.TokenType.IDENTIFIER:this.isKeyword_(a)?ol.expr.TokenType.KEYWORD:"null"===a?ol.expr.TokenType.NULL_LITERAL:"true"===a||"false"===a?ol.expr.TokenType.BOOLEAN_LITERAL:ol.expr.TokenType.IDENTIFIER,value:a,index:b}};
ol.expr.Lexer.prototype.scanNumericLiteral_=function(a){var b="",c=this.index_;if(a!==ol.expr.Char.DOT){if(a===ol.expr.Char.DIGIT_0){var d=this.getCharCode_(1);if(d===ol.expr.Char.UPPER_X||d===ol.expr.Char.LOWER_X)return this.increment_(2),this.scanHexLiteral_(this.getCurrentCharCode_());if(this.isOctalDigit_(d))return this.increment_(1),this.scanOctalLiteral_(d);if(this.isDecimalDigit_(d))throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:String.fromCharCode(d),index:this.index_});
}for(;this.isDecimalDigit_(a);)b+=String.fromCharCode(a),this.increment_(1),a=this.getCurrentCharCode_()}if(a===ol.expr.Char.DOT)for(b+=String.fromCharCode(a),this.increment_(1),a=this.getCurrentCharCode_();this.isDecimalDigit_(a);)b+=String.fromCharCode(a),this.increment_(1),a=this.getCurrentCharCode_();if(a===ol.expr.Char.UPPER_E||a===ol.expr.Char.LOWER_E){b+="E";this.increment_(1);a=this.getCurrentCharCode_();if(a===ol.expr.Char.PLUS||a===ol.expr.Char.MINUS)b+=String.fromCharCode(a),this.increment_(1),
a=this.getCurrentCharCode_();if(!this.isDecimalDigit_(a))throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:String.fromCharCode(a),index:this.index_});for(;this.isDecimalDigit_(a);)b+=String.fromCharCode(a),this.increment_(1),a=this.getCurrentCharCode_()}if(this.isIdentifierStart_(a))throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:String.fromCharCode(a),index:this.index_});return{type:ol.expr.TokenType.NUMERIC_LITERAL,value:parseFloat(b),index:c}};
ol.expr.Lexer.prototype.scanOctalLiteral_=function(a){var b="0"+String.fromCharCode(a),c=this.index_-1;for(this.increment_(1);this.index_<this.length_;){a=this.getCurrentCharCode_();if(!this.isOctalDigit_(a))break;b+=String.fromCharCode(a);this.increment_(1)}a=this.getCurrentCharCode_();if(this.isIdentifierStart_(a)||this.isDecimalDigit_(a))throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:String.fromCharCode(a),index:this.index_});return{type:ol.expr.TokenType.NUMERIC_LITERAL,
value:parseInt(b,8),index:c}};
ol.expr.Lexer.prototype.scanPunctuator_=function(a){var b=this.index_;if(a===ol.expr.Char.DOT||a===ol.expr.Char.LEFT_PAREN||a===ol.expr.Char.RIGHT_PAREN||a===ol.expr.Char.COMMA||a===ol.expr.Char.PLUS||a===ol.expr.Char.MINUS||a===ol.expr.Char.STAR||a===ol.expr.Char.SLASH||a===ol.expr.Char.PERCENT||a===ol.expr.Char.TILDE)return this.increment_(1),{type:ol.expr.TokenType.PUNCTUATOR,value:String.fromCharCode(a),index:b};var c=this.getCharCode_(1);if(c===ol.expr.Char.EQUAL){if(a===ol.expr.Char.BANG||a===
ol.expr.Char.EQUAL)return this.increment_(2),this.getCurrentCharCode_()===ol.expr.Char.EQUAL?(this.increment_(1),{type:ol.expr.TokenType.PUNCTUATOR,value:String.fromCharCode(a)+"\x3d\x3d",index:b}):{type:ol.expr.TokenType.PUNCTUATOR,value:String.fromCharCode(a)+"\x3d",index:b};if(a===ol.expr.Char.GREATER||a===ol.expr.Char.LESS)return this.increment_(2),{type:ol.expr.TokenType.PUNCTUATOR,value:String.fromCharCode(a)+"\x3d",index:b}}if(a===c&&(a===ol.expr.Char.PIPE||a===ol.expr.Char.AMPERSAND))return this.increment_(2),
a=String.fromCharCode(a),{type:ol.expr.TokenType.PUNCTUATOR,value:a+a,index:b};if(a===ol.expr.Char.GREATER||a===ol.expr.Char.LESS||a===ol.expr.Char.BANG||a===ol.expr.Char.AMPERSAND||a===ol.expr.Char.PIPE)return this.increment_(1),{type:ol.expr.TokenType.PUNCTUATOR,value:String.fromCharCode(a),index:b};throw new ol.expr.UnexpectedToken({type:ol.expr.TokenType.UNKNOWN,value:String.fromCharCode(a),index:this.index_});};
ol.expr.Lexer.prototype.scanStringLiteral_=function(a){var b=this.index_;this.increment_(1);for(var c="",d;this.index_<this.length_;){d=this.getCurrentCharCode_();this.increment_(1);if(d===a){a=0;break}d===ol.expr.Char.BACKSLASH?(c+=this.getCurrentChar_(),this.increment_(1)):c+=String.fromCharCode(d)}if(0!==a)throw new ol.expr.UnexpectedToken(this.peek());return{type:ol.expr.TokenType.STRING_LITERAL,value:c,index:b}};ol.expr.Lexer.prototype.skip=function(){this.index_=this.nextIndex_};
ol.expr.Lexer.prototype.skipWhitespace_=function(){for(var a=NaN;this.index_<this.length_;)if(a=this.getCurrentCharCode_(),this.isWhitespace_(a))this.increment_(1);else break;return a};ol.expr.UnexpectedToken=function(a,b){var c=goog.isDef(b)?b:"Unexpected token "+a.value+" at index "+a.index;goog.debug.Error.call(this,c);this.token=a};goog.inherits(ol.expr.UnexpectedToken,goog.debug.Error);ol.expr.UnexpectedToken.prototype.name="UnexpectedToken";ol.expr.Parser=function(){};
ol.expr.Parser.prototype.binaryPrecedence_=function(a){var b=0;if(a.type!==ol.expr.TokenType.PUNCTUATOR)return b;switch(a.value){case ol.expr.LogicalOp.OR:b=1;break;case ol.expr.LogicalOp.AND:b=2;break;case ol.expr.ComparisonOp.EQ:case ol.expr.ComparisonOp.NEQ:case ol.expr.ComparisonOp.STRICT_EQ:case ol.expr.ComparisonOp.STRICT_NEQ:b=3;break;case ol.expr.ComparisonOp.GT:case ol.expr.ComparisonOp.LT:case ol.expr.ComparisonOp.GTE:case ol.expr.ComparisonOp.LTE:b=4;break;case ol.expr.MathOp.ADD:case ol.expr.MathOp.SUBTRACT:b=5;
break;case ol.expr.MathOp.MULTIPLY:case ol.expr.MathOp.DIVIDE:case ol.expr.MathOp.MOD:b=6}return b};ol.expr.Parser.prototype.createBinaryExpression_=function(a,b,c){if(ol.expr.Comparison.isValidOp(a))a=new ol.expr.Comparison(a,b,c);else if(ol.expr.Logical.isValidOp(a))a=new ol.expr.Logical(a,b,c);else if(ol.expr.Math.isValidOp(a))a=new ol.expr.Math(a,b,c);else throw Error("Unsupported binary operator: "+a);return a};
ol.expr.Parser.prototype.createCallExpression_=function(a,b){return new ol.expr.Call(a,b)};ol.expr.Parser.prototype.createIdentifier_=function(a){return new ol.expr.Identifier(a)};ol.expr.Parser.prototype.createLiteral_=function(a){return new ol.expr.Literal(a)};ol.expr.Parser.prototype.createMemberExpression_=function(a,b){return new ol.expr.Member(a,b)};
ol.expr.Parser.prototype.createUnaryExpression_=function(a,b){var c;if("!"===a.value)c=new ol.expr.Not(b);else if(b instanceof ol.expr.Literal)c="+"===a.value?this.createLiteral_(+b.evaluate()):this.createLiteral_(-b.evaluate());else throw new ol.expr.UnexpectedToken(a);return c};ol.expr.Parser.prototype.parse=function(a){var b=new ol.expr.Lexer(a);a=this.parseExpression_(b);b=b.peek();if(b.type!==ol.expr.TokenType.EOF)throw new ol.expr.UnexpectedToken(b);return a};
ol.expr.Parser.prototype.parseArguments_=function(a){var b=[];a.expect("(");if(!a.match(")"))for(;;){b.push(this.parseBinaryExpression_(a));if(a.match(")"))break;a.expect(",")}a.skip();return b};
ol.expr.Parser.prototype.parseBinaryExpression_=function(a){var b=this.parseUnaryExpression_(a),c=a.peek(),d=this.binaryPrecedence_(c);if(0===d)return b;a.skip();for(var e=this.parseUnaryExpression_(a),f=[b,c,e],d=this.binaryPrecedence_(a.peek());0<d;){for(;2<f.length&&d<=this.binaryPrecedence_(f[f.length-2]);)e=f.pop(),c=f.pop(),b=f.pop(),f.push(this.createBinaryExpression_(c.value,b,e));f.push(a.next());f.push(this.parseUnaryExpression_(a));d=this.binaryPrecedence_(a.peek())}a=f.length-1;for(b=
f[a];1<a;)b=this.createBinaryExpression_(f[a-1].value,f[a-2],b),a-=2;return b};ol.expr.Parser.prototype.parseGroupExpression_=function(a){a.expect("(");var b=this.parseExpression_(a);a.expect(")");return b};
ol.expr.Parser.prototype.parseLeftHandSideExpression_=function(a){var b=this.parsePrimaryExpression_(a),c=a.peek();if("("===c.value){if(!(b instanceof ol.expr.Identifier))throw new ol.expr.UnexpectedToken(c);a=this.parseArguments_(a);b=this.createCallExpression_(b,a)}else for(;"."===c.value;)c=this.parseNonComputedMember_(a),b=this.createMemberExpression_(b,c),c=a.peek();return b};
ol.expr.Parser.prototype.parseNonComputedMember_=function(a){a.expect(".");a=a.next();if(a.type!==ol.expr.TokenType.IDENTIFIER&&a.type!==ol.expr.TokenType.KEYWORD&&a.type!==ol.expr.TokenType.BOOLEAN_LITERAL&&a.type!==ol.expr.TokenType.NULL_LITERAL)throw new ol.expr.UnexpectedToken(a);return this.createIdentifier_(String(a.value))};
ol.expr.Parser.prototype.parsePrimaryExpression_=function(a){var b=a.peek();if("("===b.value)return this.parseGroupExpression_(a);a.skip();a=b.type;if(a===ol.expr.TokenType.IDENTIFIER)b=this.createIdentifier_(b.value);else if(a===ol.expr.TokenType.STRING_LITERAL||a===ol.expr.TokenType.NUMERIC_LITERAL)b=this.createLiteral_(b.value);else if(a===ol.expr.TokenType.BOOLEAN_LITERAL)b=this.createLiteral_("true"===b.value);else if(a===ol.expr.TokenType.NULL_LITERAL)b=this.createLiteral_(null);else throw new ol.expr.UnexpectedToken(b);
return b};ol.expr.Parser.prototype.parseUnaryExpression_=function(a){var b=a.peek();b.type!==ol.expr.TokenType.PUNCTUATOR?a=this.parseLeftHandSideExpression_(a):"!"===b.value||"-"===b.value||"+"===b.value?(a.skip(),a=this.parseUnaryExpression_(a),a=this.createUnaryExpression_(b,a)):a=this.parseLeftHandSideExpression_(a);return a};ol.expr.Parser.prototype.parseExpression_=function(a){return this.parseBinaryExpression_(a)};ol.expr.evaluateFeature=function(a,b){return goog.isDef(b)?a.evaluate(b.getAttributes(),ol.expr.lib,b):a.evaluate()};ol.expr.parse=function(a){return(new ol.expr.Parser).parse(a)};ol.expr.register=function(a,b){ol.expr.lib[a]=b};ol.expr.isLibCall=function(a){var b;a instanceof ol.expr.Call&&(a=a.getCallee(),a instanceof ol.expr.Identifier&&(b=a.getName(),ol.expr.lib.hasOwnProperty(b)||(b=void 0)));return b};ol.expr.lib={};
ol.expr.functions={CONCAT:"concat",EXTENT:"extent",FID:"fid",GEOMETRY_TYPE:"geometryType",RENDER_INTENT:"renderIntent",INTERSECTS:"intersects",CONTAINS:"contains",DWITHIN:"dwithin",WITHIN:"within",LIKE:"like",IEQ:"ieq",INEQ:"ineq"};ol.expr.lib[ol.expr.functions.CONCAT]=function(a){for(var b="",c=0,d=arguments.length;c<d;++c)b+=String(arguments[c]);return b};
ol.expr.lib[ol.expr.functions.EXTENT]=function(a,b,c,d,e,f){e=!1;(f=goog.isDef(f)?this.get(f):this.getGeometry())&&(e=ol.extent.intersects(f.getBounds(),[a,b,c,d]));return e};ol.expr.lib[ol.expr.functions.FID]=function(a){var b=!1,c=this.getFeatureId();if(goog.isDef(c))for(var d=0,e=arguments.length;d<e;++d)if(arguments[d]===c){b=!0;break}return b};
ol.expr.lib[ol.expr.functions.LIKE]=function(a,b,c,d,e,f){if("."==c)throw Error('"." is an unsupported wildCard character for the "like" function');c=goog.isDef(c)?c:"*";d=goog.isDef(d)?d:".";e=goog.isDef(e)?e:"!";b=b.replace(RegExp("\\"+e+"(.|$)","g"),"\\$1");b=b.replace(RegExp("\\"+d,"g"),".");b=b.replace(RegExp("\\"+c,"g"),".*");b=b.replace(RegExp("\\\\.\\*","g"),"\\"+c);b=b.replace(RegExp("\\\\\\.","g"),"\\"+d);return RegExp(b,!1===f?"gi":"g").test(a)};
ol.expr.lib[ol.expr.functions.IEQ]=function(a,b){return goog.isString(a)&&goog.isString(b)?a.toUpperCase()==b.toUpperCase():a==b};ol.expr.lib[ol.expr.functions.INEQ]=function(a,b){return goog.isString(a)&&goog.isString(b)?a.toUpperCase()!=b.toUpperCase():a!=b};ol.expr.lib[ol.expr.functions.GEOMETRY_TYPE]=function(a){var b=!1,c=this.getGeometry();c&&(b=c.getType()===a);return b};ol.expr.lib[ol.expr.functions.RENDER_INTENT]=function(a){return this.renderIntent==a};
ol.expr.lib[ol.expr.functions.INTERSECTS]=function(a,b,c){throw Error("Spatial function not implemented: "+ol.expr.functions.INTERSECTS);};ol.expr.lib[ol.expr.functions.WITHIN]=function(a,b,c){throw Error("Spatial function not implemented: "+ol.expr.functions.WITHIN);};ol.expr.lib[ol.expr.functions.CONTAINS]=function(a,b,c){throw Error("Spatial function not implemented: "+ol.expr.functions.CONTAINS);};
ol.expr.lib[ol.expr.functions.DWITHIN]=function(a,b,c,d,e){throw Error("Spatial function not implemented: "+ol.expr.functions.DWITHIN);};goog.json={};goog.json.isValid_=function(a){return/^\s*$/.test(a)?!1:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,""))};goog.json.parse=function(a){a=String(a);if(goog.json.isValid_(a))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);};goog.json.unsafeParse=function(a){return eval("("+a+")")};
goog.json.serialize=function(a,b){return(new goog.json.Serializer(b)).serialize(a)};goog.json.Serializer=function(a){this.replacer_=a};goog.json.Serializer.prototype.serialize=function(a){var b=[];this.serialize_(a,b);return b.join("")};
goog.json.Serializer.prototype.serialize_=function(a,b){switch(typeof a){case "string":this.serializeString_(a,b);break;case "number":this.serializeNumber_(a,b);break;case "boolean":b.push(a);break;case "undefined":b.push("null");break;case "object":if(null==a){b.push("null");break}if(goog.isArray(a)){this.serializeArray(a,b);break}this.serializeObject_(a,b);break;case "function":break;default:throw Error("Unknown type: "+typeof a);}};
goog.json.Serializer.charToJsonCharCache_={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};goog.json.Serializer.charsToReplace_=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
goog.json.Serializer.prototype.serializeString_=function(a,b){b.push('"',a.replace(goog.json.Serializer.charsToReplace_,function(a){if(a in goog.json.Serializer.charToJsonCharCache_)return goog.json.Serializer.charToJsonCharCache_[a];var b=a.charCodeAt(0),e="\\u";16>b?e+="000":256>b?e+="00":4096>b&&(e+="0");return goog.json.Serializer.charToJsonCharCache_[a]=e+b.toString(16)}),'"')};goog.json.Serializer.prototype.serializeNumber_=function(a,b){b.push(isFinite(a)&&!isNaN(a)?a:"null")};
goog.json.Serializer.prototype.serializeArray=function(a,b){var c=a.length;b.push("[");for(var d="",e=0;e<c;e++)b.push(d),d=a[e],this.serialize_(this.replacer_?this.replacer_.call(a,String(e),d):d,b),d=",";b.push("]")};
goog.json.Serializer.prototype.serializeObject_=function(a,b){b.push("{");var c="",d;for(d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var e=a[d];"function"!=typeof e&&(b.push(c),this.serializeString_(d,b),b.push(":"),this.serialize_(this.replacer_?this.replacer_.call(a,d,e):e,b),c=",")}b.push("}")};goog.net={};goog.net.ErrorCode={NO_ERROR:0,ACCESS_DENIED:1,FILE_NOT_FOUND:2,FF_SILENT_ERROR:3,CUSTOM_ERROR:4,EXCEPTION:5,HTTP_ERROR:6,ABORT:7,TIMEOUT:8,OFFLINE:9};
goog.net.ErrorCode.getDebugMessage=function(a){switch(a){case goog.net.ErrorCode.NO_ERROR:return"No Error";case goog.net.ErrorCode.ACCESS_DENIED:return"Access denied to content document";case goog.net.ErrorCode.FILE_NOT_FOUND:return"File not found";case goog.net.ErrorCode.FF_SILENT_ERROR:return"Firefox silently errored";case goog.net.ErrorCode.CUSTOM_ERROR:return"Application custom error";case goog.net.ErrorCode.EXCEPTION:return"An exception occurred";case goog.net.ErrorCode.HTTP_ERROR:return"Http response at 400 or 500 level";
case goog.net.ErrorCode.ABORT:return"Request was aborted";case goog.net.ErrorCode.TIMEOUT:return"Request timed out";case goog.net.ErrorCode.OFFLINE:return"The resource is not available offline";default:return"Unrecognized error code"}};goog.net.EventType={COMPLETE:"complete",SUCCESS:"success",ERROR:"error",ABORT:"abort",READY:"ready",READY_STATE_CHANGE:"readystatechange",TIMEOUT:"timeout",INCREMENTAL_DATA:"incrementaldata",PROGRESS:"progress"};goog.net.HttpStatus={CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,
PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUEST_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,QUIRK_IE_NO_CONTENT:1223};
goog.net.HttpStatus.isSuccess=function(a){switch(a){case goog.net.HttpStatus.OK:case goog.net.HttpStatus.CREATED:case goog.net.HttpStatus.ACCEPTED:case goog.net.HttpStatus.NO_CONTENT:case goog.net.HttpStatus.PARTIAL_CONTENT:case goog.net.HttpStatus.NOT_MODIFIED:case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:return!0;default:return!1}};goog.net.XmlHttpFactory=function(){};goog.net.XmlHttpFactory.prototype.cachedOptions_=null;goog.net.XmlHttpFactory.prototype.getOptions=function(){return this.cachedOptions_||(this.cachedOptions_=this.internalGetOptions())};goog.net.WrapperXmlHttpFactory=function(a,b){goog.net.XmlHttpFactory.call(this);this.xhrFactory_=a;this.optionsFactory_=b};goog.inherits(goog.net.WrapperXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.WrapperXmlHttpFactory.prototype.createInstance=function(){return this.xhrFactory_()};goog.net.WrapperXmlHttpFactory.prototype.getOptions=function(){return this.optionsFactory_()};goog.net.XmlHttp=function(){return goog.net.XmlHttp.factory_.createInstance()};goog.net.XmlHttp.ASSUME_NATIVE_XHR=!1;goog.net.XmlHttp.getOptions=function(){return goog.net.XmlHttp.factory_.getOptions()};goog.net.XmlHttp.OptionType={USE_NULL_FUNCTION:0,LOCAL_REQUEST_ERROR:1};goog.net.XmlHttp.ReadyState={UNINITIALIZED:0,LOADING:1,LOADED:2,INTERACTIVE:3,COMPLETE:4};goog.net.XmlHttp.setFactory=function(a,b){goog.net.XmlHttp.setGlobalFactory(new goog.net.WrapperXmlHttpFactory(a,b))};
goog.net.XmlHttp.setGlobalFactory=function(a){goog.net.XmlHttp.factory_=a};goog.net.DefaultXmlHttpFactory=function(){goog.net.XmlHttpFactory.call(this)};goog.inherits(goog.net.DefaultXmlHttpFactory,goog.net.XmlHttpFactory);goog.net.DefaultXmlHttpFactory.prototype.createInstance=function(){var a=this.getProgId_();return a?new ActiveXObject(a):new XMLHttpRequest};
goog.net.DefaultXmlHttpFactory.prototype.internalGetOptions=function(){var a={};this.getProgId_()&&(a[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]=!0,a[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]=!0);return a};
goog.net.DefaultXmlHttpFactory.prototype.getProgId_=function(){if(goog.net.XmlHttp.ASSUME_NATIVE_XHR)return"";if(!this.ieProgId_&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],b=0;b<a.length;b++){var c=a[b];try{return new ActiveXObject(c),this.ieProgId_=c}catch(d){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return this.ieProgId_};
goog.net.XmlHttp.setGlobalFactory(new goog.net.DefaultXmlHttpFactory);goog.net.XhrIo=function(a){goog.events.EventTarget.call(this);this.headers=new goog.structs.Map;this.xmlHttpFactory_=a||null;this.active_=!1;this.xhrOptions_=this.xhr_=null;this.lastMethod_=this.lastUri_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastError_="";this.inAbort_=this.inOpen_=this.inSend_=this.errorDispatched_=!1;this.timeoutInterval_=0;this.timeoutId_=null;this.responseType_=goog.net.XhrIo.ResponseType.DEFAULT;this.useXhr2Timeout_=this.withCredentials_=!1};
goog.inherits(goog.net.XhrIo,goog.events.EventTarget);goog.net.XhrIo.ResponseType={DEFAULT:"",TEXT:"text",DOCUMENT:"document",BLOB:"blob",ARRAY_BUFFER:"arraybuffer"};goog.net.XhrIo.CONTENT_TYPE_HEADER="Content-Type";goog.net.XhrIo.HTTP_SCHEME_PATTERN=/^https?$/i;goog.net.XhrIo.METHODS_WITH_FORM_DATA=["POST","PUT"];goog.net.XhrIo.FORM_CONTENT_TYPE="application/x-www-form-urlencoded;charset\x3dutf-8";goog.net.XhrIo.XHR2_TIMEOUT_="timeout";goog.net.XhrIo.XHR2_ON_TIMEOUT_="ontimeout";
goog.net.XhrIo.sendInstances_=[];goog.net.XhrIo.send=function(a,b,c,d,e,f,g){var h=new goog.net.XhrIo;goog.net.XhrIo.sendInstances_.push(h);b&&h.listen(goog.net.EventType.COMPLETE,b);h.listenOnce(goog.net.EventType.READY,h.cleanupSend_);f&&h.setTimeoutInterval(f);g&&h.setWithCredentials(g);h.send(a,c,d,e)};goog.net.XhrIo.cleanup=function(){for(var a=goog.net.XhrIo.sendInstances_;a.length;)a.pop().dispose()};
goog.net.XhrIo.protectEntryPoints=function(a){goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=a.protectEntryPoint(goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_)};goog.net.XhrIo.prototype.cleanupSend_=function(){this.dispose();goog.array.remove(goog.net.XhrIo.sendInstances_,this)};goog.net.XhrIo.prototype.getTimeoutInterval=function(){return this.timeoutInterval_};goog.net.XhrIo.prototype.setTimeoutInterval=function(a){this.timeoutInterval_=Math.max(0,a)};
goog.net.XhrIo.prototype.setResponseType=function(a){this.responseType_=a};goog.net.XhrIo.prototype.getResponseType=function(){return this.responseType_};goog.net.XhrIo.prototype.setWithCredentials=function(a){this.withCredentials_=a};goog.net.XhrIo.prototype.getWithCredentials=function(){return this.withCredentials_};
goog.net.XhrIo.prototype.send=function(a,b,c,d){if(this.xhr_)throw Error("[goog.net.XhrIo] Object is active with another request\x3d"+this.lastUri_+"; newUri\x3d"+a);b=b?b.toUpperCase():"GET";this.lastUri_=a;this.lastError_="";this.lastErrorCode_=goog.net.ErrorCode.NO_ERROR;this.lastMethod_=b;this.errorDispatched_=!1;this.active_=!0;this.xhr_=this.createXhr();this.xhrOptions_=this.xmlHttpFactory_?this.xmlHttpFactory_.getOptions():goog.net.XmlHttp.getOptions();this.xhr_.onreadystatechange=goog.bind(this.onReadyStateChange_,
this);try{this.inOpen_=!0,this.xhr_.open(b,a,!0),this.inOpen_=!1}catch(e){this.error_(goog.net.ErrorCode.EXCEPTION,e);return}a=c||"";var f=this.headers.clone();d&&goog.structs.forEach(d,function(a,b){f.set(b,a)});d=goog.array.find(f.getKeys(),goog.net.XhrIo.isContentTypeHeader_);c=goog.global.FormData&&a instanceof goog.global.FormData;!goog.array.contains(goog.net.XhrIo.METHODS_WITH_FORM_DATA,b)||(d||c)||f.set(goog.net.XhrIo.CONTENT_TYPE_HEADER,goog.net.XhrIo.FORM_CONTENT_TYPE);goog.structs.forEach(f,
function(a,b){this.xhr_.setRequestHeader(b,a)},this);this.responseType_&&(this.xhr_.responseType=this.responseType_);goog.object.containsKey(this.xhr_,"withCredentials")&&(this.xhr_.withCredentials=this.withCredentials_);try{this.cleanUpTimeoutTimer_(),0<this.timeoutInterval_&&((this.useXhr2Timeout_=goog.net.XhrIo.shouldUseXhr2Timeout_(this.xhr_))?(this.xhr_[goog.net.XhrIo.XHR2_TIMEOUT_]=this.timeoutInterval_,this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=goog.bind(this.timeout_,this)):this.timeoutId_=
goog.Timer.callOnce(this.timeout_,this.timeoutInterval_,this)),this.inSend_=!0,this.xhr_.send(a),this.inSend_=!1}catch(g){this.error_(goog.net.ErrorCode.EXCEPTION,g)}};goog.net.XhrIo.shouldUseXhr2Timeout_=function(a){return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher(9)&&goog.isNumber(a[goog.net.XhrIo.XHR2_TIMEOUT_])&&goog.isDef(a[goog.net.XhrIo.XHR2_ON_TIMEOUT_])};goog.net.XhrIo.isContentTypeHeader_=function(a){return goog.string.caseInsensitiveEquals(goog.net.XhrIo.CONTENT_TYPE_HEADER,a)};
goog.net.XhrIo.prototype.createXhr=function(){return this.xmlHttpFactory_?this.xmlHttpFactory_.createInstance():goog.net.XmlHttp()};goog.net.XhrIo.prototype.timeout_=function(){"undefined"!=typeof goog&&this.xhr_&&(this.lastError_="Timed out after "+this.timeoutInterval_+"ms, aborting",this.lastErrorCode_=goog.net.ErrorCode.TIMEOUT,this.dispatchEvent(goog.net.EventType.TIMEOUT),this.abort(goog.net.ErrorCode.TIMEOUT))};
goog.net.XhrIo.prototype.error_=function(a,b){this.active_=!1;this.xhr_&&(this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1);this.lastError_=b;this.lastErrorCode_=a;this.dispatchErrors_();this.cleanUpXhr_()};goog.net.XhrIo.prototype.dispatchErrors_=function(){this.errorDispatched_||(this.errorDispatched_=!0,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ERROR))};
goog.net.XhrIo.prototype.abort=function(a){this.xhr_&&this.active_&&(this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1,this.lastErrorCode_=a||goog.net.ErrorCode.ABORT,this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.ABORT),this.cleanUpXhr_())};goog.net.XhrIo.prototype.disposeInternal=function(){this.xhr_&&(this.active_&&(this.active_=!1,this.inAbort_=!0,this.xhr_.abort(),this.inAbort_=!1),this.cleanUpXhr_(!0));goog.net.XhrIo.superClass_.disposeInternal.call(this)};
goog.net.XhrIo.prototype.onReadyStateChange_=function(){if(!this.isDisposed())if(this.inOpen_||this.inSend_||this.inAbort_)this.onReadyStateChangeHelper_();else this.onReadyStateChangeEntryPoint_()};goog.net.XhrIo.prototype.onReadyStateChangeEntryPoint_=function(){this.onReadyStateChangeHelper_()};
goog.net.XhrIo.prototype.onReadyStateChangeHelper_=function(){if(this.active_&&"undefined"!=typeof goog&&(!this.xhrOptions_[goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR]||this.getReadyState()!=goog.net.XmlHttp.ReadyState.COMPLETE||2!=this.getStatus()))if(this.inSend_&&this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE)goog.Timer.callOnce(this.onReadyStateChange_,0,this);else if(this.dispatchEvent(goog.net.EventType.READY_STATE_CHANGE),this.isComplete()){this.active_=!1;try{this.isSuccess()?
(this.dispatchEvent(goog.net.EventType.COMPLETE),this.dispatchEvent(goog.net.EventType.SUCCESS)):(this.lastErrorCode_=goog.net.ErrorCode.HTTP_ERROR,this.lastError_=this.getStatusText()+" ["+this.getStatus()+"]",this.dispatchErrors_())}finally{this.cleanUpXhr_()}}};
goog.net.XhrIo.prototype.cleanUpXhr_=function(a){if(this.xhr_){this.cleanUpTimeoutTimer_();var b=this.xhr_,c=this.xhrOptions_[goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION]?goog.nullFunction:null;this.xhrOptions_=this.xhr_=null;a||this.dispatchEvent(goog.net.EventType.READY);try{b.onreadystatechange=c}catch(d){}}};
goog.net.XhrIo.prototype.cleanUpTimeoutTimer_=function(){this.xhr_&&this.useXhr2Timeout_&&(this.xhr_[goog.net.XhrIo.XHR2_ON_TIMEOUT_]=null);goog.isNumber(this.timeoutId_)&&(goog.Timer.clear(this.timeoutId_),this.timeoutId_=null)};goog.net.XhrIo.prototype.isActive=function(){return!!this.xhr_};goog.net.XhrIo.prototype.isComplete=function(){return this.getReadyState()==goog.net.XmlHttp.ReadyState.COMPLETE};
goog.net.XhrIo.prototype.isSuccess=function(){var a=this.getStatus();return goog.net.HttpStatus.isSuccess(a)||0===a&&!this.isLastUriEffectiveSchemeHttp_()};goog.net.XhrIo.prototype.isLastUriEffectiveSchemeHttp_=function(){var a=goog.uri.utils.getEffectiveScheme(String(this.lastUri_));return goog.net.XhrIo.HTTP_SCHEME_PATTERN.test(a)};goog.net.XhrIo.prototype.getReadyState=function(){return this.xhr_?this.xhr_.readyState:goog.net.XmlHttp.ReadyState.UNINITIALIZED};
goog.net.XhrIo.prototype.getStatus=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.status:-1}catch(a){return-1}};goog.net.XhrIo.prototype.getStatusText=function(){try{return this.getReadyState()>goog.net.XmlHttp.ReadyState.LOADED?this.xhr_.statusText:""}catch(a){return""}};goog.net.XhrIo.prototype.getLastUri=function(){return String(this.lastUri_)};goog.net.XhrIo.prototype.getResponseText=function(){try{return this.xhr_?this.xhr_.responseText:""}catch(a){return""}};
goog.net.XhrIo.prototype.getResponseBody=function(){try{if(this.xhr_&&"responseBody"in this.xhr_)return this.xhr_.responseBody}catch(a){}return null};goog.net.XhrIo.prototype.getResponseXml=function(){try{return this.xhr_?this.xhr_.responseXML:null}catch(a){return null}};goog.net.XhrIo.prototype.getResponseJson=function(a){if(this.xhr_){var b=this.xhr_.responseText;a&&0==b.indexOf(a)&&(b=b.substring(a.length));return goog.json.parse(b)}};
goog.net.XhrIo.prototype.getResponse=function(){try{if(!this.xhr_)return null;if("response"in this.xhr_)return this.xhr_.response;switch(this.responseType_){case goog.net.XhrIo.ResponseType.DEFAULT:case goog.net.XhrIo.ResponseType.TEXT:return this.xhr_.responseText;case goog.net.XhrIo.ResponseType.ARRAY_BUFFER:if("mozResponseArrayBuffer"in this.xhr_)return this.xhr_.mozResponseArrayBuffer}return null}catch(a){return null}};
goog.net.XhrIo.prototype.getResponseHeader=function(a){return this.xhr_&&this.isComplete()?this.xhr_.getResponseHeader(a):void 0};goog.net.XhrIo.prototype.getAllResponseHeaders=function(){return this.xhr_&&this.isComplete()?this.xhr_.getAllResponseHeaders():""};goog.net.XhrIo.prototype.getLastErrorCode=function(){return this.lastErrorCode_};goog.net.XhrIo.prototype.getLastError=function(){return goog.isString(this.lastError_)?this.lastError_:String(this.lastError_)};
goog.net.XhrIo.prototype.formatMsg_=function(a){return a+" ["+this.lastMethod_+" "+this.lastUri_+" "+this.getStatus()+"]"};ol.source.VectorLoadState={IDLE:0,LOADING:1,LOADED:2,ERROR:3};ol.source.Vector=function(a){this.data_=goog.isDef(a.data)?a.data:null;this.loadState_=ol.source.VectorLoadState.IDLE;this.parser_=goog.isDef(a.parser)?a.parser:null;this.url_=a.url;ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection})};goog.inherits(ol.source.Vector,ol.source.Source);
ol.source.Vector.prototype.prepareFeatures=function(a,b,c,d){goog.isDef(this.url_)&&this.loadState_==ol.source.VectorLoadState.IDLE?(this.loadState_=ol.source.VectorLoadState.LOADING,goog.net.XhrIo.send(this.url_,goog.bind(function(b){b=b.target;b.isSuccess()?(a.parseFeatures(b.getResponseText(),this.parser_,c),this.loadState_=ol.source.VectorLoadState.LOADED,goog.isDef(d)&&d()):this.loadState_=ol.source.VectorLoadState.ERROR},this))):goog.isNull(this.data_)||(a.parseFeatures(this.data_,this.parser_,
c),this.data_=null,this.loadState_=ol.source.VectorLoadState.LOADED);return this.loadState_};ol.structs.RTree=function(a){this.maxWidth_=goog.isDef(a)?a:6;this.minWidth_=Math.floor(this.maxWidth_/2);this.rootTree_={extent:ol.extent.createEmpty(),nodes:[]}};ol.structs.RTree.recalculateExtent_=function(a){var b=a.nodes.length,c=a.extent;if(0===b)ol.extent.empty(c);else{var d=a.nodes[0].extent;c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];for(d=1;d<b;++d)ol.extent.extend(c,a.nodes[d].extent)}};ol.structs.RTree.squarifiedRatio_=function(a,b,c){var d=(a+b)/2;a*=b;return a*c/(a/(d*d))};
ol.structs.RTree.prototype.chooseLeafSubtree_=function(a,b){var c=-1,d=[],e;d.push(b);var f=b.nodes;do{-1!=c&&(d.push(f[c]),f=f[c].nodes,c=-1);for(var g=f.length-1;0<=g;--g){var h=f[g];if(goog.isDef(h.leaf)){c=-1;break}var k=ol.structs.RTree.squarifiedRatio_(h.extent[1]-h.extent[0],h.extent[3]-h.extent[2],h.nodes.length+1),h=ol.structs.RTree.squarifiedRatio_((h.extent[1]>a.extent[1]?h.extent[1]:a.extent[1])-(h.extent[0]<a.extent[0]?h.extent[0]:a.extent[0]),(h.extent[3]>a.extent[3]?h.extent[3]:a.extent[3])-
(h.extent[2]<a.extent[2]?h.extent[2]:a.extent[2]),h.nodes.length+2);if(0>c||Math.abs(h-k)<e)e=Math.abs(h-k),c=g}}while(-1!=c);return d};ol.structs.RTree.prototype.insert=function(a,b,c){a={extent:a,leaf:b};goog.isDef(c)&&(a.type=c);this.insertSubtree_(a,this.rootTree_)};
ol.structs.RTree.prototype.insertSubtree_=function(a,b){var c;if(0===b.nodes.length)b.extent=a.extent.concat(),b.nodes.push(a);else{var d=this.chooseLeafSubtree_(a,b),e=a;do{if(c&&goog.isDef(c.nodes)&&0===c.nodes.length){var f=c;c=d.pop();for(var g=0,h=c.nodes.length;g<h;++g)if(c.nodes[g]===f||0===c.nodes[g].nodes.length){c.nodes.splice(g,1);break}}else c=d.pop();f=goog.isArray(e);if(goog.isDef(e.leaf)||goog.isDef(e.nodes)||f){if(f){f=0;for(g=e.length;f<g;++f)ol.extent.extend(c.extent,e[f].extent);
c.nodes=c.nodes.concat(e)}else ol.extent.extend(c.extent,e.extent),c.nodes.push(e);c.nodes.length<=this.maxWidth_?e={extent:c.extent.concat()}:(e=f=this.linearSplit_(c.nodes),1>d.length&&(c.nodes.push(f[0]),d.push(c),e=f[1]))}else ol.extent.extend(c.extent,e.extent),e={extent:c.extent.concat()}}while(0<d.length)}};ol.structs.RTree.prototype.linearSplit_=function(a){for(var b=this.pickLinear_(a);0<a.length;)this.pickNext_(a,b[0],b[1]);return b};
ol.structs.RTree.prototype.pickLinear_=function(a){for(var b=a.length-1,c=0,d=a.length-1,e=0,f=a.length-2;0<=f;--f){var g=a[f];g.extent[0]>a[c].extent[0]?c=f:g.extent[1]<a[b].extent[2]&&(b=f);g.extent[2]>a[e].extent[2]?e=f:g.extent[3]<a[d].extent[3]&&(d=f)}f=Math.abs(a[b].extent[1]-a[c].extent[0]);g=Math.abs(a[d].extent[3]-a[e].extent[2]);f>g?b>c?(b=a.splice(b,1)[0],c=a.splice(c,1)[0]):(c=a.splice(c,1)[0],b=a.splice(b,1)[0]):d>e?(b=a.splice(d,1)[0],c=a.splice(e,1)[0]):(c=a.splice(e,1)[0],b=a.splice(d,
1)[0]);return[{extent:b.extent.concat(),nodes:[b]},{extent:c.extent.concat(),nodes:[c]}]};
ol.structs.RTree.prototype.pickNext_=function(a,b,c){for(var d=ol.structs.RTree.squarifiedRatio_(b.extent[1]-b.extent[0],b.extent[3]-b.extent[2],b.nodes.length+1),e=ol.structs.RTree.squarifiedRatio_(c.extent[1]-c.extent[0],c.extent[3]-c.extent[2],c.nodes.length+1),f,g,h,k=a.length-1;0<=k;--k){var l=a[k],m=[b.extent[0]<l.extent[0]?b.extent[0]:l.extent[0],b.extent[1]>l.extent[1]?b.extent[1]:l.extent[1],b.extent[2]<l.extent[2]?b.extent[2]:l.extent[2],b.extent[3]>l.extent[3]?b.extent[3]:l.extent[3]],
m=Math.abs(ol.structs.RTree.squarifiedRatio_(m[1]-m[0],m[3]-m[2],b.nodes.length+2)-d),l=[c.extent[0]<l.extent[0]?c.extent[0]:l.extent[0],c.extent[1]>l.extent[1]?c.extent[1]:l.extent[1],c.extent[2]<l.extent[2]?c.extent[2]:l.extent[2],c.extent[3]>l.extent[3]?c.extent[3]:l.extent[3]],l=Math.abs(ol.structs.RTree.squarifiedRatio_(l[1]-l[0],l[3]-l[2],c.nodes.length+2)-e),n=Math.abs(l-m);if(!g||!f||n<f)g=k,f=n,h=l<m?c:b}d=a.splice(g,1)[0];b.nodes.length+a.length+1<=this.minWidth_?(b.nodes.push(d),ol.extent.extend(b.extent,
d.extent)):c.nodes.length+a.length+1<=this.minWidth_?(c.nodes.push(d),ol.extent.extend(c.extent,d.extent)):(h.nodes.push(d),ol.extent.extend(h.extent,d.extent))};
ol.structs.RTree.prototype.remove=function(a,b){arguments[0]={extent:a};switch(arguments.length){case 1:arguments[1]=!1;case 2:arguments[2]=this.rootTree_;default:arguments.length=3}if(!1===arguments[1]){var c=0,d=[];do c=d.length,d=d.concat(this.removeSubtree_.apply(this,arguments));while(c!=d.length);return d}return this.removeSubtree_.apply(this,arguments)};
ol.structs.RTree.prototype.removeSubtree_=function(a,b,c){var d=[],e=[],f=[];if(!a||!ol.extent.intersects(a.extent,c.extent))return f;a=a.extent.concat();var g;e.push(c.nodes.length);d.push(c);do{c=d.pop();var h=e.pop()-1;if(goog.isDef(b))for(;0<=h;){var k=c.nodes[h];if(ol.extent.intersects(a,k.extent))if(b&&goog.isDef(k.leaf)&&k.leaf===b||!b&&(goog.isDef(k.leaf)||ol.extent.containsExtent(a,k.extent))){goog.isDef(k.nodes)?(f=this.searchSubtree_(k,!0,[],k),c.nodes.splice(h,1)):f=c.nodes.splice(h,1);
ol.structs.RTree.recalculateExtent_(c);b=void 0;c.nodes.length<this.minWidth_&&(g=this.searchSubtree_(c,!0,[],c));break}else goog.isDef(k.nodes)&&(e.push(h),d.push(c),c=k,h=k.nodes.length);h-=1}else if(goog.isDef(g)){c.nodes.splice(h+1,1);0<c.nodes.length&&ol.structs.RTree.recalculateExtent_(c);h=0;for(k=g.length;h<k;++h)this.insertSubtree_(g[h],c);g.length=0;0===d.length&&1>=c.nodes.length?(g=this.searchSubtree_(c,!0,g,c),c.nodes.length=0,d.push(c),e.push(1)):0<d.length&&c.nodes.length<this.minWidth_?
(g=this.searchSubtree_(c,!0,g,c),c.nodes.length=0):g=void 0}else ol.structs.RTree.recalculateExtent_(c)}while(0<d.length);return f};ol.structs.RTree.prototype.search=function(a,b){return this.searchSubtree_({extent:a},!1,[],this.rootTree_,b)};ol.structs.RTree.prototype.searchReturningObject=function(a,b){return this.searchSubtree_({extent:a},!1,[],this.rootTree_,b,!0)};
ol.structs.RTree.prototype.searchSubtree_=function(a,b,c,d,e,f){var g={},h=[];if(!ol.extent.intersects(a.extent,d.extent))return c;h.push(d.nodes);do{d=h.pop();for(var k=d.length-1;0<=k;--k){var l=d[k];ol.extent.intersects(a.extent,l.extent)&&(goog.isDef(l.nodes)?h.push(l.nodes):goog.isDef(l.leaf)&&(b?c.push(l):goog.isDef(e)&&l.type!=e||(l=l.leaf,goog.isDef(f)?g[goog.getUid(l).toString()]=l:c.push(l))))}}while(0<h.length);return goog.isDef(f)?g:c};ol.style={};ol.style.Literal=function(){};ol.style.PolygonLiteral=function(a){ol.style.Literal.call(this);this.fillColor=a.fillColor;goog.isDef(a.fillColor);this.fillOpacity=a.fillOpacity;goog.isDef(a.fillOpacity);this.strokeColor=a.strokeColor;goog.isDef(this.strokeColor);this.strokeOpacity=a.strokeOpacity;goog.isDef(this.strokeOpacity);this.strokeWidth=a.strokeWidth;goog.isDef(this.strokeWidth);goog.isDef(this.fillColor)&&goog.isDef(this.fillOpacity);goog.isDef(this.strokeColor)&&goog.isDef(this.strokeOpacity)&&goog.isDef(this.strokeWidth)};
goog.inherits(ol.style.PolygonLiteral,ol.style.Literal);ol.style.PolygonLiteral.prototype.equals=function(a){return this.fillColor==a.fillColor&&this.fillOpacity==a.fillOpacity&&this.strokeColor==a.strokeColor&&this.strokeOpacity==a.strokeOpacity&&this.strokeWidth==a.strokeWidth};ol.style.Symbolizer=function(){};ol.style.Fill=function(a){ol.style.Symbolizer.call(this);a=a||{};this.color_=goog.isDefAndNotNull(a.color)?a.color instanceof ol.expr.Expression?a.color:new ol.expr.Literal(a.color):new ol.expr.Literal(ol.style.FillDefaults.color);this.opacity_=goog.isDefAndNotNull(a.opacity)?a.opacity instanceof ol.expr.Expression?a.opacity:new ol.expr.Literal(a.opacity):new ol.expr.Literal(ol.style.FillDefaults.opacity)};goog.inherits(ol.style.Fill,ol.style.Symbolizer);
ol.style.Fill.prototype.createLiteral=function(a){var b;a instanceof ol.Feature&&(b=a,a=(a=b.getGeometry())?a.getType():null);var c=null;if(a===ol.geom.GeometryType.POLYGON||a===ol.geom.GeometryType.MULTIPOLYGON)a=ol.expr.evaluateFeature(this.color_,b),b=Number(ol.expr.evaluateFeature(this.opacity_,b)),c=new ol.style.PolygonLiteral({fillColor:a,fillOpacity:b});return c};ol.style.Fill.prototype.getColor=function(){return this.color_};ol.style.Fill.prototype.getOpacity=function(){return this.opacity_};
ol.style.Fill.prototype.setColor=function(a){this.color_=a};ol.style.Fill.prototype.setOpacity=function(a){this.opacity_=a};ol.style.FillDefaults={color:"#ffffff",opacity:0.4};ol.style.Rule=function(a){var b=null;goog.isDef(a.filter)&&(b=goog.isString(a.filter)?ol.expr.parse(a.filter):a.filter);this.filter_=b;this.symbolizers_=goog.isDef(a.symbolizers)?a.symbolizers:[]};ol.style.Rule.prototype.applies=function(a){return goog.isNull(this.filter_)?!0:!!ol.expr.evaluateFeature(this.filter_,a)};ol.style.Rule.prototype.getSymbolizers=function(){return this.symbolizers_};ol.style.Point=function(){ol.style.Symbolizer.call(this)};goog.inherits(ol.style.Point,ol.style.Symbolizer);ol.style.PointLiteral=function(){ol.style.Literal.call(this)};goog.inherits(ol.style.PointLiteral,ol.style.Literal);ol.style.ShapeType={CIRCLE:"circle"};
ol.style.ShapeLiteral=function(a){this.type=a.type;this.size=a.size;this.fillColor=a.fillColor;goog.isDef(a.fillColor);this.fillOpacity=a.fillOpacity;goog.isDef(a.fillOpacity);this.strokeColor=a.strokeColor;goog.isDef(this.strokeColor);this.strokeOpacity=a.strokeOpacity;goog.isDef(this.strokeOpacity);this.strokeWidth=a.strokeWidth;goog.isDef(this.strokeWidth);goog.isDef(this.fillColor)&&goog.isDef(this.fillOpacity);goog.isDef(this.strokeColor)&&goog.isDef(this.strokeOpacity)&&goog.isDef(this.strokeWidth)};
goog.inherits(ol.style.ShapeLiteral,ol.style.PointLiteral);ol.style.ShapeLiteral.prototype.equals=function(a){return this.type==a.type&&this.size==a.size&&this.fillColor==a.fillColor&&this.fillOpacity==a.fillOpacity&&this.strokeColor==a.strokeColor&&this.strokeOpacity==a.strokeOpacity&&this.strokeWidth==a.strokeWidth};ol.style.LineLiteral=function(a){ol.style.Literal.call(this);this.color=a.color;this.opacity=a.opacity;this.width=a.width};goog.inherits(ol.style.LineLiteral,ol.style.Literal);ol.style.LineLiteral.prototype.equals=function(a){return this.color==a.color&&this.opacity==a.opacity&&this.width==a.width};ol.style.Stroke=function(a){ol.style.Symbolizer.call(this);a=a||{};this.color_=goog.isDefAndNotNull(a.color)?a.color instanceof ol.expr.Expression?a.color:new ol.expr.Literal(a.color):new ol.expr.Literal(ol.style.StrokeDefaults.color);this.opacity_=goog.isDefAndNotNull(a.opacity)?a.opacity instanceof ol.expr.Expression?a.opacity:new ol.expr.Literal(a.opacity):new ol.expr.Literal(ol.style.StrokeDefaults.opacity);this.width_=goog.isDefAndNotNull(a.width)?a.width instanceof ol.expr.Expression?a.width:
new ol.expr.Literal(a.width):new ol.expr.Literal(ol.style.StrokeDefaults.width)};goog.inherits(ol.style.Stroke,ol.style.Symbolizer);
ol.style.Stroke.prototype.createLiteral=function(a){var b;a instanceof ol.Feature&&(b=a,a=(a=b.getGeometry())?a.getType():null);var c=ol.expr.evaluateFeature(this.color_,b),d=Number(ol.expr.evaluateFeature(this.opacity_,b));b=Number(ol.expr.evaluateFeature(this.width_,b));var e=null;if(a===ol.geom.GeometryType.LINESTRING||a===ol.geom.GeometryType.MULTILINESTRING)e=new ol.style.LineLiteral({color:c,opacity:d,width:b});else if(a===ol.geom.GeometryType.POLYGON||a===ol.geom.GeometryType.MULTIPOLYGON)e=
new ol.style.PolygonLiteral({strokeColor:c,strokeOpacity:d,strokeWidth:b});return e};ol.style.Stroke.prototype.getColor=function(){return this.color_};ol.style.Stroke.prototype.getOpacity=function(){return this.opacity_};ol.style.Stroke.prototype.getWidth=function(){return this.width_};ol.style.Stroke.prototype.setColor=function(a){this.color_=a};ol.style.Stroke.prototype.setOpacity=function(a){this.opacity_=a};ol.style.Stroke.prototype.setWidth=function(a){this.width_=a};
ol.style.StrokeDefaults={color:"#696969",opacity:0.75,width:1.5};ol.style.StrokeDefaultsSelect={color:"#696969",opacity:0.9,width:2};ol.style.Shape=function(a){this.type_=goog.isDef(a.type)?a.type:ol.style.ShapeDefaults.type;this.size_=goog.isDefAndNotNull(a.size)?a.size instanceof ol.expr.Expression?a.size:new ol.expr.Literal(a.size):new ol.expr.Literal(ol.style.ShapeDefaults.size);this.fill_=goog.isDefAndNotNull(a.fill)?a.fill:null;this.stroke_=goog.isDefAndNotNull(a.stroke)?a.stroke:null};
ol.style.Shape.prototype.createLiteral=function(a){var b;a instanceof ol.Feature&&(b=a,a=(a=b.getGeometry())?a.getType():null);var c=null;if(a===ol.geom.GeometryType.POINT||a===ol.geom.GeometryType.MULTIPOINT){a=Number(ol.expr.evaluateFeature(this.size_,b));var d,e;goog.isNull(this.fill_)||(d=ol.expr.evaluateFeature(this.fill_.getColor(),b),e=Number(ol.expr.evaluateFeature(this.fill_.getOpacity(),b)));var f,g,h;goog.isNull(this.stroke_)||(f=ol.expr.evaluateFeature(this.stroke_.getColor(),b),g=Number(ol.expr.evaluateFeature(this.stroke_.getOpacity(),
b)),h=Number(ol.expr.evaluateFeature(this.stroke_.getWidth(),b)));c=new ol.style.ShapeLiteral({type:this.type_,size:a,fillColor:d,fillOpacity:e,strokeColor:f,strokeOpacity:g,strokeWidth:h})}return c};ol.style.Shape.prototype.getFill=function(){return this.fill_};ol.style.Shape.prototype.getSize=function(){return this.size_};ol.style.Shape.prototype.getStroke=function(){return this.stroke_};ol.style.Shape.prototype.getType=function(){return this.type_};
ol.style.Shape.prototype.setFill=function(a){goog.isNull(a);this.fill_=a};ol.style.Shape.prototype.setSize=function(a){this.size_=a};ol.style.Shape.prototype.setStroke=function(a){goog.isNull(a);this.stroke_=a};ol.style.Shape.prototype.setType=function(a){this.type_=a};ol.style.ShapeDefaults={type:ol.style.ShapeType.CIRCLE,size:5};ol.style.Style=function(a){this.rules_=goog.isDef(a.rules)?a.rules:[];this.symbolizers_=goog.isDef(a.symbolizers)?a.symbolizers:[]};ol.style.Style.prototype.createLiterals=function(a){for(var b=this.rules_,c=[],d=!1,e,f=0,g=b.length;f<g;++f)e=b[f],e.applies(a)&&(d=!0,c.push.apply(c,e.getSymbolizers()));d||(c=this.symbolizers_);return ol.style.Style.createLiterals(c,a)};ol.style.default_=null;
ol.style.getDefault=function(){goog.isNull(ol.style.default_)&&(ol.style.default_=new ol.style.Style({rules:[new ol.style.Rule({filter:new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.RENDER_INTENT),[new ol.expr.Literal("select")]),symbolizers:[new ol.style.Shape({fill:new ol.style.Fill({color:"#ffffff",opacity:0.7}),stroke:new ol.style.Stroke({color:"#696969",opacity:0.9,width:2})}),new ol.style.Fill({color:"#ffffff",opacity:0.7}),new ol.style.Stroke({color:"#696969",opacity:0.9,width:2})]})],
symbolizers:[new ol.style.Shape({fill:new ol.style.Fill,stroke:new ol.style.Stroke}),new ol.style.Fill,new ol.style.Stroke]}));return ol.style.default_};ol.style.setDefault=function(a){return ol.style.default_=a};ol.style.Style.createLiterals=function(a,b){for(var c=a.length,d=Array(c),e=0;e<c;++e)d[e]=a[e].createLiteral(b);return ol.style.Style.reduceLiterals_(d)};
ol.style.Style.reduceLiterals_=function(a){for(var b=[],c,d,e,f,g,h=0,k=a.length;h<k;++h)if(c=a[h],c instanceof ol.style.PolygonLiteral)if(goog.isDef(c.strokeColor)&&!goog.isDef(c.fillColor))if(e){for(f in c)g=c[f],goog.isDef(g)&&(e[f]=g);e=null}else d=c,b.push(d);else if(goog.isDef(c.fillColor)&&!goog.isDef(c.strokeColor))if(d){for(f in c)g=c[f],goog.isDef(g)&&(d[f]=g);d=null}else e=c,b.push(e);else b.push(c);else c&&b.push(c);return b};ol.style.TextLiteral=function(a){this.color=a.color;this.fontFamily=a.fontFamily;this.fontSize=a.fontSize;this.text=a.text;this.opacity=a.opacity};goog.inherits(ol.style.TextLiteral,ol.style.Literal);ol.style.TextLiteral.prototype.equals=function(a){return this.color==a.color&&this.fontFamily==a.fontFamily&&this.fontSize==a.fontSize&&this.opacity==a.opacity};ol.layer.FeatureCache=function(){this.clear()};ol.layer.FeatureCache.prototype.clear=function(){this.idLookup_={};var a={},b;for(b in ol.geom.GeometryType)a[ol.geom.GeometryType[b]]={};this.geometryTypeIndex_=a;this.rTree_=new ol.structs.RTree};ol.layer.FeatureCache.prototype.add=function(a){var b=goog.getUid(a).toString(),c=a.getGeometry();this.idLookup_[b]=a;if(!goog.isNull(c)){var d=c.getType();this.geometryTypeIndex_[d][b]=a;this.rTree_.insert(c.getBounds(),a,d)}};
ol.layer.FeatureCache.prototype.getFeaturesObject=function(a){var b;if(goog.isDef(a)){var c=ol.expr.isLibCall(a);if(c===ol.expr.functions.GEOMETRY_TYPE){var c=a.getArgs(),d=c[0].evaluate();b=this.geometryTypeIndex_[d]}else if(c===ol.expr.functions.EXTENT){for(var c=a.getArgs(),e=[],f=0;4>f;++f)e[f]=c[f].evaluate();b=this.rTree_.searchReturningObject(e)}else if(a instanceof ol.expr.Logical&&a.getOperator()===ol.expr.LogicalOp.AND){for(var g=[a.getLeft(),a.getRight()],h,f=0;1>=f;++f)if(h=g[f],c=ol.expr.isLibCall(h),
c===ol.expr.functions.GEOMETRY_TYPE)c=h.getArgs(),d=c[0].evaluate();else if(c===ol.expr.functions.EXTENT)for(c=h.getArgs(),e=[],h=0;4>h;++h)e[h]=c[h].evaluate();d&&e&&(b=this.getFeaturesObjectForExtent(e,d))}if(!goog.isDef(b))for(f in d=this.idLookup_,b={},d)e=d[f],ol.expr.evaluateFeature(a,e)&&(b[f]=e)}else b=this.idLookup_;return b};
ol.layer.FeatureCache.prototype.getFeaturesObjectForExtent=function(a,b){return goog.isDef(b)&&goog.object.isEmpty(this.geometryTypeIndex_[b])?{}:this.rTree_.searchReturningObject(a,b)};ol.layer.FeatureCache.prototype.getFeaturesByIds_=function(a){var b=a.length,c=Array(b),d;for(d=0;d<b;++d)c[d]=this.idLookup_[a[d]];return c};ol.layer.FeatureCache.prototype.getFeatureWithUid=function(a){return this.idLookup_[a]};
ol.layer.FeatureCache.prototype.remove=function(a){var b=null,c=goog.getUid(a).toString(),d=a.getGeometry();delete this.idLookup_[c];goog.isNull(d)||(b=d.getType(),delete this.geometryTypeIndex_[b][c],c=this.rTree_.remove(d.getBounds(),a),0==c.length&&(c=this.rTree_.remove([-Infinity,Infinity,-Infinity,Infinity],a)),b=c[0].extent);return b};ol.layer.VectorLayerEventType={ADD:"add",CHANGE:goog.events.EventType.CHANGE,REMOVE:"remove",INTENTCHANGE:"intentchange"};
ol.layer.Vector=function(a){ol.layer.Layer.call(this,a);this.style_=goog.isDef(a.style)?a.style:null;this.featureCache_=new ol.layer.FeatureCache;this.transformFeatureInfo_=goog.isDef(a.transformFeatureInfo)?a.transformFeatureInfo:ol.layer.Vector.uidTransformFeatureInfo;this.pointVertices_=new ol.geom.SharedVertices;this.lineVertices_=new ol.geom.SharedVertices;this.polygonVertices_=new ol.geom.SharedVertices;this.temporary_=!1;this.editData_={rTree:null,vertexFeature:null}};
goog.inherits(ol.layer.Vector,ol.layer.Layer);ol.layer.Vector.prototype.addFeatures=function(a){for(var b=ol.extent.createEmpty(),c,d=0,e=a.length;d<e;++d)c=a[d],this.featureCache_.add(c),c=c.getGeometry(),goog.isNull(c)||ol.extent.extend(b,c.getBounds());this.dispatchEvent({extent:b,features:a,type:ol.layer.VectorLayerEventType.ADD})};ol.layer.Vector.prototype.clear=function(){this.featureCache_.clear();this.dispatchEvent({type:ol.layer.VectorLayerEventType.CHANGE})};
ol.layer.Vector.prototype.getTemporary=function(){return this.temporary_};ol.layer.Vector.prototype.getEditData=function(){return this.editData_};ol.layer.Vector.prototype.getVectorSource=function(){return this.getSource()};ol.layer.Vector.prototype.getStyle=function(){return this.style_};
ol.layer.Vector.prototype.getFeaturesObjectForExtent=function(a,b,c,d){return this.getSource().prepareFeatures(this,a,b,d)==ol.source.VectorLoadState.LOADING?null:this.featureCache_.getFeaturesObjectForExtent(a,c)};ol.layer.Vector.prototype.getLineVertices=function(){return this.lineVertices_};ol.layer.Vector.prototype.getPointVertices=function(){return this.pointVertices_};ol.layer.Vector.prototype.getPolygonVertices=function(){return this.polygonVertices_};
ol.layer.Vector.prototype.groupFeaturesBySymbolizerLiteral=function(a){var b={},c=[],d=this.style_,e,f,g,h,k,l,m,n;for(e in a)for(h=a[e],f=h.getSymbolizers(),goog.isNull(f)?(goog.isNull(d)&&(d=ol.style.getDefault()),k=d.createLiterals(h)):k=ol.style.Style.createLiterals(f,h),l=k.length,f=0;f<l;++f){m=k[f];for(g in b)if(n=c[b[g]][1],m.equals(n)){m=n;break}n=goog.getUid(m);goog.object.containsKey(b,n)||(b[n]=c.length,c.push([[],m,[]]));n=c[b[n]];n[0].push(h);m instanceof ol.style.TextLiteral&&n[2].push(k[f].text)}return c};
ol.layer.Vector.prototype.parseFeatures=function(a,b,c){var d={};d[ol.geom.GeometryType.POINT]=this.pointVertices_;d[ol.geom.GeometryType.LINESTRING]=this.lineVertices_;d[ol.geom.GeometryType.POLYGON]=this.polygonVertices_;d[ol.geom.GeometryType.MULTIPOINT]=this.pointVertices_;d[ol.geom.GeometryType.MULTILINESTRING]=this.lineVertices_;d[ol.geom.GeometryType.MULTIPOLYGON]=this.polygonVertices_;var e=function(a){var b=a.features,d=this.getSource().getProjection();goog.isNull(d)&&(d=a.metadata.projection);
a=ol.proj.getTransform(d,c);a(this.pointVertices_.coordinates,this.pointVertices_.coordinates,this.pointVertices_.getDimension());a(this.lineVertices_.coordinates,this.lineVertices_.coordinates,this.lineVertices_.getDimension());a(this.polygonVertices_.coordinates,this.polygonVertices_.coordinates,this.polygonVertices_.getDimension());this.addFeatures(b)},f={callback:function(a,b){return d[b]}};if(goog.isString(a))goog.isFunction(b.readFeaturesFromStringAsync)?b.readFeaturesFromStringAsync(a,goog.bind(e,
this),f):(a=b.readFeaturesFromString(a,f),e.call(this,a));else if(goog.isObject(a))goog.isFunction(b.readFeaturesFromObjectAsync)?b.readFeaturesFromObjectAsync(a,goog.bind(e,this),f):(a=b.readFeaturesFromObject(a,f),e.call(this,a));else throw Error("Data type not supported: "+a);};ol.layer.Vector.prototype.getTransformFeatureInfo=function(){return this.transformFeatureInfo_};
ol.layer.Vector.prototype.removeFeatures=function(a){for(var b=ol.extent.createEmpty(),c,d=0,e=a.length;d<e;++d)c=a[d],this.featureCache_.remove(c),c=c.getGeometry(),goog.isNull(c)||ol.extent.extend(b,c.getBounds());this.dispatchEvent({extent:b,features:a,type:ol.layer.VectorLayerEventType.REMOVE})};
ol.layer.Vector.prototype.setRenderIntent=function(a,b){for(var c=goog.isDef(b)?b:goog.object.getValues(this.featureCache_.getFeaturesObject()),d=ol.extent.createEmpty(),e,f=c.length-1;0<=f;--f)e=c[f],e.renderIntent=a,e=e.getGeometry(),goog.isNull(e)||ol.extent.extend(d,e.getBounds());this.dispatchEvent({extent:d,features:c,type:ol.layer.VectorLayerEventType.INTENTCHANGE})};ol.layer.Vector.prototype.setTemporary=function(a){this.temporary_=a};
ol.layer.Vector.prototype.updateFeatures=function(a){for(var b=ol.extent.createEmpty(),c=a.length-1;0<=c;--c){var d=a[c],e=d.getGeometry(),f=this.featureCache_.remove(d);goog.isNull(f)||ol.extent.extend(b,f);this.featureCache_.add(d);ol.extent.extend(b,e.getBounds())}this.dispatchEvent({extent:b,features:a,type:ol.layer.VectorLayerEventType.CHANGE})};ol.layer.Vector.uidTransformFeatureInfo=function(a){return goog.array.map(a,function(a){return goog.getUid(a)}).join(", ")};ol.renderer.canvas={};ol.renderer.canvas.Layer=function(a,b){ol.renderer.Layer.call(this,a,b)};goog.inherits(ol.renderer.canvas.Layer,ol.renderer.Layer);ol.renderer.canvas.ImageLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.image_=null;this.transform_=goog.vec.Mat4.createNumber()};goog.inherits(ol.renderer.canvas.ImageLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.ImageLayer.prototype.getImage=function(){return goog.isNull(this.image_)?null:this.image_.getImageElement(this)};ol.renderer.canvas.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};ol.renderer.canvas.ImageLayer.prototype.getTransform=function(){return this.transform_};
ol.renderer.canvas.ImageLayer.prototype.renderFrame=function(a,b){var c=a.view2DState,d=c.center,e=c.resolution,f=c.rotation,g=this.getImageLayer().getImageSource(),h=a.viewHints;h[ol.ViewHint.ANIMATING]||h[ol.ViewHint.INTERACTING]||(c=g.getImage(a.extent,e,c.projection),goog.isNull(c)||(h=c.getState(),h==ol.ImageState.IDLE?(goog.events.listenOnce(c,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),c.load()):h==ol.ImageState.LOADED&&(this.image_=c)));if(!goog.isNull(this.image_)){var c=
this.image_,h=c.getExtent(),k=c.getResolution(),l=this.transform_;goog.vec.Mat4.makeIdentity(l);goog.vec.Mat4.translate(l,a.size[0]/2,a.size[1]/2,0);goog.vec.Mat4.rotateZ(l,f);goog.vec.Mat4.scale(l,k/e,k/e,1);goog.vec.Mat4.translate(l,(h[0]-d[0])/k,(d[1]-h[3])/k,0);this.updateAttributions(a.attributions,c.getAttributions());this.updateLogos(a,g)}};ol.renderer.canvas.TileLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.context_=this.canvasSize_=this.canvas_=null;this.transform_=goog.vec.Mat4.createNumber();this.renderedCanvasZ_=NaN;this.renderedTiles_=this.renderedCanvasTileRange_=null};goog.inherits(ol.renderer.canvas.TileLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.TileLayer.prototype.getImage=function(){return this.canvas_};ol.renderer.canvas.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};
ol.renderer.canvas.TileLayer.prototype.getTransform=function(){return this.transform_};
ol.renderer.canvas.TileLayer.prototype.renderFrame=function(a,b){var c=a.view2DState,d=c.projection,e=this.getTileLayer(),f=e.getTileSource(),g=f.getTileGrid();goog.isNull(g)&&(g=ol.tilegrid.getForProjection(d));var h=g.getZForResolution(c.resolution),k=g.getTileSize(h),l=g.getResolution(h),m=c.center,n;l==c.resolution?(m=this.snapCenterToPixel(m,l,a.size),n=ol.extent.getForView2DAndSize(m,l,c.rotation,a.size)):n=a.extent;var q=g.getTileRangeForExtentAndResolution(n,l),r=k[0]*q.getWidth(),p=k[1]*
q.getHeight(),s,t;goog.isNull(this.canvas_)?(s=goog.dom.createElement(goog.dom.TagName.CANVAS),s.width=r,s.height=p,t=s.getContext("2d"),this.canvas_=s,this.canvasSize_=[r,p],this.context_=t):(s=this.canvas_,t=this.context_,this.canvasSize_[0]<r||this.canvasSize_[1]<p?(s.width=r,s.height=p,this.canvasSize_=[r,p],this.renderedCanvasTileRange_=null):(r=this.canvasSize_[0],p=this.canvasSize_[1],h==this.renderedCanvasZ_&&this.renderedCanvasTileRange_.containsTileRange(q)||(this.renderedCanvasTileRange_=
null)));var u,w;goog.isNull(this.renderedCanvasTileRange_)?(r/=k[0],p/=k[1],u=q.minX-Math.floor((r-q.getWidth())/2),w=q.minY-Math.floor((p-q.getHeight())/2),this.renderedCanvasZ_=h,this.renderedCanvasTileRange_=new ol.TileRange(u,u+r-1,w,w+p-1),this.renderedTiles_=Array(r*p),p=this.renderedCanvasTileRange_):(p=this.renderedCanvasTileRange_,r=p.getWidth());s={};s[h]={};var v=[],B=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&a.getState()==ol.TileState.LOADED},f,d),z=goog.bind(f.findLoadedTiles,
f,s,B),B=ol.extent.createEmpty(),F=new ol.TileRange(0,0,0,0),A,x,y;for(w=q.minX;w<=q.maxX;++w)for(y=q.minY;y<=q.maxY;++y)x=f.getTile(h,w,y,d),u=x.getState(),u==ol.TileState.LOADED||u==ol.TileState.EMPTY||u==ol.TileState.ERROR?s[h][x.tileCoord.toString()]=x:(A=g.forEachTileCoordParentTileRange(x.tileCoord,z,null,F,B),A||(v.push(x),A=g.getTileCoordChildTileRange(x.tileCoord,F,B),goog.isNull(A)||z(h+1,A)));z=0;for(A=v.length;z<A;++z)x=v[z],w=k[0]*(x.tileCoord.x-p.minX),y=k[1]*(p.maxY-x.tileCoord.y),
t.clearRect(w,y,k[0],k[1]);var C=goog.array.map(goog.object.getKeys(s),Number);goog.array.sort(C);var D=f.getOpaque(),v=ol.extent.getTopLeft(g.getTileCoordExtent(new ol.TileCoord(h,p.minX,p.maxY),B)),G,E,H,J,I,K,z=0;for(A=C.length;z<A;++z)if(G=C[z],k=g.getTileSize(G),J=s[G],G==h)for(H in J)x=J[H],E=(x.tileCoord.y-p.minY)*r+(x.tileCoord.x-p.minX),this.renderedTiles_[E]!=x&&(w=k[0]*(x.tileCoord.x-p.minX),y=k[1]*(p.maxY-x.tileCoord.y),u=x.getState(),u!=ol.TileState.EMPTY&&u!=ol.TileState.ERROR&&D||t.clearRect(w,
y,k[0],k[1]),u==ol.TileState.LOADED&&t.drawImage(x.getImage(),w,y),this.renderedTiles_[E]=x);else for(H in G=g.getResolution(G)/l,J)for(x=J[H],E=g.getTileCoordExtent(x.tileCoord,B),w=(E[0]-v[0])/l,y=(v[1]-E[3])/l,K=G*k[0],I=G*k[1],u=x.getState(),u!=ol.TileState.EMPTY&&D||t.clearRect(w,y,K,I),u==ol.TileState.LOADED&&t.drawImage(x.getImage(),w,y,K,I),x=g.getTileRangeForExtentAndZ(E,h,F),u=Math.max(x.minX,p.minX),y=Math.min(x.maxX,p.maxX),w=Math.max(x.minY,p.minY),x=Math.min(x.maxY,p.maxY);u<=y;++u)for(I=
w;I<=x;++I)E=(I-p.minY)*r+(u-p.minX),this.renderedTiles_[E]=void 0;this.updateUsedTiles(a.usedTiles,f,h,q);this.manageTilePyramid(a,f,g,d,n,h,e.getPreload());this.scheduleExpireCache(a,f);this.updateLogos(a,f);d=this.transform_;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.translate(d,a.size[0]/2,a.size[1]/2,0);goog.vec.Mat4.rotateZ(d,c.rotation);goog.vec.Mat4.scale(d,l/c.resolution,l/c.resolution,1);goog.vec.Mat4.translate(d,(v[0]-m[0])/l,(m[1]-v[1])/l,0)};ol.structs.LRUCache=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null};ol.structs.LRUCache.prototype.assertValid=function(){if(0!==this.count_){var a,b;a=0;for(b=this.oldest_;!goog.isNull(b);b=b.newer)++a;a=0;for(b=this.newest_;!goog.isNull(b);b=b.older)++a}};ol.structs.LRUCache.prototype.clear=function(){this.count_=0;this.entries_={};this.newest_=this.oldest_=null};ol.structs.LRUCache.prototype.containsKey=function(a){return this.entries_.hasOwnProperty(a)};
ol.structs.LRUCache.prototype.forEach=function(a,b){for(var c=this.oldest_;!goog.isNull(c);)a.call(b,c.value_,c.key_,this),c=c.newer};ol.structs.LRUCache.prototype.get=function(a){a=this.entries_[a];if(a===this.newest_)return a.value_;a===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(a.newer.older=a.older,a.older.newer=a.newer);a.newer=null;a.older=this.newest_;this.newest_=this.newest_.newer=a;return a.value_};ol.structs.LRUCache.prototype.getCount=function(){return this.count_};
ol.structs.LRUCache.prototype.getKeys=function(){var a=Array(this.count_),b=0,c;for(c=this.newest_;!goog.isNull(c);c=c.older)a[b++]=c.key_;return a};ol.structs.LRUCache.prototype.getValues=function(){var a=Array(this.count_),b=0,c;for(c=this.newest_;!goog.isNull(c);c=c.older)a[b++]=c.value_;return a};ol.structs.LRUCache.prototype.peekLast=function(){return this.oldest_.value_};ol.structs.LRUCache.prototype.peekLastKey=function(){return this.oldest_.key_};
ol.structs.LRUCache.prototype.pop=function(){var a=this.oldest_;delete this.entries_[a.key_];goog.isNull(a.newer)||(a.newer.older=null);this.oldest_=a.newer;goog.isNull(this.oldest_)&&(this.newest_=null);--this.count_;return a.value_};ol.structs.LRUCache.prototype.set=function(a,b){var c={key_:a,newer:null,older:this.newest_,value_:b};goog.isNull(this.newest_)?this.oldest_=c:this.newest_.newer=c;this.newest_=c;this.entries_[a]=c;++this.count_};ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK=2048;ol.TileCache=function(a){ol.structs.LRUCache.call(this);this.highWaterMark_=goog.isDef(a)?a:ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK};goog.inherits(ol.TileCache,ol.structs.LRUCache);ol.TileCache.prototype.canExpireCache=function(){return this.getCount()>this.highWaterMark_};ol.TileCache.prototype.expireCache=function(a){for(var b,c;this.canExpireCache()&&!(b=this.peekLast(),c=b.tileCoord.z.toString(),c in a&&a[c].contains(b.tileCoord));)this.pop()};
ol.TileCache.prototype.pruneTileRange=function(a){for(var b=this.getCount(),c;b--;)c=this.peekLastKey(),a.contains(ol.TileCoord.createFromString(c))?this.pop():this.get(c)};ol.geom.AbstractCollection=function(){ol.geom.Geometry.call(this);this.bounds=this.components=null};goog.inherits(ol.geom.AbstractCollection,ol.geom.Geometry);ol.geom.AbstractCollection.prototype.getBounds=function(){if(goog.isNull(this.bounds)){var a,b=a=Infinity,c,d=c=-Infinity,e=this.components,f=e.length,g,h;for(h=0;h<f;++h)g=e[h].getBounds(),a=Math.min(g[0],a),c=Math.max(g[1],c),b=Math.min(g[2],b),d=Math.max(g[3],d);this.bounds=[a,c,b,d]}return this.bounds};
ol.geom.AbstractCollection.prototype.getCoordinates=function(){for(var a=this.components.length,b=Array(a),c=0;c<a;++c)b[c]=this.components[c].getCoordinates();return b};ol.geom.AbstractCollection.prototype.invalidateBounds=function(){this.bounds=null};ol.geom.squaredDistanceToSegment=function(a,b){return ol.coordinate.closestOnSegment(a,b)[2]};ol.geom.LineString=function(a,b){ol.geom.Geometry.call(this);var c=b;goog.isDef(c)||(c=a[0].length,c=new ol.geom.SharedVertices({dimension:c}));this.vertices=c;this.sharedId_=c.add(a);this.dimension=c.getDimension();this.bounds_=null};goog.inherits(ol.geom.LineString,ol.geom.Geometry);ol.geom.LineString.prototype.get=function(a,b){return this.vertices.get(this.sharedId_,a,b)};
ol.geom.LineString.prototype.getCoordinates=function(){for(var a=this.getCount(),b=Array(a),c,d=0;d<a;++d){c=Array(this.dimension);for(var e=0;e<this.dimension;++e)c[e]=this.get(d,e);b[d]=c}return b};ol.geom.LineString.prototype.getCount=function(){return this.vertices.getCount(this.sharedId_)};
ol.geom.LineString.prototype.getBounds=function(){if(goog.isNull(this.bounds_)){var a=this.dimension,b=this.vertices,c=this.sharedId_,d=b.getCount(c),e=b.getStart(c),d=e+d*a,b=b.coordinates,f,g,h,k,l,c=f=b[e];g=h=b[e+1];for(l=e+a;l<d;l+=a)e=b[l],k=b[l+1],e<c?c=e:e>f&&(f=e),k<g?g=k:k>h&&(h=k);this.bounds_=[c,f,g,h]}return this.bounds_};ol.geom.LineString.prototype.getType=function(){return ol.geom.GeometryType.LINESTRING};ol.geom.LineString.prototype.getSharedId=function(){return this.sharedId_};
ol.geom.LineString.prototype.distanceFromCoordinate=function(a){for(var b=this.getCoordinates(),c=Infinity,d=0,e=1,f=b.length;e<f;d=e++)c=Math.min(c,ol.geom.squaredDistanceToSegment(a,[b[d],b[e]]));return Math.sqrt(c)};ol.geom.LineString.prototype.invalidateBounds=function(){this.bounds_=null};ol.geom.LineString.prototype.set=function(a,b,c){this.invalidateBounds();this.vertices.set(this.sharedId_,a,b,c)};ol.geom.MultiLineString=function(a,b){ol.geom.AbstractCollection.call(this);var c=b;goog.isDef(c)||(c=a[0][0].length,c=new ol.geom.SharedVertices({dimension:c}));var d=a.length;this.components=Array(d);for(var e=0;e<d;++e)this.components[e]=new ol.geom.LineString(a[e],c);this.dimension=c.getDimension()};goog.inherits(ol.geom.MultiLineString,ol.geom.AbstractCollection);ol.geom.MultiLineString.prototype.getType=function(){return ol.geom.GeometryType.MULTILINESTRING};
ol.geom.MultiLineString.prototype.distanceFromCoordinate=function(a){for(var b=Infinity,c=0,d=this.components.length;c<d;++c)b=Math.min(b,this.components[c].distanceFromCoordinate(a));return b};ol.geom.MultiLineString.fromParts=function(a,b){for(var c=a.length,d=Array(c),e=0;e<c;++e)d[e]=a[e].getCoordinates();return new ol.geom.MultiLineString(d,b)};ol.geom.Point=function(a,b){ol.geom.Geometry.call(this);var c=b;goog.isDef(c)||(c=a.length,c=new ol.geom.SharedVertices({dimension:c}));this.vertices=c;this.sharedId_=c.add([a]);this.dimension=c.getDimension();this.bounds_=null};goog.inherits(ol.geom.Point,ol.geom.Geometry);ol.geom.Point.prototype.get=function(a){return this.vertices.get(this.sharedId_,0,a)};ol.geom.Point.prototype.getBounds=function(){if(goog.isNull(this.bounds_)){var a=this.get(0),b=this.get(1);this.bounds_=[a,a,b,b]}return this.bounds_};
ol.geom.Point.prototype.getCoordinates=function(){for(var a=Array(this.dimension),b=0;b<this.dimension;++b)a[b]=this.get(b);return a};ol.geom.Point.prototype.getType=function(){return ol.geom.GeometryType.POINT};ol.geom.Point.prototype.getSharedId=function(){return this.sharedId_};ol.geom.Point.prototype.invalidateBounds=function(){this.bounds_=null};
ol.geom.Point.prototype.set=function(a,b){!goog.isNull(this.bounds_)&&1>=a&&(this.bounds_[2*a]=b,this.bounds_[2*a+1]=b);this.vertices.set(this.sharedId_,0,a,b)};ol.geom.MultiPoint=function(a,b){ol.geom.AbstractCollection.call(this);var c=b;goog.isDef(c)||(c=a[0].length,c=new ol.geom.SharedVertices({dimension:c}));this.vertices=c;var d=a.length;this.components=Array(d);for(var e=0;e<d;++e)this.components[e]=new ol.geom.Point(a[e],c);this.dimension=c.getDimension()};goog.inherits(ol.geom.MultiPoint,ol.geom.AbstractCollection);ol.geom.MultiPoint.prototype.getType=function(){return ol.geom.GeometryType.MULTIPOINT};
ol.geom.MultiPoint.fromParts=function(a,b){for(var c=a.length,d=Array(c),e=0;e<c;++e)d[e]=a[e].getCoordinates();return new ol.geom.MultiPoint(d,b)};ol.geom.LinearRing=function(a,b){ol.geom.LineString.call(this,a,b)};goog.inherits(ol.geom.LinearRing,ol.geom.LineString);ol.geom.LinearRing.isClockwise=function(a){for(var b=a.length,c=0,d=a[b-1],e=d[0],d=d[1],f,g,h=0;h<b;++h)g=a[h],f=g[0],g=g[1],c+=(f-e)*(g+d),e=f,d=g;return 0<c};ol.geom.LinearRing.prototype.getType=function(){return ol.geom.GeometryType.LINEARRING};
ol.geom.LinearRing.prototype.containsCoordinate=function(a){var b=a[0];a=a[1];var c=this.getCoordinates(),d=!1,e,f,g,h,k=c.length,l=0;for(h=k-1;l<k;h=l++)e=c[l][0],f=c[l][1],g=c[h][0],h=c[h][1],(e=f>a!=h>a&&b<(g-e)*(a-f)/(h-f)+e)&&(d=!d);return d};ol.geom.Polygon=function(a,b){ol.geom.Geometry.call(this);var c=b;goog.isDef(c)||(c=a[0][0].length,c=new ol.geom.SharedVertices({dimension:c}));this.labelPoint_=null;this.vertices=c;var d=a.length;this.rings=Array(d);for(var e,f=0;f<d;++f)e=a[f],0===f?ol.geom.LinearRing.isClockwise(e)||e.reverse():ol.geom.LinearRing.isClockwise(e)&&e.reverse(),this.rings[f]=new ol.geom.LinearRing(e,c);this.dimension=c.getDimension()};goog.inherits(ol.geom.Polygon,ol.geom.Geometry);
ol.geom.Polygon.prototype.getBounds=function(){return this.rings[0].getBounds()};ol.geom.Polygon.prototype.getCoordinates=function(){for(var a=this.rings.length,b=Array(a),c=0;c<a;++c)b[c]=this.rings[c].getCoordinates();return b};ol.geom.Polygon.prototype.getType=function(){return ol.geom.GeometryType.POLYGON};ol.geom.Polygon.prototype.containsCoordinate=function(a){for(var b=this.rings,c,d=0,e=b.length;d<e&&(c=b[d].containsCoordinate(a),0<d&&(c=!c),c);++d);return c};
ol.geom.Polygon.prototype.getInteriorPoint=function(){if(goog.isNull(this.labelPoint_)){var a=ol.extent.getCenter(this.getBounds())[1],b=this.rings[0].getCoordinates(),c=[],d=0,e,f,g,h;for(e=b.length-1;1<=e;--e)if(f=b[e],g=b[e-1],f[1]>=a&&g[1]<=a||f[1]<=a&&g[1]>=a)f=(a-f[1])/(g[1]-f[1])*(g[0]-f[0])+f[0],c.push(f);c.sort();for(e=c.length-1;1<=e;--e)b=Math.abs(c[e]-c[e-1]),b>d&&(f=(c[e]+c[e-1])/2,this.containsCoordinate([f,a])&&(d=b,h=f));this.labelPoint_=[h,a]}return this.labelPoint_};
ol.geom.Polygon.prototype.invalidateBounds=function(){this.rings[0].invalidateBounds()};ol.geom.MultiPolygon=function(a,b){ol.geom.AbstractCollection.call(this);var c=b;goog.isDef(c)||(c=a[0][0][0].length,c=new ol.geom.SharedVertices({dimension:c}));var d=a.length;this.components=Array(d);for(var e=0;e<d;++e)this.components[e]=new ol.geom.Polygon(a[e],c);this.dimension=c.getDimension()};goog.inherits(ol.geom.MultiPolygon,ol.geom.AbstractCollection);ol.geom.MultiPolygon.prototype.getType=function(){return ol.geom.GeometryType.MULTIPOLYGON};
ol.geom.MultiPolygon.prototype.containsCoordinate=function(a){for(var b=!1,c=0,d=this.components.length;c<d;++c)if(this.components[c].containsCoordinate(a)){b=!0;break}return b};ol.geom.MultiPolygon.fromParts=function(a,b){for(var c=a.length,d=Array(c),e=0;e<c;++e)d[e]=a[e].getCoordinates();return new ol.geom.MultiPolygon(d,b)};ol.style.IconLiteral=function(a){this.url=a.url;this.width=a.width;this.height=a.height;this.opacity=a.opacity;this.rotation=a.rotation;this.xOffset=a.xOffset;this.yOffset=a.yOffset};goog.inherits(ol.style.IconLiteral,ol.style.PointLiteral);ol.style.IconLiteral.prototype.equals=function(a){return this.url==a.url&&this.width==a.width&&this.height==a.height&&this.opacity==a.opacity&&this.rotation==a.rotation&&this.xOffset==a.xOffset&&this.yOffset==a.yOffset};ol.renderer.canvas.VectorRenderer=function(a,b,c){a=a.getContext("2d");this.transform_=b;var d=[1,0,0];goog.vec.Mat4.multVec3NoTranslate(b,d,d);this.inverseScale_=1/Math.sqrt(d[0]*d[0]+d[1]*d[1]);this.context_=a;this.iconLoadedCallback_=c;this.symbolSizes_={};this.symbolOffsets_={};this.maxSymbolSize_=[0,0]};ol.renderer.canvas.VectorRenderer.prototype.getSymbolSizes=function(){return this.symbolSizes_};ol.renderer.canvas.VectorRenderer.prototype.getSymbolOffsets=function(){return this.symbolOffsets_};
ol.renderer.canvas.VectorRenderer.prototype.getMaxSymbolSize=function(){return this.maxSymbolSize_};
ol.renderer.canvas.VectorRenderer.prototype.renderFeaturesByGeometryType=function(a,b,c,d){var e=!1;if(c instanceof ol.style.TextLiteral)this.renderText_(b,c,d);else switch(a){case ol.geom.GeometryType.POINT:case ol.geom.GeometryType.MULTIPOINT:e=this.renderPointFeatures_(b,c);break;case ol.geom.GeometryType.LINESTRING:case ol.geom.GeometryType.MULTILINESTRING:this.renderLineStringFeatures_(b,c);break;case ol.geom.GeometryType.POLYGON:case ol.geom.GeometryType.MULTIPOLYGON:this.renderPolygonFeatures_(b,
c);break;default:throw Error("Rendering not implemented for geometry type: "+a);}return e};
ol.renderer.canvas.VectorRenderer.prototype.renderLineStringFeatures_=function(a,b){var c=this.context_,d,e,f,g,h,k,l,m,n,q;c.globalAlpha=b.opacity;c.strokeStyle=b.color;c.lineWidth=b.width;c.lineCap="round";c.lineJoin="round";q=c.lineWidth*this.inverseScale_;c.beginPath();d=0;for(e=a.length;d<e;++d)if(f=a[d],f.renderIntent!==ol.layer.VectorLayerRenderIntent.HIDDEN)for(g=goog.getUid(f),h=goog.isDef(this.symbolSizes_[g])?this.symbolSizes_[g]:[0],h[0]=Math.max(h[0],q),this.symbolSizes_[g]=h,this.maxSymbolSize_=
[Math.max(h[0],this.maxSymbolSize_[0]),Math.max(h[0],this.maxSymbolSize_[1])],f=f.getGeometry(),f=f instanceof ol.geom.LineString?[f]:f.components,g=0,h=f.length;g<h;++g)for(k=f[g],l=0,m=k.getCount();l<m;++l)n=[k.get(l,0),k.get(l,1),0],goog.vec.Mat4.multVec3(this.transform_,n,n),0===l?c.moveTo(n[0],n[1]):c.lineTo(n[0],n[1]);c.stroke()};
ol.renderer.canvas.VectorRenderer.prototype.renderPointFeatures_=function(a,b){var c=this.context_,d,e,f,g,h,k,l,m=0,n=0;if(b instanceof ol.style.ShapeLiteral)d=ol.renderer.canvas.VectorRenderer.renderShape(b),e=1;else if(b instanceof ol.style.IconLiteral)d=ol.renderer.canvas.VectorRenderer.renderIcon(b,this.iconLoadedCallback_),e=b.opacity,m=b.xOffset,n=b.yOffset;else throw Error("Unsupported symbolizer: "+b);if(goog.isNull(d))return!0;f=d.width/2;g=d.height/2;var q=d.width*this.inverseScale_,r=
d.height*this.inverseScale_,p=m*this.inverseScale_,s=n*this.inverseScale_;c.save();c.setTransform(1,0,0,1,-f,-g);c.globalAlpha=e;e=0;for(f=a.length;e<f;++e)if(g=a[e],g.renderIntent!==ol.layer.VectorLayerRenderIntent.HIDDEN)for(h=goog.getUid(g),k=this.symbolSizes_[h],this.symbolSizes_[h]=goog.isDef(k)?[Math.max(k[0],q),Math.max(k[1],r)]:[q,r],this.symbolOffsets_[h]=[m*this.inverseScale_,n*this.inverseScale_],this.maxSymbolSize_=[Math.max(this.maxSymbolSize_[0],this.symbolSizes_[h][0]+2*Math.abs(p)),
Math.max(this.maxSymbolSize_[1],this.symbolSizes_[h][1]+2*Math.abs(s))],g=g.getGeometry(),g=g instanceof ol.geom.Point?[g]:g.components,h=0,k=g.length;h<k;++h)l=g[h],l=[l.get(0),l.get(1),0],goog.vec.Mat4.multVec3(this.transform_,l,l),c.drawImage(d,l[0]+m,l[1]+n,d.width,d.height);c.restore();return!1};
ol.renderer.canvas.VectorRenderer.prototype.renderText_=function(a,b,c){var d=this.context_,e,f;d.fillStyle!==b.color&&(d.fillStyle=b.color);d.font=b.fontSize+"px "+b.fontFamily;d.globalAlpha=b.opacity;d.textAlign="center";d.textBaseline="middle";b=0;for(var g=a.length;b<g;++b)if(e=a[b],e.renderIntent!==ol.layer.VectorLayerRenderIntent.HIDDEN){e=ol.renderer.canvas.VectorRenderer.getLabelVectors(e.getGeometry());for(var h=0,k=e.length;h<k;++h)f=e[h],goog.vec.Mat4.multVec3(this.transform_,f,f),d.fillText(c[b],
f[0],f[1])}};
ol.renderer.canvas.VectorRenderer.prototype.renderPolygonFeatures_=function(a,b){var c=this.context_,d=b.strokeColor,e=b.strokeWidth,f=b.strokeOpacity,g=b.fillColor,h=b.fillOpacity,k,l,m,n,q,r,p,s,t;d&&(c.strokeStyle=d,e&&(c.lineWidth=e),c.lineCap="round",c.lineJoin="round");g&&(c.fillStyle=g);c.beginPath();e=0;for(l=a.length;e<l;++e)if(m=a[e],m.renderIntent!==ol.layer.VectorLayerRenderIntent.HIDDEN)for(m=m.getGeometry(),m=m instanceof ol.geom.Polygon?[m]:m.components,n=0,q=m.length;n<q;++n)if(r=
m[n],r=r.rings,p=r.length,0<p){r=r[0];p=0;for(s=r.getCount();p<s;++p)t=[r.get(p,0),r.get(p,1),0],goog.vec.Mat4.multVec3(this.transform_,t,t),0===p?c.moveTo(t[0],t[1]):c.lineTo(t[0],t[1]);g&&d&&(h!==k&&(k=c.globalAlpha=h),c.fill(),f!==k&&(k=c.globalAlpha=f),c.stroke(),(e<l-1||n<q-1)&&c.beginPath())}g&&d||(g?(h!==k&&(c.globalAlpha=h),c.fill()):(f!==k&&(c.globalAlpha=f),c.stroke()))};
ol.renderer.canvas.VectorRenderer.renderCircle_=function(a){var b=a.strokeWidth||0,c=a.size+2*b+1,d=c/2,e=goog.dom.createElement(goog.dom.TagName.CANVAS),f=e.getContext("2d"),g=a.fillColor,h=a.strokeColor,k=2*Math.PI;e.height=c;e.width=c;g&&(f.fillStyle=g);h&&(f.lineWidth=b,f.strokeStyle=h,f.lineCap="round",f.lineJoin="round");f.beginPath();f.arc(d,d,a.size/2,0,k,!0);g&&(f.globalAlpha=a.fillOpacity,f.fill());h&&(f.globalAlpha=a.strokeOpacity,f.stroke());return e};
ol.renderer.canvas.VectorRenderer.getLabelVectors=function(a){if(a instanceof ol.geom.AbstractCollection){a=a.components;for(var b=a.length,c=[],d=0;d<b;++d)c.push.apply(c,ol.renderer.canvas.VectorRenderer.getLabelVectors(a[d]));return c}b=a.getType();if(b==ol.geom.GeometryType.POINT)return[[a.get(0),a.get(1),0]];if(b==ol.geom.GeometryType.POLYGON)return a=a.getInteriorPoint(),[[a[0],a[1],0]];throw Error("Label rendering not implemented for geometry type: "+b);};
ol.renderer.canvas.VectorRenderer.renderShape=function(a){if(a.type===ol.style.ShapeType.CIRCLE)a=ol.renderer.canvas.VectorRenderer.renderCircle_(a);else throw Error("Unsupported shape type: "+a);return a};
ol.renderer.canvas.VectorRenderer.renderIcon=function(a,b){var c=a.url,d=ol.renderer.canvas.VectorRenderer.icons_[c],e=!1;if(!goog.isDef(d))e=!0,d=goog.dom.createElement(goog.dom.TagName.IMG),goog.events.listenOnce(d,goog.events.EventType.ERROR,goog.bind(ol.renderer.canvas.VectorRenderer.handleIconError_,null,b),!1,ol.renderer.canvas.VectorRenderer.renderIcon),goog.events.listenOnce(d,goog.events.EventType.LOAD,goog.bind(ol.renderer.canvas.VectorRenderer.handleIconLoad_,null,b),!1,ol.renderer.canvas.VectorRenderer.renderIcon),
d.setAttribute("src",c);else if(!goog.isNull(d)){var c=a.width,f=a.height;goog.isDef(c)&&goog.isDef(f)?(d.width=c,d.height=f):goog.isDef(c)?(d.height*=c/d.width,d.width=c):goog.isDef(f)&&(d.width*=f/d.height,d.height=f)}return e?null:d};ol.renderer.canvas.VectorRenderer.icons_={};ol.renderer.canvas.VectorRenderer.handleIconError_=function(a,b){if(goog.isDef(b)){var c=b.target.getAttribute("src");ol.renderer.canvas.VectorRenderer.icons_[c]=null;ol.renderer.canvas.VectorRenderer.handleIconLoad_(a,b)}};
ol.renderer.canvas.VectorRenderer.handleIconLoad_=function(a,b){if(goog.isDef(b)){var c=b.target.getAttribute("src");ol.renderer.canvas.VectorRenderer.icons_[c]=b.target}goog.isDef(a)&&a()};ol.renderer.canvas.MIN_RESOLUTION=0.14929107086948487;
ol.renderer.canvas.VectorLayer=function(a,b){ol.renderer.canvas.Layer.call(this,a,b);this.canvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.context_=this.canvas_.getContext("2d");this.transform_=goog.vec.Mat4.createNumber();this.sketchCanvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.sketchTransform_=goog.vec.Mat4.createNumber();this.tileCache_=new ol.TileCache(ol.renderer.canvas.VectorLayer.TILECACHE_SIZE);goog.events.listen(b,[ol.layer.VectorLayerEventType.ADD,ol.layer.VectorLayerEventType.CHANGE,
ol.layer.VectorLayerEventType.REMOVE,ol.layer.VectorLayerEventType.INTENTCHANGE],this.handleLayerChange_,!1,this);this.tileArchetype_=null;this.geometryTypes_=[ol.geom.GeometryType.POINT,ol.geom.GeometryType.MULTIPOINT,ol.geom.GeometryType.LINESTRING,ol.geom.GeometryType.MULTILINESTRING,ol.geom.GeometryType.POLYGON,ol.geom.GeometryType.MULTIPOLYGON];this.renderedExtent_=null;this.pendingCachePrune_=this.dirty_=!1;this.tileGrid_=null;this.tileRange_=new ol.TileRange(NaN,NaN,NaN,NaN);this.requestMapRenderFrame_=
goog.bind(function(){this.dirty_=!0;a.getMap().requestRenderFrame()},this)};goog.inherits(ol.renderer.canvas.VectorLayer,ol.renderer.canvas.Layer);ol.renderer.canvas.VectorLayer.prototype.expireTiles_=function(a){var b=this.tileCache_;goog.isDef(a)?(a=this.tileGrid_.getTileRangeForExtentAndZ(a,0),b.pruneTileRange(a)):b.clear()};ol.renderer.canvas.VectorLayer.prototype.getImage=function(){return this.canvas_};ol.renderer.canvas.VectorLayer.prototype.getVectorLayer=function(){return this.getLayer()};
ol.renderer.canvas.VectorLayer.prototype.getTransform=function(){return this.transform_};ol.renderer.canvas.VectorLayer.prototype.getFeatureInfoForPixel=function(a,b){this.getFeaturesForPixel(a,function(a,d){b(d.getTransformFeatureInfo()(a),d)})};
ol.renderer.canvas.VectorLayer.prototype.getFeaturesForPixel=function(a,b,c){var d=this.getMap(),e=[],f=this.getLayer();a=d.getCoordinateFromPixel(a);var g=this.tileGrid_.getTileCoordForCoordAndZ(a,0).toString();if(this.tileCache_.containsKey(g)){var h=this.tileCache_.get(g),g=h[1],k=h[2],h=h[3],l=k[0]/2,k=k[1]/2,k=ol.extent.boundingExtent([[a[0]-l,a[1]-k],[a[0]+l,a[1]+k]]),d=f.getFeaturesObjectForExtent(k,d.getView().getView2D().getProjection());if(goog.isNull(d)){goog.isDef(c)&&goog.global.setTimeout(function(){c()},
0);return}var m,n,q,r;for(r in d)if(k=d[r],l=k.getGeometry(),m=l.getType(),m===ol.geom.GeometryType.POINT||m===ol.geom.GeometryType.MULTIPOINT)for(n=goog.getUid(k),m=g[n],n=h[n],q=m[0]/2,m=m[1]/2,m=ol.extent.boundingExtent([[a[0]-q-n[0],a[1]-m+n[1]],[a[0]+q-n[0],a[1]+m+n[1]]]),l=l.getCoordinates(),goog.isArray(l[0])||(l=[l]),n=l.length-1;0<=n;--n){if(ol.extent.containsCoordinate(m,l[n])){e.push(k);break}}else goog.isFunction(l.containsCoordinate)?l.containsCoordinate(a)&&e.push(k):goog.isFunction(l.distanceFromCoordinate)&&
2*l.distanceFromCoordinate(a)<=g[goog.getUid(k)][0]&&e.push(k)}goog.global.setTimeout(function(){b(e,f)},0)};ol.renderer.canvas.VectorLayer.prototype.handleLayerChange_=function(a){this.expireTiles_(a.extent);this.requestMapRenderFrame_()};
ol.renderer.canvas.VectorLayer.prototype.renderFrame=function(a,b){var c=a.view2DState,d=c.resolution,e=c.projection,f=a.extent,g=this.getVectorLayer(),h=this.tileGrid_,k=[512,512],l=!a.viewHints[ol.ViewHint.ANIMATING]&&!a.viewHints[ol.ViewHint.INTERACTING];if(l){var m=ol.renderer.canvas.MIN_RESOLUTION,n=e.getMetersPerUnit();n&&(m/=n);m=Math.max(d,m);m!==this.renderedResolution_&&(h=new ol.tilegrid.TileGrid({origin:[0,0],projection:e,resolutions:[m],tileSize:k}),this.tileCache_.clear(),this.tileGrid_=
h)}if(!goog.isNull(h)){m=h.getResolution(0);l&&h.getTileRangeForExtentAndResolution(f,m,this.tileRange_);var q=this.transform_,f=this.tileRange_,n=h.getTileRangeExtent(0,f),r=ol.extent.getTopLeft(n);goog.vec.Mat4.makeIdentity(q);goog.vec.Mat4.translate(q,a.size[0]/2,a.size[1]/2,0);goog.vec.Mat4.scale(q,m/d,m/d,1);goog.vec.Mat4.rotateZ(q,c.rotation);goog.vec.Mat4.translate(q,(r[0]-c.center[0])/m,(c.center[1]-r[1])/m,0);if(this.dirty_||this.renderedResolution_!==m||!ol.extent.equals(this.renderedExtent_,
n)){goog.isNull(this.tileArchetype_)&&(this.tileArchetype_=goog.dom.createElement(goog.dom.TagName.CANVAS),this.tileArchetype_.width=k[0],this.tileArchetype_.height=k[1]);var c=this.sketchCanvas_,d=k[0]*f.getWidth(),q=k[1]*f.getHeight(),p=this.sketchTransform_,s=d/2,t=q/2;goog.vec.Mat4.makeIdentity(p);goog.vec.Mat4.translate(p,s,t,0);goog.vec.Mat4.scale(p,1/m,-1/m,1);goog.vec.Mat4.translate(p,-(r[0]+s*m),-(r[1]-t*m),0);c.width=d;c.height=q;r=new ol.renderer.canvas.VectorRenderer(c,p,this.requestMapRenderFrame_);
p=this.canvas_;p.width=d;p.height=q;var d=this.context_,p={},q={},s={},u=15*m,w,v,B,z=this.geometryTypes_,F=z.length,A=!1,x=!1,y,C,D,G,E;v=f.minX;a:for(;v<=f.maxX;++v)for(B=f.minY;B<=f.maxY;++B)if(t=new ol.TileCoord(0,v,B),w=t.toString(),this.tileCache_.containsKey(w))q[w]=t;else if(l){D=h.getTileCoordExtent(t);D[0]-=u;D[1]+=u;D[2]-=u;D[3]+=u;E=!1;for(y=0;y<F;++y){C=z[y];goog.isDef(p[C])||(p[C]={});G=g.getFeaturesObjectForExtent(D,e,C,this.requestMapRenderFrame_);if(goog.isNull(G)){A=!0;break a}E=
E||!goog.object.isEmpty(G);goog.object.extend(p[C],G)}E&&(s[w]=t)}else x=!0;this.dirty_=x;a:for(C in p)for(e=g.groupFeaturesBySymbolizerLiteral(p[C]),l=e.length,h=0;h<l;++h)if(t=e[h],A=r.renderFeaturesByGeometryType(C,t[0],t[1],t[2]))break a;A||goog.object.extend(q,s);g=r.getSymbolSizes();C=r.getMaxSymbolSize();h=r.getSymbolOffsets();for(w in q)t=q[w],this.tileCache_.containsKey(w)?e=this.tileCache_.get(w)[0]:(e=this.tileArchetype_.cloneNode(!1),e.getContext("2d").drawImage(c,(f.minX-t.x)*k[0],(t.y-
f.maxY)*k[1]),this.tileCache_.set(w,[e,g,C,h])),d.drawImage(e,k[0]*(t.x-f.minX),k[1]*(f.maxY-t.y));this.renderedResolution_=m;this.renderedExtent_=n;this.pendingCachePrune_||(this.pendingCachePrune_=!0,a.postRenderFunctions.push(goog.bind(this.pruneTileCache_,this)))}}};ol.renderer.canvas.VectorLayer.prototype.pruneTileCache_=function(){for(;this.tileCache_.canExpireCache();)this.tileCache_.pop();this.pendingCachePrune_=!1};ol.renderer.canvas.VectorLayer.TILECACHE_SIZE=128;ol.renderer.canvas.Map=function(a,b){ol.renderer.Map.call(this,a,b);this.canvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.canvas_.height=a.clientHeight;this.canvas_.width=a.clientWidth;this.canvas_.className=ol.css.CLASS_UNSELECTABLE;goog.dom.insertChildAt(a,this.canvas_,0);this.renderedVisible_=!0;this.canvasSize_=[a.clientHeight,a.clientWidth];this.context_=this.canvas_.getContext("2d")};goog.inherits(ol.renderer.canvas.Map,ol.renderer.Map);
ol.renderer.canvas.Map.prototype.createLayerRenderer=function(a){return a instanceof ol.layer.Image?new ol.renderer.canvas.ImageLayer(this,a):a instanceof ol.layer.Tile?new ol.renderer.canvas.TileLayer(this,a):a instanceof ol.layer.Vector?new ol.renderer.canvas.VectorLayer(this,a):null};ol.renderer.canvas.Map.prototype.getCanvas=function(){return this.canvas_};
ol.renderer.canvas.Map.prototype.renderFrame=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.setElementShown(this.canvas_,!1),this.renderedVisible_=!1);else{var b=a.size;ol.size.equals(this.canvasSize_,b)||(this.canvas_.width=b[0],this.canvas_.height=b[1],this.canvasSize_=b);var c=this.context_;c.setTransform(1,0,0,1,0,0);c.clearRect(0,0,b[0],b[1]);this.calculateMatrices2D(a);var b=a.layerStates,d=a.layersArray,e,f,g,h,k;e=0;for(f=d.length;e<f;++e)if(g=d[e],h=this.getLayerRenderer(g),
k=b[goog.getUid(g)],k.visible&&k.ready&&(h.renderFrame(a,k),g=h.getImage(),!goog.isNull(g)))if(h=h.getTransform(),c.globalAlpha=k.opacity,0===a.view2DState.rotation){k=goog.vec.Mat4.getElement(h,0,3);var l=goog.vec.Mat4.getElement(h,1,3),m=g.width*goog.vec.Mat4.getElement(h,0,0);h=g.height*goog.vec.Mat4.getElement(h,1,1);c.drawImage(g,0,0,g.width,g.height,k,l,m,h)}else c.setTransform(goog.vec.Mat4.getElement(h,0,0),goog.vec.Mat4.getElement(h,1,0),goog.vec.Mat4.getElement(h,0,1),goog.vec.Mat4.getElement(h,
1,1),goog.vec.Mat4.getElement(h,0,3),goog.vec.Mat4.getElement(h,1,3)),c.drawImage(g,0,0);this.renderedVisible_||(goog.style.setElementShown(this.canvas_,!0),this.renderedVisible_=!0);this.scheduleRemoveUnusedLayerRenderers(a)}};ol.canvas={};ol.canvas.SUPPORTED=function(){if(!("HTMLCanvasElement"in goog.global))return!1;try{var a=goog.dom.createElement(goog.dom.TagName.CANVAS);return!goog.isNull(a.getContext("2d"))}catch(b){return!1}}();ol.renderer.canvas.SUPPORTED=ol.canvas.SUPPORTED;ol.dom={};ol.dom.BrowserFeature={CAN_USE_CSS_TRANSFORM:!1,CAN_USE_CSS_TRANSFORM3D:!0};ol.dom.setTransform=function(a,b){var c=a.style;c.WebkitTransform=b;c.MozTransform=b;c.OTransform=b;c.transform=b};
ol.dom.transformElement2D=function(a,b,c){var d;if(ol.dom.BrowserFeature.CAN_USE_CSS_TRANSFORM3D){if(goog.isDef(c)){var e=Array(16);for(d=0;16>d;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");ol.dom.setTransform(a,"matrix3d("+c+")")}else if(ol.dom.BrowserFeature.CAN_USE_CSS_TRANSFORM){b=[goog.vec.Mat4.getElement(b,0,0),goog.vec.Mat4.getElement(b,1,0),goog.vec.Mat4.getElement(b,0,1),goog.vec.Mat4.getElement(b,1,1),goog.vec.Mat4.getElement(b,0,3),goog.vec.Mat4.getElement(b,1,3)];if(goog.isDef(c)){e=
Array(6);for(d=0;6>d;++d)e[d]=b[d].toFixed(c);c=e.join(",")}else c=b.join(",");ol.dom.setTransform(a,"matrix("+c+")")}else a=a.style,a.left=Math.round(goog.vec.Mat4.getElement(b,0,3))+"px",a.top=Math.round(goog.vec.Mat4.getElement(b,1,3))+"px"};ol.renderer.dom={};ol.renderer.dom.Layer=function(a,b,c){ol.renderer.Layer.call(this,a,b);this.target=c};goog.inherits(ol.renderer.dom.Layer,ol.renderer.Layer);ol.renderer.dom.Layer.prototype.getTarget=function(){return this.target};ol.renderer.dom.ImageLayer=function(a,b){var c=goog.dom.createElement(goog.dom.TagName.DIV);c.style.position="absolute";ol.renderer.dom.Layer.call(this,a,b,c);this.image_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()};goog.inherits(ol.renderer.dom.ImageLayer,ol.renderer.dom.Layer);ol.renderer.dom.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};
ol.renderer.dom.ImageLayer.prototype.renderFrame=function(a,b){var c=a.view2DState,d=c.center,e=c.resolution,f=c.rotation,g=this.image_,h=this.getImageLayer().getImageSource(),k=a.viewHints;k[ol.ViewHint.ANIMATING]||k[ol.ViewHint.INTERACTING]||(c=h.getImage(a.extent,e,c.projection),goog.isNull(c)||(k=c.getState(),k==ol.ImageState.IDLE?(goog.events.listenOnce(c,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),c.load()):k==ol.ImageState.LOADED&&(g=c)));if(!goog.isNull(g)){var k=g.getExtent(),
l=g.getResolution(),c=goog.vec.Mat4.createNumber();goog.vec.Mat4.makeIdentity(c);goog.vec.Mat4.translate(c,a.size[0]/2,a.size[1]/2,0);goog.vec.Mat4.rotateZ(c,f);goog.vec.Mat4.scale(c,l/e,l/e,1);goog.vec.Mat4.translate(c,(k[0]-d[0])/l,(d[1]-k[3])/l,0);g!=this.image_&&(d=g.getImageElement(this),d.style.maxWidth="none",d.style.position="absolute",goog.dom.removeChildren(this.target),goog.dom.appendChild(this.target,d),this.image_=g);this.setTransform_(c);this.updateAttributions(a.attributions,g.getAttributions());
this.updateLogos(a,h)}};ol.renderer.dom.ImageLayer.prototype.setTransform_=function(a){goog.vec.Mat4.equals(a,this.transform_)||(ol.dom.transformElement2D(this.target,a,6),goog.vec.Mat4.setFromArray(this.transform_,a))};ol.renderer.dom.TileLayer=function(a,b){var c=goog.dom.createElement(goog.dom.TagName.DIV);c.style.position="absolute";ol.renderer.dom.Layer.call(this,a,b,c);this.renderedVisible_=!0;this.renderedOpacity_=1;this.renderedRevision_=0;this.tileLayerZs_={}};goog.inherits(ol.renderer.dom.TileLayer,ol.renderer.dom.Layer);ol.renderer.dom.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};
ol.renderer.dom.TileLayer.prototype.renderFrame=function(a,b){if(b.visible){var c=a.view2DState,d=c.projection,e=this.getTileLayer(),f=e.getTileSource(),g=f.getTileGrid();goog.isNull(g)&&(g=ol.tilegrid.getForProjection(d));var h=g.getZForResolution(c.resolution),k=g.getResolution(h),l=c.center,m;k==c.resolution?(l=this.snapCenterToPixel(l,k,a.size),m=ol.extent.getForView2DAndSize(l,k,c.rotation,a.size)):m=a.extent;var k=g.getTileRangeForExtentAndResolution(m,k),n={};n[h]={};var q=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&
a.getState()==ol.TileState.LOADED},f,d),r=goog.bind(f.findLoadedTiles,f,n,q),p=ol.extent.createEmpty(),q=new ol.TileRange(0,0,0,0),s,t,u,w;for(u=k.minX;u<=k.maxX;++u)for(w=k.minY;w<=k.maxY;++w)s=f.getTile(h,u,w,d),t=s.getState(),t==ol.TileState.LOADED?n[h][s.tileCoord.toString()]=s:t!=ol.TileState.ERROR&&t!=ol.TileState.EMPTY&&(t=g.forEachTileCoordParentTileRange(s.tileCoord,r,null,q,p),t||(s=g.getTileCoordChildTileRange(s.tileCoord,q,p),goog.isNull(s)||r(h+1,s)));var v;if(this.renderedRevision_!=
f.getRevision()){for(v in this.tileLayerZs_)p=this.tileLayerZs_[+v],goog.dom.removeNode(p.target);this.tileLayerZs_={};this.renderedRevision_=f.getRevision()}u=goog.array.map(goog.object.getKeys(n),Number);goog.array.sort(u);var r={},B;w=0;for(s=u.length;w<s;++w){v=u[w];v in this.tileLayerZs_?p=this.tileLayerZs_[v]:(p=g.getTileCoordForCoordAndZ(l,v),p=new ol.renderer.dom.TileLayerZ_(g,p),r[v]=!0,this.tileLayerZs_[v]=p);v=n[v];for(B in v)p.addTile(v[B]);p.finalizeAddTiles()}B=goog.array.map(goog.object.getKeys(this.tileLayerZs_),
Number);goog.array.sort(B);var z;s=goog.vec.Mat4.createNumber();u=0;for(w=B.length;u<w;++u)if(v=B[u],p=this.tileLayerZs_[v],v in n)if(z=p.getResolution(),t=p.getOrigin(),goog.vec.Mat4.makeIdentity(s),goog.vec.Mat4.translate(s,a.size[0]/2,a.size[1]/2,0),goog.vec.Mat4.rotateZ(s,c.rotation),goog.vec.Mat4.scale(s,z/c.resolution,z/c.resolution,1),goog.vec.Mat4.translate(s,(t[0]-l[0])/z,(l[1]-t[1])/z,0),p.setTransform(s),v in r){for(v-=1;0<=v;--v)if(v in this.tileLayerZs_){goog.dom.insertSiblingAfter(p.target,
this.tileLayerZs_[v].target);break}0>v&&goog.dom.insertChildAt(this.target,p.target,0)}else a.viewHints[ol.ViewHint.ANIMATING]||a.viewHints[ol.ViewHint.INTERACTING]||p.removeTilesOutsideExtent(m,q);else goog.dom.removeNode(p.target),delete this.tileLayerZs_[v];b.opacity!=this.renderedOpacity_&&(goog.style.setOpacity(this.target,b.opacity),this.renderedOpacity_=b.opacity);b.visible&&!this.renderedVisible_&&(goog.style.setElementShown(this.target,!0),this.renderedVisible_=!0);this.updateUsedTiles(a.usedTiles,
f,h,k);this.manageTilePyramid(a,f,g,d,m,h,e.getPreload());this.scheduleExpireCache(a,f);this.updateLogos(a,f)}else this.renderedVisible_&&(goog.style.setElementShown(this.target,!1),this.renderedVisible_=!1)};
ol.renderer.dom.TileLayerZ_=function(a,b){this.target=goog.dom.createElement(goog.dom.TagName.DIV);this.target.style.position="absolute";this.tileGrid_=a;this.tileCoordOrigin_=b;this.origin_=ol.extent.getTopLeft(a.getTileCoordExtent(b));this.resolution_=a.getResolution(b.z);this.tiles_={};this.documentFragment_=null;this.transform_=goog.vec.Mat4.createNumberIdentity()};
ol.renderer.dom.TileLayerZ_.prototype.addTile=function(a){var b=a.tileCoord,c=b.toString();if(!(c in this.tiles_)){var d=this.tileGrid_.getTileSize(b.z),e=a.getImage(this),f=e.style;f.maxWidth="none";f.position="absolute";f.left=(b.x-this.tileCoordOrigin_.x)*d[0]+"px";f.top=(this.tileCoordOrigin_.y-b.y)*d[1]+"px";goog.isNull(this.documentFragment_)&&(this.documentFragment_=document.createDocumentFragment());goog.dom.appendChild(this.documentFragment_,e);this.tiles_[c]=a}};
ol.renderer.dom.TileLayerZ_.prototype.finalizeAddTiles=function(){goog.isNull(this.documentFragment_)||(goog.dom.appendChild(this.target,this.documentFragment_),this.documentFragment_=null)};ol.renderer.dom.TileLayerZ_.prototype.getOrigin=function(){return this.origin_};ol.renderer.dom.TileLayerZ_.prototype.getResolution=function(){return this.resolution_};
ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent=function(a,b){var c=this.tileGrid_.getTileRangeForExtentAndZ(a,this.tileCoordOrigin_.z,b),d=[],e,f;for(f in this.tiles_)e=this.tiles_[f],c.contains(e.tileCoord)||d.push(e);var g,c=0;for(g=d.length;c<g;++c)e=d[c],f=e.tileCoord.toString(),goog.dom.removeNode(e.getImage(this)),delete this.tiles_[f]};
ol.renderer.dom.TileLayerZ_.prototype.setTransform=function(a){goog.vec.Mat4.equals(a,this.transform_)||(ol.dom.transformElement2D(this.target,a,6),goog.vec.Mat4.setFromArray(this.transform_,a))};ol.renderer.dom.Map=function(a,b){ol.renderer.Map.call(this,a,b);this.layersPane_=goog.dom.createElement(goog.dom.TagName.DIV);this.layersPane_.className=ol.css.CLASS_UNSELECTABLE;var c=this.layersPane_.style;c.position="absolute";c.width="100%";c.height="100%";goog.dom.insertChildAt(a,this.layersPane_,0);this.renderedVisible_=!0};goog.inherits(ol.renderer.dom.Map,ol.renderer.Map);
ol.renderer.dom.Map.prototype.createLayerRenderer=function(a){if(a instanceof ol.layer.Tile)a=new ol.renderer.dom.TileLayer(this,a);else if(a instanceof ol.layer.Image)a=new ol.renderer.dom.ImageLayer(this,a);else return null;goog.dom.appendChild(this.layersPane_,a.getTarget());return a};
ol.renderer.dom.Map.prototype.renderFrame=function(a){if(goog.isNull(a))this.renderedVisible_&&(goog.style.setElementShown(this.layersPane_,!1),this.renderedVisible_=!1);else{var b=a.layerStates,c=a.layersArray,d,e,f,g;d=0;for(e=c.length;d<e;++d)f=c[d],g=this.getLayerRenderer(f),f=a.layerStates[goog.getUid(f)],f.ready&&g.renderFrame(a,f);for(var h in this.getLayerRenderers())h in b||(g=this.getLayerRendererByKey(h),goog.dom.removeNode(g.getTarget()));this.renderedVisible_||(goog.style.setElementShown(this.layersPane_,
!0),this.renderedVisible_=!0);this.calculateMatrices2D(a);this.scheduleRemoveUnusedLayerRenderers(a)}};ol.renderer.dom.SUPPORTED=!0;goog.webgl={};goog.webgl.DEPTH_BUFFER_BIT=256;goog.webgl.STENCIL_BUFFER_BIT=1024;goog.webgl.COLOR_BUFFER_BIT=16384;goog.webgl.POINTS=0;goog.webgl.LINES=1;goog.webgl.LINE_LOOP=2;goog.webgl.LINE_STRIP=3;goog.webgl.TRIANGLES=4;goog.webgl.TRIANGLE_STRIP=5;goog.webgl.TRIANGLE_FAN=6;goog.webgl.ZERO=0;goog.webgl.ONE=1;goog.webgl.SRC_COLOR=768;goog.webgl.ONE_MINUS_SRC_COLOR=769;goog.webgl.SRC_ALPHA=770;goog.webgl.ONE_MINUS_SRC_ALPHA=771;goog.webgl.DST_ALPHA=772;goog.webgl.ONE_MINUS_DST_ALPHA=773;
goog.webgl.DST_COLOR=774;goog.webgl.ONE_MINUS_DST_COLOR=775;goog.webgl.SRC_ALPHA_SATURATE=776;goog.webgl.FUNC_ADD=32774;goog.webgl.BLEND_EQUATION=32777;goog.webgl.BLEND_EQUATION_RGB=32777;goog.webgl.BLEND_EQUATION_ALPHA=34877;goog.webgl.FUNC_SUBTRACT=32778;goog.webgl.FUNC_REVERSE_SUBTRACT=32779;goog.webgl.BLEND_DST_RGB=32968;goog.webgl.BLEND_SRC_RGB=32969;goog.webgl.BLEND_DST_ALPHA=32970;goog.webgl.BLEND_SRC_ALPHA=32971;goog.webgl.CONSTANT_COLOR=32769;goog.webgl.ONE_MINUS_CONSTANT_COLOR=32770;
goog.webgl.CONSTANT_ALPHA=32771;goog.webgl.ONE_MINUS_CONSTANT_ALPHA=32772;goog.webgl.BLEND_COLOR=32773;goog.webgl.ARRAY_BUFFER=34962;goog.webgl.ELEMENT_ARRAY_BUFFER=34963;goog.webgl.ARRAY_BUFFER_BINDING=34964;goog.webgl.ELEMENT_ARRAY_BUFFER_BINDING=34965;goog.webgl.STREAM_DRAW=35040;goog.webgl.STATIC_DRAW=35044;goog.webgl.DYNAMIC_DRAW=35048;goog.webgl.BUFFER_SIZE=34660;goog.webgl.BUFFER_USAGE=34661;goog.webgl.CURRENT_VERTEX_ATTRIB=34342;goog.webgl.FRONT=1028;goog.webgl.BACK=1029;
goog.webgl.FRONT_AND_BACK=1032;goog.webgl.CULL_FACE=2884;goog.webgl.BLEND=3042;goog.webgl.DITHER=3024;goog.webgl.STENCIL_TEST=2960;goog.webgl.DEPTH_TEST=2929;goog.webgl.SCISSOR_TEST=3089;goog.webgl.POLYGON_OFFSET_FILL=32823;goog.webgl.SAMPLE_ALPHA_TO_COVERAGE=32926;goog.webgl.SAMPLE_COVERAGE=32928;goog.webgl.NO_ERROR=0;goog.webgl.INVALID_ENUM=1280;goog.webgl.INVALID_VALUE=1281;goog.webgl.INVALID_OPERATION=1282;goog.webgl.OUT_OF_MEMORY=1285;goog.webgl.CW=2304;goog.webgl.CCW=2305;
goog.webgl.LINE_WIDTH=2849;goog.webgl.ALIASED_POINT_SIZE_RANGE=33901;goog.webgl.ALIASED_LINE_WIDTH_RANGE=33902;goog.webgl.CULL_FACE_MODE=2885;goog.webgl.FRONT_FACE=2886;goog.webgl.DEPTH_RANGE=2928;goog.webgl.DEPTH_WRITEMASK=2930;goog.webgl.DEPTH_CLEAR_VALUE=2931;goog.webgl.DEPTH_FUNC=2932;goog.webgl.STENCIL_CLEAR_VALUE=2961;goog.webgl.STENCIL_FUNC=2962;goog.webgl.STENCIL_FAIL=2964;goog.webgl.STENCIL_PASS_DEPTH_FAIL=2965;goog.webgl.STENCIL_PASS_DEPTH_PASS=2966;goog.webgl.STENCIL_REF=2967;
goog.webgl.STENCIL_VALUE_MASK=2963;goog.webgl.STENCIL_WRITEMASK=2968;goog.webgl.STENCIL_BACK_FUNC=34816;goog.webgl.STENCIL_BACK_FAIL=34817;goog.webgl.STENCIL_BACK_PASS_DEPTH_FAIL=34818;goog.webgl.STENCIL_BACK_PASS_DEPTH_PASS=34819;goog.webgl.STENCIL_BACK_REF=36003;goog.webgl.STENCIL_BACK_VALUE_MASK=36004;goog.webgl.STENCIL_BACK_WRITEMASK=36005;goog.webgl.VIEWPORT=2978;goog.webgl.SCISSOR_BOX=3088;goog.webgl.COLOR_CLEAR_VALUE=3106;goog.webgl.COLOR_WRITEMASK=3107;goog.webgl.UNPACK_ALIGNMENT=3317;
goog.webgl.PACK_ALIGNMENT=3333;goog.webgl.MAX_TEXTURE_SIZE=3379;goog.webgl.MAX_VIEWPORT_DIMS=3386;goog.webgl.SUBPIXEL_BITS=3408;goog.webgl.RED_BITS=3410;goog.webgl.GREEN_BITS=3411;goog.webgl.BLUE_BITS=3412;goog.webgl.ALPHA_BITS=3413;goog.webgl.DEPTH_BITS=3414;goog.webgl.STENCIL_BITS=3415;goog.webgl.POLYGON_OFFSET_UNITS=10752;goog.webgl.POLYGON_OFFSET_FACTOR=32824;goog.webgl.TEXTURE_BINDING_2D=32873;goog.webgl.SAMPLE_BUFFERS=32936;goog.webgl.SAMPLES=32937;goog.webgl.SAMPLE_COVERAGE_VALUE=32938;
goog.webgl.SAMPLE_COVERAGE_INVERT=32939;goog.webgl.COMPRESSED_TEXTURE_FORMATS=34467;goog.webgl.DONT_CARE=4352;goog.webgl.FASTEST=4353;goog.webgl.NICEST=4354;goog.webgl.GENERATE_MIPMAP_HINT=33170;goog.webgl.BYTE=5120;goog.webgl.UNSIGNED_BYTE=5121;goog.webgl.SHORT=5122;goog.webgl.UNSIGNED_SHORT=5123;goog.webgl.INT=5124;goog.webgl.UNSIGNED_INT=5125;goog.webgl.FLOAT=5126;goog.webgl.DEPTH_COMPONENT=6402;goog.webgl.ALPHA=6406;goog.webgl.RGB=6407;goog.webgl.RGBA=6408;goog.webgl.LUMINANCE=6409;
goog.webgl.LUMINANCE_ALPHA=6410;goog.webgl.UNSIGNED_SHORT_4_4_4_4=32819;goog.webgl.UNSIGNED_SHORT_5_5_5_1=32820;goog.webgl.UNSIGNED_SHORT_5_6_5=33635;goog.webgl.FRAGMENT_SHADER=35632;goog.webgl.VERTEX_SHADER=35633;goog.webgl.MAX_VERTEX_ATTRIBS=34921;goog.webgl.MAX_VERTEX_UNIFORM_VECTORS=36347;goog.webgl.MAX_VARYING_VECTORS=36348;goog.webgl.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661;goog.webgl.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660;goog.webgl.MAX_TEXTURE_IMAGE_UNITS=34930;
goog.webgl.MAX_FRAGMENT_UNIFORM_VECTORS=36349;goog.webgl.SHADER_TYPE=35663;goog.webgl.DELETE_STATUS=35712;goog.webgl.LINK_STATUS=35714;goog.webgl.VALIDATE_STATUS=35715;goog.webgl.ATTACHED_SHADERS=35717;goog.webgl.ACTIVE_UNIFORMS=35718;goog.webgl.ACTIVE_ATTRIBUTES=35721;goog.webgl.SHADING_LANGUAGE_VERSION=35724;goog.webgl.CURRENT_PROGRAM=35725;goog.webgl.NEVER=512;goog.webgl.LESS=513;goog.webgl.EQUAL=514;goog.webgl.LEQUAL=515;goog.webgl.GREATER=516;goog.webgl.NOTEQUAL=517;goog.webgl.GEQUAL=518;
goog.webgl.ALWAYS=519;goog.webgl.KEEP=7680;goog.webgl.REPLACE=7681;goog.webgl.INCR=7682;goog.webgl.DECR=7683;goog.webgl.INVERT=5386;goog.webgl.INCR_WRAP=34055;goog.webgl.DECR_WRAP=34056;goog.webgl.VENDOR=7936;goog.webgl.RENDERER=7937;goog.webgl.VERSION=7938;goog.webgl.NEAREST=9728;goog.webgl.LINEAR=9729;goog.webgl.NEAREST_MIPMAP_NEAREST=9984;goog.webgl.LINEAR_MIPMAP_NEAREST=9985;goog.webgl.NEAREST_MIPMAP_LINEAR=9986;goog.webgl.LINEAR_MIPMAP_LINEAR=9987;goog.webgl.TEXTURE_MAG_FILTER=10240;
goog.webgl.TEXTURE_MIN_FILTER=10241;goog.webgl.TEXTURE_WRAP_S=10242;goog.webgl.TEXTURE_WRAP_T=10243;goog.webgl.TEXTURE_2D=3553;goog.webgl.TEXTURE=5890;goog.webgl.TEXTURE_CUBE_MAP=34067;goog.webgl.TEXTURE_BINDING_CUBE_MAP=34068;goog.webgl.TEXTURE_CUBE_MAP_POSITIVE_X=34069;goog.webgl.TEXTURE_CUBE_MAP_NEGATIVE_X=34070;goog.webgl.TEXTURE_CUBE_MAP_POSITIVE_Y=34071;goog.webgl.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072;goog.webgl.TEXTURE_CUBE_MAP_POSITIVE_Z=34073;goog.webgl.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074;
goog.webgl.MAX_CUBE_MAP_TEXTURE_SIZE=34076;goog.webgl.TEXTURE0=33984;goog.webgl.TEXTURE1=33985;goog.webgl.TEXTURE2=33986;goog.webgl.TEXTURE3=33987;goog.webgl.TEXTURE4=33988;goog.webgl.TEXTURE5=33989;goog.webgl.TEXTURE6=33990;goog.webgl.TEXTURE7=33991;goog.webgl.TEXTURE8=33992;goog.webgl.TEXTURE9=33993;goog.webgl.TEXTURE10=33994;goog.webgl.TEXTURE11=33995;goog.webgl.TEXTURE12=33996;goog.webgl.TEXTURE13=33997;goog.webgl.TEXTURE14=33998;goog.webgl.TEXTURE15=33999;goog.webgl.TEXTURE16=34E3;
goog.webgl.TEXTURE17=34001;goog.webgl.TEXTURE18=34002;goog.webgl.TEXTURE19=34003;goog.webgl.TEXTURE20=34004;goog.webgl.TEXTURE21=34005;goog.webgl.TEXTURE22=34006;goog.webgl.TEXTURE23=34007;goog.webgl.TEXTURE24=34008;goog.webgl.TEXTURE25=34009;goog.webgl.TEXTURE26=34010;goog.webgl.TEXTURE27=34011;goog.webgl.TEXTURE28=34012;goog.webgl.TEXTURE29=34013;goog.webgl.TEXTURE30=34014;goog.webgl.TEXTURE31=34015;goog.webgl.ACTIVE_TEXTURE=34016;goog.webgl.REPEAT=10497;goog.webgl.CLAMP_TO_EDGE=33071;
goog.webgl.MIRRORED_REPEAT=33648;goog.webgl.FLOAT_VEC2=35664;goog.webgl.FLOAT_VEC3=35665;goog.webgl.FLOAT_VEC4=35666;goog.webgl.INT_VEC2=35667;goog.webgl.INT_VEC3=35668;goog.webgl.INT_VEC4=35669;goog.webgl.BOOL=35670;goog.webgl.BOOL_VEC2=35671;goog.webgl.BOOL_VEC3=35672;goog.webgl.BOOL_VEC4=35673;goog.webgl.FLOAT_MAT2=35674;goog.webgl.FLOAT_MAT3=35675;goog.webgl.FLOAT_MAT4=35676;goog.webgl.SAMPLER_2D=35678;goog.webgl.SAMPLER_CUBE=35680;goog.webgl.VERTEX_ATTRIB_ARRAY_ENABLED=34338;
goog.webgl.VERTEX_ATTRIB_ARRAY_SIZE=34339;goog.webgl.VERTEX_ATTRIB_ARRAY_STRIDE=34340;goog.webgl.VERTEX_ATTRIB_ARRAY_TYPE=34341;goog.webgl.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922;goog.webgl.VERTEX_ATTRIB_ARRAY_POINTER=34373;goog.webgl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975;goog.webgl.COMPILE_STATUS=35713;goog.webgl.LOW_FLOAT=36336;goog.webgl.MEDIUM_FLOAT=36337;goog.webgl.HIGH_FLOAT=36338;goog.webgl.LOW_INT=36339;goog.webgl.MEDIUM_INT=36340;goog.webgl.HIGH_INT=36341;goog.webgl.FRAMEBUFFER=36160;
goog.webgl.RENDERBUFFER=36161;goog.webgl.RGBA4=32854;goog.webgl.RGB5_A1=32855;goog.webgl.RGB565=36194;goog.webgl.DEPTH_COMPONENT16=33189;goog.webgl.STENCIL_INDEX=6401;goog.webgl.STENCIL_INDEX8=36168;goog.webgl.DEPTH_STENCIL=34041;goog.webgl.RENDERBUFFER_WIDTH=36162;goog.webgl.RENDERBUFFER_HEIGHT=36163;goog.webgl.RENDERBUFFER_INTERNAL_FORMAT=36164;goog.webgl.RENDERBUFFER_RED_SIZE=36176;goog.webgl.RENDERBUFFER_GREEN_SIZE=36177;goog.webgl.RENDERBUFFER_BLUE_SIZE=36178;
goog.webgl.RENDERBUFFER_ALPHA_SIZE=36179;goog.webgl.RENDERBUFFER_DEPTH_SIZE=36180;goog.webgl.RENDERBUFFER_STENCIL_SIZE=36181;goog.webgl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048;goog.webgl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049;goog.webgl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050;goog.webgl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051;goog.webgl.COLOR_ATTACHMENT0=36064;goog.webgl.DEPTH_ATTACHMENT=36096;goog.webgl.STENCIL_ATTACHMENT=36128;goog.webgl.DEPTH_STENCIL_ATTACHMENT=33306;
goog.webgl.NONE=0;goog.webgl.FRAMEBUFFER_COMPLETE=36053;goog.webgl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054;goog.webgl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055;goog.webgl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057;goog.webgl.FRAMEBUFFER_UNSUPPORTED=36061;goog.webgl.FRAMEBUFFER_BINDING=36006;goog.webgl.RENDERBUFFER_BINDING=36007;goog.webgl.MAX_RENDERBUFFER_SIZE=34024;goog.webgl.INVALID_FRAMEBUFFER_OPERATION=1286;goog.webgl.UNPACK_FLIP_Y_WEBGL=37440;goog.webgl.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441;
goog.webgl.CONTEXT_LOST_WEBGL=37442;goog.webgl.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443;goog.webgl.BROWSER_DEFAULT_WEBGL=37444;goog.webgl.HALF_FLOAT_OES=36193;goog.webgl.FRAGMENT_SHADER_DERIVATIVE_HINT_OES=35723;goog.webgl.VERTEX_ARRAY_BINDING_OES=34229;goog.webgl.UNMASKED_VENDOR_WEBGL=37445;goog.webgl.UNMASKED_RENDERER_WEBGL=37446;goog.webgl.COMPRESSED_RGB_S3TC_DXT1_EXT=33776;goog.webgl.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777;goog.webgl.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778;
goog.webgl.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779;goog.webgl.TEXTURE_MAX_ANISOTROPY_EXT=34046;goog.webgl.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047;ol.geom2={};ol.geom2.getExtent=function(a,b){var c=Array(2*b),d=0,e;for(e=0;e<b;++e)c[d++]=Infinity,c[d++]=-Infinity;var f=a.getArray();a.forEachRange(function(a,d){var e,l,m;for(l=a;l<d;l+=b)for(m=e=0;m<b;++m)c[e++]=Math.min(c[2*m],f[l+m]),c[e++]=Math.max(c[2*m+1],f[l+m])});return c};ol.geom2.packPoints=function(a,b,c,d){var e=c.length,f,g,h;for(f=0;f<e;++f)for(h=c[f],g=0;g<d;++g)a[b++]=h[g];return b};
ol.geom2.unpackPoints=function(a,b,c,d){for(var e=Array((c-b)/d),f=0;b<c;b+=d)e[f++]=a.slice(b,b+d);return e};ol.structs.IntegerSet=function(a){this.arr_=goog.isDef(a)?a:[];goog.DEBUG&&this.assertValid()};ol.structs.IntegerSet.prototype.addRange=function(a,b){if(a!=b){var c=this.arr_,d=c.length,e;for(e=0;e<d;e+=2)if(a<=c[e]){c.splice(e,0,a,b);this.compactRanges_();return}c.push(a,b);this.compactRanges_()}};ol.structs.IntegerSet.prototype.assertValid=function(){var a=this.arr_.length,b;for(b=1;b<a;++b);};ol.structs.IntegerSet.prototype.clear=function(){this.arr_.length=0};
ol.structs.IntegerSet.prototype.compactRanges_=function(){var a=this.arr_,b=a.length,c=0,d;for(d=0;d<b;d+=2)a[d]!=a[d+1]&&(0<c&&a[c-2]<=a[d]&&a[d]<=a[c-1]?a[c-1]=Math.max(a[c-1],a[d+1]):(a[c++]=a[d],a[c++]=a[d+1]));a.length=c};ol.structs.IntegerSet.prototype.findRange=function(a){var b=this.arr_,c=b.length,d=-1,e,f,g;for(f=0;f<c;f+=2){g=b[f+1]-b[f];if(g==a)return b[f];g>a&&(-1==d||g<e)&&(d=b[f],e=g)}return d};
ol.structs.IntegerSet.prototype.forEachRange=function(a,b){var c=this.arr_,d=c.length,e;for(e=0;e<d;e+=2)a.call(b,c[e],c[e+1])};ol.structs.IntegerSet.prototype.forEachRangeInverted=function(a,b,c,d){var e=this.arr_,f=e.length;if(0===f)c.call(d,a,b);else{a<e[0]&&c.call(d,a,e[0]);for(a=1;a<f-1;a+=2)c.call(d,e[a],e[a+1]);e[f-1]<b&&c.call(d,e[f-1],b)}};ol.structs.IntegerSet.prototype.getArray=function(){return this.arr_};
ol.structs.IntegerSet.prototype.getFirst=function(){return 0===this.arr_.length?-1:this.arr_[0]};ol.structs.IntegerSet.prototype.getLast=function(){var a=this.arr_.length;return 0===a?-1:this.arr_[a-1]};ol.structs.IntegerSet.prototype.getSize=function(){var a=this.arr_,b=a.length,c=0,d;for(d=0;d<b;d+=2)c+=a[d+1]-a[d];return c};
ol.structs.IntegerSet.prototype.intersectsRange=function(a,b){if(a!=b)for(var c=this.arr_,d=c.length,e=0,e=0;e<d;e+=2)if(c[e]<=a&&a<c[e+1]||c[e]<b&&b-1<c[e+1]||a<c[e]&&c[e+1]<=b)return!0;return!1};ol.structs.IntegerSet.prototype.isEmpty=function(){return 0===this.arr_.length};ol.structs.IntegerSet.prototype.pack=function(){return this.arr_};
ol.structs.IntegerSet.prototype.removeRange=function(a,b){var c=this.arr_,d=c.length,e;for(e=0;e<d;e+=2)if(!(b<c[e]||c[e+1]<a)){if(c[e]>b)break;if(a<c[e])if(b==c[e])break;else if(b<c[e+1]){c[e]=Math.max(c[e],b);break}else c.splice(e,2),e-=2,d-=2;else if(a==c[e])if(b<c[e+1]){c[e]=b;break}else if(b==c[e+1]){c.splice(e,2);break}else c.splice(e,2),e-=2,d-=2;else if(b<c[e+1]){c.splice(e,2,c[e],a,b,c[e+1]);break}else if(b==c[e+1]){c[e+1]=a;break}else c[e+1]=a}this.compactRanges_()};
goog.DEBUG&&(ol.structs.IntegerSet.prototype.toString=function(){var a=this.arr_,b=a.length,c=Array(b/2),d=0,e;for(e=0;e<b;e+=2)c[d++]=a[e]+"-"+a[e+1];return c.join(", ")});ol.structs.BufferUsage={STATIC_DRAW:goog.webgl.STATIC_DRAW,STREAM_DRAW:goog.webgl.STREAM_DRAW,DYNAMIC_DRAW:goog.webgl.DYNAMIC_DRAW};ol.BUFFER_REPLACE_UNUSED_ENTRIES_WITH_NANS=goog.DEBUG;
ol.structs.Buffer=function(a,b,c){this.arr_=goog.isDef(a)?a:[];this.dirtySets_=[];this.freeSet_=new ol.structs.IntegerSet;var d=goog.isDef(b)?b:this.arr_.length;d<this.arr_.length&&this.freeSet_.addRange(d,this.arr_.length);if(ol.BUFFER_REPLACE_UNUSED_ENTRIES_WITH_NANS)for(a=this.arr_,b=a.length;d<b;++d)a[d]=NaN;this.split32DirtySet_=this.split32_=null;this.usage_=goog.isDef(c)?c:ol.structs.BufferUsage.STATIC_DRAW};
ol.structs.Buffer.prototype.allocate=function(a){var b=this.freeSet_.findRange(a);this.freeSet_.removeRange(b,b+a);return b};ol.structs.Buffer.prototype.add=function(a){var b=a.length,c=this.allocate(b),d;for(d=0;d<b;++d)this.arr_[c+d]=a[d];this.markDirty(b,c);return c};ol.structs.Buffer.prototype.addDirtySet=function(a){this.dirtySets_.push(a)};ol.structs.Buffer.prototype.forEachRange=function(a,b){0!==this.arr_.length&&this.freeSet_.forEachRangeInverted(0,this.arr_.length,a,b)};
ol.structs.Buffer.prototype.getArray=function(){return this.arr_};ol.structs.Buffer.prototype.getCount=function(){return this.arr_.length-this.freeSet_.getSize()};ol.structs.Buffer.prototype.getFreeSet=function(){return this.freeSet_};
ol.structs.Buffer.prototype.getSplit32=function(){var a=this.arr_,b=a.length;goog.isNull(this.split32DirtySet_)&&(this.split32DirtySet_=new ol.structs.IntegerSet([0,b]),this.addDirtySet(this.split32DirtySet_));goog.isNull(this.split32_)&&(this.split32_=new Float32Array(2*b));var c=this.split32_;this.split32DirtySet_.forEachRange(function(b,e){var f,g,h,k;g=b;for(h=2*b;g<e;++g,h+=2)k=a[g],0>k?(f=65536*Math.floor(-k/65536),c[h]=-f,c[h+1]=k+f):(f=65536*Math.floor(k/65536),c[h]=f,c[h+1]=k-f)});this.split32DirtySet_.clear();
return this.split32_};ol.structs.Buffer.prototype.getUsage=function(){return this.usage_};ol.structs.Buffer.prototype.markDirty=function(a,b){var c,d;c=0;for(d=this.dirtySets_.length;c<d;++c)this.dirtySets_[c].addRange(b,b+a)};ol.structs.Buffer.prototype.remove=function(a,b){var c,d;this.freeSet_.addRange(b,b+a);c=0;for(d=this.dirtySets_.length;c<d;++c)this.dirtySets_[c].removeRange(b,b+a);if(ol.BUFFER_REPLACE_UNUSED_ENTRIES_WITH_NANS)for(d=this.arr_,c=0;c<a;++c)d[b+c]=NaN};
ol.structs.Buffer.prototype.removeDirtySet=function(a){goog.array.remove(this.dirtySets_,a)};ol.structs.Buffer.prototype.set=function(a,b){var c=this.arr_,d=a.length,e;for(e=0;e<d;++e)c[b+e]=a[e];this.markDirty(d,b)};ol.geom2.LineStringCollection=function(a,b,c){this.buf=a;this.ranges=goog.isDef(b)?b:{};this.dim=goog.isDef(c)?c:2};ol.geom2.LineStringCollection.createEmpty=function(a,b){var c=goog.isDef(b)?b:2,d=new ol.structs.Buffer(Array(a*c),0);return new ol.geom2.LineStringCollection(d,void 0,c)};
ol.geom2.LineStringCollection.pack=function(a,b,c){var d=a.length;c=goog.isDef(c)?c:0<d?a[0][0].length:2;var e;if(goog.isDef(b))e=b;else for(b=e=0;b<d;++b)e+=a[b].length;var f=Array(e*c);e={};var g=0,h;for(b=0;b<d;++b)h=g,g=ol.geom2.packPoints(f,g,a[b],c),e[h+""]=g;a=new ol.structs.Buffer(f,g);return new ol.geom2.LineStringCollection(a,e,c)};
ol.geom2.LineStringCollection.prototype.add=function(a){var b=a.length*this.dim,c=this.buf.allocate(b);this.ranges[c+""]=c+b;ol.geom2.packPoints(this.buf.getArray(),c,a,this.dim);return c};ol.geom2.LineStringCollection.prototype.get=function(a){var b=this.ranges[a+""];return ol.geom2.unpackPoints(this.buf.getArray(),a,b,this.dim)};ol.geom2.LineStringCollection.prototype.getCount=function(){return goog.object.getCount(this.ranges)};
ol.geom2.LineStringCollection.prototype.getExtent=function(){return ol.geom2.getExtent(this.buf,this.dim)};ol.geom2.LineStringCollection.prototype.getIndices=function(){var a=this.dim,b=goog.array.map(goog.object.getKeys(this.ranges),Number);goog.array.sort(b);var c=b.length,d=[],e,f,g;for(e=0;e<c;++e)for(f=b[e],g=this.ranges[f],g=g/a-1,f/=a;f<g;++f)d.push(f,f+1);return new Uint16Array(d)};
ol.geom2.LineStringCollection.prototype.remove=function(a){this.buf.remove(this.ranges[a+""]-a,a);delete this.ranges[a+""]};ol.geom2.LineStringCollection.prototype.set=function(a,b){var c=this.dim,d=this.ranges[a+""];if(b.length*c==d-a)return ol.geom2.packPoints(this.buf.getArray(),a,b,c),this.buf.markDirty(d-a,a),a;this.remove(a);return this.add(b)};
ol.geom2.LineStringCollection.prototype.unpack=function(){var a=this.dim,b=this.getCount(),b=Array(b),c=0,d,e;for(d in this.ranges)e=this.ranges[d],b[c++]=ol.geom2.unpackPoints(this.buf.getArray(),Number(d),e,a);return b};ol.geom2.PointCollection=function(a,b){this.buf=a;this.dim=goog.isDef(b)?b:2};ol.geom2.PointCollection.createEmpty=function(a,b){var c=goog.isDef(b)?b:2,d=new ol.structs.Buffer(Array(a*c),0);return new ol.geom2.PointCollection(d,c)};ol.geom2.PointCollection.pack=function(a,b,c){var d=a.length;c=goog.isDef(c)?c:0<d?a[0].length:2;b=goog.isDef(b)?b:d*c;b=Array(b);ol.geom2.packPoints(b,0,a,c);a=new ol.structs.Buffer(b,d*c);return new ol.geom2.PointCollection(a,c)};
ol.geom2.PointCollection.prototype.add=function(a){return this.buf.add(a)};ol.geom2.PointCollection.prototype.get=function(a){return this.buf.getArray().slice(a,a+this.dim)};ol.geom2.PointCollection.prototype.getCount=function(){return this.buf.getCount()/this.dim};ol.geom2.PointCollection.prototype.getExtent=function(){return ol.geom2.getExtent(this.buf,this.dim)};ol.geom2.PointCollection.prototype.remove=function(a){this.buf.remove(this.dim,a)};
ol.geom2.PointCollection.prototype.set=function(a,b){this.buf.set(b,a)};ol.geom2.PointCollection.prototype.unpack=function(){var a=this.dim,b=this.getCount(),c=Array(b),d=0,e=this.buf.getArray();this.buf.forEachRange(function(b,g){var h;for(h=b;h<g;h+=a)c[d++]=e.slice(h,h+a)});return c};ol.source.Vector2=function(a){ol.source.Source.call(this,{attributions:a.attributions,extent:a.extent,projection:a.projection});this.pointCollections_=goog.isDef(a.pointCollections)?a.pointCollections:[];this.lineStringCollections_=goog.isDef(a.lineStringCollections)?a.lineStringCollections:[]};goog.inherits(ol.source.Vector2,ol.source.Source);ol.source.Vector2.prototype.getLineStringCollections=function(){return this.lineStringCollections_};ol.source.Vector2.prototype.getPointCollections=function(){return this.pointCollections_};ol.layer.Vector2=function(a){ol.layer.Layer.call(this,a)};goog.inherits(ol.layer.Vector2,ol.layer.Layer);ol.layer.Vector2.prototype.getVectorSource=function(){return this.getSource()};ol.vec={};ol.vec.Mat4={};ol.vec.Mat4.makeBrightness=function(a,b){goog.vec.Mat4.makeTranslate(a,b,b,b);return a};ol.vec.Mat4.makeContrast=function(a,b){goog.vec.Mat4.makeScale(a,b,b,b);var c=-0.5*b+0.5;goog.vec.Mat4.setColumnValues(a,3,c,c,c,1);return a};
ol.vec.Mat4.makeHue=function(a,b){var c=Math.cos(b),d=Math.sin(b);goog.vec.Mat4.setFromValues(a,0.213+0.787*c-0.213*d,0.213-0.213*c+0.143*d,0.213-0.213*c-0.787*d,0,0.715-0.715*c-0.715*d,0.715+0.285*c+0.14*d,0.715-0.715*c+0.715*d,0,0.072-0.072*c+0.928*d,0.072-0.072*c-0.283*d,0.072+0.928*c+0.072*d,0,0,0,0,1);return a};
ol.vec.Mat4.makeSaturation=function(a,b){goog.vec.Mat4.setFromValues(a,0.213+0.787*b,0.213-0.213*b,0.213-0.213*b,0,0.715-0.715*b,0.715+0.285*b,0.715-0.715*b,0,0.072-0.072*b,0.072-0.072*b,0.072+0.928*b,0,0,0,0,1);return a};ol.vec.Mat4.multVec2=function(a,b,c){var d=b[0];b=b[1];c[0]=d*a[0]+b*a[4]+a[12];c[1]=d*a[1]+b*a[5]+a[13];return c};ol.renderer.webgl={};
ol.renderer.webgl.Layer=function(a,b){ol.renderer.Layer.call(this,a,b);this.framebuffer=this.texture=null;this.framebufferDimension=void 0;this.texCoordMatrix=goog.vec.Mat4.createNumber();this.projectionMatrix=goog.vec.Mat4.createNumberIdentity();this.colorMatrix_=goog.vec.Mat4.createFloat32();this.brightness_=void 0;this.brightnessMatrix_=goog.vec.Mat4.createFloat32();this.contrast_=void 0;this.contrastMatrix_=goog.vec.Mat4.createFloat32();this.hue_=void 0;this.hueMatrix_=goog.vec.Mat4.createFloat32();this.saturation_=
void 0;this.saturationMatrix_=goog.vec.Mat4.createFloat32()};goog.inherits(ol.renderer.webgl.Layer,ol.renderer.Layer);
ol.renderer.webgl.Layer.prototype.bindFramebuffer=function(a,b){var c=this.getWebGLMapRenderer().getGL();if(goog.isDef(this.framebufferDimension)&&this.framebufferDimension==b)c.bindFramebuffer(goog.webgl.FRAMEBUFFER,this.framebuffer);else{a.postRenderFunctions.push(goog.partial(function(a,b,c){a.isContextLost()||(a.deleteFramebuffer(b),a.deleteTexture(c))},c,this.framebuffer,this.texture));var d=c.createTexture();c.bindTexture(goog.webgl.TEXTURE_2D,d);c.texImage2D(goog.webgl.TEXTURE_2D,0,goog.webgl.RGBA,
b,b,0,goog.webgl.RGBA,goog.webgl.UNSIGNED_BYTE,null);c.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,goog.webgl.LINEAR);c.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MIN_FILTER,goog.webgl.LINEAR);var e=c.createFramebuffer();c.bindFramebuffer(goog.webgl.FRAMEBUFFER,e);c.framebufferTexture2D(goog.webgl.FRAMEBUFFER,goog.webgl.COLOR_ATTACHMENT0,goog.webgl.TEXTURE_2D,d,0);this.texture=d;this.framebuffer=e;this.framebufferDimension=b}};
ol.renderer.webgl.Layer.prototype.getColorMatrix=function(a,b,c,d){var e=!1;a!==this.brightness_&&(ol.vec.Mat4.makeBrightness(this.brightnessMatrix_,a),this.brightness_=a,e=!0);b!==this.contrast_&&(ol.vec.Mat4.makeContrast(this.contrastMatrix_,b),this.contrast_=b,e=!0);c!==this.hue_&&(ol.vec.Mat4.makeHue(this.hueMatrix_,c),this.hue_=c,e=!0);d!==this.saturation_&&(ol.vec.Mat4.makeSaturation(this.saturationMatrix_,d),this.saturation_=d,e=!0);e&&this.updateColorMatrix_();return this.colorMatrix_};
ol.renderer.webgl.Layer.prototype.getWebGLMapRenderer=function(){return this.getMapRenderer()};ol.renderer.webgl.Layer.prototype.getTexCoordMatrix=function(){return this.texCoordMatrix};ol.renderer.webgl.Layer.prototype.getTexture=function(){return this.texture};ol.renderer.webgl.Layer.prototype.getProjectionMatrix=function(){return this.projectionMatrix};ol.renderer.webgl.Layer.prototype.handleWebGLContextLost=function(){this.framebuffer=this.texture=null;this.framebufferDimension=void 0};
ol.renderer.webgl.Layer.prototype.updateColorMatrix_=function(){var a=this.colorMatrix_;goog.vec.Mat4.makeIdentity(a);goog.vec.Mat4.multMat(a,this.contrastMatrix_,a);goog.vec.Mat4.multMat(a,this.brightnessMatrix_,a);goog.vec.Mat4.multMat(a,this.saturationMatrix_,a);goog.vec.Mat4.multMat(a,this.hueMatrix_,a)};ol.renderer.webgl.ImageLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.image_=null};goog.inherits(ol.renderer.webgl.ImageLayer,ol.renderer.webgl.Layer);
ol.renderer.webgl.ImageLayer.prototype.createTexture_=function(a){a=a.getImageElement(this);var b=this.getWebGLMapRenderer().getGL(),c=b.createTexture();b.bindTexture(goog.webgl.TEXTURE_2D,c);b.texImage2D(goog.webgl.TEXTURE_2D,0,goog.webgl.RGBA,goog.webgl.RGBA,goog.webgl.UNSIGNED_BYTE,a);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_S,goog.webgl.CLAMP_TO_EDGE);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_T,goog.webgl.CLAMP_TO_EDGE);b.texParameteri(goog.webgl.TEXTURE_2D,
goog.webgl.TEXTURE_MIN_FILTER,goog.webgl.LINEAR);b.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,goog.webgl.LINEAR);return c};ol.renderer.webgl.ImageLayer.prototype.getImageLayer=function(){return this.getLayer()};
ol.renderer.webgl.ImageLayer.prototype.renderFrame=function(a,b){var c=this.getWebGLMapRenderer().getGL(),d=a.view2DState,e=d.center,f=d.resolution,g=d.rotation,h=this.image_,k=this.texture,l=this.getImageLayer().getImageSource(),m=a.viewHints;m[ol.ViewHint.ANIMATING]||m[ol.ViewHint.INTERACTING]||(d=l.getImage(a.extent,f,d.projection),goog.isNull(d)||(m=d.getState(),m==ol.ImageState.IDLE?(goog.events.listenOnce(d,goog.events.EventType.CHANGE,this.handleImageChange,!1,this),d.load()):m==ol.ImageState.LOADED&&
(h=d,k=this.createTexture_(d),goog.isNull(this.texture)||a.postRenderFunctions.push(goog.partial(function(a,b){a.isContextLost()||a.deleteTexture(b)},c,this.texture)))));goog.isNull(h)||(c=this.getWebGLMapRenderer().getCanvas(),this.updateProjectionMatrix_(c.width,c.height,e,f,g,h.getExtent()),e=this.texCoordMatrix,goog.vec.Mat4.makeIdentity(e),goog.vec.Mat4.scale(e,1,-1,1),goog.vec.Mat4.translate(e,0,-1,0),this.image_=h,this.texture=k,this.updateAttributions(a.attributions,h.getAttributions()),this.updateLogos(a,
l))};ol.renderer.webgl.ImageLayer.prototype.updateProjectionMatrix_=function(a,b,c,d,e,f){a*=d;b*=d;d=this.projectionMatrix;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.scale(d,2/a,2/b,1);goog.vec.Mat4.rotateZ(d,-e);goog.vec.Mat4.translate(d,f[0]-c[0],f[2]-c[1],0);goog.vec.Mat4.scale(d,(f[1]-f[0])/2,(f[3]-f[2])/2,1);goog.vec.Mat4.translate(d,1,1,0)};ol.webgl={};ol.webgl.CONTEXT_IDS_=["webgl","webgl-experimental","webkit-3d","moz-webgl"];ol.webgl.WebGLContextEventType={LOST:"webglcontextlost",RESTORED:"webglcontextrestored"};ol.webgl.getContext=function(a,b){var c,d,e=ol.webgl.CONTEXT_IDS_.length;for(d=0;d<e;++d)try{if(c=a.getContext(ol.webgl.CONTEXT_IDS_[d],b),!goog.isNull(c))return c}catch(f){}return null};
ol.webgl.SUPPORTED=function(){if(!("WebGLRenderingContext"in goog.global))return!1;try{var a=goog.dom.createElement(goog.dom.TagName.CANVAS);return!goog.isNull(ol.webgl.getContext(a))}catch(b){return!1}}();ol.webgl.shader={};ol.webgl.Shader=function(a){this.source_=a};ol.webgl.Shader.prototype.getSource=function(){return this.source_};ol.webgl.Shader.prototype.isAnimated=goog.functions.FALSE;ol.webgl.shader.Fragment=function(a){ol.webgl.Shader.call(this,a)};goog.inherits(ol.webgl.shader.Fragment,ol.webgl.Shader);ol.webgl.shader.Fragment.prototype.getType=function(){return goog.webgl.FRAGMENT_SHADER};ol.webgl.shader.Vertex=function(a){ol.webgl.Shader.call(this,a)};
goog.inherits(ol.webgl.shader.Vertex,ol.webgl.Shader);ol.webgl.shader.Vertex.prototype.getType=function(){return goog.webgl.VERTEX_SHADER};ol.renderer.webgl.tilelayer={};ol.renderer.webgl.tilelayer.shader={};ol.renderer.webgl.tilelayer.shader.Fragment=function(){ol.webgl.shader.Fragment.call(this,ol.renderer.webgl.tilelayer.shader.Fragment.SOURCE)};goog.inherits(ol.renderer.webgl.tilelayer.shader.Fragment,ol.webgl.shader.Fragment);goog.addSingletonGetter(ol.renderer.webgl.tilelayer.shader.Fragment);ol.renderer.webgl.tilelayer.shader.Fragment.DEBUG_SOURCE="precision mediump float;\n//! NAMESPACE\x3dol.renderer.webgl.tilelayer.shader\n//! CLASS\x3dol.renderer.webgl.tilelayer.shader.\n\n\n//! COMMON\nvarying vec2 v_texCoord;\n\n\n//! FRAGMENT\nuniform sampler2D u_texture;\n\nvoid main(void) {\n gl_FragColor \x3d texture2D(u_texture, v_texCoord);\n}\n\n";
ol.renderer.webgl.tilelayer.shader.Fragment.OPTIMIZED_SOURCE="precision mediump float;varying vec2 a;uniform sampler2D c;void main(){gl_FragColor\x3dtexture2D(c,a);}";ol.renderer.webgl.tilelayer.shader.Fragment.SOURCE=goog.DEBUG?ol.renderer.webgl.tilelayer.shader.Fragment.DEBUG_SOURCE:ol.renderer.webgl.tilelayer.shader.Fragment.OPTIMIZED_SOURCE;ol.renderer.webgl.tilelayer.shader.Vertex=function(){ol.webgl.shader.Vertex.call(this,ol.renderer.webgl.tilelayer.shader.Vertex.SOURCE)};
goog.inherits(ol.renderer.webgl.tilelayer.shader.Vertex,ol.webgl.shader.Vertex);goog.addSingletonGetter(ol.renderer.webgl.tilelayer.shader.Vertex);ol.renderer.webgl.tilelayer.shader.Vertex.DEBUG_SOURCE="//! NAMESPACE\x3dol.renderer.webgl.tilelayer.shader\n//! CLASS\x3dol.renderer.webgl.tilelayer.shader.\n\n\n//! COMMON\nvarying vec2 v_texCoord;\n\n\n//! VERTEX\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\nuniform vec4 u_tileOffset;\n\nvoid main(void) {\n gl_Position \x3d vec4(a_position * u_tileOffset.xy + u_tileOffset.zw, 0., 1.);\n v_texCoord \x3d a_texCoord;\n}\n\n\n";
ol.renderer.webgl.tilelayer.shader.Vertex.OPTIMIZED_SOURCE="varying vec2 a;attribute vec2 c,d;uniform vec4 b;void main(){gl_Position\x3dvec4(c*b.xy+b.zw,0,1);a\x3dd;}";ol.renderer.webgl.tilelayer.shader.Vertex.SOURCE=goog.DEBUG?ol.renderer.webgl.tilelayer.shader.Vertex.DEBUG_SOURCE:ol.renderer.webgl.tilelayer.shader.Vertex.OPTIMIZED_SOURCE;
ol.renderer.webgl.tilelayer.shader.Locations=function(a,b){this.u_tileOffset=a.getUniformLocation(b,goog.DEBUG?"u_tileOffset":"b");this.u_texture=a.getUniformLocation(b,goog.DEBUG?"u_texture":"c");this.a_position=a.getAttribLocation(b,goog.DEBUG?"a_position":"c");this.a_texCoord=a.getAttribLocation(b,goog.DEBUG?"a_texCoord":"d")};ol.renderer.webgl.TileLayer=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);this.fragmentShader_=ol.renderer.webgl.tilelayer.shader.Fragment.getInstance();this.vertexShader_=ol.renderer.webgl.tilelayer.shader.Vertex.getInstance();this.locations_=null;this.arrayBuffer_=new ol.structs.Buffer([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]);this.renderedFramebufferExtent_=this.renderedTileRange_=null;this.renderedRevision_=-1};goog.inherits(ol.renderer.webgl.TileLayer,ol.renderer.webgl.Layer);
ol.renderer.webgl.TileLayer.prototype.disposeInternal=function(){this.getWebGLMapRenderer().deleteBuffer(this.arrayBuffer_);ol.renderer.webgl.TileLayer.superClass_.disposeInternal.call(this)};ol.renderer.webgl.TileLayer.prototype.getTileLayer=function(){return this.getLayer()};ol.renderer.webgl.TileLayer.prototype.handleWebGLContextLost=function(){ol.renderer.webgl.TileLayer.superClass_.handleWebGLContextLost.call(this);this.locations_=null};
ol.renderer.webgl.TileLayer.prototype.renderFrame=function(a,b){var c=this.getWebGLMapRenderer(),d=c.getGL(),e=a.view2DState,f=e.projection,g=this.getTileLayer(),h=g.getTileSource(),k=h.getTileGrid();goog.isNull(k)&&(k=ol.tilegrid.getForProjection(f));var l=k.getZForResolution(e.resolution),m=k.getResolution(l),n=e.center,q;m==e.resolution?(n=this.snapCenterToPixel(n,m,a.size),q=ol.extent.getForView2DAndSize(n,m,e.rotation,a.size)):q=a.extent;var r=k.getTileRangeForExtentAndResolution(q,m);if(!goog.isNull(this.renderedTileRange_)&&
this.renderedTileRange_.equals(r)&&this.renderedRevision_==h.getRevision())m=this.renderedFramebufferExtent_;else{var p=r.getSize(),s=k.getTileSize(l),p=Math.max(p[0]*s[0],p[1]*s[1]),t=ol.math.roundUpToPowerOfTwo(p),p=m*t,u=k.getOrigin(l),w=u[0]+r.minX*s[0]*m,m=u[1]+r.minY*s[1]*m,m=[w,w+p,m,m+p];this.bindFramebuffer(a,t);d.viewport(0,0,t,t);d.clearColor(0,0,0,0);d.clear(goog.webgl.COLOR_BUFFER_BIT);d.disable(goog.webgl.BLEND);s=c.getProgram(this.fragmentShader_,this.vertexShader_);d.useProgram(s);
goog.isNull(this.locations_)&&(this.locations_=new ol.renderer.webgl.tilelayer.shader.Locations(d,s));c.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);d.enableVertexAttribArray(this.locations_.a_position);d.vertexAttribPointer(this.locations_.a_position,2,goog.webgl.FLOAT,!1,16,0);d.enableVertexAttribArray(this.locations_.a_texCoord);d.vertexAttribPointer(this.locations_.a_texCoord,2,goog.webgl.FLOAT,!1,16,8);d.uniform1i(this.locations_.u_texture,0);s={};s[l]={};var t=this.createGetTileIfLoadedFunction(function(a){return!goog.isNull(a)&&
a.getState()==ol.TileState.LOADED&&c.isTileTextureLoaded(a)},h,f),v=goog.bind(h.findLoadedTiles,h,s,t),t=!0,w=ol.extent.createEmpty(),B=new ol.TileRange(0,0,0,0),z,F,A;for(F=r.minX;F<=r.maxX;++F)for(A=r.minY;A<=r.maxY;++A){u=h.getTile(l,F,A,f);z=u.getState();if(z==ol.TileState.LOADED){if(c.isTileTextureLoaded(u)){s[l][u.tileCoord.toString()]=u;continue}}else if(z==ol.TileState.ERROR||z==ol.TileState.EMPTY)continue;t=!1;z=k.forEachTileCoordParentTileRange(u.tileCoord,v,null,B,w);z||(u=k.getTileCoordChildTileRange(u.tileCoord,
B,w),goog.isNull(u)||v(l+1,u))}v=goog.array.map(goog.object.getKeys(s),Number);goog.array.sort(v);var B=goog.vec.Vec4.createFloat32(),x,y,C,D,G;F=0;for(A=v.length;F<A;++F)for(C in D=s[v[F]],D)u=D[C],y=k.getTileCoordExtent(u.tileCoord,w),z=2*(y[1]-y[0])/p,x=2*(y[3]-y[2])/p,G=2*(y[0]-m[0])/p-1,y=2*(y[2]-m[2])/p-1,goog.vec.Vec4.setFromValues(B,z,x,G,y),d.uniform4fv(this.locations_.u_tileOffset,B),c.bindTileTexture(u,goog.webgl.LINEAR,goog.webgl.LINEAR),d.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4);t?(this.renderedTileRange_=
r,this.renderedFramebufferExtent_=m,this.renderedRevision_=h.getRevision()):(this.renderedFramebufferExtent_=this.renderedTileRange_=null,this.renderedRevision_=-1,a.animate=!0)}this.updateUsedTiles(a.usedTiles,h,l,r);var E=c.getTileTextureQueue();this.manageTilePyramid(a,h,k,f,q,l,g.getPreload(),function(a){a.getState()!=ol.TileState.LOADED||(c.isTileTextureLoaded(a)||E.isKeyQueued(a.getKey()))||E.enqueue([a,k.getTileCoordCenter(a.tileCoord),k.getResolution(a.tileCoord.z)])},this);this.scheduleExpireCache(a,
h);this.updateLogos(a,h);d=this.texCoordMatrix;goog.vec.Mat4.makeIdentity(d);goog.vec.Mat4.translate(d,(n[0]-m[0])/(m[1]-m[0]),(n[1]-m[2])/(m[3]-m[2]),0);goog.vec.Mat4.rotateZ(d,e.rotation);goog.vec.Mat4.scale(d,a.size[0]*e.resolution/(m[1]-m[0]),a.size[1]*e.resolution/(m[3]-m[2]),1);goog.vec.Mat4.translate(d,-0.5,-0.5,0)};ol.renderer.webgl.vectorlayer2={};ol.renderer.webgl.vectorlayer2.shader={};ol.renderer.webgl.vectorlayer2.shader.LineStringCollection={};ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment=function(){ol.webgl.shader.Fragment.call(this,ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.SOURCE)};goog.inherits(ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment,ol.webgl.shader.Fragment);goog.addSingletonGetter(ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment);
ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.DEBUG_SOURCE="precision mediump float;\n//! NAMESPACE\x3dol.renderer.webgl.vectorlayer2.shader.LineStringCollection\n//! CLASS\x3dol.renderer.webgl.vectorlayer2.shader.LineStringCollection\n\n\n//! FRAGMENT\nuniform vec4 u_color;\n\nvoid main(void) {\n gl_FragColor \x3d u_color;\n}\n\n";ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.OPTIMIZED_SOURCE="precision mediump float;uniform vec4 b;void main(){gl_FragColor\x3db;}";
ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.SOURCE=goog.DEBUG?ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.DEBUG_SOURCE:ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.OPTIMIZED_SOURCE;ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex=function(){ol.webgl.shader.Vertex.call(this,ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.SOURCE)};
goog.inherits(ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex,ol.webgl.shader.Vertex);goog.addSingletonGetter(ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex);ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.DEBUG_SOURCE="//! NAMESPACE\x3dol.renderer.webgl.vectorlayer2.shader.LineStringCollection\n//! CLASS\x3dol.renderer.webgl.vectorlayer2.shader.LineStringCollection\n\n\n//! VERTEX\nattribute vec2 a_position;\nuniform mat4 u_modelViewMatrix;\n\nvoid main(void) {\n gl_Position \x3d u_modelViewMatrix * vec4(a_position, 0., 1.);\n}\n\n\n";
ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.OPTIMIZED_SOURCE="attribute vec2 b;uniform mat4 a;void main(){gl_Position\x3da*vec4(b,0,1);}";ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.SOURCE=goog.DEBUG?ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.DEBUG_SOURCE:ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.OPTIMIZED_SOURCE;
ol.renderer.webgl.vectorlayer2.shader.LineStringCollection.Locations=function(a,b){this.u_modelViewMatrix=a.getUniformLocation(b,goog.DEBUG?"u_modelViewMatrix":"a");this.u_color=a.getUniformLocation(b,goog.DEBUG?"u_color":"b");this.a_position=a.getAttribLocation(b,goog.DEBUG?"a_position":"b")};ol.renderer.webgl.vectorlayer2.shader.PointCollection={};ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment=function(){ol.webgl.shader.Fragment.call(this,ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.SOURCE)};goog.inherits(ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment,ol.webgl.shader.Fragment);goog.addSingletonGetter(ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment);ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.DEBUG_SOURCE="precision mediump float;\n//! NAMESPACE\x3dol.renderer.webgl.vectorlayer2.shader.PointCollection\n//! CLASS\x3dol.renderer.webgl.vectorlayer2.shader.PointCollection\n\n\n//! FRAGMENT\nuniform vec4 u_color;\n\nvoid main(void) {\n gl_FragColor \x3d u_color;\n}\n\n";
ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.OPTIMIZED_SOURCE="precision mediump float;uniform vec4 c;void main(){gl_FragColor\x3dc;}";ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.SOURCE=goog.DEBUG?ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.DEBUG_SOURCE:ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.OPTIMIZED_SOURCE;ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex=function(){ol.webgl.shader.Vertex.call(this,ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.SOURCE)};
goog.inherits(ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex,ol.webgl.shader.Vertex);goog.addSingletonGetter(ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex);ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.DEBUG_SOURCE="//! NAMESPACE\x3dol.renderer.webgl.vectorlayer2.shader.PointCollection\n//! CLASS\x3dol.renderer.webgl.vectorlayer2.shader.PointCollection\n\n\n//! VERTEX\nattribute vec2 a_position;\nuniform float u_pointSize;\nuniform mat4 u_modelViewMatrix;\n\nvoid main(void) {\n gl_Position \x3d u_modelViewMatrix * vec4(a_position, 0., 1.);\n gl_PointSize \x3d u_pointSize;\n}\n\n\n";
ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.OPTIMIZED_SOURCE="attribute vec2 c;uniform float a;uniform mat4 b;void main(){gl_Position\x3db*vec4(c,0,1);gl_PointSize\x3da;}";ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.SOURCE=goog.DEBUG?ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.DEBUG_SOURCE:ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.OPTIMIZED_SOURCE;
ol.renderer.webgl.vectorlayer2.shader.PointCollection.Locations=function(a,b){this.u_pointSize=a.getUniformLocation(b,goog.DEBUG?"u_pointSize":"a");this.u_modelViewMatrix=a.getUniformLocation(b,goog.DEBUG?"u_modelViewMatrix":"b");this.u_color=a.getUniformLocation(b,goog.DEBUG?"u_color":"c");this.a_position=a.getAttribLocation(b,goog.DEBUG?"a_position":"c")};ol.renderer.webgl.VectorLayer2=function(a,b){ol.renderer.webgl.Layer.call(this,a,b);goog.vec.Mat4.makeIdentity(this.projectionMatrix);this.modelViewMatrix_=goog.vec.Mat4.createNumberIdentity();this.pointCollectionLocations_=this.lineStringCollectionLocations_=null};goog.inherits(ol.renderer.webgl.VectorLayer2,ol.renderer.webgl.Layer);ol.renderer.webgl.VectorLayer2.prototype.getVectorLayer=function(){return this.getLayer()};
ol.renderer.webgl.VectorLayer2.prototype.handleWebGLContextLost=function(){ol.renderer.webgl.VectorLayer2.superClass_.handleWebGLContextLost.call(this);this.pointCollectionLocations_=null};
ol.renderer.webgl.VectorLayer2.prototype.renderFrame=function(a,b){var c=this.getWebGLMapRenderer().getGL(),d=a.view2DState,e=this.getVectorLayer().getVectorSource(),f=a.size,g=ol.math.roundUpToPowerOfTwo(Math.max(f[0],f[1]));this.bindFramebuffer(a,g);c.viewport(0,0,g,g);c.clearColor(0,0,0,0);c.clear(goog.webgl.COLOR_BUFFER_BIT);c.enable(goog.webgl.BLEND);goog.vec.Mat4.makeIdentity(this.modelViewMatrix_);0!==d.rotation&&goog.vec.Mat4.rotateZ(this.modelViewMatrix_,-d.rotation);goog.vec.Mat4.scale(this.modelViewMatrix_,
2/(g*d.resolution),2/(g*d.resolution),1);goog.vec.Mat4.translate(this.modelViewMatrix_,-d.center[0],-d.center[1],0);c=e.getPointCollections();0<c.length&&this.renderPointCollections(c);e=e.getLineStringCollections();0<e.length&&this.renderLineStringCollections(e);goog.vec.Mat4.makeIdentity(this.texCoordMatrix);goog.vec.Mat4.translate(this.texCoordMatrix,0.5,0.5,0);goog.vec.Mat4.scale(this.texCoordMatrix,f[0]/g,f[1]/g,1);goog.vec.Mat4.translate(this.texCoordMatrix,-0.5,-0.5,0)};
ol.renderer.webgl.VectorLayer2.prototype.renderLineStringCollections=function(a){var b=this.getWebGLMapRenderer(),c=b.getGL(),d=ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionFragment.getInstance(),e=ol.renderer.webgl.vectorlayer2.shader.LineStringCollectionVertex.getInstance(),d=b.getProgram(d,e);c.useProgram(d);goog.isNull(this.lineStringCollectionLocations_)&&(this.lineStringCollectionLocations_=new ol.renderer.webgl.vectorlayer2.shader.LineStringCollection.Locations(c,d));c.uniformMatrix4fv(this.lineStringCollectionLocations_.u_modelViewMatrix,
!1,this.modelViewMatrix_);for(var f,g,e=0;e<a.length;++e)g=a[e],f=g.buf,d=g.dim,b.bindBuffer(goog.webgl.ARRAY_BUFFER,f),g=g.getIndices(),f=c.createBuffer(),c.bindBuffer(goog.webgl.ELEMENT_ARRAY_BUFFER,f),c.bufferData(goog.webgl.ELEMENT_ARRAY_BUFFER,g,goog.webgl.DYNAMIC_DRAW),c.enableVertexAttribArray(this.lineStringCollectionLocations_.a_position),c.vertexAttribPointer(this.lineStringCollectionLocations_.a_position,2,goog.webgl.FLOAT,!1,4*d,0),c.uniform4fv(this.lineStringCollectionLocations_.u_color,
[1,1,0,0.75]),c.drawElements(goog.webgl.LINES,g.length,goog.webgl.UNSIGNED_SHORT,0),c.bindBuffer(goog.webgl.ELEMENT_ARRAY_BUFFER,null),c.deleteBuffer(f)};
ol.renderer.webgl.VectorLayer2.prototype.renderPointCollections=function(a){var b=this.getWebGLMapRenderer(),c=b.getGL(),d=ol.renderer.webgl.vectorlayer2.shader.PointCollectionFragment.getInstance(),e=ol.renderer.webgl.vectorlayer2.shader.PointCollectionVertex.getInstance(),d=b.getProgram(d,e);c.useProgram(d);goog.isNull(this.pointCollectionLocations_)&&(this.pointCollectionLocations_=new ol.renderer.webgl.vectorlayer2.shader.PointCollection.Locations(c,d));c.uniformMatrix4fv(this.pointCollectionLocations_.u_modelViewMatrix,
!1,this.modelViewMatrix_);for(var f,g,e=0;e<a.length;++e)g=a[e],d=g.buf,f=g.dim,b.bindBuffer(goog.webgl.ARRAY_BUFFER,d),c.enableVertexAttribArray(this.pointCollectionLocations_.a_position),c.vertexAttribPointer(this.pointCollectionLocations_.a_position,2,goog.webgl.FLOAT,!1,4*f,0),c.uniform4fv(this.pointCollectionLocations_.u_color,[1,0,0,0.75]),c.uniform1f(this.pointCollectionLocations_.u_pointSize,3),d.forEachRange(function(a,b){c.drawArrays(goog.webgl.POINTS,a/f,(b-a)/f)})};ol.renderer.webgl.map={};ol.renderer.webgl.map.shader={};ol.renderer.webgl.map.shader.Color={};ol.renderer.webgl.map.shader.ColorFragment=function(){ol.webgl.shader.Fragment.call(this,ol.renderer.webgl.map.shader.ColorFragment.SOURCE)};goog.inherits(ol.renderer.webgl.map.shader.ColorFragment,ol.webgl.shader.Fragment);goog.addSingletonGetter(ol.renderer.webgl.map.shader.ColorFragment);ol.renderer.webgl.map.shader.ColorFragment.DEBUG_SOURCE="precision mediump float;\n//! NAMESPACE\x3dol.renderer.webgl.map.shader.Color\n//! CLASS\x3dol.renderer.webgl.map.shader.Color\n\n\n//! COMMON\nvarying vec2 v_texCoord;\n\n\n//! FRAGMENT\n// @see https://svn.webkit.org/repository/webkit/trunk/Source/WebCore/platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp\nuniform mat4 u_colorMatrix;\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvoid main(void) {\n vec4 texColor \x3d texture2D(u_texture, v_texCoord);\n gl_FragColor.rgb \x3d (u_colorMatrix * vec4(texColor.rgb, 1.)).rgb;\n gl_FragColor.a \x3d texColor.a * u_opacity;\n}\n\n";
ol.renderer.webgl.map.shader.ColorFragment.OPTIMIZED_SOURCE="precision mediump float;varying vec2 a;uniform mat4 d;uniform float e;uniform sampler2D f;void main(){vec4 g\x3dtexture2D(f,a);gl_FragColor.rgb\x3d(d*vec4(g.rgb,1)).rgb;gl_FragColor.a\x3dg.a*e;}";ol.renderer.webgl.map.shader.ColorFragment.SOURCE=goog.DEBUG?ol.renderer.webgl.map.shader.ColorFragment.DEBUG_SOURCE:ol.renderer.webgl.map.shader.ColorFragment.OPTIMIZED_SOURCE;
ol.renderer.webgl.map.shader.ColorVertex=function(){ol.webgl.shader.Vertex.call(this,ol.renderer.webgl.map.shader.ColorVertex.SOURCE)};goog.inherits(ol.renderer.webgl.map.shader.ColorVertex,ol.webgl.shader.Vertex);goog.addSingletonGetter(ol.renderer.webgl.map.shader.ColorVertex);ol.renderer.webgl.map.shader.ColorVertex.DEBUG_SOURCE="//! NAMESPACE\x3dol.renderer.webgl.map.shader.Color\n//! CLASS\x3dol.renderer.webgl.map.shader.Color\n\n\n//! COMMON\nvarying vec2 v_texCoord;\n\n\n//! VERTEX\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvoid main(void) {\n gl_Position \x3d u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord \x3d (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}\n\n\n";
ol.renderer.webgl.map.shader.ColorVertex.OPTIMIZED_SOURCE="varying vec2 a;attribute vec2 d,e;uniform mat4 b,c;void main(){gl_Position\x3dc*vec4(d,0,1);a\x3d(b*vec4(e,0,1)).st;}";ol.renderer.webgl.map.shader.ColorVertex.SOURCE=goog.DEBUG?ol.renderer.webgl.map.shader.ColorVertex.DEBUG_SOURCE:ol.renderer.webgl.map.shader.ColorVertex.OPTIMIZED_SOURCE;
ol.renderer.webgl.map.shader.Color.Locations=function(a,b){this.u_texCoordMatrix=a.getUniformLocation(b,goog.DEBUG?"u_texCoordMatrix":"b");this.u_projectionMatrix=a.getUniformLocation(b,goog.DEBUG?"u_projectionMatrix":"c");this.u_colorMatrix=a.getUniformLocation(b,goog.DEBUG?"u_colorMatrix":"d");this.u_opacity=a.getUniformLocation(b,goog.DEBUG?"u_opacity":"e");this.u_texture=a.getUniformLocation(b,goog.DEBUG?"u_texture":"f");this.a_position=a.getAttribLocation(b,goog.DEBUG?"a_position":"d");this.a_texCoord=
a.getAttribLocation(b,goog.DEBUG?"a_texCoord":"e")};ol.renderer.webgl.map.shader.Default={};ol.renderer.webgl.map.shader.DefaultFragment=function(){ol.webgl.shader.Fragment.call(this,ol.renderer.webgl.map.shader.DefaultFragment.SOURCE)};goog.inherits(ol.renderer.webgl.map.shader.DefaultFragment,ol.webgl.shader.Fragment);goog.addSingletonGetter(ol.renderer.webgl.map.shader.DefaultFragment);ol.renderer.webgl.map.shader.DefaultFragment.DEBUG_SOURCE="precision mediump float;\n//! NAMESPACE\x3dol.renderer.webgl.map.shader.Default\n//! CLASS\x3dol.renderer.webgl.map.shader.Default\n\n\n//! COMMON\nvarying vec2 v_texCoord;\n\n\n//! FRAGMENT\nuniform float u_opacity;\nuniform sampler2D u_texture;\n\nvoid main(void) {\n vec4 texColor \x3d texture2D(u_texture, v_texCoord);\n gl_FragColor.rgb \x3d texColor.rgb;\n gl_FragColor.a \x3d texColor.a * u_opacity;\n}\n\n";
ol.renderer.webgl.map.shader.DefaultFragment.OPTIMIZED_SOURCE="precision mediump float;varying vec2 a;uniform float d;uniform sampler2D e;void main(){vec4 f\x3dtexture2D(e,a);gl_FragColor.rgb\x3df.rgb;gl_FragColor.a\x3df.a*d;}";ol.renderer.webgl.map.shader.DefaultFragment.SOURCE=goog.DEBUG?ol.renderer.webgl.map.shader.DefaultFragment.DEBUG_SOURCE:ol.renderer.webgl.map.shader.DefaultFragment.OPTIMIZED_SOURCE;ol.renderer.webgl.map.shader.DefaultVertex=function(){ol.webgl.shader.Vertex.call(this,ol.renderer.webgl.map.shader.DefaultVertex.SOURCE)};
goog.inherits(ol.renderer.webgl.map.shader.DefaultVertex,ol.webgl.shader.Vertex);goog.addSingletonGetter(ol.renderer.webgl.map.shader.DefaultVertex);ol.renderer.webgl.map.shader.DefaultVertex.DEBUG_SOURCE="//! NAMESPACE\x3dol.renderer.webgl.map.shader.Default\n//! CLASS\x3dol.renderer.webgl.map.shader.Default\n\n\n//! COMMON\nvarying vec2 v_texCoord;\n\n\n//! VERTEX\nattribute vec2 a_position;\nattribute vec2 a_texCoord;\n\nuniform mat4 u_texCoordMatrix;\nuniform mat4 u_projectionMatrix;\n\nvoid main(void) {\n gl_Position \x3d u_projectionMatrix * vec4(a_position, 0., 1.);\n v_texCoord \x3d (u_texCoordMatrix * vec4(a_texCoord, 0., 1.)).st;\n}\n\n\n";
ol.renderer.webgl.map.shader.DefaultVertex.OPTIMIZED_SOURCE="varying vec2 a;attribute vec2 d,e;uniform mat4 b,c;void main(){gl_Position\x3dc*vec4(d,0,1);a\x3d(b*vec4(e,0,1)).st;}";ol.renderer.webgl.map.shader.DefaultVertex.SOURCE=goog.DEBUG?ol.renderer.webgl.map.shader.DefaultVertex.DEBUG_SOURCE:ol.renderer.webgl.map.shader.DefaultVertex.OPTIMIZED_SOURCE;
ol.renderer.webgl.map.shader.Default.Locations=function(a,b){this.u_texCoordMatrix=a.getUniformLocation(b,goog.DEBUG?"u_texCoordMatrix":"b");this.u_projectionMatrix=a.getUniformLocation(b,goog.DEBUG?"u_projectionMatrix":"c");this.u_opacity=a.getUniformLocation(b,goog.DEBUG?"u_opacity":"d");this.u_texture=a.getUniformLocation(b,goog.DEBUG?"u_texture":"e");this.a_position=a.getAttribLocation(b,goog.DEBUG?"a_position":"d");this.a_texCoord=a.getAttribLocation(b,goog.DEBUG?"a_texCoord":"e")};ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK=1024;
ol.renderer.webgl.Map=function(a,b){ol.renderer.Map.call(this,a,b);this.canvas_=goog.dom.createElement(goog.dom.TagName.CANVAS);this.canvas_.height=a.clientHeight;this.canvas_.width=a.clientWidth;this.canvas_.className=ol.css.CLASS_UNSELECTABLE;goog.dom.insertChildAt(a,this.canvas_,0);this.renderedVisible_=!0;this.canvasSize_=[a.clientHeight,a.clientWidth];this.gl_=ol.webgl.getContext(this.canvas_,{antialias:!0,depth:!1,preserveDrawingBuffer:!1,stencil:!1});goog.events.listen(this.canvas_,ol.webgl.WebGLContextEventType.LOST,
this.handleWebGLContextLost,!1,this);goog.events.listen(this.canvas_,ol.webgl.WebGLContextEventType.RESTORED,this.handleWebGLContextRestored,!1,this);this.defaultLocations_=this.colorLocations_=null;this.arrayBuffer_=new ol.structs.Buffer([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);this.bufferCache_={};this.shaderCache_={};this.programCache_={};this.textureCache_=new ol.structs.LRUCache;this.focus_=null;this.tileTextureQueue_=new ol.structs.PriorityQueue(goog.bind(function(a){var b=a[1];a=a[2];var e=b[0]-
this.focus_[0],b=b[1]-this.focus_[1];return 65536*Math.log(a)+Math.sqrt(e*e+b*b)/a},this),function(a){return a[0].getKey()});this.loadNextTileTexture_=goog.bind(function(a,b){if(!this.tileTextureQueue_.isEmpty()){this.tileTextureQueue_.reprioritize();var e=this.tileTextureQueue_.dequeue()[0];this.bindTileTexture(e,goog.webgl.LINEAR,goog.webgl.LINEAR)}},this);this.textureCacheFrameMarkerCount_=0;this.initializeGL_()};goog.inherits(ol.renderer.webgl.Map,ol.renderer.Map);
ol.renderer.webgl.Map.prototype.bindBuffer=function(a,b){var c=this.getGL(),d=b.getArray(),e=goog.getUid(b);if(e in this.bufferCache_)e=this.bufferCache_[e],c.bindBuffer(a,e.buffer),e.dirtySet.forEachRange(function(b,e){var f=d.slice(b,e);c.bufferSubData(a,b,a==goog.webgl.ARRAY_BUFFER?new Float32Array(f):new Uint16Array(f))}),e.dirtySet.clear();else{var f=c.createBuffer();c.bindBuffer(a,f);c.bufferData(a,a==goog.webgl.ARRAY_BUFFER?new Float32Array(d):new Uint16Array(d),b.getUsage());var g=new ol.structs.IntegerSet;
b.addDirtySet(g);this.bufferCache_[e]={buf:b,buffer:f,dirtySet:g}}};
ol.renderer.webgl.Map.prototype.bindTileTexture=function(a,b,c){var d=this.getGL(),e=a.getKey();if(this.textureCache_.containsKey(e))a=this.textureCache_.get(e),d.bindTexture(goog.webgl.TEXTURE_2D,a.texture),a.magFilter!=b&&(d.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,b),a.magFilter=b),a.minFilter!=c&&(d.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,c),a.minFilter=c);else{var f=d.createTexture();d.bindTexture(goog.webgl.TEXTURE_2D,f);d.texImage2D(goog.webgl.TEXTURE_2D,
0,goog.webgl.RGBA,goog.webgl.RGBA,goog.webgl.UNSIGNED_BYTE,a.getImage());d.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MAG_FILTER,b);d.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_MIN_FILTER,c);d.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_S,goog.webgl.CLAMP_TO_EDGE);d.texParameteri(goog.webgl.TEXTURE_2D,goog.webgl.TEXTURE_WRAP_T,goog.webgl.CLAMP_TO_EDGE);this.textureCache_.set(e,{texture:f,magFilter:b,minFilter:c})}};
ol.renderer.webgl.Map.prototype.createLayerRenderer=function(a){return a instanceof ol.layer.Tile?new ol.renderer.webgl.TileLayer(this,a):a instanceof ol.layer.Image?new ol.renderer.webgl.ImageLayer(this,a):a instanceof ol.layer.Vector2?new ol.renderer.webgl.VectorLayer2(this,a):null};ol.renderer.webgl.Map.prototype.deleteBuffer=function(a){var b=this.getGL();a=goog.getUid(a);var c=this.bufferCache_[a];c.buf.removeDirtySet(c.dirtySet);b.isContextLost()||b.deleteBuffer(c.buffer);delete this.bufferCache_[a]};
ol.renderer.webgl.Map.prototype.disposeInternal=function(){var a=this.getGL();goog.object.forEach(this.bufferCache_,function(a){a.buf.removeDirtySet(a.dirtySet)});a.isContextLost()||(goog.object.forEach(this.bufferCache_,function(b){a.deleteBuffer(b.buffer)}),goog.object.forEach(this.programCache_,function(b){a.deleteProgram(b)}),goog.object.forEach(this.shaderCache_,function(b){a.deleteShader(b)}),this.textureCache_.forEach(function(b){goog.isNull(b)||a.deleteTexture(b.texture)}));ol.renderer.webgl.Map.superClass_.disposeInternal.call(this)};
ol.renderer.webgl.Map.prototype.expireCache_=function(a,b){for(var c=this.getGL(),d;this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK;){d=this.textureCache_.peekLast();if(goog.isNull(d))if(+this.textureCache_.peekLastKey()==b.index)break;else--this.textureCacheFrameMarkerCount_;else c.deleteTexture(d.texture);this.textureCache_.pop()}};ol.renderer.webgl.Map.prototype.getCanvas=function(){return this.canvas_};
ol.renderer.webgl.Map.prototype.getGL=function(){return this.gl_};ol.renderer.webgl.Map.prototype.getProgram=function(a,b){var c=goog.getUid(a)+"/"+goog.getUid(b);if(c in this.programCache_)return this.programCache_[c];var d=this.getGL(),e=d.createProgram();d.attachShader(e,this.getShader(a));d.attachShader(e,this.getShader(b));d.linkProgram(e);goog.DEBUG&&(d.getProgramParameter(e,goog.webgl.LINK_STATUS)||d.isContextLost());return this.programCache_[c]=e};
ol.renderer.webgl.Map.prototype.getShader=function(a){var b=goog.getUid(a);if(b in this.shaderCache_)return this.shaderCache_[b];var c=this.getGL(),d=c.createShader(a.getType());c.shaderSource(d,a.getSource());c.compileShader(d);goog.DEBUG&&(c.getShaderParameter(d,goog.webgl.COMPILE_STATUS)||c.isContextLost());return this.shaderCache_[b]=d};ol.renderer.webgl.Map.prototype.getTileTextureQueue=function(){return this.tileTextureQueue_};
ol.renderer.webgl.Map.prototype.handleWebGLContextLost=function(a){a.preventDefault();this.defaultLocations_=this.colorLocations_=null;this.bufferCache_={};this.shaderCache_={};this.programCache_={};this.textureCache_.clear();this.textureCacheFrameMarkerCount_=0;goog.object.forEach(this.getLayerRenderers(),function(a){a.handleWebGLContextLost()})};ol.renderer.webgl.Map.prototype.handleWebGLContextRestored=function(){this.initializeGL_();this.getMap().render()};
ol.renderer.webgl.Map.prototype.initializeGL_=function(){var a=this.gl_;a.activeTexture(goog.webgl.TEXTURE0);a.blendFuncSeparate(goog.webgl.SRC_ALPHA,goog.webgl.ONE_MINUS_SRC_ALPHA,goog.webgl.ONE,goog.webgl.ONE_MINUS_SRC_ALPHA);a.disable(goog.webgl.CULL_FACE);a.disable(goog.webgl.DEPTH_TEST);a.disable(goog.webgl.SCISSOR_TEST)};ol.renderer.webgl.Map.prototype.isTileTextureLoaded=function(a){return this.textureCache_.containsKey(a.getKey())};
ol.renderer.webgl.Map.prototype.renderFrame=function(a){var b=this.getGL();if(b.isContextLost())return!1;if(goog.isNull(a))return this.renderedVisible_&&(goog.style.setElementShown(this.canvas_,!1),this.renderedVisible_=!1),!1;this.focus_=a.focus;this.textureCache_.set((-a.index).toString(),null);++this.textureCacheFrameMarkerCount_;var c=a.layersArray,d,e,f,g,h;d=0;for(e=c.length;d<e;++d)f=c[d],g=this.getLayerRenderer(f),h=a.layerStates[goog.getUid(f)],h.visible&&h.ready&&g.renderFrame(a,h);d=a.size;
ol.size.equals(this.canvasSize_,d)||(this.canvas_.width=d[0],this.canvas_.height=d[1],this.canvasSize_=d);b.bindFramebuffer(goog.webgl.FRAMEBUFFER,null);b.clearColor(0,0,0,0);b.clear(goog.webgl.COLOR_BUFFER_BIT);b.enable(goog.webgl.BLEND);b.viewport(0,0,d[0],d[1]);this.bindBuffer(goog.webgl.ARRAY_BUFFER,this.arrayBuffer_);var k=null,l;d=0;for(e=c.length;d<e;++d)if(f=c[d],h=a.layerStates[goog.getUid(f)],h.visible&&h.ready){var m=h.brightness||1!=h.contrast||h.hue||1!=h.saturation,n;m?(g=ol.renderer.webgl.map.shader.ColorFragment.getInstance(),
n=ol.renderer.webgl.map.shader.ColorVertex.getInstance()):(g=ol.renderer.webgl.map.shader.DefaultFragment.getInstance(),n=ol.renderer.webgl.map.shader.DefaultVertex.getInstance());g=this.getProgram(g,n);g!=k&&(b.useProgram(g),k=g,m?goog.isNull(this.colorLocations_)?this.colorLocations_=l=new ol.renderer.webgl.map.shader.Color.Locations(b,g):l=this.colorLocations_:goog.isNull(this.defaultLocations_)?this.defaultLocations_=l=new ol.renderer.webgl.map.shader.Default.Locations(b,g):l=this.defaultLocations_,
b.enableVertexAttribArray(l.a_position),b.vertexAttribPointer(l.a_position,2,goog.webgl.FLOAT,!1,16,0),b.enableVertexAttribArray(l.a_texCoord),b.vertexAttribPointer(l.a_texCoord,2,goog.webgl.FLOAT,!1,16,8),b.uniform1i(l.u_texture,0));g=this.getLayerRenderer(f);b.uniformMatrix4fv(l.u_texCoordMatrix,!1,g.getTexCoordMatrix());b.uniformMatrix4fv(l.u_projectionMatrix,!1,g.getProjectionMatrix());m&&b.uniformMatrix4fv(l.u_colorMatrix,!1,g.getColorMatrix(h.brightness,h.contrast,h.hue,h.saturation));b.uniform1f(l.u_opacity,
h.opacity);b.bindTexture(goog.webgl.TEXTURE_2D,g.getTexture());b.drawArrays(goog.webgl.TRIANGLE_STRIP,0,4)}this.renderedVisible_||(goog.style.setElementShown(this.canvas_,!0),this.renderedVisible_=!0);this.calculateMatrices2D(a);this.textureCache_.getCount()-this.textureCacheFrameMarkerCount_>ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK&&a.postRenderFunctions.push(goog.bind(this.expireCache_,this));this.tileTextureQueue_.isEmpty()||(a.postRenderFunctions.push(this.loadNextTileTexture_),a.animate=!0);this.scheduleRemoveUnusedLayerRenderers(a)};ol.renderer.webgl.SUPPORTED=ol.webgl.SUPPORTED;ol.RendererHints={};ol.ENABLE_CANVAS=!0;ol.ENABLE_DOM=!0;ol.ENABLE_WEBGL=!0;ol.RendererHint={CANVAS:"canvas",DOM:"dom",WEBGL:"webgl"};ol.DEFAULT_RENDERER_HINTS=[ol.RendererHint.WEBGL,ol.RendererHint.CANVAS,ol.RendererHint.DOM];ol.MapProperty={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"};
ol.Map=function(a){ol.Object.call(this);a=ol.Map.createOptionsInternal(a);this.animationDelay_=new goog.async.AnimationDelay(this.renderFrame_,void 0,this);this.registerDisposable(this.animationDelay_);this.coordinateToPixelMatrix_=goog.vec.Mat4.createNumber();this.pixelToCoordinateMatrix_=goog.vec.Mat4.createNumber();this.frameIndex_=0;this.frameState_=null;this.freezeRenderingCount_=0;this.dirty_=!1;this.layerGroupPropertyListenerKey_=this.viewPropertyListenerKey_=null;this.viewport_=goog.dom.createDom(goog.dom.TagName.DIV,
"ol-viewport");this.viewport_.style.position="relative";this.viewport_.style.overflow="hidden";this.viewport_.style.width="100%";this.viewport_.style.height="100%";this.viewport_.style.msTouchAction="none";ol.BrowserFeature.HAS_TOUCH&&(this.viewport_.className="ol-touch");this.overlayContainer_=goog.dom.createDom(goog.dom.TagName.DIV,"ol-overlaycontainer");goog.events.listen(this.overlayContainer_,[goog.events.EventType.CLICK,goog.events.EventType.DBLCLICK,ol.BrowserFeature.HAS_TOUCH?goog.events.EventType.TOUCHSTART:
goog.events.EventType.MOUSEDOWN],goog.events.Event.stopPropagation);goog.dom.appendChild(this.viewport_,this.overlayContainer_);var b=new ol.MapBrowserEventHandler(this);goog.events.listen(b,goog.object.getValues(ol.MapBrowserEvent.EventType),this.handleMapBrowserEvent,!1,this);this.registerDisposable(b);b=new goog.events.KeyHandler(goog.global.document);goog.events.listen(b,goog.events.KeyHandler.EventType.KEY,this.handleBrowserEvent,!1,this);this.registerDisposable(b);b=new goog.events.MouseWheelHandler(this.viewport_);
goog.events.listen(b,goog.events.MouseWheelHandler.EventType.MOUSEWHEEL,this.handleBrowserEvent,!1,this);this.registerDisposable(b);this.controls_=a.controls;this.interactions_=a.interactions;this.overlays_=a.overlays;this.renderer_=new a.rendererConstructor(this.viewport_,this);this.registerDisposable(this.renderer_);this.viewportSizeMonitor_=new goog.dom.ViewportSizeMonitor;goog.events.listen(this.viewportSizeMonitor_,goog.events.EventType.RESIZE,this.updateSize,!1,this);this.focus_=null;this.preRenderFunctions_=
[];this.postRenderFunctions_=[];this.postRenderDelay_=new goog.async.Delay(this.handlePostRender,0,this);this.tileQueue_=new ol.TileQueue(goog.bind(this.getTilePriority,this),goog.bind(this.handleTileChange_,this));goog.events.listen(this,ol.Object.getChangeEventType(ol.MapProperty.LAYERGROUP),this.handleLayerGroupChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.MapProperty.VIEW),this.handleViewChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.MapProperty.SIZE),
this.handleSizeChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.MapProperty.TARGET),this.handleTargetChanged_,!1,this);this.setValues(a.values);this.controls_.forEach(function(a){a.setMap(this)},this);this.overlays_.forEach(function(a){a.setMap(this)},this)};goog.inherits(ol.Map,ol.Object);ol.Map.prototype.addControl=function(a){this.getControls().push(a);a.setMap(this)};ol.Map.prototype.addLayer=function(a){this.getLayerGroup().getLayers().push(a)};
ol.Map.prototype.addOverlay=function(a){this.getOverlays().push(a);a.setMap(this)};ol.Map.prototype.beforeRender=function(a){this.requestRenderFrame();Array.prototype.push.apply(this.preRenderFunctions_,arguments)};ol.Map.prototype.removePreRenderFunction=function(a){return goog.array.remove(this.preRenderFunctions_,a)};ol.Map.prototype.disposeInternal=function(){goog.dom.removeNode(this.viewport_);goog.dispose(this.postRenderDelay_);ol.Map.superClass_.disposeInternal.call(this)};
ol.Map.prototype.freezeRendering=function(){++this.freezeRenderingCount_};ol.Map.prototype.getRenderer=function(){return this.renderer_};ol.Map.prototype.getTarget=function(){return this.get(ol.MapProperty.TARGET)};goog.exportProperty(ol.Map.prototype,"getTarget",ol.Map.prototype.getTarget);ol.Map.prototype.getCoordinateFromPixel=function(a){var b=this.frameState_;if(goog.isNull(b))return null;a=a.slice();return ol.vec.Mat4.multVec2(b.pixelToCoordinateMatrix,a,a)};ol.Map.prototype.getControls=function(){return this.controls_};
ol.Map.prototype.getOverlays=function(){return this.overlays_};ol.Map.prototype.getFeatureInfo=function(a){var b=goog.isDefAndNotNull(a.layers)?a.layers:this.getLayerGroup().getLayersArray();this.getRenderer().getFeatureInfoForPixel(a.pixel,b,a.success,a.error)};ol.Map.prototype.getFeatures=function(a){var b=goog.isDefAndNotNull(a.layers)?a.layers:this.getLayerGroup().getLayersArray();this.getRenderer().getFeaturesForPixel(a.pixel,b,a.success,a.error)};ol.Map.prototype.getInteractions=function(){return this.interactions_};
ol.Map.prototype.getLayerGroup=function(){return this.get(ol.MapProperty.LAYERGROUP)};goog.exportProperty(ol.Map.prototype,"getLayerGroup",ol.Map.prototype.getLayerGroup);ol.Map.prototype.getLayers=function(){return this.getLayerGroup().getLayers()};ol.Map.prototype.getPixelFromCoordinate=function(a){var b=this.frameState_;if(goog.isNull(b))return null;a=a.slice(0,2);return ol.vec.Mat4.multVec2(b.coordinateToPixelMatrix,a,a)};ol.Map.prototype.getSize=function(){return this.get(ol.MapProperty.SIZE)};
goog.exportProperty(ol.Map.prototype,"getSize",ol.Map.prototype.getSize);ol.Map.prototype.getView=function(){return this.get(ol.MapProperty.VIEW)};goog.exportProperty(ol.Map.prototype,"getView",ol.Map.prototype.getView);ol.Map.prototype.getViewport=function(){return this.viewport_};ol.Map.prototype.getOverlayContainer=function(){return this.overlayContainer_};
ol.Map.prototype.getTilePriority=function(a,b,c,d){var e=this.frameState_;if(goog.isNull(e)||!(b in e.wantedTiles)||!e.wantedTiles[b][a.tileCoord.toString()])return ol.structs.PriorityQueue.DROP;a=c[0]-e.focus[0];c=c[1]-e.focus[1];return 65536*Math.log(d)+Math.sqrt(a*a+c*c)/d};ol.Map.prototype.handleBrowserEvent=function(a,b){var c=new ol.MapBrowserEvent(b||a.type,this,a);this.handleMapBrowserEvent(c)};
ol.Map.prototype.handleMapBrowserEvent=function(a){if(!goog.isNull(this.frameState_)){this.focus_=a.type==goog.events.EventType.MOUSEOUT||a.type==goog.events.EventType.TOUCHEND?null:a.getCoordinate();a.frameState=this.frameState_;var b=this.getInteractions().getArray(),c;if(!1!==this.dispatchEvent(a))for(c=b.length-1;0<=c&&b[c].handleMapBrowserEvent(a);c--);}};
ol.Map.prototype.handlePostRender=function(){var a=this.frameState_,b=this.tileQueue_;if(!b.isEmpty()){var c=16,d=c;if(!goog.isNull(a)){var e=a.viewHints;if(e[ol.ViewHint.ANIMATING]||e[ol.ViewHint.INTERACTING])c=8,d=2}e=goog.object.getCount(a.wantedTiles);c*=e;d*=e;b.getTilesLoading()<c&&(b.reprioritize(),b.loadMoreTiles(c,d))}b=this.postRenderFunctions_;c=0;for(d=b.length;c<d;++c)b[c](this,a);b.length=0};ol.Map.prototype.handleSizeChanged_=function(){this.render()};
ol.Map.prototype.handleTargetChanged_=function(){var a=this.getTarget(),a=goog.isDef(a)?goog.dom.getElement(a):null;goog.isNull(a)?goog.dom.removeNode(this.viewport_):goog.dom.appendChild(a,this.viewport_);this.updateSize()};ol.Map.prototype.handleTileChange_=function(){this.requestRenderFrame()};ol.Map.prototype.handleViewPropertyChanged_=function(){this.render()};
ol.Map.prototype.handleViewChanged_=function(){goog.isNull(this.viewPropertyListenerKey_)||(goog.events.unlistenByKey(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null);var a=this.getView();goog.isDefAndNotNull(a)&&(this.viewPropertyListenerKey_=goog.events.listen(a,ol.ObjectEventType.CHANGE,this.handleViewPropertyChanged_,!1,this));this.render()};ol.Map.prototype.handleLayerGroupPropertyChanged_=function(a){this.render()};
ol.Map.prototype.handleLayerGroupChanged_=function(){goog.isNull(this.layerGroupPropertyListenerKey_)||(goog.events.unlistenByKey(this.layerGroupPropertyListenerKey_),this.layerGroupPropertyListenerKey_=null);var a=this.getLayerGroup();goog.isDefAndNotNull(a)&&(this.layerGroupPropertyListenerKey_=goog.events.listen(a,ol.ObjectEventType.CHANGE,this.handleLayerGroupPropertyChanged_,!1,this));this.render()};ol.Map.prototype.isDef=function(){var a=this.getView();return goog.isDef(a)&&a.isDef()&&goog.isDefAndNotNull(this.getSize())};
ol.Map.prototype.render=function(){this.animationDelay_.isActive()||(0===this.freezeRenderingCount_?this.animationDelay_.fire():this.dirty_=!0)};ol.Map.prototype.requestRenderFrame=function(){0===this.freezeRenderingCount_?this.animationDelay_.isActive()||this.animationDelay_.start():this.dirty_=!0};ol.Map.prototype.removeControl=function(a){var b=this.getControls();if(goog.isDef(b.remove(a)))return a.setMap(null),a};ol.Map.prototype.removeLayer=function(a){return this.getLayerGroup().getLayers().remove(a)};
ol.Map.prototype.removeOverlay=function(a){var b=this.getOverlays();if(goog.isDef(b.remove(a)))return a.setMap(null),a};
ol.Map.prototype.renderFrame_=function(a){var b,c,d;if(0===this.freezeRenderingCount_){var e=this.getSize();b=this.getView();var f=goog.isDef(b)?this.getView().getView2D():void 0,g=null;if(goog.isDef(e)&&goog.isDef(f)&&f.isDef()){g=b.getHints();b=this.getLayerGroup().getLayerStatesArray();var h=b.layers;d=b.layerStates;var k={},l;b=0;for(c=h.length;b<c;++b)l=h[b],k[goog.getUid(l)]=d[b];d=f.getView2DState();g={animate:!1,attributions:{},coordinateToPixelMatrix:this.coordinateToPixelMatrix_,extent:null,
focus:goog.isNull(this.focus_)?d.center:this.focus_,index:this.frameIndex_++,layersArray:h,layerStates:k,logos:{},pixelToCoordinateMatrix:this.pixelToCoordinateMatrix_,postRenderFunctions:[],size:e,tileQueue:this.tileQueue_,time:a,usedTiles:{},view2DState:d,viewHints:g,wantedTiles:{}}}a=this.preRenderFunctions_;b=e=0;for(c=a.length;b<c;++b)f=a[b],f(this,g)&&(a[e++]=f);a.length=e;goog.isNull(g)||(g.extent=ol.extent.getForView2DAndSize(d.center,d.resolution,d.rotation,g.size));this.frameState_=g;this.renderer_.renderFrame(g);
this.dirty_=!1;goog.isNull(g)||(g.animate&&this.requestRenderFrame(),Array.prototype.push.apply(this.postRenderFunctions_,g.postRenderFunctions),0!=this.preRenderFunctions_.length||(g.animate||g.viewHints[ol.ViewHint.ANIMATING]||g.viewHints[ol.ViewHint.INTERACTING])||this.dispatchEvent(new ol.MapEvent(ol.MapEventType.MOVEEND,this)));this.dispatchEvent(new ol.MapEvent(ol.MapEventType.POSTRENDER,this,g));this.postRenderDelay_.isActive()||this.postRenderDelay_.start()}};
ol.Map.prototype.setLayerGroup=function(a){this.set(ol.MapProperty.LAYERGROUP,a)};goog.exportProperty(ol.Map.prototype,"setLayerGroup",ol.Map.prototype.setLayerGroup);ol.Map.prototype.setSize=function(a){this.set(ol.MapProperty.SIZE,a)};goog.exportProperty(ol.Map.prototype,"setSize",ol.Map.prototype.setSize);ol.Map.prototype.setTarget=function(a){this.set(ol.MapProperty.TARGET,a)};goog.exportProperty(ol.Map.prototype,"setTarget",ol.Map.prototype.setTarget);
ol.Map.prototype.setView=function(a){this.set(ol.MapProperty.VIEW,a)};goog.exportProperty(ol.Map.prototype,"setView",ol.Map.prototype.setView);ol.Map.prototype.unfreezeRendering=function(){0===--this.freezeRenderingCount_&&this.dirty_&&this.animationDelay_.fire()};ol.Map.prototype.updateSize=function(){var a=this.getTarget(),a=goog.isDef(a)?goog.dom.getElement(a):null;goog.isNull(a)?this.setSize(void 0):(a=goog.style.getSize(a),this.setSize([a.width,a.height]))};
ol.Map.prototype.withFrozenRendering=function(a,b){this.freezeRendering();try{a.call(b)}finally{this.unfreezeRendering()}};
ol.Map.createOptionsInternal=function(a){var b={},c=a.layers instanceof ol.layer.Group?a.layers:new ol.layer.Group({layers:a.layers});b[ol.MapProperty.LAYERGROUP]=c;b[ol.MapProperty.TARGET]=a.target;b[ol.MapProperty.VIEW]=goog.isDef(a.view)?a.view:new ol.View2D;var c=ol.renderer.Map,d;d=goog.isDef(a.renderers)?a.renderers:goog.isDef(a.renderer)?[a.renderer]:ol.DEFAULT_RENDERER_HINTS;var e=d.length,f,g;for(f=0;f<e;++f)if(g=d[f],g==ol.RendererHint.CANVAS){if(ol.ENABLE_CANVAS&&ol.renderer.canvas.SUPPORTED){c=
ol.renderer.canvas.Map;break}}else if(g==ol.RendererHint.DOM){if(ol.ENABLE_DOM&&ol.renderer.dom.SUPPORTED){c=ol.renderer.dom.Map;break}}else if(g==ol.RendererHint.WEBGL&&ol.ENABLE_WEBGL&&ol.renderer.webgl.SUPPORTED){c=ol.renderer.webgl.Map;break}d=goog.isDef(a.controls)?goog.isArray(a.controls)?new ol.Collection(goog.array.clone(a.controls)):a.controls:ol.control.defaults();e=goog.isDef(a.interactions)?a.interactions:ol.interaction.defaults();a=goog.isDef(a.overlays)?goog.isArray(a.overlays)?new ol.Collection(goog.array.clone(a.overlays)):
a.overlays:new ol.Collection;return{controls:d,interactions:e,overlays:a,rendererConstructor:c,values:b}};ol.RendererHints.createFromQueryData=function(a){var b=goog.global.location.search.substring(1);a=goog.isDef(a)?a:new goog.Uri.QueryData(b);return a.containsKey("renderers")?a.get("renderers").split(","):a.containsKey("renderer")?[a.get("renderer")]:ol.DEFAULT_RENDERER_HINTS};ol.proj.common.add();goog.DEBUG&&function(){}();ol.OverlayProperty={ELEMENT:"element",MAP:"map",POSITION:"position",POSITIONING:"positioning"};ol.OverlayPositioning={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"};
ol.Overlay=function(a){ol.Object.call(this);this.element_=goog.dom.createElement(goog.dom.TagName.DIV);this.element_.style.position="absolute";this.rendered_={bottom_:"",left_:"",right_:"",top_:"",visible:!0};this.mapPostrenderListenerKey_=null;goog.events.listen(this,ol.Object.getChangeEventType(ol.OverlayProperty.ELEMENT),this.handleElementChanged,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.OverlayProperty.MAP),this.handleMapChanged,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.OverlayProperty.POSITION),
this.handlePositionChanged,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.OverlayProperty.POSITIONING),this.handlePositioningChanged,!1,this);goog.isDef(a.element)&&this.setElement(a.element);goog.isDef(a.position)&&this.setPosition(a.position);goog.isDef(a.positioning)&&this.setPositioning(a.positioning)};goog.inherits(ol.Overlay,ol.Object);ol.Overlay.prototype.getElement=function(){return this.get(ol.OverlayProperty.ELEMENT)};
goog.exportProperty(ol.Overlay.prototype,"getElement",ol.Overlay.prototype.getElement);ol.Overlay.prototype.getMap=function(){return this.get(ol.OverlayProperty.MAP)};goog.exportProperty(ol.Overlay.prototype,"getMap",ol.Overlay.prototype.getMap);ol.Overlay.prototype.getPosition=function(){return this.get(ol.OverlayProperty.POSITION)};goog.exportProperty(ol.Overlay.prototype,"getPosition",ol.Overlay.prototype.getPosition);ol.Overlay.prototype.getPositioning=function(){return this.get(ol.OverlayProperty.POSITIONING)};
goog.exportProperty(ol.Overlay.prototype,"getPositioning",ol.Overlay.prototype.getPositioning);ol.Overlay.prototype.handleElementChanged=function(){goog.dom.removeChildren(this.element_);var a=this.getElement();goog.isDefAndNotNull(a)&&goog.dom.append(this.element_,a)};
ol.Overlay.prototype.handleMapChanged=function(){goog.isNull(this.mapPostrenderListenerKey_)||(goog.dom.removeNode(this.element_),goog.events.unlistenByKey(this.mapPostrenderListenerKey_),this.mapPostrenderListenerKey_=null);var a=this.getMap();goog.isDefAndNotNull(a)&&(this.mapPostrenderListenerKey_=goog.events.listen(a,ol.MapEventType.POSTRENDER,this.handleMapPostrender,!1,this),this.updatePixelPosition_(),goog.dom.append(a.getOverlayContainer(),this.element_))};
ol.Overlay.prototype.handleMapPostrender=function(){this.updatePixelPosition_()};ol.Overlay.prototype.handlePositionChanged=function(){this.updatePixelPosition_()};ol.Overlay.prototype.handlePositioningChanged=function(){this.updatePixelPosition_()};ol.Overlay.prototype.setElement=function(a){this.set(ol.OverlayProperty.ELEMENT,a)};goog.exportProperty(ol.Overlay.prototype,"setElement",ol.Overlay.prototype.setElement);ol.Overlay.prototype.setMap=function(a){this.set(ol.OverlayProperty.MAP,a)};
goog.exportProperty(ol.Overlay.prototype,"setMap",ol.Overlay.prototype.setMap);ol.Overlay.prototype.setPosition=function(a){this.set(ol.OverlayProperty.POSITION,a)};goog.exportProperty(ol.Overlay.prototype,"setPosition",ol.Overlay.prototype.setPosition);ol.Overlay.prototype.setPositioning=function(a){this.set(ol.OverlayProperty.POSITIONING,a)};
ol.Overlay.prototype.updatePixelPosition_=function(){var a=this.getMap(),b=this.getPosition();if(goog.isDef(a)&&a.isDef()&&goog.isDef(b)){var b=a.getPixelFromCoordinate(b),c=a.getSize(),a=this.element_.style,d=this.getPositioning();if(d==ol.OverlayPositioning.BOTTOM_RIGHT||d==ol.OverlayPositioning.TOP_RIGHT){""!==this.rendered_.left_&&(this.rendered_.left_=a.left="");var e=Math.round(c[0]-b[0])+"px";this.rendered_.right_!=e&&(this.rendered_.right_=a.right=e)}else""!==this.rendered_.right_&&(this.rendered_.right_=
a.right=""),e=Math.round(b[0])+"px",this.rendered_.left_!=e&&(this.rendered_.left_=a.left=e);d==ol.OverlayPositioning.TOP_LEFT||d==ol.OverlayPositioning.TOP_RIGHT?(""!==this.rendered_.bottom_&&(this.rendered_.bottom_=a.bottom=""),b=Math.round(b[1])+"px",this.rendered_.top_!=b&&(this.rendered_.top_=a.top=b)):(""!==this.rendered_.top_&&(this.rendered_.top_=a.top=""),b=Math.round(c[1]-b[1])+"px",this.rendered_.bottom_!=b&&(this.rendered_.bottom_=a.bottom=b));this.rendered_.visible||(goog.style.setElementShown(this.element_,
!0),this.rendered_.visible=!0)}else this.rendered_.visible&&(goog.style.setElementShown(this.element_,!1),this.rendered_.visible=!1)};ol.TileUrlFunction={};ol.TileUrlFunction.createFromTemplate=function(a){return function(b,c){return goog.isNull(b)?void 0:a.replace("{z}",""+b.z).replace("{x}",""+b.x).replace("{y}",""+b.y)}};ol.TileUrlFunction.createFromTemplates=function(a){return ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(a,ol.TileUrlFunction.createFromTemplate))};
ol.TileUrlFunction.createFromTileUrlFunctions=function(a){return 1===a.length?a[0]:function(b,c){if(!goog.isNull(b)){var d=goog.math.modulo(b.hash(),a.length);return a[d].call(this,b,c)}}};ol.TileUrlFunction.createFromParamsFunction=function(a,b,c){var d=ol.extent.createEmpty();return function(e,f){if(!goog.isNull(e)){var g=this.getTileGrid();goog.isNull(g)&&(g=ol.tilegrid.getForProjection(f));var h=g.getTileSize(e.z),g=g.getTileCoordExtent(e,d);return c.call(this,a,b,g,h,f)}}};
ol.TileUrlFunction.nullTileUrlFunction=function(a,b){};ol.TileUrlFunction.withTileCoordTransform=function(a,b){var c=new ol.TileCoord(0,0,0);return function(d,e){return goog.isNull(d)?void 0:b.call(this,a.call(this,d,e,c),e)}};ol.TileUrlFunction.expandUrl=function(a){var b=[],c=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(c)for(var d=c[1].charCodeAt(0),e=c[2].charCodeAt(0);d<=e;++d)b.push(a.replace(c[0],String.fromCharCode(d)));else b.push(a);return b};goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_CAMINO=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;
goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_CAMINO||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;
goog.userAgent.product.init_=function(){goog.userAgent.product.detectedFirefox_=!1;goog.userAgent.product.detectedCamino_=!1;goog.userAgent.product.detectedIphone_=!1;goog.userAgent.product.detectedIpad_=!1;goog.userAgent.product.detectedAndroid_=!1;goog.userAgent.product.detectedChrome_=!1;goog.userAgent.product.detectedSafari_=!1;var a=goog.userAgent.getUserAgentString();a&&(-1!=a.indexOf("Firefox")?goog.userAgent.product.detectedFirefox_=!0:-1!=a.indexOf("Camino")?goog.userAgent.product.detectedCamino_=
!0:-1!=a.indexOf("iPhone")||-1!=a.indexOf("iPod")?goog.userAgent.product.detectedIphone_=!0:-1!=a.indexOf("iPad")?goog.userAgent.product.detectedIpad_=!0:-1!=a.indexOf("Android")?goog.userAgent.product.detectedAndroid_=!0:-1!=a.indexOf("Chrome")?goog.userAgent.product.detectedChrome_=!0:-1!=a.indexOf("Safari")&&(goog.userAgent.product.detectedSafari_=!0))};goog.userAgent.product.PRODUCT_KNOWN_||goog.userAgent.product.init_();goog.userAgent.product.OPERA=goog.userAgent.OPERA;
goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.userAgent.product.detectedFirefox_;goog.userAgent.product.CAMINO=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CAMINO:goog.userAgent.product.detectedCamino_;goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.detectedIphone_;
goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.userAgent.product.detectedIpad_;goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.userAgent.product.detectedAndroid_;goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.userAgent.product.detectedChrome_;
goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.detectedSafari_;goog.dom.fullscreen={};goog.dom.fullscreen.EventType={CHANGE:goog.userAgent.WEBKIT?"webkitfullscreenchange":"mozfullscreenchange"};goog.dom.fullscreen.isSupported=function(a){a=goog.dom.fullscreen.getDocument_(a);var b=a.body;return!!b.webkitRequestFullScreen||!!b.mozRequestFullScreen&&a.mozFullScreenEnabled};goog.dom.fullscreen.requestFullScreen=function(a){a.webkitRequestFullScreen?a.webkitRequestFullScreen():a.mozRequestFullScreen&&a.mozRequestFullScreen()};
goog.dom.fullscreen.requestFullScreenWithKeys=function(a){a.mozRequestFullScreenWithKeys?a.mozRequestFullScreenWithKeys():a.webkitRequestFullScreen&&a.ALLOW_KEYBOARD_INPUT&&goog.userAgent.product.CHROME?a.webkitRequestFullScreen(a.ALLOW_KEYBOARD_INPUT):goog.dom.fullscreen.requestFullScreen(a)};goog.dom.fullscreen.exitFullScreen=function(a){a=goog.dom.fullscreen.getDocument_(a);a.webkitCancelFullScreen?a.webkitCancelFullScreen():a.mozCancelFullScreen&&a.mozCancelFullScreen()};
goog.dom.fullscreen.isFullScreen=function(a){a=goog.dom.fullscreen.getDocument_(a);return!!a.webkitIsFullScreen||!!a.mozFullScreen};goog.dom.fullscreen.getDocument_=function(a){return a?a.getDocument():goog.dom.getDomHelper().getDocument()};ol.control.FullScreen=function(a){a=goog.isDef(a)?a:{};this.cssClassName_=goog.isDef(a.className)?a.className:"ol-full-screen";var b=goog.dom.createDom(goog.dom.TagName.A,{href:"#fullScreen","class":this.cssClassName_+"-"+goog.dom.fullscreen.isFullScreen()});goog.events.listen(b,[goog.events.EventType.CLICK,goog.events.EventType.TOUCHEND],this.handleClick_,!1,this);goog.events.listen(goog.global.document,goog.dom.fullscreen.EventType.CHANGE,this.handleFullScreenChange_,!1,this);b=goog.dom.createDom(goog.dom.TagName.DIV,
{"class":this.cssClassName_+" "+ol.css.CLASS_UNSELECTABLE+" "+(goog.dom.fullscreen.isSupported()?"":ol.css.CLASS_UNSUPPORTED)},b);ol.control.Control.call(this,{element:b,target:a.target});this.keys_=goog.isDef(a.keys)?a.keys:!1};goog.inherits(ol.control.FullScreen,ol.control.Control);
ol.control.FullScreen.prototype.handleClick_=function(a){goog.dom.fullscreen.isSupported()&&(a.preventDefault(),a=this.getMap(),goog.isNull(a)||(goog.dom.fullscreen.isFullScreen()?goog.dom.fullscreen.exitFullScreen():(a=a.getTarget(),a=goog.dom.getElement(a),this.keys_?goog.dom.fullscreen.requestFullScreenWithKeys(a):goog.dom.fullscreen.requestFullScreen(a))))};
ol.control.FullScreen.prototype.handleFullScreenChange_=function(){var a=this.cssClassName_+"-true",b=this.cssClassName_+"-false",c=goog.dom.getFirstElementChild(this.element);goog.dom.fullscreen.isFullScreen()?goog.dom.classes.swap(c,b,a):goog.dom.classes.swap(c,a,b)};ol.control.MousePositionProperty={PROJECTION:"projection",COORDINATE_FORMAT:"coordinateFormat"};
ol.control.MousePosition=function(a){a=goog.isDef(a)?a:{};var b=goog.isDef(a.className)?a.className:"ol-mouse-position",b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":b});ol.control.Control.call(this,{element:b,target:a.target});goog.events.listen(this,ol.Object.getChangeEventType(ol.control.MousePositionProperty.PROJECTION),this.handleProjectionChanged_,!1,this);goog.isDef(a.coordinateFormat)&&this.setCoordinateFormat(a.coordinateFormat);goog.isDef(a.projection)&&this.setProjection(ol.proj.get(a.projection));
this.undefinedHTML_=goog.isDef(a.undefinedHTML)?a.undefinedHTML:"";this.renderedHTML_=b.innerHTML;this.lastMouseMovePixel_=this.transform_=this.mapProjection_=null};goog.inherits(ol.control.MousePosition,ol.control.Control);ol.control.MousePosition.prototype.handleMapPostrender=function(a){a=a.frameState;goog.isNull(a)?this.mapProjection_=null:this.mapProjection_!=a.view2DState.projection&&(this.mapProjection_=a.view2DState.projection,this.transform_=null);this.updateHTML_(this.lastMouseMovePixel_)};
ol.control.MousePosition.prototype.handleProjectionChanged_=function(){this.transform_=null};ol.control.MousePosition.prototype.getCoordinateFormat=function(){return this.get(ol.control.MousePositionProperty.COORDINATE_FORMAT)};goog.exportProperty(ol.control.MousePosition.prototype,"getCoordinateFormat",ol.control.MousePosition.prototype.getCoordinateFormat);ol.control.MousePosition.prototype.getProjection=function(){return this.get(ol.control.MousePositionProperty.PROJECTION)};
goog.exportProperty(ol.control.MousePosition.prototype,"getProjection",ol.control.MousePosition.prototype.getProjection);ol.control.MousePosition.prototype.handleMouseMove=function(a){var b=this.getMap();a=goog.style.getRelativePosition(a,b.getViewport());this.lastMouseMovePixel_=[a.x,a.y];this.updateHTML_(this.lastMouseMovePixel_)};ol.control.MousePosition.prototype.handleMouseOut=function(a){this.updateHTML_(null);this.lastMouseMovePixel_=null};
ol.control.MousePosition.prototype.setMap=function(a){ol.control.MousePosition.superClass_.setMap.call(this,a);goog.isNull(a)||(a=a.getViewport(),this.listenerKeys.push(goog.events.listen(a,goog.events.EventType.MOUSEMOVE,this.handleMouseMove,!1,this),goog.events.listen(a,goog.events.EventType.MOUSEOUT,this.handleMouseOut,!1,this)))};ol.control.MousePosition.prototype.setCoordinateFormat=function(a){this.set(ol.control.MousePositionProperty.COORDINATE_FORMAT,a)};
goog.exportProperty(ol.control.MousePosition.prototype,"setCoordinateFormat",ol.control.MousePosition.prototype.setCoordinateFormat);ol.control.MousePosition.prototype.setProjection=function(a){this.set(ol.control.MousePositionProperty.PROJECTION,a)};goog.exportProperty(ol.control.MousePosition.prototype,"setProjection",ol.control.MousePosition.prototype.setProjection);
ol.control.MousePosition.prototype.updateHTML_=function(a){var b=this.undefinedHTML_;if(!goog.isNull(a)&&!goog.isNull(this.mapProjection_)){if(goog.isNull(this.transform_)){var c=this.getProjection();goog.isDef(c)?this.transform_=ol.proj.getTransformFromProjections(this.mapProjection_,c):this.transform_=ol.proj.identityTransform}a=this.getMap().getCoordinateFromPixel(a);goog.isNull(a)||(this.transform_(a,a),b=this.getCoordinateFormat(),b=goog.isDef(b)?b(a):a.toString())}goog.isDef(this.renderedHTML_)&&
b==this.renderedHTML_||(this.renderedHTML_=this.element.innerHTML=b)};ol.control.ScaleLineProperty={UNITS:"units"};ol.control.ScaleLineUnits={DEGREES:"degrees",IMPERIAL:"imperial",NAUTICAL:"nautical",METRIC:"metric",US:"us"};
ol.control.ScaleLine=function(a){a=a||{};var b=goog.isDef(a.className)?a.className:"ol-scale-line";this.innerElement_=goog.dom.createDom(goog.dom.TagName.DIV,{"class":b+"-inner"});this.element_=goog.dom.createDom(goog.dom.TagName.DIV,{"class":b+" "+ol.css.CLASS_UNSELECTABLE},this.innerElement_);this.view2DState_=null;this.minWidth_=goog.isDef(a.minWidth)?a.minWidth:64;this.renderedVisible_=!1;this.renderedWidth_=void 0;this.renderedHTML_="";this.toEPSG4326_=null;ol.control.Control.call(this,{element:this.element_,
target:a.target});goog.events.listen(this,ol.Object.getChangeEventType(ol.control.ScaleLineProperty.UNITS),this.handleUnitsChanged_,!1,this);this.setUnits(a.units||ol.control.ScaleLineUnits.METRIC)};goog.inherits(ol.control.ScaleLine,ol.control.Control);ol.control.ScaleLine.LEADING_DIGITS=[1,2,5];ol.control.ScaleLine.prototype.getUnits=function(){return this.get(ol.control.ScaleLineProperty.UNITS)};goog.exportProperty(ol.control.ScaleLine.prototype,"getUnits",ol.control.ScaleLine.prototype.getUnits);
ol.control.ScaleLine.prototype.handleMapPostrender=function(a){a=a.frameState;goog.isNull(a)?this.view2DState_=null:this.view2DState_=a.view2DState;this.updateElement_()};ol.control.ScaleLine.prototype.handleUnitsChanged_=function(){this.updateElement_()};ol.control.ScaleLine.prototype.setUnits=function(a){this.set(ol.control.ScaleLineProperty.UNITS,a)};goog.exportProperty(ol.control.ScaleLine.prototype,"setUnits",ol.control.ScaleLine.prototype.setUnits);
ol.control.ScaleLine.prototype.updateElement_=function(){var a=this.view2DState_;if(goog.isNull(a))this.renderedVisible_&&(goog.style.setElementShown(this.element_,!1),this.renderedVisible_=!1);else{var b=a.center,c=a.projection,a=c.getPointResolution(a.resolution,b),d=c.getUnits(),e=this.getUnits();d!=ol.ProjectionUnits.DEGREES||e!=ol.control.ScaleLineUnits.METRIC&&e!=ol.control.ScaleLineUnits.IMPERIAL?d!=ol.ProjectionUnits.FEET&&d!=ol.ProjectionUnits.METERS||e!=ol.control.ScaleLineUnits.DEGREES?
this.toEPSG4326_=null:(goog.isNull(this.toEPSG4326_)&&(this.toEPSG4326_=ol.proj.getTransformFromProjections(c,ol.proj.get("EPSG:4326"))),b=Math.cos(goog.math.toRadians(this.toEPSG4326_(b)[1])),c=ol.sphere.NORMAL.radius,d==ol.ProjectionUnits.FEET&&(c/=0.3048),a*=180/(Math.PI*b*c)):(this.toEPSG4326_=null,b=Math.cos(goog.math.toRadians(b[1])),a*=Math.PI*b*ol.sphere.NORMAL.radius/180);b=this.minWidth_*a;d="";e==ol.control.ScaleLineUnits.DEGREES?b<1/60?(d="\u2033",a*=3600):1>b?(d="\u2032",a*=60):d="\u00b0":
e==ol.control.ScaleLineUnits.IMPERIAL?0.9144>b?(d="in",a/=0.0254):1609.344>b?(d="ft",a/=0.3048):(d="mi",a/=1609.344):e==ol.control.ScaleLineUnits.NAUTICAL?(a/=1852,d="nm"):e==ol.control.ScaleLineUnits.METRIC?1>b?(d="mm",a*=1E3):1E3>b?d="m":(d="km",a/=1E3):e==ol.control.ScaleLineUnits.US&&(0.9144>b?(d="in",a*=39.37):1609.344>b?(d="ft",a/=0.30480061):(d="mi",a/=1609.3472));for(var e=3*Math.floor(Math.log(this.minWidth_*a)/Math.log(10)),f,g;;){f=ol.control.ScaleLine.LEADING_DIGITS[e%3]*Math.pow(10,Math.floor(e/
3));g=Math.round(f/a);if(g>=this.minWidth_)break;++e}f+=d;this.renderedHTML_!=f&&(this.renderedHTML_=this.innerElement_.innerHTML=f);this.renderedWidth_!=g&&(this.innerElement_.style.width=g+"px",this.renderedWidth_=g);this.renderedVisible_||(goog.style.setElementShown(this.element_,!0),this.renderedVisible_=!0)}};goog.events.EventHandler=function(a){goog.Disposable.call(this);this.handler_=a;this.keys_={}};goog.inherits(goog.events.EventHandler,goog.Disposable);goog.events.EventHandler.typeArray_=[];goog.events.EventHandler.prototype.listen=function(a,b,c,d,e){goog.isArray(b)||(goog.events.EventHandler.typeArray_[0]=b,b=goog.events.EventHandler.typeArray_);for(var f=0;f<b.length;f++){var g=goog.events.listen(a,b[f],c||this,d||!1,e||this.handler_||this);if(goog.DEBUG&&!g)break;this.keys_[g.key]=g}return this};
goog.events.EventHandler.prototype.listenOnce=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f<b.length;f++)this.listenOnce(a,b[f],c,d,e);else a=goog.events.listenOnce(a,b,c||this,d,e||this.handler_||this),this.keys_[a.key]=a;return this};goog.events.EventHandler.prototype.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e||this.handler_||this,this);return this};
goog.events.EventHandler.prototype.getListenerCount=function(){var a=0,b;for(b in this.keys_)Object.prototype.hasOwnProperty.call(this.keys_,b)&&a++;return a};goog.events.EventHandler.prototype.unlisten=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f<b.length;f++)this.unlisten(a,b[f],c,d,e);else if(a=goog.events.getListener(a,b,c||this,d,e||this.handler_||this))goog.events.unlistenByKey(a),delete this.keys_[a.key];return this};
goog.events.EventHandler.prototype.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e||this.handler_||this,this);return this};goog.events.EventHandler.prototype.removeAll=function(){goog.object.forEach(this.keys_,goog.events.unlistenByKey);this.keys_={}};goog.events.EventHandler.prototype.disposeInternal=function(){goog.events.EventHandler.superClass_.disposeInternal.call(this);this.removeAll()};
goog.events.EventHandler.prototype.handleEvent=function(a){throw Error("EventHandler.handleEvent not implemented");};goog.style.bidi={};goog.style.bidi.getScrollLeft=function(a){var b=goog.style.isRightToLeft(a);return b&&goog.userAgent.GECKO?-a.scrollLeft:!b||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||"visible"==goog.style.getComputedOverflowX(a)?a.scrollLeft:a.scrollWidth-a.clientWidth-a.scrollLeft};
goog.style.bidi.getOffsetStart=function(a){var b=a.offsetLeft,c=a.offsetParent;c||"fixed"!=goog.style.getComputedPosition(a)||(c=goog.dom.getOwnerDocument(a).documentElement);if(!c)return b;if(goog.userAgent.GECKO)var d=goog.style.getBorderBox(c),b=b+d.left;else goog.userAgent.isDocumentModeOrHigher(8)&&(d=goog.style.getBorderBox(c),b-=d.left);return goog.style.isRightToLeft(c)?c.clientWidth-(b+a.offsetWidth):b};
goog.style.bidi.setScrollOffset=function(a,b){b=Math.max(b,0);goog.style.isRightToLeft(a)?goog.userAgent.GECKO?a.scrollLeft=-b:goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")?a.scrollLeft=b:a.scrollLeft=a.scrollWidth-b-a.clientWidth:a.scrollLeft=b};goog.style.bidi.setPosition=function(a,b,c,d){goog.isNull(c)||(a.style.top=c+"px");d?(a.style.right=b+"px",a.style.left=""):(a.style.left=b+"px",a.style.right="")};goog.fx.Dragger=function(a,b,c){goog.events.EventTarget.call(this);this.target=a;this.handle=b||a;this.limits=c||new goog.math.Rect(NaN,NaN,NaN,NaN);this.document_=goog.dom.getOwnerDocument(a);this.eventHandler_=new goog.events.EventHandler(this);this.registerDisposable(this.eventHandler_);goog.events.listen(this.handle,[goog.events.EventType.TOUCHSTART,goog.events.EventType.MOUSEDOWN],this.startDrag,!1,this)};goog.inherits(goog.fx.Dragger,goog.events.EventTarget);
goog.fx.Dragger.HAS_SET_CAPTURE_=goog.userAgent.IE||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.3");goog.fx.Dragger.EventType={EARLY_CANCEL:"earlycancel",START:"start",BEFOREDRAG:"beforedrag",DRAG:"drag",END:"end"};goog.fx.Dragger.prototype.clientX=0;goog.fx.Dragger.prototype.clientY=0;goog.fx.Dragger.prototype.screenX=0;goog.fx.Dragger.prototype.screenY=0;goog.fx.Dragger.prototype.startX=0;goog.fx.Dragger.prototype.startY=0;goog.fx.Dragger.prototype.deltaX=0;
goog.fx.Dragger.prototype.deltaY=0;goog.fx.Dragger.prototype.enabled_=!0;goog.fx.Dragger.prototype.dragging_=!1;goog.fx.Dragger.prototype.hysteresisDistanceSquared_=0;goog.fx.Dragger.prototype.mouseDownTime_=0;goog.fx.Dragger.prototype.ieDragStartCancellingOn_=!1;goog.fx.Dragger.prototype.useRightPositioningForRtl_=!1;goog.fx.Dragger.prototype.enableRightPositioningForRtl=function(a){this.useRightPositioningForRtl_=a};goog.fx.Dragger.prototype.getHandler=function(){return this.eventHandler_};
goog.fx.Dragger.prototype.setLimits=function(a){this.limits=a||new goog.math.Rect(NaN,NaN,NaN,NaN)};goog.fx.Dragger.prototype.setHysteresis=function(a){this.hysteresisDistanceSquared_=Math.pow(a,2)};goog.fx.Dragger.prototype.getHysteresis=function(){return Math.sqrt(this.hysteresisDistanceSquared_)};goog.fx.Dragger.prototype.setScrollTarget=function(a){this.scrollTarget_=a};goog.fx.Dragger.prototype.setCancelIeDragStart=function(a){this.ieDragStartCancellingOn_=a};
goog.fx.Dragger.prototype.getEnabled=function(){return this.enabled_};goog.fx.Dragger.prototype.setEnabled=function(a){this.enabled_=a};goog.fx.Dragger.prototype.disposeInternal=function(){goog.fx.Dragger.superClass_.disposeInternal.call(this);goog.events.unlisten(this.handle,[goog.events.EventType.TOUCHSTART,goog.events.EventType.MOUSEDOWN],this.startDrag,!1,this);this.cleanUpAfterDragging_();this.handle=this.target=null};
goog.fx.Dragger.prototype.isRightToLeft_=function(){goog.isDef(this.rightToLeft_)||(this.rightToLeft_=goog.style.isRightToLeft(this.target));return this.rightToLeft_};
goog.fx.Dragger.prototype.startDrag=function(a){var b=a.type==goog.events.EventType.MOUSEDOWN;if(!this.enabled_||this.dragging_||b&&!a.isMouseActionButton())this.dispatchEvent(goog.fx.Dragger.EventType.EARLY_CANCEL);else{this.maybeReinitTouchEvent_(a);if(0==this.hysteresisDistanceSquared_)if(this.fireDragStart_(a))this.dragging_=!0,a.preventDefault();else return;else a.preventDefault();this.setupDragHandlers();this.clientX=this.startX=a.clientX;this.clientY=this.startY=a.clientY;this.screenX=a.screenX;
this.screenY=a.screenY;this.deltaX=this.useRightPositioningForRtl_?goog.style.bidi.getOffsetStart(this.target):this.target.offsetLeft;this.deltaY=this.target.offsetTop;this.pageScroll=goog.dom.getDomHelper(this.document_).getDocumentScroll();this.mouseDownTime_=goog.now()}};
goog.fx.Dragger.prototype.setupDragHandlers=function(){var a=this.document_,b=a.documentElement,c=!goog.fx.Dragger.HAS_SET_CAPTURE_;this.eventHandler_.listen(a,[goog.events.EventType.TOUCHMOVE,goog.events.EventType.MOUSEMOVE],this.handleMove_,c);this.eventHandler_.listen(a,[goog.events.EventType.TOUCHEND,goog.events.EventType.MOUSEUP],this.endDrag,c);goog.fx.Dragger.HAS_SET_CAPTURE_?(b.setCapture(!1),this.eventHandler_.listen(b,goog.events.EventType.LOSECAPTURE,this.endDrag)):this.eventHandler_.listen(goog.dom.getWindow(a),
goog.events.EventType.BLUR,this.endDrag);goog.userAgent.IE&&this.ieDragStartCancellingOn_&&this.eventHandler_.listen(a,goog.events.EventType.DRAGSTART,goog.events.Event.preventDefault);this.scrollTarget_&&this.eventHandler_.listen(this.scrollTarget_,goog.events.EventType.SCROLL,this.onScroll_,c)};goog.fx.Dragger.prototype.fireDragStart_=function(a){return this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.START,this,a.clientX,a.clientY,a))};
goog.fx.Dragger.prototype.cleanUpAfterDragging_=function(){this.eventHandler_.removeAll();goog.fx.Dragger.HAS_SET_CAPTURE_&&this.document_.releaseCapture()};goog.fx.Dragger.prototype.endDrag=function(a,b){this.cleanUpAfterDragging_();if(this.dragging_){this.maybeReinitTouchEvent_(a);this.dragging_=!1;var c=this.limitX(this.deltaX),d=this.limitY(this.deltaY);this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.END,this,a.clientX,a.clientY,a,c,d,b||a.type==goog.events.EventType.TOUCHCANCEL))}else this.dispatchEvent(goog.fx.Dragger.EventType.EARLY_CANCEL)};
goog.fx.Dragger.prototype.endDragCancel=function(a){this.endDrag(a,!0)};goog.fx.Dragger.prototype.maybeReinitTouchEvent_=function(a){var b=a.type;b==goog.events.EventType.TOUCHSTART||b==goog.events.EventType.TOUCHMOVE?a.init(a.getBrowserEvent().targetTouches[0],a.currentTarget):b!=goog.events.EventType.TOUCHEND&&b!=goog.events.EventType.TOUCHCANCEL||a.init(a.getBrowserEvent().changedTouches[0],a.currentTarget)};
goog.fx.Dragger.prototype.handleMove_=function(a){if(this.enabled_){this.maybeReinitTouchEvent_(a);var b=(this.useRightPositioningForRtl_&&this.isRightToLeft_()?-1:1)*(a.clientX-this.clientX),c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.dragging_){var d=this.startX-this.clientX,e=this.startY-this.clientY;if(d*d+e*e>this.hysteresisDistanceSquared_)if(this.fireDragStart_(a))this.dragging_=!0;else{this.isDisposed()||this.endDrag(a);
return}}c=this.calculatePosition_(b,c);b=c.x;c=c.y;this.dragging_&&this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.BEFOREDRAG,this,a.clientX,a.clientY,a,b,c))&&(this.doDrag(a,b,c,!1),a.preventDefault())}};
goog.fx.Dragger.prototype.calculatePosition_=function(a,b){var c=goog.dom.getDomHelper(this.document_).getDocumentScroll();a+=c.x-this.pageScroll.x;b+=c.y-this.pageScroll.y;this.pageScroll=c;this.deltaX+=a;this.deltaY+=b;var c=this.limitX(this.deltaX),d=this.limitY(this.deltaY);return new goog.math.Coordinate(c,d)};goog.fx.Dragger.prototype.onScroll_=function(a){var b=this.calculatePosition_(0,0);a.clientX=this.clientX;a.clientY=this.clientY;this.doDrag(a,b.x,b.y,!0)};
goog.fx.Dragger.prototype.doDrag=function(a,b,c,d){this.defaultAction(b,c);this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.DRAG,this,a.clientX,a.clientY,a,b,c))};goog.fx.Dragger.prototype.limitX=function(a){var b=this.limits,c=isNaN(b.left)?null:b.left,b=isNaN(b.width)?0:b.width;return Math.min(null!=c?c+b:Infinity,Math.max(null!=c?c:-Infinity,a))};
goog.fx.Dragger.prototype.limitY=function(a){var b=this.limits,c=isNaN(b.top)?null:b.top,b=isNaN(b.height)?0:b.height;return Math.min(null!=c?c+b:Infinity,Math.max(null!=c?c:-Infinity,a))};goog.fx.Dragger.prototype.defaultAction=function(a,b){this.useRightPositioningForRtl_&&this.isRightToLeft_()?this.target.style.right=a+"px":this.target.style.left=a+"px";this.target.style.top=b+"px"};goog.fx.Dragger.prototype.isDragging=function(){return this.dragging_};
goog.fx.DragEvent=function(a,b,c,d,e,f,g,h){goog.events.Event.call(this,a);this.clientX=c;this.clientY=d;this.browserEvent=e;this.left=goog.isDef(f)?f:b.deltaX;this.top=goog.isDef(g)?g:b.deltaY;this.dragger=b;this.dragCanceled=!!h};goog.inherits(goog.fx.DragEvent,goog.events.Event);ol.control.ZOOMSLIDER_ANIMATION_DURATION=200;
ol.control.ZoomSlider=function(a){a=goog.isDef(a)?a:{};this.currentResolution_=void 0;this.direction_=ol.control.ZoomSlider.direction.VERTICAL;this.sliderInitialized_=!1;this.draggerListenerKeys_=null;a=goog.isDef(a.className)?a.className:"ol-zoomslider";a=goog.dom.createDom(goog.dom.TagName.DIV,a+" "+ol.css.CLASS_UNSELECTABLE,goog.dom.createDom(goog.dom.TagName.DIV,a+"-thumb "+ol.css.CLASS_UNSELECTABLE));this.dragger_=this.createDraggable_(a);goog.events.listen(a,[goog.events.EventType.TOUCHEND,
goog.events.EventType.CLICK],this.handleContainerClick_,!1,this);ol.control.Control.call(this,{element:a})};goog.inherits(ol.control.ZoomSlider,ol.control.Control);ol.control.ZoomSlider.direction={VERTICAL:0,HORIZONTAL:1};ol.control.ZoomSlider.prototype.setMap=function(a){ol.control.ZoomSlider.superClass_.setMap.call(this,a);goog.isNull(a)||a.render()};
ol.control.ZoomSlider.prototype.initSlider_=function(){var a=this.element,b=goog.dom.getFirstElementChild(a),a=goog.style.getContentBoxSize(a),c=goog.style.getBounds(b),d=goog.style.getMarginBox(b),e=goog.style.getBorderBox(b),b=a.width-d.left-d.right-e.left-e.right-c.width,c=a.height-d.top-d.bottom-e.top-e.bottom-c.height;a.width>a.height?(this.direction_=ol.control.ZoomSlider.direction.HORIZONTAL,a=new goog.math.Rect(0,0,b,0)):(this.direction_=ol.control.ZoomSlider.direction.VERTICAL,a=new goog.math.Rect(0,
0,0,c));this.dragger_.setLimits(a);this.sliderInitialized_=!0};ol.control.ZoomSlider.prototype.handleMapPostrender=function(a){goog.isNull(a.frameState)||(this.sliderInitialized_||this.initSlider_(),a=a.frameState.view2DState.resolution,a!==this.currentResolution_&&(this.currentResolution_=a,this.positionThumbForResolution_(a)))};ol.control.ZoomSlider.prototype.handleContainerClick_=function(a){};
ol.control.ZoomSlider.prototype.positionThumbForResolution_=function(a){a=this.amountForResolution_(a);var b=this.dragger_,c=goog.dom.getFirstElementChild(this.element);this.direction_==ol.control.ZoomSlider.direction.HORIZONTAL?goog.style.setPosition(c,b.limits.left+b.limits.width*a):goog.style.setPosition(c,b.limits.left,b.limits.top+b.limits.height*a)};
ol.control.ZoomSlider.prototype.amountDragged_=function(a){var b=this.dragger_.limits,c=0;return c=this.direction_===ol.control.ZoomSlider.direction.HORIZONTAL?(a.left-b.left)/b.width:(a.top-b.top)/b.height};ol.control.ZoomSlider.prototype.resolutionForAmount_=function(a){a=-1*(goog.math.clamp(a,0,1)-1);return this.getMap().getView().getView2D().getResolutionForValueFunction()(a)};
ol.control.ZoomSlider.prototype.amountForResolution_=function(a){return-1*(this.getMap().getView().getView2D().getValueForResolutionFunction()(a)-1)};
ol.control.ZoomSlider.prototype.handleSliderChange_=function(a){var b=this.getMap(),c=b.getView().getView2D();a.type===goog.fx.Dragger.EventType.DRAG?(a=this.amountDragged_(a),a=this.resolutionForAmount_(a),a!==this.currentResolution_&&(this.currentResolution_=a,c.setResolution(a))):(b.beforeRender(ol.animation.zoom({resolution:this.currentResolution_,duration:ol.control.ZOOMSLIDER_ANIMATION_DURATION,easing:ol.easing.easeOut})),a=c.constrainResolution(this.currentResolution_),c.setResolution(a))};
ol.control.ZoomSlider.prototype.createDraggable_=function(a){goog.isNull(this.draggerListenerKeys_)||(goog.array.forEach(this.draggerListenerKeys_,goog.events.unlistenByKey),this.draggerListenerKeys_=null);a=new goog.fx.Dragger(a.childNodes[0]);this.draggerListenerKeys_=[goog.events.listen(a,[goog.fx.Dragger.EventType.DRAG,goog.fx.Dragger.EventType.END],this.handleSliderChange_,void 0,this)];return a};ol.control.ZoomToExtent=function(a){a=goog.isDef(a)?a:{};this.extent_=goog.isDef(a.extent)?a.extent:null;var b=goog.isDef(a.className)?a.className:"ol-zoom-extent",b=goog.dom.createDom(goog.dom.TagName.DIV,{"class":b+" "+ol.css.CLASS_UNSELECTABLE}),c=goog.dom.createDom(goog.dom.TagName.A,{href:"#zoomExtent"});goog.dom.appendChild(b,c);goog.events.listen(b,[goog.events.EventType.TOUCHEND,goog.events.EventType.CLICK],this.handleZoomToExtent_,!1,this);ol.control.Control.call(this,{element:b,target:a.target})};
goog.inherits(ol.control.ZoomToExtent,ol.control.Control);ol.control.ZoomToExtent.prototype.handleZoomToExtent_=function(a){a.preventDefault();a=this.getMap();var b=a.getView().getView2D(),c=goog.isNull(this.extent_)?b.getProjection().getExtent():this.extent_;b.fitExtent(c,a.getSize())};ol.dom.InputProperty={VALUE:"value",VALUE_AS_NUMBER:"valueAsNumber",CHECKED:"checked"};
ol.dom.Input=function(a){ol.Object.call(this);this.target_=a;goog.events.listen(this.target_,goog.events.EventType.CHANGE,this.handleInputChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.dom.InputProperty.VALUE),this.handleValueChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.dom.InputProperty.VALUE_AS_NUMBER),this.handleValueAsNumberChanged_,!1,this);goog.events.listen(this,ol.Object.getChangeEventType(ol.dom.InputProperty.CHECKED),this.handleCheckedChanged_,
!1,this)};goog.inherits(ol.dom.Input,ol.Object);ol.dom.Input.prototype.getChecked=function(){return this.get(ol.dom.InputProperty.CHECKED)};goog.exportProperty(ol.dom.Input.prototype,"getChecked",ol.dom.Input.prototype.getChecked);ol.dom.Input.prototype.getValue=function(){return this.get(ol.dom.InputProperty.VALUE)};goog.exportProperty(ol.dom.Input.prototype,"getValue",ol.dom.Input.prototype.getValue);ol.dom.Input.prototype.getValueAsNumber=function(){return this.get(ol.dom.InputProperty.VALUE_AS_NUMBER)};
goog.exportProperty(ol.dom.Input.prototype,"getValueAsNumber",ol.dom.Input.prototype.getValueAsNumber);ol.dom.Input.prototype.setValue=function(a){this.set(ol.dom.InputProperty.VALUE,a)};goog.exportProperty(ol.dom.Input.prototype,"setValue",ol.dom.Input.prototype.setValue);ol.dom.Input.prototype.setValueAsNumber=function(a){this.set(ol.dom.InputProperty.VALUE_AS_NUMBER,a)};goog.exportProperty(ol.dom.Input.prototype,"setValueAsNumber",ol.dom.Input.prototype.setValueAsNumber);
ol.dom.Input.prototype.setChecked=function(a){this.set(ol.dom.InputProperty.CHECKED,a)};goog.exportProperty(ol.dom.Input.prototype,"setChecked",ol.dom.Input.prototype.setChecked);ol.dom.Input.prototype.handleInputChanged_=function(){"checkbox"===this.target_.type||"radio"===this.target_.type?this.setChecked(this.target_.checked):(this.setValue(this.target_.value),this.setValueAsNumber(this.target_.valueAsNumber))};
ol.dom.Input.prototype.handleCheckedChanged_=function(){this.target_.checked=this.getChecked()?"checked":void 0};ol.dom.Input.prototype.handleValueChanged_=function(){this.target_.value=this.getValue()};ol.dom.Input.prototype.handleValueAsNumberChanged_=function(){this.target_.value=this.getValueAsNumber()};ol.ellipsoid={};ol.ellipsoid.BESSEL1841=new ol.Ellipsoid(6377397.155,1/299.15281285);ol.ellipsoid.WGS84=new ol.Ellipsoid(6378137,1/298.257223563);ol.geom.GeometryCollection=function(a){ol.geom.AbstractCollection.call(this);this.components=a;for(var b=0,c=0,d=a.length;c<d;++c)goog.isDef(b)&&(b=a[c].dimension);this.dimension=b};goog.inherits(ol.geom.GeometryCollection,ol.geom.AbstractCollection);ol.geom.GeometryCollection.prototype.getType=function(){return ol.geom.GeometryType.GEOMETRYCOLLECTION};goog.math.Vec2=function(a,b){this.x=a;this.y=b};goog.inherits(goog.math.Vec2,goog.math.Coordinate);goog.math.Vec2.randomUnit=function(){var a=2*Math.random()*Math.PI;return new goog.math.Vec2(Math.cos(a),Math.sin(a))};goog.math.Vec2.random=function(){var a=Math.sqrt(Math.random()),b=2*Math.random()*Math.PI;return new goog.math.Vec2(Math.cos(b)*a,Math.sin(b)*a)};goog.math.Vec2.fromCoordinate=function(a){return new goog.math.Vec2(a.x,a.y)};
goog.math.Vec2.prototype.clone=function(){return new goog.math.Vec2(this.x,this.y)};goog.math.Vec2.prototype.magnitude=function(){return Math.sqrt(this.x*this.x+this.y*this.y)};goog.math.Vec2.prototype.squaredMagnitude=function(){return this.x*this.x+this.y*this.y};goog.math.Vec2.prototype.scale=goog.math.Coordinate.prototype.scale;goog.math.Vec2.prototype.invert=function(){this.x=-this.x;this.y=-this.y;return this};goog.math.Vec2.prototype.normalize=function(){return this.scale(1/this.magnitude())};
goog.math.Vec2.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};goog.math.Vec2.prototype.subtract=function(a){this.x-=a.x;this.y-=a.y;return this};goog.math.Vec2.prototype.rotate=function(a){var b=Math.cos(a);a=Math.sin(a);var c=this.y*b+this.x*a;this.x=this.x*b-this.y*a;this.y=c;return this};goog.math.Vec2.rotateAroundPoint=function(a,b,c){return a.clone().subtract(b).rotate(c).add(b)};goog.math.Vec2.prototype.equals=function(a){return this==a||!!a&&this.x==a.x&&this.y==a.y};
goog.math.Vec2.distance=goog.math.Coordinate.distance;goog.math.Vec2.squaredDistance=goog.math.Coordinate.squaredDistance;goog.math.Vec2.equals=goog.math.Coordinate.equals;goog.math.Vec2.sum=function(a,b){return new goog.math.Vec2(a.x+b.x,a.y+b.y)};goog.math.Vec2.difference=function(a,b){return new goog.math.Vec2(a.x-b.x,a.y-b.y)};goog.math.Vec2.dot=function(a,b){return a.x*b.x+a.y*b.y};
goog.math.Vec2.lerp=function(a,b,c){return new goog.math.Vec2(goog.math.lerp(a.x,b.x,c),goog.math.lerp(a.y,b.y,c))};ol.interaction.DRAGROTATEANDZOOM_ANIMATION_DURATION=400;ol.interaction.DragRotateAndZoom=function(a){a=goog.isDef(a)?a:{};ol.interaction.Drag.call(this);this.condition_=goog.isDef(a.condition)?a.condition:ol.interaction.condition.shiftKeyOnly;this.lastMagnitude_=this.lastAngle_=void 0;this.lastScaleDelta_=0};goog.inherits(ol.interaction.DragRotateAndZoom,ol.interaction.Drag);
ol.interaction.DragRotateAndZoom.prototype.handleDrag=function(a){var b=a.browserEvent;a=a.map;var c=a.getSize(),c=new goog.math.Vec2(b.offsetX-c[0]/2,c[1]/2-b.offsetY),b=Math.atan2(c.y,c.x),c=c.magnitude(),d=a.getView().getView2D(),e=d.getView2DState();a.requestRenderFrame();goog.isDef(this.lastAngle_)&&ol.interaction.Interaction.rotateWithoutConstraints(a,d,e.rotation-(b-this.lastAngle_));this.lastAngle_=b;goog.isDef(this.lastMagnitude_)&&ol.interaction.Interaction.zoomWithoutConstraints(a,d,this.lastMagnitude_*
(e.resolution/c));goog.isDef(this.lastMagnitude_)&&(this.lastScaleDelta_=this.lastMagnitude_/c);this.lastMagnitude_=c};ol.interaction.DragRotateAndZoom.prototype.handleDragEnd=function(a){var b=a.map,c=b.getView().getView2D(),d=c.getView2DState(),e=this.lastScaleDelta_-1;b.withFrozenRendering(function(){ol.interaction.Interaction.rotate(b,c,d.rotation);ol.interaction.Interaction.zoom(b,c,d.resolution,void 0,ol.interaction.DRAGROTATEANDZOOM_ANIMATION_DURATION,e)});this.lastScaleDelta_=0;return!0};
ol.interaction.DragRotateAndZoom.prototype.handleDragStart=function(a){return this.condition_(a)?(this.lastMagnitude_=this.lastAngle_=void 0,!0):!1};ol.interaction.Modify=function(a){ol.interaction.Drag.call(this);a=goog.isDef(a)?a:{};this.layerFilter_=goog.isDef(a.layerFilter)?a.layerFilter:null;this.layers_=null;this.modifiable_=!1;this.pixelTolerance_=goog.isDef(a.pixelTolerance)?a.pixelTolerance:20;this.dragVertices_=null;this.interactingHint=0};goog.inherits(ol.interaction.Modify,ol.interaction.Drag);
ol.interaction.Modify.prototype.addIndex=function(a){var b=a.target;a=a.features;for(var c=0,d=a.length;c<d;++c){var e=a[c],f=e.getGeometry();if(f instanceof ol.geom.AbstractCollection)for(var g=0,h=f.components.length;g<h;++g)this.addSegments_(b,e,f.components[g],[[f.components,g]]);else this.addSegments_(b,e,f)}};
ol.interaction.Modify.prototype.addLayer=function(a){a=a.getSelectionData();var b=a.layer,c=b.getEditData();if(goog.isNull(c.rTree)){c.rTree=new ol.structs.RTree;var d=new ol.Feature;d.renderIntent=ol.layer.VectorLayerRenderIntent.HIDDEN;d.setGeometry(new ol.geom.Point([NaN,NaN]));b.addFeatures([d]);c.vertexFeature=d}this.addIndex({target:b,features:goog.object.getValues(a.selectedFeaturesByFeatureUid)});goog.events.listen(b,ol.layer.VectorLayerEventType.ADD,this.addIndex,!1,this);goog.events.listen(b,
ol.layer.VectorLayerEventType.REMOVE,this.removeIndex,!1,this)};
ol.interaction.Modify.prototype.addSegments_=function(a,b,c,d){var e=goog.getUid(b),f=a.getEditData().rTree,g,h;if(c instanceof ol.geom.Point)a=c.getCoordinates(),g=[[a,a],b,c,NaN],goog.isDef(d)&&g.push(d),f.insert(c.getBounds(),g,e);else if(c instanceof ol.geom.LineString||c instanceof ol.geom.LinearRing){h=c.getCoordinates();for(var k=0,l=h.length-1;k<l;++k)a=h.slice(k,k+2),g=[a,b,c,k],d&&g.push(d),f.insert(ol.extent.boundingExtent(a),g,e)}else if(c instanceof ol.geom.Polygon)for(d=0,e=c.rings.length;d<
e;++d)this.addSegments_(a,b,c.rings[d],[c.rings,d])};
ol.interaction.Modify.prototype.handleDragStart=function(a){this.dragVertices_=[];a=0;for(var b=this.layers_.length;a<b;++a){var c=this.layers_[a].getSelectionData().layer;if(!goog.isNull(c)){var d=c.getEditData(),e=d.vertexFeature;if(!goog.isNull(e)&&e.renderIntent!=ol.layer.VectorLayerRenderIntent.HIDDEN)for(var f=e.getGeometry().getCoordinates(),g=ol.extent.boundingExtent([f]),d=d.rTree.search(g),g=0,h=d.length;g<h;++g){var k=d[g],l=k[0];e.renderIntent==ol.layer.VectorLayerRenderIntent.TEMPORARY?
ol.coordinate.equals(l[0],f)?this.dragVertices_.push([c,k,0]):this.dragVertices_.push([c,k,1]):this.insertVertex_(c,k,f)}}}return this.modifiable_};
ol.interaction.Modify.prototype.handleDrag=function(a){a=a.getCoordinate();for(var b=0,c=this.dragVertices_.length;b<c;++b){var d=this.dragVertices_[b],e=d[0],f=d[1],g=f[1],h=f[2],d=d[2];h.set(f[3]+d,0,a[0]);h.set(f[3]+d,1,a[1]);g.getGeometry().invalidateBounds();var h=e.getEditData(),k=h.vertexFeature,l=k.getGeometry(),m=f[0];h.rTree.remove(ol.extent.boundingExtent(m),f);m[d]=a;l.set(0,a[0]);l.set(1,a[1]);h.rTree.insert(ol.extent.boundingExtent(m),f,goog.getUid(g));e.updateFeatures([g,k])}};
ol.interaction.Modify.prototype.handleMapBrowserEvent=function(a){a.map.getView().getHints()[ol.ViewHint.INTERACTING]||(this.getDragging()||a.type!=ol.MapBrowserEvent.EventType.MOUSEMOVE)||this.handleMouseMove_(a);ol.interaction.Modify.superClass_.handleMapBrowserEvent.call(this,a);return!this.modifiable_};
ol.interaction.Modify.prototype.handleMouseMove_=function(a){var b=a.map,c=goog.array.filter(b.getLayerGroup().getLayers().getArray(),this.ignoreTemporaryLayersFilter_);goog.isNull(this.layerFilter_)||(c=goog.array.filter(c,this.layerFilter_));this.layers_=c;var d=a.getPixel(),e=b.getCoordinateFromPixel(d);a=function(a,b){return ol.coordinate.closestOnSegment(e,a[0])[2]-ol.coordinate.closestOnSegment(e,b[0])[2]};var f=b.getCoordinateFromPixel([d[0]-this.pixelTolerance_,d[1]+this.pixelTolerance_]),
d=b.getCoordinateFromPixel([d[0]+this.pixelTolerance_,d[1]-this.pixelTolerance_]),f=ol.extent.boundingExtent([f,d]),g;this.modifiable_=!1;for(d=c.length-1;0<=d;--d){g=c[d];var h=g.getSelectionData().layer;if(!goog.isNull(h)){goog.isNull(goog.events.getListener(h,ol.layer.VectorLayerEventType.ADD,this.addIndex,!1,this))&&this.addLayer(g);var k=h.getEditData();g=k.vertexFeature;var k=k.rTree.search(f),l=ol.layer.VectorLayerRenderIntent.HIDDEN;if(0<k.length){k.sort(a);var k=k[0][0],m=g.getGeometry(),
n=ol.coordinate.closestOnSegment(e,k),l=b.getPixelFromCoordinate(n),q=b.getPixelFromCoordinate(k[0]),r=b.getPixelFromCoordinate(k[1]),q=ol.coordinate.squaredDistance(l,q),r=ol.coordinate.squaredDistance(l,r),p=Math.sqrt(Math.min(q,r)),l=ol.layer.VectorLayerRenderIntent.FUTURE;10>=p&&(n=q>r?k[1]:k[0],l=ol.layer.VectorLayerRenderIntent.TEMPORARY);m.set(0,n[0]);m.set(1,n[1]);h.updateFeatures([g]);this.modifiable_=!0}g.renderIntent!=l&&h.setRenderIntent(l,[g])}}};
ol.interaction.Modify.prototype.ignoreTemporaryLayersFilter_=function(a){return!(a instanceof ol.layer.Vector&&a.getTemporary())};
ol.interaction.Modify.prototype.insertVertex_=function(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=f.getCoordinates();h.splice(g+1,0,c);var k=f,f=new f.constructor(h),l;4<b.length?(l=b[4],l[0][l[1]]=f,e.getGeometry().invalidateBounds()):e.setGeometry(f);h=a.getEditData().rTree;h.remove(ol.extent.boundingExtent(d),b);b=goog.getUid(e);for(var m=h.search(f.getBounds(),b),n=0,q=m.length;n<q;++n){var r=m[n];r[2]===k&&(r[2]=f,r[3]>g&&++r[3])}k=[d[0],c];m=[k,e,f,g];goog.isDef(l)&&m.push(l);h.insert(ol.extent.boundingExtent(k),
m,b);this.dragVertices_.push([a,m,1]);k=[c,d[1]];m=[k,e,f,g+1];goog.isDef(l)&&m.push(l);h.insert(ol.extent.boundingExtent(k),m,b);this.dragVertices_.push([a,m,0])};ol.interaction.Modify.prototype.removeIndex=function(a){var b=a.target.getEditData().rTree;a=a.features;for(var c=0,d=a.length;c<d;++c)for(var e=a[c],e=b.search(e.getGeometry().getBounds(),goog.getUid(e)),f=e.length-1;0<=f;--f){var g=e[f];b.remove(ol.extent.boundingExtent(g[0]),g)}};ol.interaction.Select=function(a){a=goog.isDef(a)?a:{};this.condition_=goog.isDef(a.condition)?a.condition:ol.interaction.condition.clickOnly;this.layerFilter_=goog.isDef(a.layerFilter)?a.layerFilter:null;ol.interaction.Interaction.call(this)};goog.inherits(ol.interaction.Select,ol.interaction.Interaction);
ol.interaction.Select.prototype.addToSelectionData=function(a,b){var c=a.getSelectionData(),d=new ol.Feature(b.getAttributes());d.setGeometry(b.getGeometry().clone());d.setFeatureId(b.getFeatureId());d.setSymbolizers(b.getSymbolizers());d.renderIntent=ol.layer.VectorLayerRenderIntent.SELECTED;c.featuresBySelectedFeatureUid[goog.getUid(d)]=b;return c.selectedFeaturesByFeatureUid[goog.getUid(b)]=d};
ol.interaction.Select.prototype.handleMapBrowserEvent=function(a){if(this.condition_(a)){var b=a.map,c=b.getLayerGroup().getLayersArray();goog.isNull(this.layerFilter_)||(c=goog.array.filter(c,this.layerFilter_));var d=!ol.interaction.condition.shiftKeyOnly(a),e=this;b.getFeatures({layers:c,pixel:a.getPixel(),success:function(a){e.select(b,a,c,d)}})}return!0};
ol.interaction.Select.prototype.removeFromSelectionData=function(a,b){var c=a.getSelectionData(),d=goog.getUid(b),e=c.selectedFeaturesByFeatureUid,f=e[d];delete e[d];delete c.featuresBySelectedFeatureUid[goog.getUid(f)];return f};
ol.interaction.Select.prototype.select=function(a,b,c,d){for(var e=0,f=b.length;e<f;++e){var g=c[e],h=g.getSelectionData(),k=h.layer;goog.isNull(k)&&(k=new ol.layer.Vector({source:new ol.source.Vector({parser:null}),style:g instanceof ol.layer.Vector?g.getStyle():null}),k.setTemporary(!0),h.layer=k);-1==goog.array.indexOf(a.getLayers().getArray(),k)&&a.addLayer(k);var l=b[e],m=l.length,n=[],q=[],r=[],p=[],s=h.selectedFeaturesByFeatureUid,t=h.featuresBySelectedFeatureUid,h={};goog.object.extend(h,
s);var u;if(d)for(var w in t)u=t[w],r.push(u),p.push(this.removeFromSelectionData(g,u));for(var v=0;v<m;++v)u=l[v],t=goog.getUid(u),s[t]?(r.push(u),p.push(this.removeFromSelectionData(g,u))):t in h||(n.push(u),q.push(this.addToSelectionData(g,u)));goog.isFunction(g.setRenderIntent)&&(g.setRenderIntent(ol.layer.VectorLayerRenderIntent.HIDDEN,n),g.setRenderIntent(ol.layer.VectorLayerRenderIntent.DEFAULT,r));k.removeFeatures(p);k.addFeatures(q);0==goog.object.getCount(s)&&a.removeLayer(k)}};ol.parser={};ol.parser.DomFeatureParser=function(){};ol.parser.ObjectFeatureParser=function(){};ol.parser.StringFeatureParser=function(){};ol.parser.AsyncStringFeatureParser=function(){};ol.parser.AsyncObjectFeatureParser=function(){};goog.dom.xml={};goog.dom.xml.MAX_XML_SIZE_KB=2048;goog.dom.xml.MAX_ELEMENT_DEPTH=256;
goog.dom.xml.createDocument=function(a,b){if(b&&!a)throw Error("Can't create document with namespace and no root tag");if(document.implementation&&document.implementation.createDocument)return document.implementation.createDocument(b||"",a||"",null);if("undefined"!=typeof ActiveXObject){var c=goog.dom.xml.createMsXmlDocument_();if(c)return a&&c.appendChild(c.createNode(goog.dom.NodeType.ELEMENT,a,b||"")),c}throw Error("Your browser does not support creating new documents");};
goog.dom.xml.loadXml=function(a){if("undefined"!=typeof DOMParser)return(new DOMParser).parseFromString(a,"application/xml");if("undefined"!=typeof ActiveXObject){var b=goog.dom.xml.createMsXmlDocument_();b.loadXML(a);return b}throw Error("Your browser does not support loading xml documents");};
goog.dom.xml.serialize=function(a){if("undefined"!=typeof XMLSerializer)return(new XMLSerializer).serializeToString(a);if(a=a.xml)return a;throw Error("Your browser does not support serializing XML documents");};
goog.dom.xml.selectSingleNode=function(a,b){if("undefined"!=typeof a.selectSingleNode){var c=goog.dom.getOwnerDocument(a);"undefined"!=typeof c.setProperty&&c.setProperty("SelectionLanguage","XPath");return a.selectSingleNode(b)}if(document.implementation.hasFeature("XPath","3.0")){var c=goog.dom.getOwnerDocument(a),d=c.createNSResolver(c.documentElement);return c.evaluate(b,a,d,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}return null};
goog.dom.xml.selectNodes=function(a,b){if("undefined"!=typeof a.selectNodes){var c=goog.dom.getOwnerDocument(a);"undefined"!=typeof c.setProperty&&c.setProperty("SelectionLanguage","XPath");return a.selectNodes(b)}if(document.implementation.hasFeature("XPath","3.0")){for(var c=goog.dom.getOwnerDocument(a),d=c.createNSResolver(c.documentElement),c=c.evaluate(b,a,d,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),d=[],e=c.snapshotLength,f=0;f<e;f++)d.push(c.snapshotItem(f));return d}return[]};
goog.dom.xml.setAttributes=function(a,b){for(var c in b)b.hasOwnProperty(c)&&a.setAttribute(c,b[c])};goog.dom.xml.createMsXmlDocument_=function(){var a=new ActiveXObject("MSXML2.DOMDocument");if(a){a.resolveExternals=!1;a.validateOnParse=!1;try{a.setProperty("ProhibitDTD",!0),a.setProperty("MaxXMLSize",goog.dom.xml.MAX_XML_SIZE_KB),a.setProperty("MaxElementDepth",goog.dom.xml.MAX_ELEMENT_DEPTH)}catch(b){}}return a};ol.parser.Parser=function(){};ol.parser.XML=function(){goog.global.ActiveXObject&&(this.xmldom=new ActiveXObject("Microsoft.XMLDOM"));this.regExes={trimSpace:/^\s*|\s*$/g,removeSpace:/\s*/g,splitSpace:/\s+/,trimComma:/\s*,\s*/g}};goog.inherits(ol.parser.XML,ol.parser.Parser);ol.parser.XML.prototype.readNode=function(a,b){b||(b={});var c=this.readers[a.namespaceURI]||this.readers[this.defaultNamespaceURI];if(c){var d=a.localName||a.nodeName.split(":").pop();(c=c[d]||c["*"])&&c.apply(this,[a,b])}return b};
ol.parser.XML.prototype.readChildNodes=function(a,b){b||(b={});for(var c=a.childNodes,d,e=0,f=c.length;e<f;++e)d=c[e],1==d.nodeType&&this.readNode(d,b);return b};ol.parser.XML.prototype.getChildValue=function(a,b){var c=b||"";if(a)for(var d=a.firstChild;d;d=d.nextSibling)switch(d.nodeType){case 3:case 4:c+=d.nodeValue}return c};
ol.parser.XML.prototype.getAttributeNodeNS=function(a,b,c){var d=null;if(a.getAttributeNodeNS)d=a.getAttributeNodeNS(b,c);else{a=a.attributes;for(var e,f,g=0,h=a.length;g<h;++g)if(e=a[g],e.namespaceURI==b&&(f=e.prefix?e.prefix+":"+c:c,f==e.nodeName)){d=e;break}}return d};ol.parser.XML.prototype.getAttributeNS=function(a,b,c){var d="";if(a.getAttributeNS)d=a.getAttributeNS(b,c)||"";else if(a=this.getAttributeNodeNS(a,b,c))d=a.nodeValue;return d};
ol.parser.XML.prototype.createElementNS=function(a,b){var c=b?b:this.defaultNamespaceURI;return this.xmldom?this.xmldom.createNode(1,a,c):document.createElementNS(c,a)};ol.parser.XML.prototype.writeNode=function(a,b,c,d){var e=null;goog.isDef(this.writers)&&(e=this.writers[c?c:this.defaultNamespaceURI][a].apply(this,[b]),d&&e&&d.appendChild(e));return e};ol.parser.XML.prototype.createTextNode=function(a){return this.xmldom?this.xmldom.createTextNode(a):document.createTextNode(a)};
ol.parser.XML.prototype.setAttributeNS=function(a,b,c,d){if(a.setAttributeNS)a.setAttributeNS(b,c,d);else if(this.xmldom)b?(b=a.ownerDocument.createNode(2,c,b),b.nodeValue=d,a.setAttributeNode(b)):a.setAttribute(c,d);else throw Error("setAttributeNS not implemented");};ol.parser.XML.prototype.serialize=function(a){if(this.xmldom)return a.xml;if(1==a.nodeType){var b=document.implementation.createDocument("","",null);b.importNode?b.appendChild(b.importNode(a,!0)):b.appendChild(a);return goog.dom.xml.serialize(b)}return goog.dom.xml.serialize(a)};
ol.parser.XML.prototype.createDocumentFragment=function(){return this.xmldom?this.xmldom.createDocumentFragment():document.createDocumentFragment()};ol.parser.GPX=function(a){a=goog.isDef(a)?a:{};this.extractAttributes=goog.isDef(a.extractAttributes)?a.extractAttributes:!0;this.extractWaypoints=goog.isDef(a.extractWaypoints)?a.extractWaypoints:!0;this.extractTracks=goog.isDef(a.extractTracks)?a.extractTracks:!0;this.extractRoutes=goog.isDef(a.extractRoutes)?a.extractRoutes:!0;this.creator=goog.isDef(a.creator)?a.creator:"OpenLayers";this.defaultDesc=goog.isDef(a.defaultDesc)?a.defaultDesc:"No description available";this.defaultNamespaceURI="http://www.topografix.com/GPX/1/1";
this.schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd";this.readers={"http://www.topografix.com/GPX/1/1":{gpx:function(a,c){goog.isDef(c.features)||(c.features=[]);this.readChildNodes(a,c)},wpt:function(a,c){if(this.extractWaypoints){var d={},e=[parseFloat(a.getAttribute("lon")),parseFloat(a.getAttribute("lat"))];this.readChildNodes(a,d);var d=new ol.Feature(d),f;if(this.readFeaturesOptions_){var g=this.readFeaturesOptions_.callback;g&&(f=g(d,ol.geom.GeometryType.POINT))}e=
new ol.geom.Point(e,f);d.setGeometry(e);c.features.push(d)}},rte:function(a,c){if(this.extractRoutes||c.force){var d=ol.geom.GeometryType.LINESTRING,e={properties:{},geometry:{type:d,coordinates:[]}};this.readChildNodes(a,e);var f=new ol.Feature(e.properties),g;if(this.readFeaturesOptions_){var h=this.readFeaturesOptions_.callback;h&&(g=h(f,d))}d=new ol.geom.LineString(e.geometry.coordinates,g);f.setGeometry(d);c.features.push(f)}},rtept:function(a,c){var d=[parseFloat(a.getAttribute("lon")),parseFloat(a.getAttribute("lat"))];
c.geometry.coordinates.push(d)},trk:function(a,c){if(this.extractTracks){var d=this.readers[this.defaultNamespaceURI];c.force=!0;d.rte.apply(this,arguments)}},trkseg:function(a,c){this.readChildNodes(a,c)},trkpt:function(a,c){this.readers[this.defaultNamespaceURI].rtept.apply(this,arguments)},"*":function(a,c){if(!0===this.extractAttributes){var d=a.childNodes.length;1!==d&&2!==d||3!==a.firstChild.nodeType&&4!==a.firstChild.nodeType||this.readers[this.defaultNamespaceURI]._attribute.apply(this,arguments)}},
_attribute:function(a,c){var d=a.localName||a.nodeName.split(":").pop(),e=this.getChildValue(a);c.properties?c.properties[d]=e.replace(this.regExes.trimSpace,""):c[d]=e.replace(this.regExes.trimSpace,"")}}};this.readers["http://www.topografix.com/GPX/1/0"]=this.readers[this.defaultNamespaceURI];this.writers={"http://www.topografix.com/GPX/1/1":{_feature:function(a){var c=a.getGeometry();if(c instanceof ol.geom.Point)return this.writeNode("wpt",a);if(c instanceof ol.geom.LineString||c instanceof ol.geom.MultiLineString||
c instanceof ol.geom.Polygon)return this.writeNode("trk",a)},wpt:function(a){var c=this.createElementNS("wpt"),d=a.getGeometry().getCoordinates();c.setAttribute("lon",d[0]);c.setAttribute("lat",d[1]);d=a.getAttributes();a=d.name||goog.getUid(a).toString();this.writeNode("name",a,void 0,c);this.writeNode("desc",d.description||this.defaultDesc,void 0,c);return c},trk:function(a){var c=a.getAttributes(),d=this.createElementNS("trk"),e=c.name||goog.getUid(a).toString();this.writeNode("name",e,void 0,
d);this.writeNode("desc",c.description||this.defaultDesc,void 0,d);c=a.getGeometry();if(c instanceof ol.geom.LineString)this.writeNode("trkseg",a.getGeometry(),void 0,d);else if(c instanceof ol.geom.MultiLineString)for(a=0,e=c.components.length;a<e;++a)this.writeNode("trkseg",c.components[a],void 0,d);else if(c instanceof ol.geom.Polygon)for(a=0,e=c.rings.length;a<e;++a)this.writeNode("trkseg",c.rings[a],void 0,d);return d},trkseg:function(a){var c=this.createElementNS("trkseg");a=a.getCoordinates();
for(var d=0,e=a.length;d<e;++d)this.writeNode("trkpt",a[d],void 0,c);return c},trkpt:function(a){var c=this.createElementNS("trkpt");c.setAttribute("lon",a[0]);c.setAttribute("lat",a[1]);return c},metadata:function(a){var c=this.createElementNS("metadata");goog.isDef(a.name)&&this.writeNode("name",a.name,void 0,c);goog.isDef(a.desc)&&this.writeNode("desc",a.desc,void 0,c);goog.isDef(a.author)&&this.writeNode("author",a.author,void 0,c);return c},name:function(a){var c=this.createElementNS("name");
c.appendChild(this.createTextNode(a));return c},desc:function(a){var c=this.createElementNS("desc");c.appendChild(this.createTextNode(a));return c},author:function(a){var c=this.createElementNS("author");c.appendChild(this.createTextNode(a));return c}}};ol.parser.XML.call(this)};goog.inherits(ol.parser.GPX,ol.parser.XML);
ol.parser.GPX.prototype.read=function(a){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var b={metadata:{projection:"EPSG:4326"}};this.readNode(a,b);return b};ol.parser.GPX.prototype.readFeaturesFromString=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};ol.parser.GPX.prototype.readFeaturesFromNode=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};
ol.parser.GPX.prototype.readFeaturesFromObject=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};
ol.parser.GPX.prototype.write=function(a){var b=goog.isArray(a.features)?a.features:[a.features],c=this.createElementNS("gpx");c.setAttribute("version","1.1");c.setAttribute("creator",this.creator);this.setAttributeNS(c,"http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);goog.isDef(a.metadata)&&this.writeNode("metadata",a.metadata,void 0,c);a=0;for(var d=b.length;a<d;a++)this.writeNode("_feature",b[a],void 0,c);return this.serialize(c)};ol.parser.GeoJSON=function(){};goog.inherits(ol.parser.GeoJSON,ol.parser.Parser);goog.addSingletonGetter(ol.parser.GeoJSON);ol.parser.GeoJSON.prototype.read=function(a){a=JSON.parse(a);return this.parse_(a)};ol.parser.GeoJSON.read=function(a){return ol.parser.GeoJSON.getInstance().read(a)};ol.parser.GeoJSON.prototype.readFeaturesFromString=function(a,b){var c=JSON.parse(a);return this.parseAsFeatureCollection_(c,b)};
ol.parser.GeoJSON.prototype.readFeaturesFromObject=function(a,b){return this.parseAsFeatureCollection_(a,b)};ol.parser.GeoJSON.prototype.parse_=function(a,b){return"FeatureCollection"===a.type?this.parseFeatureCollection_(a,b):"Feature"===a.type?this.parseFeature_(a,b):"GeometryCollection"===a.type?this.parseGeometryCollection_(a,b):this.parseFeature_({type:"Feature",geometry:a},b).getGeometry()};
ol.parser.GeoJSON.prototype.parseAsFeatureCollection_=function(a,b){var c=this.parse_(a,b),d=[],e;if(c instanceof ol.Feature)d=[c];else if(c instanceof ol.geom.Geometry)e=new ol.Feature,e.setGeometry(c),d=[e];else if(goog.isArray(c))for(var f,g,h=0,k=c.length;h<k;++h)if(f=c[h],g=g||f instanceof ol.geom.Geometry)e=new ol.Feature,e.setGeometry(f),d[h]=e;else{d=c;break}c="EPSG:4326";goog.isDefAndNotNull(a.crs)&&(e=a.crs,"name"===e.type&&(c=e.properties.name));return{features:d,metadata:{projection:c}}};
ol.parser.GeoJSON.prototype.parseFeature_=function(a,b){var c=a.geometry,d=null,e=b||{},f=new ol.Feature(a.properties);goog.isDef(a.id)&&f.setFeatureId(a.id);if(c){var d=c.type,e=e.callback,g;e&&(g=e(f,ol.parser.GeoJSON.GeometryType[d]));switch(d){case "Point":d=this.parsePoint_(c,g);break;case "LineString":d=this.parseLineString_(c,g);break;case "Polygon":d=this.parsePolygon_(c,g);break;case "MultiPoint":d=this.parseMultiPoint_(c,g);break;case "MultiLineString":d=this.parseMultiLineString_(c,g);
break;case "MultiPolygon":d=this.parseMultiPolygon_(c,g);break;default:throw Error("Bad geometry type: "+d);}f.setGeometry(d)}return f};ol.parser.GeoJSON.prototype.parseFeatureCollection_=function(a,b){var c=a.features,d=c.length,e=Array(d),f;for(f=0;f<d;++f)e[f]=this.parseFeature_(c[f],b);return e};ol.parser.GeoJSON.prototype.parseGeometryCollection_=function(a,b){var c=a.geometries,d=c.length,e=Array(d),f;for(f=0;f<d;++f)e[f]=this.parse_(c[f],b);return e};
ol.parser.GeoJSON.prototype.parseLineString_=function(a,b){return new ol.geom.LineString(a.coordinates,b)};ol.parser.GeoJSON.prototype.parseMultiLineString_=function(a,b){return new ol.geom.MultiLineString(a.coordinates,b)};ol.parser.GeoJSON.prototype.parseMultiPoint_=function(a,b){return new ol.geom.MultiPoint(a.coordinates,b)};ol.parser.GeoJSON.prototype.parseMultiPolygon_=function(a,b){return new ol.geom.MultiPolygon(a.coordinates,b)};
ol.parser.GeoJSON.prototype.parsePoint_=function(a,b){return new ol.geom.Point(a.coordinates,b)};ol.parser.GeoJSON.prototype.parsePolygon_=function(a,b){return new ol.geom.Polygon(a.coordinates,b)};ol.parser.GeoJSON.prototype.encodeGeometry_=function(a){var b=a.getType();return{type:goog.object.findKey(ol.parser.GeoJSON.GeometryType,function(a,d){return a===b}),coordinates:a.getCoordinates()}};
ol.parser.GeoJSON.prototype.encodeGeometryCollection_=function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.encodeGeometry_(a.components[c]));return{type:"GeometryCollection",geometries:b}};ol.parser.GeoJSON.prototype.encodeFeatureCollection_=function(a){for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.encodeFeature_(a[c]));return{type:"FeatureCollection",features:b}};
ol.parser.GeoJSON.prototype.encodeFeature_=function(a){var b=a.getGeometry();a=a.getAttributes();return{type:"Feature",properties:goog.object.filter(a,function(a,b,e){return!(a instanceof ol.geom.Geometry)}),geometry:this.encodeGeometry_(b)}};
ol.parser.GeoJSON.prototype.encode_=function(a){var b;a instanceof ol.geom.GeometryCollection?b=this.encodeGeometryCollection_(a):a instanceof ol.geom.Geometry?b=this.encodeGeometry_(a):a instanceof ol.Feature?b=this.encodeFeature_(a):goog.isArray(a)&&(b=this.encodeFeatureCollection_(a));return JSON.stringify(b)};ol.parser.GeoJSON.write=function(a){return ol.parser.GeoJSON.getInstance().write(a)};ol.parser.GeoJSON.prototype.write=function(a){return this.encode_(a)};
ol.parser.GeoJSON.GeometryType={Point:ol.geom.GeometryType.POINT,LineString:ol.geom.GeometryType.LINESTRING,Polygon:ol.geom.GeometryType.POLYGON,MultiPoint:ol.geom.GeometryType.MULTIPOINT,MultiLineString:ol.geom.GeometryType.MULTILINESTRING,MultiPolygon:ol.geom.GeometryType.MULTIPOLYGON,GeometryCollection:ol.geom.GeometryType.GEOMETRYCOLLECTION};/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
goog.async.Deferred=function(a,b){this.sequence_=[];this.onCancelFunction_=a;this.defaultScope_=b||null;if(goog.async.Deferred.LONG_STACK_TRACES&&(this.constructorStack_=null,Error.captureStackTrace)){var c={stack:""};Error.captureStackTrace(c,goog.async.Deferred);"string"==typeof c.stack&&(this.constructorStack_=c.stack.replace(/^[^\n]*\n/,""))}};goog.async.Deferred.prototype.fired_=!1;goog.async.Deferred.prototype.hadError_=!1;goog.async.Deferred.prototype.blocked_=!1;
goog.async.Deferred.prototype.blocking_=!1;goog.async.Deferred.prototype.silentlyCanceled_=!1;goog.async.Deferred.prototype.branches_=0;goog.async.Deferred.STRICT_ERRORS=!1;goog.async.Deferred.LONG_STACK_TRACES=goog.DEBUG;
goog.async.Deferred.prototype.cancel=function(a){if(this.hasFired())this.result_ instanceof goog.async.Deferred&&this.result_.cancel();else{if(this.parent_){var b=this.parent_;delete this.parent_;a?b.cancel(a):b.branchCancel_()}this.onCancelFunction_?this.onCancelFunction_.call(this.defaultScope_,this):this.silentlyCanceled_=!0;this.hasFired()||this.errback(new goog.async.Deferred.CanceledError(this))}};goog.async.Deferred.prototype.branchCancel_=function(){this.branches_--;0>=this.branches_&&this.cancel()};
goog.async.Deferred.prototype.continue_=function(a,b){this.blocked_=!1;this.updateResult_(a,b)};goog.async.Deferred.prototype.updateResult_=function(a,b){this.fired_=!0;this.result_=b;this.hadError_=!a;this.fire_()};goog.async.Deferred.prototype.check_=function(){if(this.hasFired()){if(!this.silentlyCanceled_)throw new goog.async.Deferred.AlreadyCalledError(this);this.silentlyCanceled_=!1}};
goog.async.Deferred.prototype.callback=function(a){this.check_();this.assertNotDeferred_(a);this.updateResult_(!0,a)};goog.async.Deferred.prototype.errback=function(a){this.check_();this.assertNotDeferred_(a);this.makeStackTraceLong_(a);this.updateResult_(!1,a)};goog.async.Deferred.prototype.makeStackTraceLong_=function(a){goog.async.Deferred.LONG_STACK_TRACES&&(this.constructorStack_&&goog.isObject(a)&&a.stack&&/^[^\n]+(\n [^\n]+)+/.test(a.stack))&&(a.stack=a.stack+"\nDEFERRED OPERATION:\n"+this.constructorStack_)};
goog.async.Deferred.prototype.assertNotDeferred_=function(a){};goog.async.Deferred.prototype.addCallback=function(a,b){return this.addCallbacks(a,null,b)};goog.async.Deferred.prototype.addErrback=function(a,b){return this.addCallbacks(null,a,b)};goog.async.Deferred.prototype.addBoth=function(a,b){return this.addCallbacks(a,a,b)};goog.async.Deferred.prototype.addCallbacks=function(a,b,c){this.sequence_.push([a,b,c]);this.hasFired()&&this.fire_();return this};
goog.async.Deferred.prototype.chainDeferred=function(a){this.addCallbacks(a.callback,a.errback,a);return this};goog.async.Deferred.prototype.awaitDeferred=function(a){return this.addCallback(goog.bind(a.branch,a))};goog.async.Deferred.prototype.branch=function(a){var b=new goog.async.Deferred;this.chainDeferred(b);a&&(b.parent_=this,this.branches_++);return b};goog.async.Deferred.prototype.hasFired=function(){return this.fired_};
goog.async.Deferred.prototype.isError=function(a){return a instanceof Error};goog.async.Deferred.prototype.hasErrback_=function(){return goog.array.some(this.sequence_,function(a){return goog.isFunction(a[1])})};
goog.async.Deferred.prototype.fire_=function(){this.unhandledExceptionTimeoutId_&&(this.hasFired()&&this.hasErrback_())&&(goog.global.clearTimeout(this.unhandledExceptionTimeoutId_),delete this.unhandledExceptionTimeoutId_);this.parent_&&(this.parent_.branches_--,delete this.parent_);for(var a=this.result_,b=!1,c=!1;this.sequence_.length&&!this.blocked_;){var d=this.sequence_.shift(),e=d[0],f=d[1],d=d[2];if(e=this.hadError_?f:e)try{var g=e.call(d||this.defaultScope_,a);goog.isDef(g)&&(this.hadError_=
this.hadError_&&(g==a||this.isError(g)),this.result_=a=g);a instanceof goog.async.Deferred&&(this.blocked_=c=!0)}catch(h){a=h,this.hadError_=!0,this.makeStackTraceLong_(a),this.hasErrback_()||(b=!0)}}this.result_=a;c?(a.addCallbacks(goog.bind(this.continue_,this,!0),goog.bind(this.continue_,this,!1)),a.blocking_=!0):!goog.async.Deferred.STRICT_ERRORS||(!this.isError(a)||a instanceof goog.async.Deferred.CanceledError)||(b=this.hadError_=!0);b&&(this.unhandledExceptionTimeoutId_=goog.global.setTimeout(goog.functions.fail(a),
0))};goog.async.Deferred.succeed=function(a){var b=new goog.async.Deferred;b.callback(a);return b};goog.async.Deferred.fail=function(a){var b=new goog.async.Deferred;b.errback(a);return b};goog.async.Deferred.canceled=function(){var a=new goog.async.Deferred;a.cancel();return a};goog.async.Deferred.when=function(a,b,c){return a instanceof goog.async.Deferred?a.branch(!0).addCallback(b,c):goog.async.Deferred.succeed(a).addCallback(b,c)};
goog.async.Deferred.AlreadyCalledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.AlreadyCalledError,goog.debug.Error);goog.async.Deferred.AlreadyCalledError.prototype.message="Deferred has already fired";goog.async.Deferred.AlreadyCalledError.prototype.name="AlreadyCalledError";goog.async.Deferred.CanceledError=function(a){goog.debug.Error.call(this);this.deferred=a};goog.inherits(goog.async.Deferred.CanceledError,goog.debug.Error);
goog.async.Deferred.CanceledError.prototype.message="Deferred was canceled";goog.async.Deferred.CanceledError.prototype.name="CanceledError";goog.async.DeferredList=function(a,b,c,d,e,f){goog.async.Deferred.call(this,e,f);this.list_=a;this.deferredResults_=[];this.fireOnOneCallback_=!!b;this.fireOnOneErrback_=!!c;this.consumeErrors_=!!d;for(b=this.numFinished_=0;b<a.length;b++)a[b].addCallbacks(goog.bind(this.handleCallback_,this,b,!0),goog.bind(this.handleCallback_,this,b,!1));0!=a.length||this.fireOnOneCallback_||this.callback(this.deferredResults_)};goog.inherits(goog.async.DeferredList,goog.async.Deferred);
goog.async.DeferredList.prototype.handleCallback_=function(a,b,c){this.numFinished_++;this.deferredResults_[a]=[b,c];this.hasFired()||(this.fireOnOneCallback_&&b?this.callback([a,c]):this.fireOnOneErrback_&&!b?this.errback(c):this.numFinished_==this.list_.length&&this.callback(this.deferredResults_));this.consumeErrors_&&!b&&(c=null);return c};goog.async.DeferredList.prototype.errback=function(a){goog.async.DeferredList.superClass_.errback.call(this,a);for(a=0;a<this.list_.length;a++)this.list_[a].cancel()};
goog.async.DeferredList.gatherResults=function(a){return(new goog.async.DeferredList(a,!1,!0)).addCallback(function(a){for(var c=[],d=0;d<a.length;d++)c[d]=a[d][1];return c})};goog.date={};goog.i18n={};
goog.i18n.DateTimeSymbols_en_ISO={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, y MMMM dd","y MMMM d","y MMM d","yyyy-MM-dd"],TIMEFORMATS:["HH:mm:ss v",
"HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],AVAILABLEFORMATS:{Md:"M/d",MMMMd:"MMMM d",MMMd:"MMM d"},FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_af={ERAS:["v.C.","n.C."],ERANAMES:["voor Christus","na Christus"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januarie Februarie Maart April Mei Junie Julie Augustus September Oktober November Desember".split(" "),STANDALONEMONTHS:"Januarie Februarie Maart April Mei Junie Julie Augustus September Oktober November Desember".split(" "),SHORTMONTHS:"Jan Feb Mar Apr Mei Jun Jul Aug Sep Okt Nov Des".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr Mei Jun Jul Aug Sep Okt Nov Des".split(" "),
WEEKDAYS:"Sondag Maandag Dinsdag Woensdag Donderdag Vrydag Saterdag".split(" "),STANDALONEWEEKDAYS:"Sondag Maandag Dinsdag Woensdag Donderdag Vrydag Saterdag".split(" "),SHORTWEEKDAYS:"So Ma Di Wo Do Vr Sa".split(" "),STANDALONESHORTWEEKDAYS:"So Ma Di Wo Do Vr Sa".split(" "),NARROWWEEKDAYS:"SMDWDVS".split(""),STANDALONENARROWWEEKDAYS:"SMDWDVS".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1ste kwartaal","2de kwartaal","3de kwartaal","4de kwartaal"],AMPMS:["vm.","nm."],DATEFORMATS:["EEEE dd MMMM y",
"dd MMMM y","dd MMM y","y-MM-dd"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_am={ERAS:["\u12d3/\u12d3","\u12d3/\u121d"],ERANAMES:["\u12d3\u1218\u1270 \u12d3\u1208\u121d","\u12d3\u1218\u1270 \u121d\u1215\u1228\u1275"],NARROWMONTHS:"\u1303\u134c\u121b\u12a4\u121c\u1301\u1301\u12a6\u1234\u12a6\u1296\u12f2".split(""),STANDALONENARROWMONTHS:"\u1303\u134c\u121b\u12a4\u121c\u1301\u1301\u12a6\u1234\u12a6\u1296\u12f2".split(""),MONTHS:"\u1303\u1295\u12e9\u12c8\u122a \u134c\u1265\u1229\u12c8\u122a \u121b\u122d\u127d \u12a4\u1355\u122a\u120d \u121c\u12ed \u1301\u1295 \u1301\u120b\u12ed \u12a6\u1308\u1235\u1275 \u1234\u1355\u1274\u121d\u1260\u122d \u12a6\u12ad\u1270\u12cd\u1260\u122d \u1296\u126c\u121d\u1260\u122d \u12f2\u1234\u121d\u1260\u122d".split(" "),
STANDALONEMONTHS:"\u1303\u1295\u12e9\u12c8\u122a \u134c\u1265\u1229\u12c8\u122a \u121b\u122d\u127d \u12a4\u1355\u122a\u120d \u121c\u12ed \u1301\u1295 \u1301\u120b\u12ed \u12a6\u1308\u1235\u1275 \u1234\u1355\u1274\u121d\u1260\u122d \u12a6\u12ad\u1276\u1260\u122d \u1296\u126c\u121d\u1260\u122d \u12f2\u1234\u121d\u1260\u122d".split(" "),SHORTMONTHS:"\u1303\u1295\u12e9 \u134c\u1265\u1229 \u121b\u122d\u127d \u12a4\u1355\u122a \u121c\u12ed \u1301\u1295 \u1301\u120b\u12ed \u12a6\u1308\u1235 \u1234\u1355\u1274 \u12a6\u12ad\u1270 \u1296\u126c\u121d \u12f2\u1234\u121d".split(" "),
STANDALONESHORTMONTHS:"\u1303\u1295\u12e9 \u134c\u1265\u1229 \u121b\u122d\u127d \u12a4\u1355\u122a \u121c\u12ed \u1301\u1295 \u1301\u120b\u12ed \u12a6\u1308\u1235 \u1234\u1355\u1274 \u12a6\u12ad\u1276 \u1296\u126c\u121d \u12f2\u1234\u121d".split(" "),WEEKDAYS:"\u12a5\u1211\u12f5 \u1230\u129e \u121b\u12ad\u1230\u129e \u1228\u1261\u12d5 \u1210\u1219\u1235 \u12d3\u122d\u1265 \u1245\u12f3\u121c".split(" "),STANDALONEWEEKDAYS:"\u12a5\u1211\u12f5 \u1230\u129e \u121b\u12ad\u1230\u129e \u1228\u1261\u12d5 \u1210\u1219\u1235 \u12d3\u122d\u1265 \u1245\u12f3\u121c".split(" "),
SHORTWEEKDAYS:"\u12a5\u1211\u12f5 \u1230\u129e \u121b\u12ad\u1230 \u1228\u1261\u12d5 \u1210\u1219\u1235 \u12d3\u122d\u1265 \u1245\u12f3\u121c".split(" "),STANDALONESHORTWEEKDAYS:"\u12a5\u1211\u12f5 \u1230\u129e \u121b\u12ad\u1230 \u1228\u1261\u12d5 \u1210\u1219\u1235 \u12d3\u122d\u1265 \u1245\u12f3\u121c".split(" "),NARROWWEEKDAYS:"\u12a5\u1230\u121b\u1228\u1210\u12d3\u1245".split(""),STANDALONENARROWWEEKDAYS:"\u12a5\u1230\u121b\u1228\u1210\u12d3\u1245".split(""),SHORTQUARTERS:["\u1229\u12651","\u1229\u12652",
"\u1229\u12653","\u1229\u12654"],QUARTERS:["1\u129b\u12cd \u1229\u1265","\u1201\u1208\u1270\u129b\u12cd \u1229\u1265","3\u129b\u12cd \u1229\u1265","4\u129b\u12cd \u1229\u1265"],AMPMS:["\u1325\u12cb\u1275","\u12a8\u1230\u12d3\u1275"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","d MMM y","dd/MM/y"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_ar={ZERODIGIT:1632,ERAS:["\u0642.\u0645","\u0645"],ERANAMES:["\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f","\u0645\u064a\u0644\u0627\u062f\u064a"],NARROWMONTHS:"\u064a\u0641\u0645\u0623\u0648\u0646\u0644\u063a\u0633\u0643\u0628\u062f".split(""),STANDALONENARROWMONTHS:"\u064a\u0641\u0645\u0623\u0648\u0646\u0644\u063a\u0633\u0643\u0628\u062f".split(""),MONTHS:"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "),
STANDALONEMONTHS:"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "),SHORTMONTHS:"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "),
STANDALONESHORTMONTHS:"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "),WEEKDAYS:"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),
STANDALONEWEEKDAYS:"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),SHORTWEEKDAYS:"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),
STANDALONESHORTWEEKDAYS:"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),NARROWWEEKDAYS:"\u062d\u0646\u062b\u0631\u062e\u062c\u0633".split(""),STANDALONENARROWWEEKDAYS:"\u062d\u0646\u062b\u0631\u062e\u062c\u0633".split(""),SHORTQUARTERS:["\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644",
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639"],QUARTERS:["\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639"],AMPMS:["\u0635",
"\u0645"],DATEFORMATS:["EEEE\u060c d MMMM\u060c y","d MMMM\u060c y","dd\u200f/MM\u200f/y","d\u200f/M\u200f/y"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:5,WEEKENDRANGE:[4,5],FIRSTWEEKCUTOFFDAY:4};
goog.i18n.DateTimeSymbols_bg={ERAS:["\u043f\u0440. \u043d. \u0435.","\u043e\u0442 \u043d. \u0435."],ERANAMES:["\u043f\u0440.\u0425\u0440.","\u0441\u043b.\u0425\u0440."],NARROWMONTHS:"\u044f\u0444\u043c\u0430\u043c\u044e\u044e\u0430\u0441\u043e\u043d\u0434".split(""),STANDALONENARROWMONTHS:"\u044f\u0444\u043c\u0430\u043c\u044e\u044e\u0430\u0441\u043e\u043d\u0434".split(""),MONTHS:"\u044f\u043d\u0443\u0430\u0440\u0438 \u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438 \u043c\u0430\u0440\u0442 \u0430\u043f\u0440\u0438\u043b \u043c\u0430\u0439 \u044e\u043d\u0438 \u044e\u043b\u0438 \u0430\u0432\u0433\u0443\u0441\u0442 \u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438 \u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438 \u043d\u043e\u0435\u043c\u0432\u0440\u0438 \u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split(" "),
STANDALONEMONTHS:"\u044f\u043d\u0443\u0430\u0440\u0438 \u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438 \u043c\u0430\u0440\u0442 \u0430\u043f\u0440\u0438\u043b \u043c\u0430\u0439 \u044e\u043d\u0438 \u044e\u043b\u0438 \u0430\u0432\u0433\u0443\u0441\u0442 \u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438 \u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438 \u043d\u043e\u0435\u043c\u0432\u0440\u0438 \u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split(" "),SHORTMONTHS:"\u044f\u043d. \u0444\u0435\u0432\u0440. \u043c\u0430\u0440\u0442 \u0430\u043f\u0440. \u043c\u0430\u0439 \u044e\u043d\u0438 \u044e\u043b\u0438 \u0430\u0432\u0433. \u0441\u0435\u043f\u0442. \u043e\u043a\u0442. \u043d\u043e\u0435\u043c. \u0434\u0435\u043a.".split(" "),
STANDALONESHORTMONTHS:"\u044f\u043d. \u0444\u0435\u0432\u0440. \u043c\u0430\u0440\u0442 \u0430\u043f\u0440. \u043c\u0430\u0439 \u044e\u043d\u0438 \u044e\u043b\u0438 \u0430\u0432\u0433. \u0441\u0435\u043f\u0442. \u043e\u043a\u0442. \u043d\u043e\u0435\u043c. \u0434\u0435\u043a.".split(" "),WEEKDAYS:"\u043d\u0435\u0434\u0435\u043b\u044f \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a \u0432\u0442\u043e\u0440\u043d\u0438\u043a \u0441\u0440\u044f\u0434\u0430 \u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a \u043f\u0435\u0442\u044a\u043a \u0441\u044a\u0431\u043e\u0442\u0430".split(" "),
STANDALONEWEEKDAYS:"\u043d\u0435\u0434\u0435\u043b\u044f \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a \u0432\u0442\u043e\u0440\u043d\u0438\u043a \u0441\u0440\u044f\u0434\u0430 \u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a \u043f\u0435\u0442\u044a\u043a \u0441\u044a\u0431\u043e\u0442\u0430".split(" "),SHORTWEEKDAYS:"\u043d\u0434 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),STANDALONESHORTWEEKDAYS:"\u043d\u0434 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),
NARROWWEEKDAYS:"\u043d\u043f\u0432\u0441\u0447\u043f\u0441".split(""),STANDALONENARROWWEEKDAYS:"\u043d\u043f\u0432\u0441\u0447\u043f\u0441".split(""),SHORTQUARTERS:["I \u0442\u0440\u0438\u043c.","II \u0442\u0440\u0438\u043c.","III \u0442\u0440\u0438\u043c.","IV \u0442\u0440\u0438\u043c."],QUARTERS:["1-\u0432\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435","2-\u0440\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435","3-\u0442\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
"4-\u0442\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435"],AMPMS:["\u043f\u0440. \u043e\u0431.","\u0441\u043b. \u043e\u0431."],DATEFORMATS:["dd MMMM y, EEEE","dd MMMM y","dd.MM.y","dd.MM.yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1}, {0}","{1}, {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_bn={ZERODIGIT:2534,ERAS:["\u0996\u09c3\u09b7\u09cd\u099f\u09aa\u09c2\u09b0\u09cd\u09ac","\u0996\u09c3\u09b7\u09cd\u099f\u09be\u09ac\u09cd\u09a6"],ERANAMES:["\u0996\u09c3\u09b7\u09cd\u099f\u09aa\u09c2\u09b0\u09cd\u09ac","\u0996\u09c3\u09b7\u09cd\u099f\u09be\u09ac\u09cd\u09a6"],NARROWMONTHS:"\u099c\u09be \u09ab\u09c7 \u09ae\u09be \u098f \u09ae\u09c7 \u099c\u09c1\u09a8 \u099c\u09c1 \u0986 \u09b8\u09c7 \u0985 \u09a8 \u09a1\u09bf".split(" "),STANDALONENARROWMONTHS:"\u099c\u09be \u09ab\u09c7 \u09ae\u09be \u098f \u09ae\u09c7 \u099c\u09c1\u09a8 \u099c\u09c1 \u0986 \u09b8\u09c7 \u0985 \u09a8 \u09a1\u09bf".split(" "),
MONTHS:"\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ae\u09be\u09b0\u09cd\u099a \u098f\u09aa\u09cd\u09b0\u09bf\u09b2 \u09ae\u09c7 \u099c\u09c1\u09a8 \u099c\u09c1\u09b2\u09be\u0987 \u0986\u0997\u09b8\u09cd\u099f \u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0 \u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0 \u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0 \u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split(" "),STANDALONEMONTHS:"\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ae\u09be\u09b0\u09cd\u099a \u098f\u09aa\u09cd\u09b0\u09bf\u09b2 \u09ae\u09c7 \u099c\u09c1\u09a8 \u099c\u09c1\u09b2\u09be\u0987 \u0986\u0997\u09b8\u09cd\u099f \u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0 \u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0 \u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0 \u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split(" "),
SHORTMONTHS:"\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ae\u09be\u09b0\u09cd\u099a \u098f\u09aa\u09cd\u09b0\u09bf\u09b2 \u09ae\u09c7 \u099c\u09c1\u09a8 \u099c\u09c1\u09b2\u09be\u0987 \u0986\u0997\u09b8\u09cd\u099f \u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0 \u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0 \u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0 \u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split(" "),
STANDALONESHORTMONTHS:"\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0 \u09ae\u09be\u09b0\u09cd\u099a \u098f\u09aa\u09cd\u09b0\u09bf\u09b2 \u09ae\u09c7 \u099c\u09c1\u09a8 \u099c\u09c1\u09b2\u09be\u0987 \u0986\u0997\u09b8\u09cd\u099f \u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0 \u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0 \u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0 \u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split(" "),
WEEKDAYS:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0 \u09b8\u09cb\u09ae\u09ac\u09be\u09b0 \u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0 \u09ac\u09c1\u09a7\u09ac\u09be\u09b0 \u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0 \u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0 \u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split(" "),STANDALONEWEEKDAYS:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0 \u09b8\u09cb\u09ae\u09ac\u09be\u09b0 \u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0 \u09ac\u09c1\u09a7\u09ac\u09be\u09b0 \u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0 \u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0 \u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split(" "),
SHORTWEEKDAYS:"\u09b0\u09ac\u09bf \u09b8\u09cb\u09ae \u09ae\u0999\u09cd\u0997\u09b2 \u09ac\u09c1\u09a7 \u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf \u09b6\u09c1\u0995\u09cd\u09b0 \u09b6\u09a8\u09bf".split(" "),STANDALONESHORTWEEKDAYS:"\u09b0\u09ac\u09bf \u09b8\u09cb\u09ae \u09ae\u0999\u09cd\u0997\u09b2 \u09ac\u09c1\u09a7 \u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf \u09b6\u09c1\u0995\u09cd\u09b0 \u09b6\u09a8\u09bf".split(" "),NARROWWEEKDAYS:"\u09b0 \u09b8\u09cb \u09ae \u09ac\u09c1 \u09ac\u09c3 \u09b6\u09c1 \u09b6".split(" "),
STANDALONENARROWWEEKDAYS:"\u09b0 \u09b8\u09cb \u09ae \u09ac\u09c1 \u09ac\u09c3 \u09b6\u09c1 \u09b6".split(" "),SHORTQUARTERS:["\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e7","\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e8","\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e9","\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09ea"],QUARTERS:["\u09aa\u09cd\u09b0\u09a5\u09ae \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6","\u09a6\u09cd\u09ac\u09bf\u09a4\u09c0\u09af\u09bc \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6",
"\u09a4\u09c3\u09a4\u09c0\u09af\u09bc \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6","\u099a\u09a4\u09c1\u09b0\u09cd\u09a5 \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6"],AMPMS:["am","pm"],DATEFORMATS:["EEEE, d MMMM, y","d MMMM, y","d MMM, y","d/M/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:4,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_br={ERAS:["BCE","CE"],ERANAMES:["BCE","CE"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"Genver C\u02bchwevrer Meurzh Ebrel Mae Mezheven Gouere Eost Gwengolo Here Du Kerzu".split(" "),STANDALONEMONTHS:"Genver C\u02bchwevrer Meurzh Ebrel Mae Mezheven Gouere Eost Gwengolo Here Du Kerzu".split(" "),SHORTMONTHS:"Gen C\u02bchwe Meur Ebr Mae Mezh Goue Eost Gwen Here Du Ker".split(" "),STANDALONESHORTMONTHS:"Gen C\u02bchwe Meur Ebr Mae Mezh Goue Eost Gwen Here Du Ker".split(" "),
WEEKDAYS:"Sul Lun Meurzh Merc\u02bcher Yaou Gwener Sadorn".split(" "),STANDALONEWEEKDAYS:"Sul Lun Meurzh Merc\u02bcher Yaou Gwener Sadorn".split(" "),SHORTWEEKDAYS:"sul lun meu. mer. yaou gwe. sad.".split(" "),STANDALONESHORTWEEKDAYS:"sul lun meu. mer. yaou gwe. sad.".split(" "),NARROWWEEKDAYS:"su lu mz mc ya gw sa".split(" "),STANDALONENARROWWEEKDAYS:"su lu mz mc ya gw sa".split(" "),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Q1","Q2","Q3","Q4"],AMPMS:["AM","PM"],DATEFORMATS:["y MMMM d, EEEE",
"y MMMM d","y MMM d","y-MM-dd"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_ca={ERAS:["aC","dC"],ERANAMES:["abans de Crist","despr\u00e9s de Crist"],NARROWMONTHS:"GFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"gfmamjjasond".split(""),MONTHS:"de gener;de febrer;de mar\u00e7;d\u2019abril;de maig;de juny;de juliol;d\u2019agost;de setembre;d\u2019octubre;de novembre;de desembre".split(";"),STANDALONEMONTHS:"gener febrer mar\u00e7 abril maig juny juliol agost setembre octubre novembre desembre".split(" "),SHORTMONTHS:"de gen.;de febr.;de mar\u00e7;d\u2019abr.;de maig;de juny;de jul.;d\u2019ag.;de set.;d\u2019oct.;de nov.;de des.".split(";"),
STANDALONESHORTMONTHS:"gen. febr. mar\u00e7 abr. maig juny jul. ag. set. oct. nov. des.".split(" "),WEEKDAYS:"diumenge dilluns dimarts dimecres dijous divendres dissabte".split(" "),STANDALONEWEEKDAYS:"Diumenge Dilluns Dimarts Dimecres Dijous Divendres Dissabte".split(" "),SHORTWEEKDAYS:"dg. dl. dt. dc. dj. dv. ds.".split(" "),STANDALONESHORTWEEKDAYS:"dg dl dt dc dj dv ds".split(" "),NARROWWEEKDAYS:"dg dl dt dc dj dv ds".split(" "),STANDALONENARROWWEEKDAYS:"dg dl dt dc dj dv ds".split(" "),SHORTQUARTERS:["1T",
"2T","3T","4T"],QUARTERS:["1r trimestre","2n trimestre","3r trimestre","4t trimestre"],AMPMS:["a.m.","p.m."],DATEFORMATS:["EEEE d MMMM 'de' y","d MMMM 'de' y","dd/MM/y","dd/MM/yy"],TIMEFORMATS:["H.mm.ss zzzz","H.mm.ss z","H.mm.ss","H.mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_chr={ERAS:["\u13a4\u13d3\u13b7\u13b8","\u13a4\u13b6\u13d0\u13c5"],ERANAMES:["\u13cf \u13e5\u13cc \u13be\u13d5\u13b2\u13cd\u13ac\u13be","\u13a0\u13a9\u13c3\u13ae\u13b5\u13d3\u13cd\u13d7\u13f1 \u13a0\u13d5\u13d8\u13f1\u13cd\u13ac \u13f1\u13b0\u13e9 \u13e7\u13d3\u13c2\u13b8\u13a2\u13cd\u13d7"],NARROWMONTHS:"\u13a4\u13a7\u13a0\u13a7\u13a0\u13d5\u13ab\u13a6\u13da\u13da\u13c5\u13a4".split(""),STANDALONENARROWMONTHS:"\u13a4\u13a7\u13a0\u13a7\u13a0\u13d5\u13ab\u13a6\u13da\u13da\u13c5\u13a4".split(""),
MONTHS:"\u13a4\u13c3\u13b8\u13d4\u13c5 \u13a7\u13a6\u13b5 \u13a0\u13c5\u13f1 \u13a7\u13ec\u13c2 \u13a0\u13c2\u13cd\u13ac\u13d8 \u13d5\u13ad\u13b7\u13f1 \u13ab\u13f0\u13c9\u13c2 \u13a6\u13b6\u13c2 \u13da\u13b5\u13cd\u13d7 \u13da\u13c2\u13c5\u13d7 \u13c5\u13d3\u13d5\u13c6 \u13a4\u13cd\u13a9\u13f1".split(" "),STANDALONEMONTHS:"\u13a4\u13c3\u13b8\u13d4\u13c5 \u13a7\u13a6\u13b5 \u13a0\u13c5\u13f1 \u13a7\u13ec\u13c2 \u13a0\u13c2\u13cd\u13ac\u13d8 \u13d5\u13ad\u13b7\u13f1 \u13ab\u13f0\u13c9\u13c2 \u13a6\u13b6\u13c2 \u13da\u13b5\u13cd\u13d7 \u13da\u13c2\u13c5\u13d7 \u13c5\u13d3\u13d5\u13c6 \u13a4\u13cd\u13a9\u13f1".split(" "),
SHORTMONTHS:"\u13a4\u13c3 \u13a7\u13a6 \u13a0\u13c5 \u13a7\u13ec \u13a0\u13c2 \u13d5\u13ad \u13ab\u13f0 \u13a6\u13b6 \u13da\u13b5 \u13da\u13c2 \u13c5\u13d3 \u13a4\u13cd".split(" "),STANDALONESHORTMONTHS:"\u13a4\u13c3 \u13a7\u13a6 \u13a0\u13c5 \u13a7\u13ec \u13a0\u13c2 \u13d5\u13ad \u13ab\u13f0 \u13a6\u13b6 \u13da\u13b5 \u13da\u13c2 \u13c5\u13d3 \u13a4\u13cd".split(" "),WEEKDAYS:"\u13a4\u13be\u13d9\u13d3\u13c6\u13cd\u13ac \u13a4\u13be\u13d9\u13d3\u13c9\u13c5\u13af \u13d4\u13b5\u13c1\u13a2\u13a6 \u13e6\u13a2\u13c1\u13a2\u13a6 \u13c5\u13a9\u13c1\u13a2\u13a6 \u13e7\u13be\u13a9\u13b6\u13cd\u13d7 \u13a4\u13be\u13d9\u13d3\u13c8\u13d5\u13be".split(" "),
STANDALONEWEEKDAYS:"\u13a4\u13be\u13d9\u13d3\u13c6\u13cd\u13ac \u13a4\u13be\u13d9\u13d3\u13c9\u13c5\u13af \u13d4\u13b5\u13c1\u13a2\u13a6 \u13e6\u13a2\u13c1\u13a2\u13a6 \u13c5\u13a9\u13c1\u13a2\u13a6 \u13e7\u13be\u13a9\u13b6\u13cd\u13d7 \u13a4\u13be\u13d9\u13d3\u13c8\u13d5\u13be".split(" "),SHORTWEEKDAYS:"\u13c6\u13cd\u13ac \u13c9\u13c5\u13af \u13d4\u13b5\u13c1 \u13e6\u13a2\u13c1 \u13c5\u13a9\u13c1 \u13e7\u13be\u13a9 \u13c8\u13d5\u13be".split(" "),STANDALONESHORTWEEKDAYS:"\u13c6\u13cd\u13ac \u13c9\u13c5\u13af \u13d4\u13b5\u13c1 \u13e6\u13a2\u13c1 \u13c5\u13a9\u13c1 \u13e7\u13be\u13a9 \u13c8\u13d5\u13be".split(" "),
NARROWWEEKDAYS:"\u13c6\u13c9\u13d4\u13e6\u13c5\u13e7\u13a4".split(""),STANDALONENARROWWEEKDAYS:"\u13c6\u13c9\u13d4\u13e6\u13c5\u13e7\u13a4".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Q1","Q2","Q3","Q4"],AMPMS:["\u13cc\u13be\u13b4","\u13d2\u13af\u13f1\u13a2\u13d7\u13e2"],DATEFORMATS:["EEEE, MMMM d, y","MMMM d, y","MMM d, y","M/d/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,
6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_cs={ERAS:["p\u0159. n. l.","n. l."],ERANAMES:["p\u0159. n. l.","n. l."],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"l\u00fabdk\u010d\u010dsz\u0159lp".split(""),MONTHS:"ledna \u00fanora b\u0159ezna dubna kv\u011btna \u010dervna \u010dervence srpna z\u00e1\u0159\u00ed \u0159\u00edjna listopadu prosince".split(" "),STANDALONEMONTHS:"leden \u00fanor b\u0159ezen duben kv\u011bten \u010derven \u010dervenec srpen z\u00e1\u0159\u00ed \u0159\u00edjen listopad prosinec".split(" "),SHORTMONTHS:"led \u00fano b\u0159e dub kv\u011b \u010dvn \u010dvc srp z\u00e1\u0159 \u0159\u00edj lis pro".split(" "),
STANDALONESHORTMONTHS:"led \u00fano b\u0159e dub kv\u011b \u010dvn \u010dvc srp z\u00e1\u0159 \u0159\u00edj lis pro".split(" "),WEEKDAYS:"ned\u011ble pond\u011bl\u00ed \u00fater\u00fd st\u0159eda \u010dtvrtek p\u00e1tek sobota".split(" "),STANDALONEWEEKDAYS:"ned\u011ble pond\u011bl\u00ed \u00fater\u00fd st\u0159eda \u010dtvrtek p\u00e1tek sobota".split(" "),SHORTWEEKDAYS:"ne po \u00fat st \u010dt p\u00e1 so".split(" "),STANDALONESHORTWEEKDAYS:"ne po \u00fat st \u010dt p\u00e1 so".split(" "),NARROWWEEKDAYS:"NP\u00daS\u010cPS".split(""),
STANDALONENARROWWEEKDAYS:"NP\u00daS\u010cPS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1. \u010dtvrtlet\u00ed","2. \u010dtvrtlet\u00ed","3. \u010dtvrtlet\u00ed","4. \u010dtvrtlet\u00ed"],AMPMS:["dop.","odp."],DATEFORMATS:["EEEE, d. MMMM y","d. MMMM y","d. M. y","dd.MM.yy"],TIMEFORMATS:["H:mm:ss zzzz","H:mm:ss z","H:mm:ss","H:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_cy={ERAS:["CC","OC"],ERANAMES:["Cyn Crist","Oed Crist"],NARROWMONTHS:"I Ch M E M M G A M H T Rh".split(" "),STANDALONENARROWMONTHS:"I Ch M E M M G A M H T Rh".split(" "),MONTHS:"Ionawr Chwefror Mawrth Ebrill Mai Mehefin Gorffennaf Awst Medi Hydref Tachwedd Rhagfyr".split(" "),STANDALONEMONTHS:"Ionawr Chwefror Mawrth Ebrill Mai Mehefin Gorffennaf Awst Medi Hydref Tachwedd Rhagfyr".split(" "),SHORTMONTHS:"Ion Chwef Mawrth Ebrill Mai Meh Gorff Awst Medi Hyd Tach Rhag".split(" "),
STANDALONESHORTMONTHS:"Ion Chw Maw Ebr Mai Meh Gor Awst Medi Hyd Tach Rhag".split(" "),WEEKDAYS:"Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn".split(";"),STANDALONEWEEKDAYS:"Dydd Sul;Dydd Llun;Dydd Mawrth;Dydd Mercher;Dydd Iau;Dydd Gwener;Dydd Sadwrn".split(";"),SHORTWEEKDAYS:"Sul Llun Maw Mer Iau Gwen Sad".split(" "),STANDALONESHORTWEEKDAYS:"Sul Llun Maw Mer Iau Gwe Sad".split(" "),NARROWWEEKDAYS:"S Ll M M I G S".split(" "),STANDALONENARROWWEEKDAYS:"S Ll M M I G S".split(" "),
SHORTQUARTERS:["Ch1","Ch2","Ch3","Ch4"],QUARTERS:["Chwarter 1af","2il chwarter","3ydd chwarter","4ydd chwarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","d MMM y","dd/MM/y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_da={ERAS:["f.Kr.","e.Kr."],ERANAMES:["f.Kr.","e.Kr."],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"januar februar marts april maj juni juli august september oktober november december".split(" "),STANDALONEMONTHS:"januar februar marts april maj juni juli august september oktober november december".split(" "),SHORTMONTHS:"jan. feb. mar. apr. maj jun. jul. aug. sep. okt. nov. dec.".split(" "),STANDALONESHORTMONTHS:"jan feb mar apr maj jun jul aug sep okt nov dec".split(" "),
WEEKDAYS:"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),STANDALONEWEEKDAYS:"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),SHORTWEEKDAYS:"s\u00f8n. man. tir. ons. tor. fre. l\u00f8r.".split(" "),STANDALONESHORTWEEKDAYS:"s\u00f8n man tir ons tor fre l\u00f8r".split(" "),NARROWWEEKDAYS:"SMTOTFL".split(""),STANDALONENARROWWEEKDAYS:"SMTOTFL".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],
AMPMS:["AM","PM"],DATEFORMATS:["EEEE 'den' d. MMMM y","d. MMM y","dd/MM/y","dd/MM/yy"],TIMEFORMATS:["HH.mm.ss zzzz","HH.mm.ss z","HH.mm.ss","HH.mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_de={ERAS:["v. Chr.","n. Chr."],ERANAMES:["v. Chr.","n. Chr."],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januar Februar M\u00e4rz April Mai Juni Juli August September Oktober November Dezember".split(" "),STANDALONEMONTHS:"Januar Februar M\u00e4rz April Mai Juni Juli August September Oktober November Dezember".split(" "),SHORTMONTHS:"Jan. Feb. M\u00e4r. Apr. Mai Juni Juli Aug. Sep. Okt. Nov. Dez.".split(" "),STANDALONESHORTMONTHS:"Jan Feb M\u00e4r Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),
WEEKDAYS:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),STANDALONEWEEKDAYS:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),SHORTWEEKDAYS:"So. Mo. Di. Mi. Do. Fr. Sa.".split(" "),STANDALONESHORTWEEKDAYS:"So Mo Di Mi Do Fr Sa".split(" "),NARROWWEEKDAYS:"SMDMDFS".split(""),STANDALONENARROWWEEKDAYS:"SMDMDFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],AMPMS:["vorm.","nachm."],DATEFORMATS:["EEEE, d. MMMM y",
"d. MMMM y","dd.MM.y","dd.MM.yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_de_AT={ERAS:["v. Chr.","n. Chr."],ERANAMES:["v. Chr.","n. Chr."],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"J\u00e4nner Februar M\u00e4rz April Mai Juni Juli August September Oktober November Dezember".split(" "),STANDALONEMONTHS:"Januar Februar M\u00e4rz April Mai Juni Juli August September Oktober November Dezember".split(" "),SHORTMONTHS:"J\u00e4n Feb. M\u00e4r. Apr. Mai Juni Juli Aug. Sep. Okt. Nov. Dez.".split(" "),
STANDALONESHORTMONTHS:"J\u00e4n Feb M\u00e4r Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),WEEKDAYS:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),STANDALONEWEEKDAYS:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),SHORTWEEKDAYS:"So. Mo. Di. Mi. Do. Fr. Sa.".split(" "),STANDALONESHORTWEEKDAYS:"So Mo Di Mi Do Fr Sa".split(" "),NARROWWEEKDAYS:"SMDMDFS".split(""),STANDALONENARROWWEEKDAYS:"SMDMDFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1. Quartal",
"2. Quartal","3. Quartal","4. Quartal"],AMPMS:["vorm.","nachm."],DATEFORMATS:["EEEE, dd. MMMM y","dd. MMMM y","dd.MM.y","dd.MM.yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};goog.i18n.DateTimeSymbols_de_CH=goog.i18n.DateTimeSymbols_de;
goog.i18n.DateTimeSymbols_el={ERAS:["\u03c0.\u03a7.","\u03bc.\u03a7."],ERANAMES:["\u03c0.\u03a7.","\u03bc.\u03a7."],NARROWMONTHS:"\u0399\u03a6\u039c\u0391\u039c\u0399\u0399\u0391\u03a3\u039f\u039d\u0394".split(""),STANDALONENARROWMONTHS:"\u0399\u03a6\u039c\u0391\u039c\u0399\u0399\u0391\u03a3\u039f\u039d\u0394".split(""),MONTHS:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5 \u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5 \u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5 \u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5 \u039c\u03b1\u0390\u03bf\u03c5 \u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5 \u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5 \u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5 \u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5 \u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5 \u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5 \u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split(" "),
STANDALONEMONTHS:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2 \u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2 \u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2 \u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2 \u039c\u03ac\u03b9\u03bf\u03c2 \u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2 \u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2 \u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2 \u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2 \u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2 \u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2 \u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split(" "),
SHORTMONTHS:"\u0399\u03b1\u03bd \u03a6\u03b5\u03b2 \u039c\u03b1\u03c1 \u0391\u03c0\u03c1 \u039c\u03b1\u03ca \u0399\u03bf\u03c5\u03bd \u0399\u03bf\u03c5\u03bb \u0391\u03c5\u03b3 \u03a3\u03b5\u03c0 \u039f\u03ba\u03c4 \u039d\u03bf\u03b5 \u0394\u03b5\u03ba".split(" "),STANDALONESHORTMONTHS:"\u0399\u03b1\u03bd \u03a6\u03b5\u03b2 \u039c\u03ac\u03c1 \u0391\u03c0\u03c1 \u039c\u03ac\u03b9 \u0399\u03bf\u03cd\u03bd \u0399\u03bf\u03cd\u03bb \u0391\u03cd\u03b3 \u03a3\u03b5\u03c0 \u039f\u03ba\u03c4 \u039d\u03bf\u03ad \u0394\u03b5\u03ba".split(" "),
WEEKDAYS:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1 \u03a4\u03c1\u03af\u03c4\u03b7 \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7 \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split(" "),STANDALONEWEEKDAYS:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1 \u03a4\u03c1\u03af\u03c4\u03b7 \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7 \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split(" "),
SHORTWEEKDAYS:"\u039a\u03c5\u03c1 \u0394\u03b5\u03c5 \u03a4\u03c1\u03af \u03a4\u03b5\u03c4 \u03a0\u03ad\u03bc \u03a0\u03b1\u03c1 \u03a3\u03ac\u03b2".split(" "),STANDALONESHORTWEEKDAYS:"\u039a\u03c5\u03c1 \u0394\u03b5\u03c5 \u03a4\u03c1\u03af \u03a4\u03b5\u03c4 \u03a0\u03ad\u03bc \u03a0\u03b1\u03c1 \u03a3\u03ac\u03b2".split(" "),NARROWWEEKDAYS:"\u039a\u0394\u03a4\u03a4\u03a0\u03a0\u03a3".split(""),STANDALONENARROWWEEKDAYS:"\u039a\u0394\u03a4\u03a4\u03a0\u03a0\u03a3".split(""),SHORTQUARTERS:["\u03a41",
"\u03a42","\u03a43","\u03a44"],QUARTERS:["1\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","2\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","3\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","4\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf"],AMPMS:["\u03c0.\u03bc.","\u03bc.\u03bc."],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","d MMM y","d/M/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} - {0}","{1} - {0}","{1} - {0}","{1} - {0}"],FIRSTDAYOFWEEK:0,
WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_en={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, MMMM d, y",
"MMMM d, y","MMM d, y","M/d/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_en_AU={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM y",
"d MMMM y","dd/MM/y","d/MM/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_en_GB={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["am","pm"],DATEFORMATS:["EEEE, d MMMM y",
"d MMMM y","d MMM y","dd/MM/y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_en_IE={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["a.m.","p.m."],DATEFORMATS:["EEEE d MMMM y",
"d MMMM y","d MMM y","dd/MM/y"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:2};
goog.i18n.DateTimeSymbols_en_IN={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y",
"d MMMM y","dd-MMM-y","dd/MM/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_en_SG={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM, y",
"d MMMM, y","d MMM, y","d/M/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};goog.i18n.DateTimeSymbols_en_US=goog.i18n.DateTimeSymbols_en;
goog.i18n.DateTimeSymbols_en_ZA={ERAS:["BC","AD"],ERANAMES:["Before Christ","Anno Domini"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"January February March April May June July August September October November December".split(" "),STANDALONEMONTHS:"January February March April May June July August September October November December".split(" "),SHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
WEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),STANDALONEWEEKDAYS:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),STANDALONESHORTWEEKDAYS:"Sun Mon Tue Wed Thu Fri Sat".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["1st quarter","2nd quarter","3rd quarter","4th quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE dd MMMM y",
"dd MMMM y","dd MMM y","y/MM/dd"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_es={ERAS:["a.C.","d.C."],ERANAMES:["antes de Cristo","anno D\u00f3mini"],NARROWMONTHS:"EFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"EFMAMJJASOND".split(""),MONTHS:"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),STANDALONEMONTHS:"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),SHORTMONTHS:"ene feb mar abr may jun jul ago sep oct nov dic".split(" "),STANDALONESHORTMONTHS:"ene feb mar abr mayo jun jul ago sep oct nov dic".split(" "),
WEEKDAYS:"domingo lunes martes mi\u00e9rcoles jueves viernes s\u00e1bado".split(" "),STANDALONEWEEKDAYS:"domingo lunes martes mi\u00e9rcoles jueves viernes s\u00e1bado".split(" "),SHORTWEEKDAYS:"dom lun mar mi\u00e9 jue vie s\u00e1b".split(" "),STANDALONESHORTWEEKDAYS:"dom lun mar mi\u00e9 jue vie s\u00e1b".split(" "),NARROWWEEKDAYS:"DLMXJVS".split(""),STANDALONENARROWWEEKDAYS:"DLMXJVS".split(""),SHORTQUARTERS:["T1","T2","T3","T4"],QUARTERS:["1er trimestre","2\u00ba trimestre","3er trimestre","4\u00ba trimestre"],
AMPMS:["a.m.","p.m."],DATEFORMATS:["EEEE, d 'de' MMMM 'de' y","d 'de' MMMM 'de' y","dd/MM/y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_es_419={ERAS:["a.C.","d.C."],ERANAMES:["antes de Cristo","anno D\u00f3mini"],NARROWMONTHS:"EFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"EFMAMJJASOND".split(""),MONTHS:"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),STANDALONEMONTHS:"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),SHORTMONTHS:"ene feb mar abr may jun jul ago sep oct nov dic".split(" "),STANDALONESHORTMONTHS:"ene feb mar abr mayo jun jul ago sep oct nov dic".split(" "),
WEEKDAYS:"domingo lunes martes mi\u00e9rcoles jueves viernes s\u00e1bado".split(" "),STANDALONEWEEKDAYS:"domingo lunes martes mi\u00e9rcoles jueves viernes s\u00e1bado".split(" "),SHORTWEEKDAYS:"dom lun mar mi\u00e9 jue vie s\u00e1b".split(" "),STANDALONESHORTWEEKDAYS:"dom lun mar mi\u00e9 jue vie s\u00e1b".split(" "),NARROWWEEKDAYS:"DLMMJVS".split(""),STANDALONENARROWWEEKDAYS:"DLMMJVS".split(""),SHORTQUARTERS:["T1","T2","T3","T4"],QUARTERS:["1er trimestre","2\u00ba trimestre","3er trimestre","4\u00ba trimestre"],
AMPMS:["a.m.","p.m."],DATEFORMATS:["EEEE, d 'de' MMMM 'de' y","d 'de' MMMM 'de' y","dd/MM/y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};goog.i18n.DateTimeSymbols_es_ES=goog.i18n.DateTimeSymbols_es;
goog.i18n.DateTimeSymbols_et={ERAS:["e.m.a.","m.a.j."],ERANAMES:["enne meie aega","meie aja j\u00e4rgi"],NARROWMONTHS:"JVMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JVMAMJJASOND".split(""),MONTHS:"jaanuar veebruar m\u00e4rts aprill mai juuni juuli august september oktoober november detsember".split(" "),STANDALONEMONTHS:"jaanuar veebruar m\u00e4rts aprill mai juuni juuli august september oktoober november detsember".split(" "),SHORTMONTHS:"jaan veebr m\u00e4rts apr mai juuni juuli aug sept okt nov dets".split(" "),
STANDALONESHORTMONTHS:"jaan veebr m\u00e4rts apr mai juuni juuli aug sept okt nov dets".split(" "),WEEKDAYS:"p\u00fchap\u00e4ev esmasp\u00e4ev teisip\u00e4ev kolmap\u00e4ev neljap\u00e4ev reede laup\u00e4ev".split(" "),STANDALONEWEEKDAYS:"p\u00fchap\u00e4ev esmasp\u00e4ev teisip\u00e4ev kolmap\u00e4ev neljap\u00e4ev reede laup\u00e4ev".split(" "),SHORTWEEKDAYS:"PETKNRL".split(""),STANDALONESHORTWEEKDAYS:"PETKNRL".split(""),NARROWWEEKDAYS:"PETKNRL".split(""),STANDALONENARROWWEEKDAYS:"PETKNRL".split(""),
SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d. MMMM y","d. MMMM y","dd.MM.y","dd.MM.yy"],TIMEFORMATS:["H:mm.ss zzzz","H:mm.ss z","H:mm.ss","H:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_eu={ERAS:["K.a.","K.o."],ERANAMES:["K.a.","K.o."],NARROWMONTHS:"UOMAMEUAIUAA".split(""),STANDALONENARROWMONTHS:"UOMAMEUAIUAA".split(""),MONTHS:"urtarrila otsaila martxoa apirila maiatza ekaina uztaila abuztua iraila urria azaroa abendua".split(" "),STANDALONEMONTHS:"urtarrila otsaila martxoa apirila maiatza ekaina uztaila abuztua iraila urria azaroa abendua".split(" "),SHORTMONTHS:"urt ots mar api mai eka uzt abu ira urr aza abe".split(" "),STANDALONESHORTMONTHS:"urt ots mar api mai eka uzt abu ira urr aza abe".split(" "),
WEEKDAYS:"igandea astelehena asteartea asteazkena osteguna ostirala larunbata".split(" "),STANDALONEWEEKDAYS:"igandea astelehena asteartea asteazkena osteguna ostirala larunbata".split(" "),SHORTWEEKDAYS:"ig al as az og or lr".split(" "),STANDALONESHORTWEEKDAYS:"ig al as az og or lr".split(" "),NARROWWEEKDAYS:"IMAAAOI".split(""),STANDALONENARROWWEEKDAYS:"IMALAOI".split(""),SHORTQUARTERS:["1Hh","2Hh","3Hh","4Hh"],QUARTERS:["1. hiruhilekoa","2. hiruhilekoa","3. hiruhilekoa","4. hiruhilekoa"],AMPMS:["AM",
"PM"],DATEFORMATS:["EEEE, y MMMM dd","y MMMM d","y MMM d","y-MM-dd"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_fa={ZERODIGIT:1776,ERAS:["\u0642.\u0645.","\u0645."],ERANAMES:["\u0642\u0628\u0644 \u0627\u0632 \u0645\u06cc\u0644\u0627\u062f","\u0645\u06cc\u0644\u0627\u062f\u06cc"],NARROWMONTHS:"\u0698\u0641\u0645\u0622\u0645\u0698\u0698\u0627\u0633\u0627\u0646\u062f".split(""),STANDALONENARROWMONTHS:"\u0698\u0641\u0645\u0622\u0645\u0698\u0698\u0627\u0633\u0627\u0646\u062f".split(""),MONTHS:"\u0698\u0627\u0646\u0648\u06cc\u0647\u0654 \u0641\u0648\u0631\u06cc\u0647\u0654 \u0645\u0627\u0631\u0633 \u0622\u0648\u0631\u06cc\u0644 \u0645\u0647\u0654 \u0698\u0648\u0626\u0646 \u0698\u0648\u0626\u06cc\u0647\u0654 \u0627\u0648\u062a \u0633\u067e\u062a\u0627\u0645\u0628\u0631 \u0627\u06a9\u062a\u0628\u0631 \u0646\u0648\u0627\u0645\u0628\u0631 \u062f\u0633\u0627\u0645\u0628\u0631".split(" "),
STANDALONEMONTHS:"\u0698\u0627\u0646\u0648\u06cc\u0647 \u0641\u0648\u0631\u06cc\u0647 \u0645\u0627\u0631\u0633 \u0622\u0648\u0631\u06cc\u0644 \u0645\u0647 \u0698\u0648\u0626\u0646 \u0698\u0648\u0626\u06cc\u0647 \u0627\u0648\u062a \u0633\u067e\u062a\u0627\u0645\u0628\u0631 \u0627\u06a9\u062a\u0628\u0631 \u0646\u0648\u0627\u0645\u0628\u0631 \u062f\u0633\u0627\u0645\u0628\u0631".split(" "),SHORTMONTHS:"\u0698\u0627\u0646\u0648\u06cc\u0647\u0654 \u0641\u0648\u0631\u06cc\u0647\u0654 \u0645\u0627\u0631\u0633 \u0622\u0648\u0631\u06cc\u0644 \u0645\u0647\u0654 \u0698\u0648\u0626\u0646 \u0698\u0648\u0626\u06cc\u0647\u0654 \u0627\u0648\u062a \u0633\u067e\u062a\u0627\u0645\u0628\u0631 \u0627\u06a9\u062a\u0628\u0631 \u0646\u0648\u0627\u0645\u0628\u0631 \u062f\u0633\u0627\u0645\u0628\u0631".split(" "),
STANDALONESHORTMONTHS:"\u0698\u0627\u0646\u0648\u06cc\u0647 \u0641\u0648\u0631\u06cc\u0647 \u0645\u0627\u0631\u0633 \u0622\u0648\u0631\u06cc\u0644 \u0645\u0647 \u0698\u0648\u0626\u0646 \u0698\u0648\u0626\u06cc\u0647 \u0627\u0648\u062a \u0633\u067e\u062a\u0627\u0645\u0628\u0631 \u0627\u06a9\u062a\u0628\u0631 \u0646\u0648\u0627\u0645\u0628\u0631 \u062f\u0633\u0627\u0645\u0628\u0631".split(" "),WEEKDAYS:"\u06cc\u06a9\u0634\u0646\u0628\u0647 \u062f\u0648\u0634\u0646\u0628\u0647 \u0633\u0647\u200c\u0634\u0646\u0628\u0647 \u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647 \u067e\u0646\u062c\u0634\u0646\u0628\u0647 \u062c\u0645\u0639\u0647 \u0634\u0646\u0628\u0647".split(" "),
STANDALONEWEEKDAYS:"\u06cc\u06a9\u0634\u0646\u0628\u0647 \u062f\u0648\u0634\u0646\u0628\u0647 \u0633\u0647\u200c\u0634\u0646\u0628\u0647 \u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647 \u067e\u0646\u062c\u0634\u0646\u0628\u0647 \u062c\u0645\u0639\u0647 \u0634\u0646\u0628\u0647".split(" "),SHORTWEEKDAYS:"\u06cc\u06a9\u0634\u0646\u0628\u0647 \u062f\u0648\u0634\u0646\u0628\u0647 \u0633\u0647\u200c\u0634\u0646\u0628\u0647 \u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647 \u067e\u0646\u062c\u0634\u0646\u0628\u0647 \u062c\u0645\u0639\u0647 \u0634\u0646\u0628\u0647".split(" "),
STANDALONESHORTWEEKDAYS:"\u06cc\u06a9\u0634\u0646\u0628\u0647 \u062f\u0648\u0634\u0646\u0628\u0647 \u0633\u0647\u200c\u0634\u0646\u0628\u0647 \u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647 \u067e\u0646\u062c\u0634\u0646\u0628\u0647 \u062c\u0645\u0639\u0647 \u0634\u0646\u0628\u0647".split(" "),NARROWWEEKDAYS:"\u06cc\u062f\u0633\u0686\u067e\u062c\u0634".split(""),STANDALONENARROWWEEKDAYS:"\u06cc\u062f\u0633\u0686\u067e\u062c\u0634".split(""),SHORTQUARTERS:["\u0633\u200c\u0645\u06f1","\u0633\u200c\u0645\u06f2",
"\u0633\u200c\u0645\u06f3","\u0633\u200c\u0645\u06f4"],QUARTERS:["\u0633\u0647\u200c\u0645\u0627\u0647\u0647\u0654 \u0627\u0648\u0644","\u0633\u0647\u200c\u0645\u0627\u0647\u0647\u0654 \u062f\u0648\u0645","\u0633\u0647\u200c\u0645\u0627\u0647\u0647\u0654 \u0633\u0648\u0645","\u0633\u0647\u200c\u0645\u0627\u0647\u0647\u0654 \u0686\u0647\u0627\u0631\u0645"],AMPMS:["\u0642\u0628\u0644\u200c\u0627\u0632\u0638\u0647\u0631","\u0628\u0639\u062f\u0627\u0632\u0638\u0647\u0631"],DATEFORMATS:["EEEE d MMMM y",
"d MMMM y","d MMM y","y/M/d"],TIMEFORMATS:["H:mm:ss (zzzz)","H:mm:ss (z)","H:mm:ss","H:mm"],DATETIMEFORMATS:["{1}\u060c \u0633\u0627\u0639\u062a {0}","{1}\u060c \u0633\u0627\u0639\u062a {0}","{1}\u060c\u200f {0}","{1}\u060c\u200f {0}"],FIRSTDAYOFWEEK:5,WEEKENDRANGE:[3,4],FIRSTWEEKCUTOFFDAY:4};
goog.i18n.DateTimeSymbols_fi={ERAS:["eKr.","jKr."],ERANAMES:["ennen Kristuksen syntym\u00e4\u00e4","j\u00e4lkeen Kristuksen syntym\u00e4n"],NARROWMONTHS:"THMHTKHESLMJ".split(""),STANDALONENARROWMONTHS:"THMHTKHESLMJ".split(""),MONTHS:"tammikuuta helmikuuta maaliskuuta huhtikuuta toukokuuta kes\u00e4kuuta hein\u00e4kuuta elokuuta syyskuuta lokakuuta marraskuuta joulukuuta".split(" "),STANDALONEMONTHS:"tammikuu helmikuu maaliskuu huhtikuu toukokuu kes\u00e4kuu hein\u00e4kuu elokuu syyskuu lokakuu marraskuu joulukuu".split(" "),
SHORTMONTHS:"tammikuuta helmikuuta maaliskuuta huhtikuuta toukokuuta kes\u00e4kuuta hein\u00e4kuuta elokuuta syyskuuta lokakuuta marraskuuta joulukuuta".split(" "),STANDALONESHORTMONTHS:"tammi helmi maalis huhti touko kes\u00e4 hein\u00e4 elo syys loka marras joulu".split(" "),WEEKDAYS:"sunnuntaina maanantaina tiistaina keskiviikkona torstaina perjantaina lauantaina".split(" "),STANDALONEWEEKDAYS:"sunnuntai maanantai tiistai keskiviikko torstai perjantai lauantai".split(" "),SHORTWEEKDAYS:"su ma ti ke to pe la".split(" "),
STANDALONESHORTWEEKDAYS:"su ma ti ke to pe la".split(" "),NARROWWEEKDAYS:"SMTKTPL".split(""),STANDALONENARROWWEEKDAYS:"SMTKTPL".split(""),SHORTQUARTERS:["1. nelj.","2. nelj.","3. nelj.","4. nelj."],QUARTERS:["1. nelj\u00e4nnes","2. nelj\u00e4nnes","3. nelj\u00e4nnes","4. nelj\u00e4nnes"],AMPMS:["ap.","ip."],DATEFORMATS:["cccc d. MMMM y","d. MMMM y","d.M.y","d.M.y"],TIMEFORMATS:["H.mm.ss zzzz","H.mm.ss z","H.mm.ss","H.mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,
WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_fil={ERAS:["BC","AD"],ERANAMES:["BC","AD"],NARROWMONTHS:"EPMAMHHASOND".split(""),STANDALONENARROWMONTHS:"EPMAMHHASOND".split(""),MONTHS:"Enero Pebrero Marso Abril Mayo Hunyo Hulyo Agosto Setyembre Oktubre Nobyembre Disyembre".split(" "),STANDALONEMONTHS:"Enero Pebrero Marso Abril Mayo Hunyo Hulyo Agosto Setyembre Oktubre Nobyembre Disyembre".split(" "),SHORTMONTHS:"Ene Peb Mar Abr May Hun Hul Ago Set Okt Nob Dis".split(" "),STANDALONESHORTMONTHS:"Ene Peb Mar Abr May Hun Hul Ago Set Okt Nob Dis".split(" "),WEEKDAYS:"Linggo Lunes Martes Miyerkules Huwebes Biyernes Sabado".split(" "),
STANDALONEWEEKDAYS:"Linggo Lunes Martes Miyerkules Huwebes Biyernes Sabado".split(" "),SHORTWEEKDAYS:"Lin Lun Mar Mye Huw Bye Sab".split(" "),STANDALONESHORTWEEKDAYS:"Lin Lun Mar Miy Huw Biy Sab".split(" "),NARROWWEEKDAYS:"LLMMHBS".split(""),STANDALONENARROWWEEKDAYS:"LLMMHBS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["ika-1 sangkapat","ika-2 sangkapat","ika-3 quarter","ika-4 na quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, MMMM dd y","MMMM d, y","MMM d, y","M/d/yy"],TIMEFORMATS:["HH:mm:ss zzzz",
"HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_fr={ERAS:["av. J.-C.","ap. J.-C."],ERANAMES:["avant J\u00e9sus-Christ","apr\u00e8s J\u00e9sus-Christ"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"janvier f\u00e9vrier mars avril mai juin juillet ao\u00fbt septembre octobre novembre d\u00e9cembre".split(" "),STANDALONEMONTHS:"janvier f\u00e9vrier mars avril mai juin juillet ao\u00fbt septembre octobre novembre d\u00e9cembre".split(" "),SHORTMONTHS:"janv. f\u00e9vr. mars avr. mai juin juil. ao\u00fbt sept. oct. nov. d\u00e9c.".split(" "),
STANDALONESHORTMONTHS:"janv. f\u00e9vr. mars avr. mai juin juil. ao\u00fbt sept. oct. nov. d\u00e9c.".split(" "),WEEKDAYS:"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),STANDALONEWEEKDAYS:"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),SHORTWEEKDAYS:"dim. lun. mar. mer. jeu. ven. sam.".split(" "),STANDALONESHORTWEEKDAYS:"dim. lun. mar. mer. jeu. ven. sam.".split(" "),NARROWWEEKDAYS:"DLMMJVS".split(""),STANDALONENARROWWEEKDAYS:"DLMMJVS".split(""),SHORTQUARTERS:["T1",
"T2","T3","T4"],QUARTERS:["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y","d MMMM y","d MMM y","dd/MM/y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_fr_CA={ERAS:["av. J.-C.","ap. J.-C."],ERANAMES:["avant J\u00e9sus-Christ","apr\u00e8s J\u00e9sus-Christ"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"janvier f\u00e9vrier mars avril mai juin juillet ao\u00fbt septembre octobre novembre d\u00e9cembre".split(" "),STANDALONEMONTHS:"janvier f\u00e9vrier mars avril mai juin juillet ao\u00fbt septembre octobre novembre d\u00e9cembre".split(" "),SHORTMONTHS:"janv. f\u00e9vr. mars avr. mai juin juil. ao\u00fbt sept. oct. nov. d\u00e9c.".split(" "),
STANDALONESHORTMONTHS:"janv. f\u00e9vr. mars avr. mai juin juil. ao\u00fbt sept. oct. nov. d\u00e9c.".split(" "),WEEKDAYS:"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),STANDALONEWEEKDAYS:"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),SHORTWEEKDAYS:"dim. lun. mar. mer. jeu. ven. sam.".split(" "),STANDALONESHORTWEEKDAYS:"dim. lun. mar. mer. jeu. ven. sam.".split(" "),NARROWWEEKDAYS:"DLMMJVS".split(""),STANDALONENARROWWEEKDAYS:"DLMMJVS".split(""),SHORTQUARTERS:["T1",
"T2","T3","T4"],QUARTERS:["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y","d MMMM y","y-MM-dd","yy-MM-dd"],TIMEFORMATS:["HH 'h' mm 'min' ss 's' zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_gl={ERAS:["a.C.","d.C."],ERANAMES:["antes de Cristo","despois de Cristo"],NARROWMONTHS:"XFMAMXXASOND".split(""),STANDALONENARROWMONTHS:"XFMAMXXASOND".split(""),MONTHS:"Xaneiro Febreiro Marzo Abril Maio Xu\u00f1o Xullo Agosto Setembro Outubro Novembro Decembro".split(" "),STANDALONEMONTHS:"Xaneiro Febreiro Marzo Abril Maio Xu\u00f1o Xullo Agosto Setembro Outubro Novembro Decembro".split(" "),SHORTMONTHS:"Xan Feb Mar Abr Mai Xu\u00f1 Xul Ago Set Out Nov Dec".split(" "),STANDALONESHORTMONTHS:"Xan Feb Mar Abr Mai Xu\u00f1 Xul Ago Set Out Nov Dec".split(" "),
WEEKDAYS:"Domingo Luns Martes M\u00e9rcores Xoves Venres S\u00e1bado".split(" "),STANDALONEWEEKDAYS:"Domingo Luns Martes M\u00e9rcores Xoves Venres S\u00e1bado".split(" "),SHORTWEEKDAYS:"Dom Lun Mar M\u00e9r Xov Ven S\u00e1b".split(" "),STANDALONESHORTWEEKDAYS:"Dom Lun Mar M\u00e9r Xov Ven S\u00e1b".split(" "),NARROWWEEKDAYS:"DLMMXVS".split(""),STANDALONENARROWWEEKDAYS:"DLMMXVS".split(""),SHORTQUARTERS:["T1","T2","T3","T4"],QUARTERS:["1o trimestre","2o trimestre","3o trimestre","4o trimestre"],AMPMS:["a.m.",
"p.m."],DATEFORMATS:["EEEE dd MMMM y","dd MMMM y","d MMM, y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_gsw={ERAS:["v. Chr.","n. Chr."],ERANAMES:["v. Chr.","n. Chr."],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januar Februar M\u00e4rz April Mai Juni Juli Auguscht Sept\u00e4mber Oktoober Nov\u00e4mber Dez\u00e4mber".split(" "),STANDALONEMONTHS:"Januar Februar M\u00e4rz April Mai Juni Juli Auguscht Sept\u00e4mber Oktoober Nov\u00e4mber Dez\u00e4mber".split(" "),SHORTMONTHS:"Jan Feb M\u00e4r Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),
STANDALONESHORTMONTHS:"Jan Feb M\u00e4r Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),WEEKDAYS:"Sunntig M\u00e4\u00e4ntig Ziischtig Mittwuch Dunschtig Friitig Samschtig".split(" "),STANDALONEWEEKDAYS:"Sunntig M\u00e4\u00e4ntig Ziischtig Mittwuch Dunschtig Friitig Samschtig".split(" "),SHORTWEEKDAYS:"Su. M\u00e4. Zi. Mi. Du. Fr. Sa.".split(" "),STANDALONESHORTWEEKDAYS:"Su. M\u00e4. Zi. Mi. Du. Fr. Sa.".split(" "),NARROWWEEKDAYS:"SMDMDFS".split(""),STANDALONENARROWWEEKDAYS:"SMDMDFS".split(""),SHORTQUARTERS:["Q1",
"Q2","Q3","Q4"],QUARTERS:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],AMPMS:["vorm.","nam."],DATEFORMATS:["EEEE, d. MMMM y","d. MMMM y","dd.MM.y","dd.MM.yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_gu={ERAS:["\u0a88\u0ab2\u0ac1\u0aa8\u0abe \u0a9c\u0aa8\u0acd\u0aae \u0aaa\u0ab9\u0ac7\u0ab8\u0abe\u0a82","\u0a87\u0ab8\u0ab5\u0ac0\u0ab8\u0aa8"],ERANAMES:["\u0a88\u0ab8\u0ab5\u0ac0\u0ab8\u0aa8 \u0aaa\u0ac2\u0ab0\u0acd\u0ab5\u0ac7","\u0a87\u0ab8\u0ab5\u0ac0\u0ab8\u0aa8"],NARROWMONTHS:"\u0a9c\u0abe \u0aab\u0ac7 \u0aae\u0abe \u0a8f \u0aae\u0ac7 \u0a9c\u0ac2 \u0a9c\u0ac1 \u0a91 \u0ab8 \u0a91 \u0aa8 \u0aa1\u0abf".split(" "),STANDALONENARROWMONTHS:"\u0a9c\u0abe \u0aab\u0ac7 \u0aae\u0abe \u0a8f \u0aae\u0ac7 \u0a9c\u0ac2 \u0a9c\u0ac1 \u0a91 \u0ab8 \u0a91 \u0aa8 \u0aa1\u0abf".split(" "),
MONTHS:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0 \u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0 \u0aae\u0abe\u0ab0\u0acd\u0a9a \u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2 \u0aae\u0ac7 \u0a9c\u0ac2\u0aa8 \u0a9c\u0ac1\u0ab2\u0abe\u0a88 \u0a91\u0a97\u0ab8\u0acd\u0a9f \u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0 \u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0 \u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0 \u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split(" "),STANDALONEMONTHS:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0 \u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0 \u0aae\u0abe\u0ab0\u0acd\u0a9a \u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2 \u0aae\u0ac7 \u0a9c\u0ac2\u0aa8 \u0a9c\u0ac1\u0ab2\u0abe\u0a88 \u0a91\u0a97\u0ab8\u0acd\u0a9f \u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0 \u0a91\u0a95\u0acd\u0a9f\u0acb\u0aac\u0ab0 \u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0 \u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split(" "),
SHORTMONTHS:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1 \u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1 \u0aae\u0abe\u0ab0\u0acd\u0a9a \u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2 \u0aae\u0ac7 \u0a9c\u0ac2\u0aa8 \u0a9c\u0ac1\u0ab2\u0abe\u0a88 \u0a91\u0a97\u0ab8\u0acd\u0a9f \u0ab8\u0aaa\u0acd\u0a9f\u0ac7 \u0a91\u0a95\u0acd\u0a9f\u0acb \u0aa8\u0ab5\u0ac7 \u0aa1\u0abf\u0ab8\u0ac7".split(" "),STANDALONESHORTMONTHS:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1 \u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1 \u0aae\u0abe\u0ab0\u0acd\u0a9a \u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2 \u0aae\u0ac7 \u0a9c\u0ac2\u0aa8 \u0a9c\u0ac1\u0ab2\u0abe\u0a88 \u0a91\u0a97 \u0ab8\u0aaa\u0acd\u0a9f\u0ac7 \u0a91\u0a95\u0acd\u0a9f\u0acb \u0aa8\u0ab5\u0ac7 \u0aa1\u0abf\u0ab8\u0ac7".split(" "),
WEEKDAYS:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0 \u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0 \u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0 \u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0 \u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0 \u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0 \u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split(" "),STANDALONEWEEKDAYS:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0 \u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0 \u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0 \u0aac\u0ac1\u0aa7\u0ab5\u0abe\u0ab0 \u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0 \u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0 \u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split(" "),
SHORTWEEKDAYS:"\u0ab0\u0ab5\u0abf \u0ab8\u0acb\u0aae \u0aae\u0a82\u0a97\u0ab3 \u0aac\u0ac1\u0aa7 \u0a97\u0ac1\u0ab0\u0ac1 \u0ab6\u0ac1\u0a95\u0acd\u0ab0 \u0ab6\u0aa8\u0abf".split(" "),STANDALONESHORTWEEKDAYS:"\u0ab0\u0ab5\u0abf \u0ab8\u0acb\u0aae \u0aae\u0a82\u0a97\u0ab3 \u0aac\u0ac1\u0aa7 \u0a97\u0ac1\u0ab0\u0ac1 \u0ab6\u0ac1\u0a95\u0acd\u0ab0 \u0ab6\u0aa8\u0abf".split(" "),NARROWWEEKDAYS:"\u0ab0 \u0ab8\u0acb \u0aae\u0a82 \u0aac\u0ac1 \u0a97\u0ac1 \u0ab6\u0ac1 \u0ab6".split(" "),STANDALONENARROWWEEKDAYS:"\u0ab0 \u0ab8\u0acb \u0aae\u0a82 \u0aac\u0ac1 \u0a97\u0ac1 \u0ab6\u0ac1 \u0ab6".split(" "),
SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["\u0aaa\u0ab9\u0ac7\u0ab2\u0acb \u0ab9\u0a82\u0aa4","\u0aac\u0ac0\u0a9c\u0acb \u0ab9\u0a82\u0aa4","\u0aa4\u0acd\u0ab0\u0ac0\u0a9c\u0acb \u0ab9\u0a82\u0aa4","\u0a9a\u0acb\u0aa5\u0acb \u0ab9\u0a82\u0aa4"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM, y","d MMMM, y","d MMM, y","d-MM-yy"],TIMEFORMATS:["hh:mm:ss a zzzz","hh:mm:ss a z","hh:mm:ss a","hh:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_haw={ERAS:["BCE","CE"],ERANAMES:["BCE","CE"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"Ianuali Pepeluali Malaki \u02bbApelila Mei Iune Iulai \u02bbAukake Kepakemapa \u02bbOkakopa Nowemapa Kekemapa".split(" "),STANDALONEMONTHS:"Ianuali Pepeluali Malaki \u02bbApelila Mei Iune Iulai \u02bbAukake Kepakemapa \u02bbOkakopa Nowemapa Kekemapa".split(" "),SHORTMONTHS:"Ian. Pep. Mal. \u02bbAp. Mei Iun. Iul. \u02bbAu. Kep. \u02bbOk. Now. Kek.".split(" "),
STANDALONESHORTMONTHS:"Ian. Pep. Mal. \u02bbAp. Mei Iun. Iul. \u02bbAu. Kep. \u02bbOk. Now. Kek.".split(" "),WEEKDAYS:"L\u0101pule Po\u02bbakahi Po\u02bbalua Po\u02bbakolu Po\u02bbah\u0101 Po\u02bbalima Po\u02bbaono".split(" "),STANDALONEWEEKDAYS:"L\u0101pule Po\u02bbakahi Po\u02bbalua Po\u02bbakolu Po\u02bbah\u0101 Po\u02bbalima Po\u02bbaono".split(" "),SHORTWEEKDAYS:"LP P1 P2 P3 P4 P5 P6".split(" "),STANDALONESHORTWEEKDAYS:"LP P1 P2 P3 P4 P5 P6".split(" "),NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),
SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Q1","Q2","Q3","Q4"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","d MMM y","d/M/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_he={ERAS:["\u05dc\u05e4\u05e0\u05d4\u05f4\u05e1","\u05dc\u05e1\u05d4\u05f4\u05e0"],ERANAMES:["\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e1\u05e4\u05d9\u05e8\u05d4","\u05dc\u05e1\u05e4\u05d9\u05e8\u05d4"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"\u05d9\u05e0\u05d5\u05d0\u05e8 \u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05d9\u05dc \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05d5\u05e1\u05d8 \u05e1\u05e4\u05d8\u05de\u05d1\u05e8 \u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8 \u05e0\u05d5\u05d1\u05de\u05d1\u05e8 \u05d3\u05e6\u05de\u05d1\u05e8".split(" "),
STANDALONEMONTHS:"\u05d9\u05e0\u05d5\u05d0\u05e8 \u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05d9\u05dc \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05d5\u05e1\u05d8 \u05e1\u05e4\u05d8\u05de\u05d1\u05e8 \u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8 \u05e0\u05d5\u05d1\u05de\u05d1\u05e8 \u05d3\u05e6\u05de\u05d1\u05e8".split(" "),SHORTMONTHS:"\u05d9\u05e0\u05d5 \u05e4\u05d1\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8 \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0 \u05d9\u05d5\u05dc \u05d0\u05d5\u05d2 \u05e1\u05e4\u05d8 \u05d0\u05d5\u05e7 \u05e0\u05d5\u05d1 \u05d3\u05e6\u05de".split(" "),
STANDALONESHORTMONTHS:"\u05d9\u05e0\u05d5\u05f3 \u05e4\u05d1\u05e8\u05f3 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05f3 \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05f3 \u05d9\u05d5\u05dc\u05f3 \u05d0\u05d5\u05d2\u05f3 \u05e1\u05e4\u05d8\u05f3 \u05d0\u05d5\u05e7\u05f3 \u05e0\u05d5\u05d1\u05f3 \u05d3\u05e6\u05de\u05f3".split(" "),WEEKDAYS:"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df;\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9;\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9;\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea".split(";"),
STANDALONEWEEKDAYS:"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df;\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9;\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9;\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea".split(";"),SHORTWEEKDAYS:"\u05d9\u05d5\u05dd \u05d0\u05f3;\u05d9\u05d5\u05dd \u05d1\u05f3;\u05d9\u05d5\u05dd \u05d2\u05f3;\u05d9\u05d5\u05dd \u05d3\u05f3;\u05d9\u05d5\u05dd \u05d4\u05f3;\u05d9\u05d5\u05dd \u05d5\u05f3;\u05e9\u05d1\u05ea".split(";"),
STANDALONESHORTWEEKDAYS:"\u05d9\u05d5\u05dd \u05d0\u05f3;\u05d9\u05d5\u05dd \u05d1\u05f3;\u05d9\u05d5\u05dd \u05d2\u05f3;\u05d9\u05d5\u05dd \u05d3\u05f3;\u05d9\u05d5\u05dd \u05d4\u05f3;\u05d9\u05d5\u05dd \u05d5\u05f3;\u05e9\u05d1\u05ea".split(";"),NARROWWEEKDAYS:"\u05d0' \u05d1' \u05d2' \u05d3' \u05d4' \u05d5\u05f3 \u05e9\u05f3".split(" "),STANDALONENARROWWEEKDAYS:"\u05d0\u05f3 \u05d1\u05f3 \u05d2\u05f3 \u05d3\u05f3 \u05d4\u05f3 \u05d5 \u05e9".split(" "),SHORTQUARTERS:["\u05e8\u05d1\u05e2\u05d5\u05df 1",
"\u05e8\u05d1\u05e2\u05d5\u05df 2","\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],QUARTERS:["\u05e8\u05d1\u05e2\u05d5\u05df 1","\u05e8\u05d1\u05e2\u05d5\u05df 2","\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],AMPMS:["\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6","\u05d0\u05d7\u05d4\u05f4\u05e6"],DATEFORMATS:["EEEE, d \u05d1MMMM y","d \u05d1MMMM y","d \u05d1MMM y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}",
"{1} {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[4,5],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_hi={ERAS:["\u0908\u0938\u093e\u092a\u0942\u0930\u094d\u0935","\u0938\u0928"],ERANAMES:["\u0908\u0938\u093e\u092a\u0942\u0930\u094d\u0935","\u0938\u0928"],NARROWMONTHS:"\u091c \u092b\u093c \u092e\u093e \u0905 \u092e \u091c\u0942 \u091c\u0941 \u0905 \u0938\u093f \u0905 \u0928 \u0926\u093f".split(" "),STANDALONENARROWMONTHS:"\u091c \u092b\u093c \u092e\u093e \u0905 \u092e \u091c\u0942 \u091c\u0941 \u0905 \u0938\u093f \u0905 \u0928 \u0926\u093f".split(" "),MONTHS:"\u091c\u0928\u0935\u0930\u0940 \u092b\u0930\u0935\u0930\u0940 \u092e\u093e\u0930\u094d\u091a \u0905\u092a\u094d\u0930\u0948\u0932 \u092e\u0908 \u091c\u0942\u0928 \u091c\u0941\u0932\u093e\u0908 \u0905\u0917\u0938\u094d\u0924 \u0938\u093f\u0924\u092e\u094d\u092c\u0930 \u0905\u0915\u094d\u0924\u0942\u092c\u0930 \u0928\u0935\u092e\u094d\u092c\u0930 \u0926\u093f\u0938\u092e\u094d\u092c\u0930".split(" "),
STANDALONEMONTHS:"\u091c\u0928\u0935\u0930\u0940 \u092b\u0930\u0935\u0930\u0940 \u092e\u093e\u0930\u094d\u091a \u0905\u092a\u094d\u0930\u0948\u0932 \u092e\u0908 \u091c\u0942\u0928 \u091c\u0941\u0932\u093e\u0908 \u0905\u0917\u0938\u094d\u0924 \u0938\u093f\u0924\u092e\u094d\u092c\u0930 \u0905\u0915\u094d\u0924\u0942\u092c\u0930 \u0928\u0935\u092e\u094d\u092c\u0930 \u0926\u093f\u0938\u092e\u094d\u092c\u0930".split(" "),SHORTMONTHS:"\u091c\u0928\u0935\u0930\u0940 \u092b\u0930\u0935\u0930\u0940 \u092e\u093e\u0930\u094d\u091a \u0905\u092a\u094d\u0930\u0948\u0932 \u092e\u0908 \u091c\u0942\u0928 \u091c\u0941\u0932\u093e\u0908 \u0905\u0917\u0938\u094d\u0924 \u0938\u093f\u0924\u092e\u094d\u092c\u0930 \u0905\u0915\u094d\u0924\u0942\u092c\u0930 \u0928\u0935\u092e\u094d\u092c\u0930 \u0926\u093f\u0938\u092e\u094d\u092c\u0930".split(" "),
STANDALONESHORTMONTHS:"\u091c\u0928\u0935\u0930\u0940 \u092b\u0930\u0935\u0930\u0940 \u092e\u093e\u0930\u094d\u091a \u0905\u092a\u094d\u0930\u0948\u0932 \u092e\u0908 \u091c\u0942\u0928 \u091c\u0941\u0932\u093e\u0908 \u0905\u0917\u0938\u094d\u0924 \u0938\u093f\u0924\u092e\u094d\u092c\u0930 \u0905\u0915\u094d\u0924\u0942\u092c\u0930 \u0928\u0935\u092e\u094d\u092c\u0930 \u0926\u093f\u0938\u092e\u094d\u092c\u0930".split(" "),WEEKDAYS:"\u0930\u0935\u093f\u0935\u093e\u0930 \u0938\u094b\u092e\u0935\u093e\u0930 \u092e\u0902\u0917\u0932\u0935\u093e\u0930 \u092c\u0941\u0927\u0935\u093e\u0930 \u092c\u0943\u0939\u0938\u094d\u092a\u0924\u093f\u0935\u093e\u0930 \u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930 \u0936\u0928\u093f\u0935\u093e\u0930".split(" "),
STANDALONEWEEKDAYS:"\u0930\u0935\u093f\u0935\u093e\u0930 \u0938\u094b\u092e\u0935\u093e\u0930 \u092e\u0902\u0917\u0932\u0935\u093e\u0930 \u092c\u0941\u0927\u0935\u093e\u0930 \u092c\u0943\u0939\u0938\u094d\u092a\u0924\u093f\u0935\u093e\u0930 \u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930 \u0936\u0928\u093f\u0935\u093e\u0930".split(" "),SHORTWEEKDAYS:"\u0930\u0935\u093f. \u0938\u094b\u092e. \u092e\u0902\u0917\u0932. \u092c\u0941\u0927. \u092c\u0943\u0939. \u0936\u0941\u0915\u094d\u0930. \u0936\u0928\u093f.".split(" "),
STANDALONESHORTWEEKDAYS:"\u0930\u0935\u093f. \u0938\u094b\u092e. \u092e\u0902\u0917\u0932. \u092c\u0941\u0927. \u092c\u0943\u0939. \u0936\u0941\u0915\u094d\u0930. \u0936\u0928\u093f.".split(" "),NARROWWEEKDAYS:"\u0930 \u0938\u094b \u092e\u0902 \u092c\u0941 \u0917\u0941 \u0936\u0941 \u0936".split(" "),STANDALONENARROWWEEKDAYS:"\u0930 \u0938\u094b \u092e\u0902 \u092c\u0941 \u0917\u0941 \u0936\u0941 \u0936".split(" "),SHORTQUARTERS:["\u0924\u093f\u092e\u093e\u0939\u0940","\u0926\u0942\u0938\u0930\u0940 \u0924\u093f\u092e\u093e\u0939\u0940",
"\u0924\u0940\u0938\u0930\u0940 \u0924\u093f\u092e\u093e\u0939\u0940","\u091a\u094c\u0925\u0940 \u0924\u093f\u092e\u093e\u0939\u0940"],QUARTERS:["\u0924\u093f\u092e\u093e\u0939\u0940","\u0926\u0942\u0938\u0930\u0940 \u0924\u093f\u092e\u093e\u0939\u0940","\u0924\u0940\u0938\u0930\u0940 \u0924\u093f\u092e\u093e\u0939\u0940","\u091a\u094c\u0925\u0940 \u0924\u093f\u092e\u093e\u0939\u0940"],AMPMS:["am","pm"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","dd-MM-y","d-M-yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z",
"h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_hr={ERAS:["p. n. e.","A. D."],ERANAMES:["Prije Krista","Poslije Krista"],NARROWMONTHS:"1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.".split(" "),STANDALONENARROWMONTHS:"1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.".split(" "),MONTHS:"sije\u010dnja velja\u010de o\u017eujka travnja svibnja lipnja srpnja kolovoza rujna listopada studenoga prosinca".split(" "),STANDALONEMONTHS:"sije\u010danj velja\u010da o\u017eujak travanj svibanj lipanj srpanj kolovoz rujan listopad studeni prosinac".split(" "),
SHORTMONTHS:"sij velj o\u017eu tra svi lip srp kol ruj lis stu pro".split(" "),STANDALONESHORTMONTHS:"sij velj o\u017eu tra svi lip srp kol ruj lis stu pro".split(" "),WEEKDAYS:"nedjelja ponedjeljak utorak srijeda \u010detvrtak petak subota".split(" "),STANDALONEWEEKDAYS:"nedjelja ponedjeljak utorak srijeda \u010detvrtak petak subota".split(" "),SHORTWEEKDAYS:"ned pon uto sri \u010det pet sub".split(" "),STANDALONESHORTWEEKDAYS:"ned pon uto sri \u010det pet sub".split(" "),NARROWWEEKDAYS:"NPUS\u010cPS".split(""),
STANDALONENARROWWEEKDAYS:"npus\u010dps".split(""),SHORTQUARTERS:["1kv","2kv","3kv","4kv"],QUARTERS:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d. MMMM y.","d. MMMM y.","d. M. y.","d.M.y."],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_hu={ERAS:["i. e.","i. sz."],ERANAMES:["id\u0151sz\u00e1m\u00edt\u00e1sunk el\u0151tt","id\u0151sz\u00e1m\u00edt\u00e1sunk szerint"],NARROWMONTHS:"J F M \u00c1 M J J \u00c1 Sz O N D".split(" "),STANDALONENARROWMONTHS:"J F M \u00c1 M J J A Sz O N D".split(" "),MONTHS:"janu\u00e1r febru\u00e1r m\u00e1rcius \u00e1prilis m\u00e1jus j\u00fanius j\u00falius augusztus szeptember okt\u00f3ber november december".split(" "),STANDALONEMONTHS:"janu\u00e1r febru\u00e1r m\u00e1rcius \u00e1prilis m\u00e1jus j\u00fanius j\u00falius augusztus szeptember okt\u00f3ber november december".split(" "),
SHORTMONTHS:"jan. febr. m\u00e1rc. \u00e1pr. m\u00e1j. j\u00fan. j\u00fal. aug. szept. okt. nov. dec.".split(" "),STANDALONESHORTMONTHS:"jan. febr. m\u00e1rc. \u00e1pr. m\u00e1j. j\u00fan. j\u00fal. aug. szept. okt. nov. dec.".split(" "),WEEKDAYS:"vas\u00e1rnap h\u00e9tf\u0151 kedd szerda cs\u00fct\u00f6rt\u00f6k p\u00e9ntek szombat".split(" "),STANDALONEWEEKDAYS:"vas\u00e1rnap h\u00e9tf\u0151 kedd szerda cs\u00fct\u00f6rt\u00f6k p\u00e9ntek szombat".split(" "),SHORTWEEKDAYS:"V H K Sze Cs P Szo".split(" "),
STANDALONESHORTWEEKDAYS:"V H K Sze Cs P Szo".split(" "),NARROWWEEKDAYS:"V H K Sz Cs P Sz".split(" "),STANDALONENARROWWEEKDAYS:"V H K Sz Cs P Sz".split(" "),SHORTQUARTERS:["N1","N2","N3","N4"],QUARTERS:["I. negyed\u00e9v","II. negyed\u00e9v","III. negyed\u00e9v","IV. negyed\u00e9v"],AMPMS:["de.","du."],DATEFORMATS:["y. MMMM d., EEEE","y. MMMM d.","y.MM.dd.","y.MM.dd."],TIMEFORMATS:["H:mm:ss zzzz","H:mm:ss z","H:mm:ss","H:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,
WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_id={ERAS:["SM","M"],ERANAMES:["SM","M"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember".split(" "),STANDALONEMONTHS:"Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember".split(" "),SHORTMONTHS:"Jan Feb Mar Apr Mei Jun Jul Agt Sep Okt Nov Des".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr Mei Jun Jul Agt Sep Okt Nov Des".split(" "),WEEKDAYS:"Minggu Senin Selasa Rabu Kamis Jumat Sabtu".split(" "),
STANDALONEWEEKDAYS:"Minggu Senin Selasa Rabu Kamis Jumat Sabtu".split(" "),SHORTWEEKDAYS:"Min Sen Sel Rab Kam Jum Sab".split(" "),STANDALONESHORTWEEKDAYS:"Min Sen Sel Rab Kam Jum Sab".split(" "),NARROWWEEKDAYS:"MSSRKJS".split(""),STANDALONENARROWWEEKDAYS:"MSSRKJS".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["Kuartal ke-1","Kuartal ke-2","Kuartal ke-3","Kuartal ke-4"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, dd MMMM y","d MMMM y","d MMM y","dd/MM/yy"],TIMEFORMATS:["HH.mm.ss zzzz","HH.mm.ss z",
"HH.mm.ss","HH.mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_in={ERAS:["SM","M"],ERANAMES:["SM","M"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember".split(" "),STANDALONEMONTHS:"Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember".split(" "),SHORTMONTHS:"Jan Feb Mar Apr Mei Jun Jul Agt Sep Okt Nov Des".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr Mei Jun Jul Agt Sep Okt Nov Des".split(" "),
WEEKDAYS:"Minggu Senin Selasa Rabu Kamis Jumat Sabtu".split(" "),STANDALONEWEEKDAYS:"Minggu Senin Selasa Rabu Kamis Jumat Sabtu".split(" "),SHORTWEEKDAYS:"Min Sen Sel Rab Kam Jum Sab".split(" "),STANDALONESHORTWEEKDAYS:"Min Sen Sel Rab Kam Jum Sab".split(" "),NARROWWEEKDAYS:"MSSRKJS".split(""),STANDALONENARROWWEEKDAYS:"MSSRKJS".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["Kuartal ke-1","Kuartal ke-2","Kuartal ke-3","Kuartal ke-4"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, dd MMMM y","d MMMM y",
"d MMM y","dd/MM/yy"],TIMEFORMATS:["HH.mm.ss zzzz","HH.mm.ss z","HH.mm.ss","HH.mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_is={ERAS:["f.Kr.","e.Kr."],ERANAMES:["fyrir Krist","eftir Krist"],NARROWMONTHS:"JFMAMJJ\u00c1LOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJ\u00c1SOND".split(""),MONTHS:"jan\u00faar febr\u00faar mars apr\u00edl ma\u00ed j\u00fan\u00ed j\u00fal\u00ed \u00e1g\u00fast september okt\u00f3ber n\u00f3vember desember".split(" "),STANDALONEMONTHS:"jan\u00faar febr\u00faar mars apr\u00edl ma\u00ed j\u00fan\u00ed j\u00fal\u00ed \u00e1g\u00fast september okt\u00f3ber n\u00f3vember desember".split(" "),
SHORTMONTHS:"jan feb mar apr ma\u00ed j\u00fan j\u00fal \u00e1g\u00fa sep okt n\u00f3v des".split(" "),STANDALONESHORTMONTHS:"jan feb mar apr ma\u00ed j\u00fan j\u00fal \u00e1g\u00fa sep okt n\u00f3v des".split(" "),WEEKDAYS:"sunnudagur m\u00e1nudagur \u00feri\u00f0judagur mi\u00f0vikudagur fimmtudagur f\u00f6studagur laugardagur".split(" "),STANDALONEWEEKDAYS:"sunnudagur m\u00e1nudagur \u00feri\u00f0judagur mi\u00f0vikudagur fimmtudagur f\u00f6studagur laugardagur".split(" "),SHORTWEEKDAYS:"sun m\u00e1n \u00feri mi\u00f0 fim f\u00f6s lau".split(" "),
STANDALONESHORTWEEKDAYS:"sun m\u00e1n \u00feri mi\u00f0 fim f\u00f6s lau".split(" "),NARROWWEEKDAYS:"SM\u00deMFFL".split(""),STANDALONENARROWWEEKDAYS:"SM\u00feMFFL".split(""),SHORTQUARTERS:["F1","F2","F3","F4"],QUARTERS:["1. fj\u00f3r\u00f0ungur","2. fj\u00f3r\u00f0ungur","3. fj\u00f3r\u00f0ungur","4. fj\u00f3r\u00f0ungur"],AMPMS:["f.h.","e.h."],DATEFORMATS:["EEEE, d. MMMM y","d. MMMM y","d.M.y","d.M.y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}",
"{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_it={ERAS:["aC","dC"],ERANAMES:["a.C.","d.C."],NARROWMONTHS:"GFMAMGLASOND".split(""),STANDALONENARROWMONTHS:"GFMAMGLASOND".split(""),MONTHS:"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre".split(" "),STANDALONEMONTHS:"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre Novembre Dicembre".split(" "),SHORTMONTHS:"gen feb mar apr mag giu lug ago set ott nov dic".split(" "),STANDALONESHORTMONTHS:"gen feb mar apr mag giu lug ago set ott nov dic".split(" "),
WEEKDAYS:"domenica luned\u00ec marted\u00ec mercoled\u00ec gioved\u00ec venerd\u00ec sabato".split(" "),STANDALONEWEEKDAYS:"Domenica Luned\u00ec Marted\u00ec Mercoled\u00ec Gioved\u00ec Venerd\u00ec Sabato".split(" "),SHORTWEEKDAYS:"dom lun mar mer gio ven sab".split(" "),STANDALONESHORTWEEKDAYS:"dom lun mar mer gio ven sab".split(" "),NARROWWEEKDAYS:"DLMMGVS".split(""),STANDALONENARROWWEEKDAYS:"DLMMGVS".split(""),SHORTQUARTERS:["T1","T2","T3","T4"],QUARTERS:["1o trimestre","2o trimestre","3o trimestre",
"4o trimestre"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y","dd MMMM y","dd/MMM/y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_iw={ERAS:["\u05dc\u05e4\u05e0\u05d4\u05f4\u05e1","\u05dc\u05e1\u05d4\u05f4\u05e0"],ERANAMES:["\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e1\u05e4\u05d9\u05e8\u05d4","\u05dc\u05e1\u05e4\u05d9\u05e8\u05d4"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"\u05d9\u05e0\u05d5\u05d0\u05e8 \u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05d9\u05dc \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05d5\u05e1\u05d8 \u05e1\u05e4\u05d8\u05de\u05d1\u05e8 \u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8 \u05e0\u05d5\u05d1\u05de\u05d1\u05e8 \u05d3\u05e6\u05de\u05d1\u05e8".split(" "),
STANDALONEMONTHS:"\u05d9\u05e0\u05d5\u05d0\u05e8 \u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05d9\u05dc \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05d5\u05e1\u05d8 \u05e1\u05e4\u05d8\u05de\u05d1\u05e8 \u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8 \u05e0\u05d5\u05d1\u05de\u05d1\u05e8 \u05d3\u05e6\u05de\u05d1\u05e8".split(" "),SHORTMONTHS:"\u05d9\u05e0\u05d5 \u05e4\u05d1\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8 \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0 \u05d9\u05d5\u05dc \u05d0\u05d5\u05d2 \u05e1\u05e4\u05d8 \u05d0\u05d5\u05e7 \u05e0\u05d5\u05d1 \u05d3\u05e6\u05de".split(" "),
STANDALONESHORTMONTHS:"\u05d9\u05e0\u05d5\u05f3 \u05e4\u05d1\u05e8\u05f3 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05f3 \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05f3 \u05d9\u05d5\u05dc\u05f3 \u05d0\u05d5\u05d2\u05f3 \u05e1\u05e4\u05d8\u05f3 \u05d0\u05d5\u05e7\u05f3 \u05e0\u05d5\u05d1\u05f3 \u05d3\u05e6\u05de\u05f3".split(" "),WEEKDAYS:"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df;\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9;\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9;\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea".split(";"),
STANDALONEWEEKDAYS:"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df;\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9;\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9;\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea".split(";"),SHORTWEEKDAYS:"\u05d9\u05d5\u05dd \u05d0\u05f3;\u05d9\u05d5\u05dd \u05d1\u05f3;\u05d9\u05d5\u05dd \u05d2\u05f3;\u05d9\u05d5\u05dd \u05d3\u05f3;\u05d9\u05d5\u05dd \u05d4\u05f3;\u05d9\u05d5\u05dd \u05d5\u05f3;\u05e9\u05d1\u05ea".split(";"),
STANDALONESHORTWEEKDAYS:"\u05d9\u05d5\u05dd \u05d0\u05f3;\u05d9\u05d5\u05dd \u05d1\u05f3;\u05d9\u05d5\u05dd \u05d2\u05f3;\u05d9\u05d5\u05dd \u05d3\u05f3;\u05d9\u05d5\u05dd \u05d4\u05f3;\u05d9\u05d5\u05dd \u05d5\u05f3;\u05e9\u05d1\u05ea".split(";"),NARROWWEEKDAYS:"\u05d0' \u05d1' \u05d2' \u05d3' \u05d4' \u05d5\u05f3 \u05e9\u05f3".split(" "),STANDALONENARROWWEEKDAYS:"\u05d0\u05f3 \u05d1\u05f3 \u05d2\u05f3 \u05d3\u05f3 \u05d4\u05f3 \u05d5 \u05e9".split(" "),SHORTQUARTERS:["\u05e8\u05d1\u05e2\u05d5\u05df 1",
"\u05e8\u05d1\u05e2\u05d5\u05df 2","\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],QUARTERS:["\u05e8\u05d1\u05e2\u05d5\u05df 1","\u05e8\u05d1\u05e2\u05d5\u05df 2","\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],AMPMS:["\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6","\u05d0\u05d7\u05d4\u05f4\u05e6"],DATEFORMATS:["EEEE, d \u05d1MMMM y","d \u05d1MMMM y","d \u05d1MMM y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}",
"{1} {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[4,5],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_ja={ERAS:["\u7d00\u5143\u524d","\u897f\u66a6"],ERANAMES:["\u7d00\u5143\u524d","\u897f\u66a6"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),STANDALONEMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),SHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),
STANDALONESHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),WEEKDAYS:"\u65e5\u66dc\u65e5 \u6708\u66dc\u65e5 \u706b\u66dc\u65e5 \u6c34\u66dc\u65e5 \u6728\u66dc\u65e5 \u91d1\u66dc\u65e5 \u571f\u66dc\u65e5".split(" "),STANDALONEWEEKDAYS:"\u65e5\u66dc\u65e5 \u6708\u66dc\u65e5 \u706b\u66dc\u65e5 \u6c34\u66dc\u65e5 \u6728\u66dc\u65e5 \u91d1\u66dc\u65e5 \u571f\u66dc\u65e5".split(" "),SHORTWEEKDAYS:"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),
STANDALONESHORTWEEKDAYS:"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),NARROWWEEKDAYS:"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),STANDALONENARROWWEEKDAYS:"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),SHORTQUARTERS:["1Q","2Q","3Q","4Q"],QUARTERS:["\u7b2c1\u56db\u534a\u671f","\u7b2c2\u56db\u534a\u671f","\u7b2c3\u56db\u534a\u671f","\u7b2c4\u56db\u534a\u671f"],AMPMS:["\u5348\u524d","\u5348\u5f8c"],DATEFORMATS:["y\u5e74M\u6708d\u65e5EEEE","y\u5e74M\u6708d\u65e5","y/MM/dd",
"y/MM/dd"],TIMEFORMATS:["H\u6642mm\u5206ss\u79d2 zzzz","H:mm:ss z","H:mm:ss","H:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_kn={ERAS:["\u0c95\u0ccd\u0cb0\u0cbf.\u0caa\u0cc2","\u0c9c\u0cbe\u0cb9\u0cc0"],ERANAMES:["\u0c88\u0cb8\u0caa\u0cc2\u0cb5\u0cef.","\u0c95\u0ccd\u0cb0\u0cbf\u0cb8\u0ccd\u0ca4 \u0cb6\u0c95"],NARROWMONTHS:"\u0c9c \u0cab\u0cc6 \u0cae\u0cbe \u0c8f \u0cae\u0cc7 \u0c9c\u0cc2 \u0c9c\u0cc1 \u0c86 \u0cb8\u0cc6 \u0c85 \u0ca8 \u0ca1\u0cbf".split(" "),STANDALONENARROWMONTHS:"\u0c9c \u0cab\u0cc6 \u0cae\u0cbe \u0c8e \u0cae\u0cc7 \u0c9c\u0cc2 \u0c9c\u0cc1 \u0c86 \u0cb8\u0cc6 \u0c85 \u0ca8 \u0ca1\u0cbf".split(" "),
MONTHS:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0 \u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0 \u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd \u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd \u0cae\u0cc6 \u0c9c\u0cc2\u0ca8\u0ccd \u0c9c\u0cc1\u0cb2\u0cc8 \u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd \u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd \u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd \u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd \u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split(" "),STANDALONEMONTHS:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cc0 \u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cc0 \u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd \u0c8e\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd \u0cae\u0cc6 \u0c9c\u0cc2\u0ca8\u0ccd \u0c9c\u0cc1\u0cb2\u0cc8 \u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd \u0cb8\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd \u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd \u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd \u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split(" "),
SHORTMONTHS:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf \u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cc1\u0cb5\u0cb0\u0cbf \u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd \u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd\u200c\u200c \u0cae\u0cc7 \u0c9c\u0cc2\u0ca8\u0ccd \u0c9c\u0cc1\u0cb2\u0cc8 \u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd \u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd\u200c \u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd \u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd \u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split(" "),
STANDALONESHORTMONTHS:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf \u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cc1\u0cb5\u0cb0\u0cbf \u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd \u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd\u200c\u200c \u0cae\u0cc7 \u0c9c\u0cc2\u0ca8\u0ccd \u0c9c\u0cc1\u0cb2\u0cc8 \u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd \u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd\u200c \u0c85\u0c95\u0ccd\u0c9f\u0ccb\u0cac\u0cb0\u0ccd \u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd \u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split(" "),
WEEKDAYS:"\u0cb0\u0cb5\u0cbf\u0cb5\u0cbe\u0cb0 \u0cb8\u0ccb\u0cae\u0cb5\u0cbe\u0cb0 \u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0 \u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0 \u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0 \u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0 \u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split(" "),STANDALONEWEEKDAYS:"\u0cb0\u0cb5\u0cbf\u0cb5\u0cbe\u0cb0 \u0cb8\u0ccb\u0cae\u0cb5\u0cbe\u0cb0 \u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0 \u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0 \u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0 \u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0 \u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split(" "),
SHORTWEEKDAYS:"\u0cb0. \u0cb8\u0ccb. \u0cae\u0c82. \u0cac\u0cc1. \u0c97\u0cc1. \u0cb6\u0cc1. \u0cb6\u0ca8\u0cbf.".split(" "),STANDALONESHORTWEEKDAYS:"\u0cb0. \u0cb8\u0ccb. \u0cae\u0c82. \u0cac\u0cc1. \u0c97\u0cc1. \u0cb6\u0cc1. \u0cb6\u0ca8\u0cbf.".split(" "),NARROWWEEKDAYS:"\u0cb0 \u0cb8\u0ccb \u0cae\u0c82 \u0cac\u0cc1 \u0c97\u0cc1 \u0cb6\u0cc1 \u0cb6".split(" "),STANDALONENARROWWEEKDAYS:"\u0cb0 \u0cb8\u0ccb \u0cae\u0c82 \u0cac\u0cc1 \u0c97\u0cc1 \u0cb6\u0cc1 \u0cb6".split(" "),SHORTQUARTERS:["Q1",
"Q2","Q3","Q4"],QUARTERS:["Q1","Q2","Q3","Q4"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y","d MMMM y","d MMM y","d-M-yy"],TIMEFORMATS:["hh:mm:ss a zzzz","hh:mm:ss a z","hh:mm:ss a","hh:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_ko={ERAS:["\uae30\uc6d0\uc804","\uc11c\uae30"],ERANAMES:["\uc11c\ub825\uae30\uc6d0\uc804","\uc11c\ub825\uae30\uc6d0"],NARROWMONTHS:"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "),STANDALONENARROWMONTHS:"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "),MONTHS:"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "),
STANDALONEMONTHS:"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "),SHORTMONTHS:"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "),STANDALONESHORTMONTHS:"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "),WEEKDAYS:"\uc77c\uc694\uc77c \uc6d4\uc694\uc77c \ud654\uc694\uc77c \uc218\uc694\uc77c \ubaa9\uc694\uc77c \uae08\uc694\uc77c \ud1a0\uc694\uc77c".split(" "),
STANDALONEWEEKDAYS:"\uc77c\uc694\uc77c \uc6d4\uc694\uc77c \ud654\uc694\uc77c \uc218\uc694\uc77c \ubaa9\uc694\uc77c \uae08\uc694\uc77c \ud1a0\uc694\uc77c".split(" "),SHORTWEEKDAYS:"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),STANDALONESHORTWEEKDAYS:"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),NARROWWEEKDAYS:"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),STANDALONENARROWWEEKDAYS:"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),SHORTQUARTERS:["1\ubd84\uae30","2\ubd84\uae30",
"3\ubd84\uae30","4\ubd84\uae30"],QUARTERS:["\uc81c 1/4\ubd84\uae30","\uc81c 2/4\ubd84\uae30","\uc81c 3/4\ubd84\uae30","\uc81c 4/4\ubd84\uae30"],AMPMS:["\uc624\uc804","\uc624\ud6c4"],DATEFORMATS:["y\ub144 M\uc6d4 d\uc77c EEEE","y\ub144 M\uc6d4 d\uc77c","y. M. d.","yy. M. d."],TIMEFORMATS:["a h\uc2dc m\ubd84 s\ucd08 zzzz","a h\uc2dc m\ubd84 s\ucd08 z","a h:mm:ss","a h:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_ln={ERAS:["lib\u00f3so ya","nsima ya Y"],ERANAMES:["Yambo ya Y\u00e9zu Kr\u00eds","Nsima ya Y\u00e9zu Kr\u00eds"],NARROWMONTHS:"yfmamyyas\u0254nd".split(""),STANDALONENARROWMONTHS:"yfmamyyas\u0254nd".split(""),MONTHS:"s\u00e1nz\u00e1 ya yambo;s\u00e1nz\u00e1 ya m\u00edbal\u00e9;s\u00e1nz\u00e1 ya m\u00eds\u00e1to;s\u00e1nz\u00e1 ya m\u00ednei;s\u00e1nz\u00e1 ya m\u00edt\u00e1no;s\u00e1nz\u00e1 ya mot\u00f3b\u00e1;s\u00e1nz\u00e1 ya nsambo;s\u00e1nz\u00e1 ya mwambe;s\u00e1nz\u00e1 ya libwa;s\u00e1nz\u00e1 ya z\u00f3mi;s\u00e1nz\u00e1 ya z\u00f3mi na m\u0254\u030ck\u0254\u0301;s\u00e1nz\u00e1 ya z\u00f3mi na m\u00edbal\u00e9".split(";"),
STANDALONEMONTHS:"s\u00e1nz\u00e1 ya yambo;s\u00e1nz\u00e1 ya m\u00edbal\u00e9;s\u00e1nz\u00e1 ya m\u00eds\u00e1to;s\u00e1nz\u00e1 ya m\u00ednei;s\u00e1nz\u00e1 ya m\u00edt\u00e1no;s\u00e1nz\u00e1 ya mot\u00f3b\u00e1;s\u00e1nz\u00e1 ya nsambo;s\u00e1nz\u00e1 ya mwambe;s\u00e1nz\u00e1 ya libwa;s\u00e1nz\u00e1 ya z\u00f3mi;s\u00e1nz\u00e1 ya z\u00f3mi na m\u0254\u030ck\u0254\u0301;s\u00e1nz\u00e1 ya z\u00f3mi na m\u00edbal\u00e9".split(";"),SHORTMONTHS:"yan fbl msi apl mai yun yul agt stb \u0254tb nvb dsb".split(" "),
STANDALONESHORTMONTHS:"yan fbl msi apl mai yun yul agt stb \u0254tb nvb dsb".split(" "),WEEKDAYS:"eyenga;mok\u0254l\u0254 mwa yambo;mok\u0254l\u0254 mwa m\u00edbal\u00e9;mok\u0254l\u0254 mwa m\u00eds\u00e1to;mok\u0254l\u0254 ya m\u00edn\u00e9i;mok\u0254l\u0254 ya m\u00edt\u00e1no;mp\u0254\u0301s\u0254".split(";"),STANDALONEWEEKDAYS:"eyenga;mok\u0254l\u0254 mwa yambo;mok\u0254l\u0254 mwa m\u00edbal\u00e9;mok\u0254l\u0254 mwa m\u00eds\u00e1to;mok\u0254l\u0254 ya m\u00edn\u00e9i;mok\u0254l\u0254 ya m\u00edt\u00e1no;mp\u0254\u0301s\u0254".split(";"),
SHORTWEEKDAYS:"eye ybo mbl mst min mtn mps".split(" "),STANDALONESHORTWEEKDAYS:"eye ybo mbl mst min mtn mps".split(" "),NARROWWEEKDAYS:"eymmmmp".split(""),STANDALONENARROWWEEKDAYS:"eymmmmp".split(""),SHORTQUARTERS:["SM1","SM2","SM3","SM4"],QUARTERS:["s\u00e1nz\u00e1 m\u00eds\u00e1to ya yambo","s\u00e1nz\u00e1 m\u00eds\u00e1to ya m\u00edbal\u00e9","s\u00e1nz\u00e1 m\u00eds\u00e1to ya m\u00eds\u00e1to","s\u00e1nz\u00e1 m\u00eds\u00e1to ya m\u00ednei"],AMPMS:["nt\u0254\u0301ng\u0254\u0301","mp\u00f3kwa"],
DATEFORMATS:["EEEE d MMMM y","d MMMM y","d MMM y","d/M/y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_lt={ERAS:["pr. Kr.","po Kr."],ERANAMES:["prie\u0161 Krist\u0173","po Kristaus"],NARROWMONTHS:"SVKBGBLRRSLG".split(""),STANDALONENARROWMONTHS:"SVKBGBLRRSLG".split(""),MONTHS:"sausis vasaris kovas balandis gegu\u017e\u0117 bir\u017eelis liepa rugpj\u016btis rugs\u0117jis spalis lapkritis gruodis".split(" "),STANDALONEMONTHS:"sausis vasaris kovas balandis gegu\u017e\u0117 bir\u017eelis liepa rugpj\u016btis rugs\u0117jis spalis lapkritis gruodis".split(" "),SHORTMONTHS:"saus. vas. kov. bal. geg. bir\u017e. liep. rugp. rugs. spal. lapkr. gruod.".split(" "),
STANDALONESHORTMONTHS:"saus. vas. kov. bal. geg. bir\u017e. liep. rugp. rugs. spal. lapkr. gruod.".split(" "),WEEKDAYS:"sekmadienis pirmadienis antradienis tre\u010diadienis ketvirtadienis penktadienis \u0161e\u0161tadienis".split(" "),STANDALONEWEEKDAYS:"sekmadienis pirmadienis antradienis tre\u010diadienis ketvirtadienis penktadienis \u0161e\u0161tadienis".split(" "),SHORTWEEKDAYS:"sk pr an tr kt pn \u0161t".split(" "),STANDALONESHORTWEEKDAYS:"sk pr an tr kt pn \u0161t".split(" "),NARROWWEEKDAYS:"SPATKP\u0160".split(""),
STANDALONENARROWWEEKDAYS:"SPATKP\u0160".split(""),SHORTQUARTERS:["I k.","II k.","III k.","IV k."],QUARTERS:["I ketvirtis","II ketvirtis","III ketvirtis","IV ketvirtis"],AMPMS:["prie\u0161piet","popiet"],DATEFORMATS:["y 'm'. MMMM d 'd'., EEEE","y 'm'. MMMM d 'd'.","y MMM d","y-MM-dd"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_lv={ERAS:["p.m.\u0113.","m.\u0113."],ERANAMES:["pirms m\u016bsu \u0113ras","m\u016bsu \u0113r\u0101"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"janv\u0101ris febru\u0101ris marts apr\u012blis maijs j\u016bnijs j\u016blijs augusts septembris oktobris novembris decembris".split(" "),STANDALONEMONTHS:"Janv\u0101ris Febru\u0101ris Marts Apr\u012blis Maijs J\u016bnijs J\u016blijs Augusts Septembris Oktobris Novembris Decembris".split(" "),
SHORTMONTHS:"janv. febr. marts apr. maijs j\u016bn. j\u016bl. aug. sept. okt. nov. dec.".split(" "),STANDALONESHORTMONTHS:"Janv. Febr. Marts Apr. Maijs J\u016bn. J\u016bl. Aug. Sept. Okt. Nov. Dec.".split(" "),WEEKDAYS:"sv\u0113tdiena pirmdiena otrdiena tre\u0161diena ceturtdiena piektdiena sestdiena".split(" "),STANDALONEWEEKDAYS:"Sv\u0113tdiena Pirmdiena Otrdiena Tre\u0161diena Ceturtdiena Piektdiena Sestdiena".split(" "),SHORTWEEKDAYS:"Sv Pr Ot Tr Ce Pk Se".split(" "),STANDALONESHORTWEEKDAYS:"Sv Pr Ot Tr Ce Pk Se".split(" "),
NARROWWEEKDAYS:"SPOTCPS".split(""),STANDALONENARROWWEEKDAYS:"SPOTCPS".split(""),SHORTQUARTERS:["C1","C2","C3","C4"],QUARTERS:["1. ceturksnis","2. ceturksnis","3. ceturksnis","4. ceturksnis"],AMPMS:["priek\u0161pusdien\u0101","p\u0113cpusdien\u0101"],DATEFORMATS:["EEEE, y. 'gada' d. MMMM","y. 'gada' d. MMMM","y. 'gada' d. MMM","dd.MM.yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_ml={ERAS:["\u0d15\u0d4d\u0d30\u0d3f.\u0d2e\u0d42","\u0d15\u0d4d\u0d30\u0d3f.\u0d2a\u0d3f."],ERANAMES:["\u0d15\u0d4d\u0d30\u0d3f\u0d38\u0d4d\u0d24\u0d41\u0d35\u0d3f\u0d28\u0d41\u0d4d \u0d2e\u0d41\u0d2e\u0d4d\u0d2a\u0d4d\u200c","\u0d15\u0d4d\u0d30\u0d3f\u0d38\u0d4d\u0d24\u0d41\u0d35\u0d3f\u0d28\u0d4d \u0d2a\u0d3f\u0d7b\u0d2a\u0d4d"],NARROWMONTHS:"\u0d1c \u0d2b\u0d46 \u0d2e\u0d3e \u0d0f \u0d2e\u0d47 \u0d1c\u0d42 \u0d1c\u0d42 \u0d13 \u0d38\u0d46 \u0d12 \u0d28 \u0d21\u0d3f".split(" "),
STANDALONENARROWMONTHS:"\u0d1c \u0d2b\u0d46 \u0d2e\u0d3e \u0d0f \u0d2e\u0d47 \u0d1c\u0d42 \u0d1c\u0d42 \u0d13 \u0d38\u0d46 \u0d12 \u0d28 \u0d21\u0d3f".split(" "),MONTHS:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f \u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f \u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d \u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d \u0d2e\u0d47\u0d2f\u0d4d \u0d1c\u0d42\u0d7a \u0d1c\u0d42\u0d32\u0d48 \u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d \u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c \u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c \u0d28\u0d35\u0d02\u0d2c\u0d7c \u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split(" "),
STANDALONEMONTHS:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f \u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f \u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d \u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d \u0d2e\u0d47\u0d2f\u0d4d \u0d1c\u0d42\u0d7a \u0d1c\u0d42\u0d32\u0d48 \u0d06\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d \u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c \u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c \u0d28\u0d35\u0d02\u0d2c\u0d7c \u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split(" "),SHORTMONTHS:"\u0d1c\u0d28\u0d41 \u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41 \u0d2e\u0d3e\u0d7c \u0d0f\u0d2a\u0d4d\u0d30\u0d3f \u0d2e\u0d47\u0d2f\u0d4d \u0d1c\u0d42\u0d7a \u0d1c\u0d42\u0d32\u0d48 \u0d13\u0d17 \u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02 \u0d12\u0d15\u0d4d\u0d1f\u0d4b \u0d28\u0d35\u0d02 \u0d21\u0d3f\u0d38\u0d02".split(" "),
STANDALONESHORTMONTHS:"\u0d1c\u0d28\u0d41 \u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41 \u0d2e\u0d3e\u0d7c \u0d0f\u0d2a\u0d4d\u0d30\u0d3f \u0d2e\u0d47\u0d2f\u0d4d \u0d1c\u0d42\u0d7a \u0d1c\u0d42\u0d32\u0d48 \u0d13\u0d17 \u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02 \u0d12\u0d15\u0d4d\u0d1f\u0d4b \u0d28\u0d35\u0d02 \u0d21\u0d3f\u0d38\u0d02".split(" "),WEEKDAYS:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a \u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a \u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a \u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a \u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a \u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a \u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split(" "),
STANDALONEWEEKDAYS:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a \u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a \u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a \u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a \u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a \u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a \u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split(" "),SHORTWEEKDAYS:"\u0d1e\u0d3e\u0d2f\u0d7c \u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e \u0d1a\u0d4a\u0d35\u0d4d\u0d35 \u0d2c\u0d41\u0d27\u0d7b \u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02 \u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f \u0d36\u0d28\u0d3f".split(" "),
STANDALONESHORTWEEKDAYS:"\u0d1e\u0d3e\u0d2f\u0d7c \u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e \u0d1a\u0d4a\u0d35\u0d4d\u0d35 \u0d2c\u0d41\u0d27\u0d7b \u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02 \u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f \u0d36\u0d28\u0d3f".split(" "),NARROWWEEKDAYS:"\u0d1e\u0d3e \u0d24\u0d3f \u0d1a\u0d4a \u0d2c\u0d41 \u0d35\u0d4d\u0d2f\u0d3e \u0d35\u0d46 \u0d36".split(" "),STANDALONENARROWWEEKDAYS:"\u0d1e\u0d3e \u0d24\u0d3f \u0d1a\u0d4a \u0d2c\u0d41 \u0d35\u0d4d\u0d2f\u0d3e \u0d35\u0d46 \u0d36".split(" "),
SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["\u0d12\u0d28\u0d4d\u0d28\u0d3e\u0d02 \u0d2a\u0d3e\u0d26\u0d02","\u0d30\u0d23\u0d4d\u0d1f\u0d3e\u0d02 \u0d2a\u0d3e\u0d26\u0d02","\u0d2e\u0d42\u0d28\u0d4d\u0d28\u0d3e\u0d02 \u0d2a\u0d3e\u0d26\u0d02","\u0d28\u0d3e\u0d32\u0d3e\u0d02 \u0d2a\u0d3e\u0d26\u0d02"],AMPMS:["AM","PM"],DATEFORMATS:["y, MMMM d, EEEE","y, MMMM d","y, MMM d","dd/MM/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],
FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_mr={ZERODIGIT:2406,ERAS:["\u0908\u0938\u093e\u092a\u0942\u0930\u094d\u0935","\u0938\u0928"],ERANAMES:["\u0908\u0938\u0935\u0940\u0938\u0928\u092a\u0942\u0930\u094d\u0935","\u0908\u0938\u0935\u0940\u0938\u0928"],NARROWMONTHS:"\u091c\u093e \u092b\u0947 \u092e\u093e \u090f \u092e\u0947 \u091c\u0942 \u091c\u0941 \u0911 \u0938 \u0911 \u0928\u094b \u0921\u093f".split(" "),STANDALONENARROWMONTHS:"\u091c\u093e \u092b\u0947 \u092e\u093e \u090f \u092e\u0947 \u091c\u0942 \u091c\u0941 \u0911 \u0938 \u0911 \u0928\u094b \u0921\u093f".split(" "),MONTHS:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940 \u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940 \u092e\u093e\u0930\u094d\u091a \u090f\u092a\u094d\u0930\u093f\u0932 \u092e\u0947 \u091c\u0942\u0928 \u091c\u0941\u0932\u0948 \u0911\u0917\u0938\u094d\u091f \u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930 \u0911\u0915\u094d\u091f\u094b\u092c\u0930 \u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930 \u0921\u093f\u0938\u0947\u0902\u092c\u0930".split(" "),
STANDALONEMONTHS:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940 \u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940 \u092e\u093e\u0930\u094d\u091a \u090f\u092a\u094d\u0930\u093f\u0932 \u092e\u0947 \u091c\u0942\u0928 \u091c\u0941\u0932\u0948 \u0911\u0917\u0938\u094d\u091f \u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930 \u0911\u0915\u094d\u091f\u094b\u092c\u0930 \u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930 \u0921\u093f\u0938\u0947\u0902\u092c\u0930".split(" "),SHORTMONTHS:"\u091c\u093e\u0928\u0947 \u092b\u0947\u092c\u094d\u0930\u0941 \u092e\u093e\u0930\u094d\u091a \u090f\u092a\u094d\u0930\u093f \u092e\u0947 \u091c\u0942\u0928 \u091c\u0941\u0932\u0948 \u0911\u0917 \u0938\u0947\u092a\u094d\u091f\u0947\u0902 \u0911\u0915\u094d\u091f \u0928\u094b\u0935\u094d\u0939\u0947\u0902 \u0921\u093f\u0938\u0947\u0902".split(" "),
STANDALONESHORTMONTHS:"\u091c\u093e\u0928\u0947 \u092b\u0947\u092c\u094d\u0930\u0941 \u092e\u093e\u0930\u094d\u091a \u090f\u092a\u094d\u0930\u093f \u092e\u0947 \u091c\u0942\u0928 \u091c\u0941\u0932\u0948 \u0911\u0917 \u0938\u0947\u092a\u094d\u091f\u0947\u0902 \u0911\u0915\u094d\u091f \u0928\u094b\u0935\u094d\u0939\u0947\u0902 \u0921\u093f\u0938\u0947\u0902".split(" "),WEEKDAYS:"\u0930\u0935\u093f\u0935\u093e\u0930 \u0938\u094b\u092e\u0935\u093e\u0930 \u092e\u0902\u0917\u0933\u0935\u093e\u0930 \u092c\u0941\u0927\u0935\u093e\u0930 \u0917\u0941\u0930\u0941\u0935\u093e\u0930 \u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930 \u0936\u0928\u093f\u0935\u093e\u0930".split(" "),
STANDALONEWEEKDAYS:"\u0930\u0935\u093f\u0935\u093e\u0930 \u0938\u094b\u092e\u0935\u093e\u0930 \u092e\u0902\u0917\u0933\u0935\u093e\u0930 \u092c\u0941\u0927\u0935\u093e\u0930 \u0917\u0941\u0930\u0941\u0935\u093e\u0930 \u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930 \u0936\u0928\u093f\u0935\u093e\u0930".split(" "),SHORTWEEKDAYS:"\u0930\u0935\u093f \u0938\u094b\u092e \u092e\u0902\u0917\u0933 \u092c\u0941\u0927 \u0917\u0941\u0930\u0941 \u0936\u0941\u0915\u094d\u0930 \u0936\u0928\u093f".split(" "),STANDALONESHORTWEEKDAYS:"\u0930\u0935\u093f \u0938\u094b\u092e \u092e\u0902\u0917\u0933 \u092c\u0941\u0927 \u0917\u0941\u0930\u0941 \u0936\u0941\u0915\u094d\u0930 \u0936\u0928\u093f".split(" "),
NARROWWEEKDAYS:"\u0930 \u0938\u094b \u092e\u0902 \u092c\u0941 \u0917\u0941 \u0936\u0941 \u0936".split(" "),STANDALONENARROWWEEKDAYS:"\u0930 \u0938\u094b \u092e\u0902 \u092c\u0941 \u0917\u0941 \u0936\u0941 \u0936".split(" "),SHORTQUARTERS:["\u0924\u093f 1","\u0924\u093f 2","\u0924\u093f 3","\u0924\u093f 4"],QUARTERS:["\u092a\u094d\u0930\u0925\u092e \u0924\u093f\u092e\u093e\u0939\u0940","\u0926\u094d\u0935\u093f\u0924\u0940\u092f \u0924\u093f\u092e\u093e\u0939\u0940","\u0924\u0943\u0924\u0940\u092f \u0924\u093f\u092e\u093e\u0939\u0940",
"\u091a\u0924\u0941\u0930\u094d\u0925 \u0924\u093f\u092e\u093e\u0939\u0940"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y","d MMMM y","d MMM y","d-M-yy"],TIMEFORMATS:["h-mm-ss a zzzz","h-mm-ss a z","h-mm-ss a","h-mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_ms={ERAS:["S.M.","TM"],ERANAMES:["S.M.","TM"],NARROWMONTHS:"JFMAMJJOSOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJOSOND".split(""),MONTHS:"Januari Februari Mac April Mei Jun Julai Ogos September Oktober November Disember".split(" "),STANDALONEMONTHS:"Januari Februari Mac April Mei Jun Julai Ogos September Oktober November Disember".split(" "),SHORTMONTHS:"Jan Feb Mac Apr Mei Jun Jul Ogos Sep Okt Nov Dis".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mac Apr Mei Jun Jul Ogos Sep Okt Nov Dis".split(" "),
WEEKDAYS:"Ahad Isnin Selasa Rabu Khamis Jumaat Sabtu".split(" "),STANDALONEWEEKDAYS:"Ahad Isnin Selasa Rabu Khamis Jumaat Sabtu".split(" "),SHORTWEEKDAYS:"Ahd Isn Sel Rab Kha Jum Sab".split(" "),STANDALONESHORTWEEKDAYS:"Ahd Isn Sel Rab Kha Jum Sab".split(" "),NARROWWEEKDAYS:"AISRKJS".split(""),STANDALONENARROWWEEKDAYS:"AISRKJS".split(""),SHORTQUARTERS:["Suku 1","Suku Ke-2","Suku Ke-3","Suku Ke-4"],QUARTERS:["Suku pertama","Suku Ke-2","Suku Ke-3","Suku Ke-4"],AMPMS:["PG","PTG"],DATEFORMATS:["EEEE, d MMMM y",
"d MMMM y","dd/MM/y","d/MM/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_mt={ERAS:["QK","WK"],ERANAMES:["Qabel Kristu","Wara Kristu"],NARROWMONTHS:"JFMAM\u0120LASOND".split(""),STANDALONENARROWMONTHS:"JFMAM\u0120LASOND".split(""),MONTHS:"Jannar Frar Marzu April Mejju \u0120unju Lulju Awwissu Settembru Ottubru Novembru Di\u010bembru".split(" "),STANDALONEMONTHS:"Jannar Frar Marzu April Mejju \u0120unju Lulju Awwissu Settembru Ottubru Novembru Di\u010bembru".split(" "),SHORTMONTHS:"Jan Fra Mar Apr Mej \u0120un Lul Aww Set Ott Nov Di\u010b".split(" "),
STANDALONESHORTMONTHS:"Jan Fra Mar Apr Mej \u0120un Lul Aww Set Ott Nov Di\u010b".split(" "),WEEKDAYS:"Il-\u0126add It-Tnejn It-Tlieta L-Erbg\u0127a Il-\u0126amis Il-\u0120img\u0127a Is-Sibt".split(" "),STANDALONEWEEKDAYS:"Il-\u0126add It-Tnejn It-Tlieta L-Erbg\u0127a Il-\u0126amis Il-\u0120img\u0127a Is-Sibt".split(" "),SHORTWEEKDAYS:"\u0126ad Tne Tli Erb \u0126am \u0120im Sib".split(" "),STANDALONESHORTWEEKDAYS:"\u0126ad Tne Tli Erb \u0126am \u0120im Sib".split(" "),NARROWWEEKDAYS:"\u0126TTE\u0126\u0120S".split(""),
STANDALONENARROWWEEKDAYS:"\u0126TTE\u0126\u0120S".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["K1","K2","K3","K4"],AMPMS:["QN","WN"],DATEFORMATS:["EEEE, d 'ta'\u2019 MMMM y","d 'ta'\u2019 MMMM y","dd MMM y","dd/MM/y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_nb={ERAS:["f.Kr.","e.Kr."],ERANAMES:["f.Kr.","e.Kr."],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"januar februar mars april mai juni juli august september oktober november desember".split(" "),STANDALONEMONTHS:"januar februar mars april mai juni juli august september oktober november desember".split(" "),SHORTMONTHS:"jan. feb. mars apr. mai juni juli aug. sep. okt. nov. des.".split(" "),STANDALONESHORTMONTHS:"jan feb mar apr mai jun jul aug sep okt nov des".split(" "),
WEEKDAYS:"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),STANDALONEWEEKDAYS:"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),SHORTWEEKDAYS:"s\u00f8n. man. tir. ons. tor. fre. l\u00f8r.".split(" "),STANDALONESHORTWEEKDAYS:"s\u00f8. ma. ti. on. to. fr. l\u00f8.".split(" "),NARROWWEEKDAYS:"SMTOTFL".split(""),STANDALONENARROWWEEKDAYS:"SMTOTFL".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],
AMPMS:["AM","PM"],DATEFORMATS:["EEEE d. MMMM y","d. MMMM y","d. MMM y","dd.MM.yy"],TIMEFORMATS:["'kl'. HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} 'kl.' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_nl={ERAS:["v.Chr.","n.Chr."],ERANAMES:["Voor Christus","na Christus"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"januari februari maart april mei juni juli augustus september oktober november december".split(" "),STANDALONEMONTHS:"januari februari maart april mei juni juli augustus september oktober november december".split(" "),SHORTMONTHS:"jan. feb. mrt. apr. mei jun. jul. aug. sep. okt. nov. dec.".split(" "),STANDALONESHORTMONTHS:"jan feb mrt apr mei jun jul aug sep okt nov dec".split(" "),
WEEKDAYS:"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "),STANDALONEWEEKDAYS:"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "),SHORTWEEKDAYS:"zo ma di wo do vr za".split(" "),STANDALONESHORTWEEKDAYS:"zo ma di wo do vr za".split(" "),NARROWWEEKDAYS:"ZMDWDVZ".split(""),STANDALONENARROWWEEKDAYS:"ZMDWDVZ".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y",
"d MMMM y","d MMM y","dd-MM-yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_no={ERAS:["f.Kr.","e.Kr."],ERANAMES:["f.Kr.","e.Kr."],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"januar februar mars april mai juni juli august september oktober november desember".split(" "),STANDALONEMONTHS:"januar februar mars april mai juni juli august september oktober november desember".split(" "),SHORTMONTHS:"jan. feb. mars apr. mai juni juli aug. sep. okt. nov. des.".split(" "),STANDALONESHORTMONTHS:"jan feb mar apr mai jun jul aug sep okt nov des".split(" "),
WEEKDAYS:"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),STANDALONEWEEKDAYS:"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),SHORTWEEKDAYS:"s\u00f8n. man. tir. ons. tor. fre. l\u00f8r.".split(" "),STANDALONESHORTWEEKDAYS:"s\u00f8. ma. ti. on. to. fr. l\u00f8.".split(" "),NARROWWEEKDAYS:"SMTOTFL".split(""),STANDALONENARROWWEEKDAYS:"SMTOTFL".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],
AMPMS:["AM","PM"],DATEFORMATS:["EEEE d. MMMM y","d. MMMM y","d. MMM y","dd.MM.yy"],TIMEFORMATS:["'kl'. HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} 'kl.' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_or={ERAS:["BCE","CE"],ERANAMES:["BCE","CE"],NARROWMONTHS:"\u0b1c\u0b3e \u0b2b\u0b47 \u0b2e\u0b3e \u0b05 \u0b2e\u0b47 \u0b1c\u0b41 \u0b1c\u0b41 \u0b05 \u0b38\u0b47 \u0b05 \u0b28 \u0b21\u0b3f".split(" "),STANDALONENARROWMONTHS:"\u0b1c\u0b3e \u0b2b\u0b47 \u0b2e\u0b3e \u0b05 \u0b2e\u0b47 \u0b1c\u0b41 \u0b1c\u0b41 \u0b05 \u0b38\u0b47 \u0b05 \u0b28 \u0b21\u0b3f".split(" "),MONTHS:"\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40 \u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40 \u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a \u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32 \u0b2e\u0b47 \u0b1c\u0b41\u0b28 \u0b1c\u0b41\u0b32\u0b3e\u0b07 \u0b05\u0b17\u0b37\u0b4d\u0b1f \u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30 \u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30".split(" "),
STANDALONEMONTHS:"\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40 \u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40 \u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a \u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32 \u0b2e\u0b47 \u0b1c\u0b41\u0b28 \u0b1c\u0b41\u0b32\u0b3e\u0b07 \u0b05\u0b17\u0b37\u0b4d\u0b1f \u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30 \u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30".split(" "),
SHORTMONTHS:"\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40 \u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40 \u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a \u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32 \u0b2e\u0b47 \u0b1c\u0b41\u0b28 \u0b1c\u0b41\u0b32\u0b3e\u0b07 \u0b05\u0b17\u0b37\u0b4d\u0b1f \u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30 \u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30".split(" "),STANDALONESHORTMONTHS:"\u0b1c\u0b3e\u0b28\u0b41\u0b06\u0b30\u0b40 \u0b2b\u0b47\u0b2c\u0b4d\u0b30\u0b41\u0b5f\u0b3e\u0b30\u0b40 \u0b2e\u0b3e\u0b30\u0b4d\u0b1a\u0b4d\u0b1a \u0b05\u0b2a\u0b4d\u0b30\u0b47\u0b32 \u0b2e\u0b47 \u0b1c\u0b41\u0b28 \u0b1c\u0b41\u0b32\u0b3e\u0b07 \u0b05\u0b17\u0b37\u0b4d\u0b1f \u0b38\u0b47\u0b2a\u0b4d\u0b1f\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b05\u0b15\u0b4d\u0b1f\u0b4b\u0b2c\u0b30 \u0b28\u0b2d\u0b47\u0b2e\u0b4d\u0b2c\u0b30 \u0b21\u0b3f\u0b38\u0b47\u0b2e\u0b4d\u0b2c\u0b30".split(" "),
WEEKDAYS:"\u0b30\u0b2c\u0b3f\u0b2c\u0b3e\u0b30 \u0b38\u0b4b\u0b2e\u0b2c\u0b3e\u0b30 \u0b2e\u0b19\u0b4d\u0b17\u0b33\u0b2c\u0b3e\u0b30 \u0b2c\u0b41\u0b27\u0b2c\u0b3e\u0b30 \u0b17\u0b41\u0b30\u0b41\u0b2c\u0b3e\u0b30 \u0b36\u0b41\u0b15\u0b4d\u0b30\u0b2c\u0b3e\u0b30 \u0b36\u0b28\u0b3f\u0b2c\u0b3e\u0b30".split(" "),STANDALONEWEEKDAYS:"\u0b30\u0b2c\u0b3f\u0b2c\u0b3e\u0b30 \u0b38\u0b4b\u0b2e\u0b2c\u0b3e\u0b30 \u0b2e\u0b19\u0b4d\u0b17\u0b33\u0b2c\u0b3e\u0b30 \u0b2c\u0b41\u0b27\u0b2c\u0b3e\u0b30 \u0b17\u0b41\u0b30\u0b41\u0b2c\u0b3e\u0b30 \u0b36\u0b41\u0b15\u0b4d\u0b30\u0b2c\u0b3e\u0b30 \u0b36\u0b28\u0b3f\u0b2c\u0b3e\u0b30".split(" "),
SHORTWEEKDAYS:"\u0b30\u0b2c\u0b3f \u0b38\u0b4b\u0b2e \u0b2e\u0b19\u0b4d\u0b17\u0b33 \u0b2c\u0b41\u0b27 \u0b17\u0b41\u0b30\u0b41 \u0b36\u0b41\u0b15\u0b4d\u0b30 \u0b36\u0b28\u0b3f".split(" "),STANDALONESHORTWEEKDAYS:"\u0b30\u0b2c\u0b3f \u0b38\u0b4b\u0b2e \u0b2e\u0b19\u0b4d\u0b17\u0b33 \u0b2c\u0b41\u0b27 \u0b17\u0b41\u0b30\u0b41 \u0b36\u0b41\u0b15\u0b4d\u0b30 \u0b36\u0b28\u0b3f".split(" "),NARROWWEEKDAYS:"\u0b30 \u0b38\u0b4b \u0b2e \u0b2c\u0b41 \u0b17\u0b41 \u0b36\u0b41 \u0b36".split(" "),STANDALONENARROWWEEKDAYS:"\u0b30 \u0b38\u0b4b \u0b2e \u0b2c\u0b41 \u0b17\u0b41 \u0b36\u0b41 \u0b36".split(" "),
SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Q1","Q2","Q3","Q4"],AMPMS:["am","pm"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","d MMM y","d-M-yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_pl={ERAS:["p.n.e.","n.e."],ERANAMES:["p.n.e.","n.e."],NARROWMONTHS:"slmkmclswplg".split(""),STANDALONENARROWMONTHS:"slmkmclswplg".split(""),MONTHS:"stycznia lutego marca kwietnia maja czerwca lipca sierpnia wrze\u015bnia pa\u017adziernika listopada grudnia".split(" "),STANDALONEMONTHS:"stycze\u0144 luty marzec kwiecie\u0144 maj czerwiec lipiec sierpie\u0144 wrzesie\u0144 pa\u017adziernik listopad grudzie\u0144".split(" "),SHORTMONTHS:"sty lut mar kwi maj cze lip sie wrz pa\u017a lis gru".split(" "),
STANDALONESHORTMONTHS:"sty lut mar kwi maj cze lip sie wrz pa\u017a lis gru".split(" "),WEEKDAYS:"niedziela poniedzia\u0142ek wtorek \u015broda czwartek pi\u0105tek sobota".split(" "),STANDALONEWEEKDAYS:"niedziela poniedzia\u0142ek wtorek \u015broda czwartek pi\u0105tek sobota".split(" "),SHORTWEEKDAYS:"niedz. pon. wt. \u015br. czw. pt. sob.".split(" "),STANDALONESHORTWEEKDAYS:"niedz. pon. wt. \u015br. czw. pt. sob.".split(" "),NARROWWEEKDAYS:"NPW\u015aCPS".split(""),STANDALONENARROWWEEKDAYS:"NPW\u015aCPS".split(""),
SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["I kwarta\u0142","II kwarta\u0142","III kwarta\u0142","IV kwarta\u0142"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","d MMM y","dd.MM.y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_pt={ERAS:["a.C.","d.C."],ERANAMES:["Antes de Cristo","Ano do Senhor"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"janeiro fevereiro mar\u00e7o abril maio junho julho agosto setembro outubro novembro dezembro".split(" "),STANDALONEMONTHS:"janeiro fevereiro mar\u00e7o abril maio junho julho agosto setembro outubro novembro dezembro".split(" "),SHORTMONTHS:"jan fev mar abr mai jun jul ago set out nov dez".split(" "),STANDALONESHORTMONTHS:"jan fev mar abr mai jun jul ago set out nov dez".split(" "),
WEEKDAYS:"domingo segunda-feira ter\u00e7a-feira quarta-feira quinta-feira sexta-feira s\u00e1bado".split(" "),STANDALONEWEEKDAYS:"domingo segunda-feira ter\u00e7a-feira quarta-feira quinta-feira sexta-feira s\u00e1bado".split(" "),SHORTWEEKDAYS:"dom seg ter qua qui sex s\u00e1b".split(" "),STANDALONESHORTWEEKDAYS:"dom seg ter qua qui sex s\u00e1b".split(" "),NARROWWEEKDAYS:"DSTQQSS".split(""),STANDALONENARROWWEEKDAYS:"DSTQQSS".split(""),SHORTQUARTERS:["T1","T2","T3","T4"],QUARTERS:["1\u00ba trimestre",
"2\u00ba trimestre","3\u00ba trimestre","4\u00ba trimestre"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d 'de' MMMM 'de' y","d 'de' MMMM 'de' y","dd/MM/y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};goog.i18n.DateTimeSymbols_pt_BR=goog.i18n.DateTimeSymbols_pt;
goog.i18n.DateTimeSymbols_pt_PT={ERAS:["a.C.","d.C."],ERANAMES:["Antes de Cristo","Ano do Senhor"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Janeiro Fevereiro Mar\u00e7o Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro".split(" "),STANDALONEMONTHS:"Janeiro Fevereiro Mar\u00e7o Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro".split(" "),SHORTMONTHS:"Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez".split(" "),STANDALONESHORTMONTHS:"Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez".split(" "),
WEEKDAYS:"Domingo Segunda-feira Ter\u00e7a-feira Quarta-feira Quinta-feira Sexta-feira S\u00e1bado".split(" "),STANDALONEWEEKDAYS:"Domingo Segunda-feira Ter\u00e7a-feira Quarta-feira Quinta-feira Sexta-feira S\u00e1bado".split(" "),SHORTWEEKDAYS:"dom seg ter qua qui sex s\u00e1b".split(" "),STANDALONESHORTWEEKDAYS:"dom seg ter qua qui sex s\u00e1b".split(" "),NARROWWEEKDAYS:"DSTQQSS".split(""),STANDALONENARROWWEEKDAYS:"DSTQQSS".split(""),SHORTQUARTERS:["T1","T2","T3","T4"],QUARTERS:["1.\u00ba trimestre",
"2.\u00ba trimestre","3.\u00ba trimestre","4.\u00ba trimestre"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d 'de' MMMM 'de' y","d 'de' MMMM 'de' y","dd/MM/y","dd/MM/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} '\u00e0s' {0}","{1} '\u00e0s' {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_ro={ERAS:["\u00ee.Hr.","d.Hr."],ERANAMES:["\u00eenainte de Hristos","dup\u0103 Hristos"],NARROWMONTHS:"IFMAMIIASOND".split(""),STANDALONENARROWMONTHS:"IFMAMIIASOND".split(""),MONTHS:"ianuarie februarie martie aprilie mai iunie iulie august septembrie octombrie noiembrie decembrie".split(" "),STANDALONEMONTHS:"ianuarie februarie martie aprilie mai iunie iulie august septembrie octombrie noiembrie decembrie".split(" "),SHORTMONTHS:"ian. feb. mar. apr. mai iun. iul. aug. sept. oct. nov. dec.".split(" "),
STANDALONESHORTMONTHS:"ian. feb. mar. apr. mai iun. iul. aug. sept. oct. nov. dec.".split(" "),WEEKDAYS:"duminic\u0103 luni mar\u021bi miercuri joi vineri s\u00e2mb\u0103t\u0103".split(" "),STANDALONEWEEKDAYS:"duminic\u0103 luni mar\u021bi miercuri joi vineri s\u00e2mb\u0103t\u0103".split(" "),SHORTWEEKDAYS:"Du Lu Ma Mi Jo Vi S\u00e2".split(" "),STANDALONESHORTWEEKDAYS:"Du Lu Ma Mi Jo Vi S\u00e2".split(" "),NARROWWEEKDAYS:"DLMMJVS".split(""),STANDALONENARROWWEEKDAYS:"DLMMJVS".split(""),SHORTQUARTERS:["trim. I",
"trim. II","trim. III","trim. IV"],QUARTERS:["trimestrul I","trimestrul al II-lea","trimestrul al III-lea","trimestrul al IV-lea"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM y","d MMMM y","dd.MM.y","dd.MM.y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1}, {0}","{1}, {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_ru={ERAS:["\u0434\u043e \u043d.\u044d.","\u043d.\u044d."],ERANAMES:["\u0434\u043e \u043d.\u044d.","\u043d.\u044d."],NARROWMONTHS:"\u042f\u0424\u041c\u0410\u041c\u0418\u0418\u0410\u0421\u041e\u041d\u0414".split(""),STANDALONENARROWMONTHS:"\u042f\u0424\u041c\u0410\u041c\u0418\u0418\u0410\u0421\u041e\u041d\u0414".split(""),MONTHS:"\u044f\u043d\u0432\u0430\u0440\u044f \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u0430\u0440\u0442\u0430 \u0430\u043f\u0440\u0435\u043b\u044f \u043c\u0430\u044f \u0438\u044e\u043d\u044f \u0438\u044e\u043b\u044f \u0430\u0432\u0433\u0443\u0441\u0442\u0430 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u043e\u043a\u0442\u044f\u0431\u0440\u044f \u043d\u043e\u044f\u0431\u0440\u044f \u0434\u0435\u043a\u0430\u0431\u0440\u044f".split(" "),
STANDALONEMONTHS:"\u042f\u043d\u0432\u0430\u0440\u044c \u0424\u0435\u0432\u0440\u0430\u043b\u044c \u041c\u0430\u0440\u0442 \u0410\u043f\u0440\u0435\u043b\u044c \u041c\u0430\u0439 \u0418\u044e\u043d\u044c \u0418\u044e\u043b\u044c \u0410\u0432\u0433\u0443\u0441\u0442 \u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c \u041e\u043a\u0442\u044f\u0431\u0440\u044c \u041d\u043e\u044f\u0431\u0440\u044c \u0414\u0435\u043a\u0430\u0431\u0440\u044c".split(" "),SHORTMONTHS:"\u044f\u043d\u0432. \u0444\u0435\u0432\u0440. \u043c\u0430\u0440\u0442\u0430 \u0430\u043f\u0440. \u043c\u0430\u044f \u0438\u044e\u043d\u044f \u0438\u044e\u043b\u044f \u0430\u0432\u0433. \u0441\u0435\u043d\u0442. \u043e\u043a\u0442. \u043d\u043e\u044f\u0431. \u0434\u0435\u043a.".split(" "),
STANDALONESHORTMONTHS:"\u042f\u043d\u0432. \u0424\u0435\u0432\u0440. \u041c\u0430\u0440\u0442 \u0410\u043f\u0440. \u041c\u0430\u0439 \u0418\u044e\u043d\u044c \u0418\u044e\u043b\u044c \u0410\u0432\u0433. \u0421\u0435\u043d\u0442. \u041e\u043a\u0442. \u041d\u043e\u044f\u0431. \u0414\u0435\u043a.".split(" "),WEEKDAYS:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435 \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a \u0432\u0442\u043e\u0440\u043d\u0438\u043a \u0441\u0440\u0435\u0434\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0433 \u043f\u044f\u0442\u043d\u0438\u0446\u0430 \u0441\u0443\u0431\u0431\u043e\u0442\u0430".split(" "),
STANDALONEWEEKDAYS:"\u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435 \u041f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a \u0412\u0442\u043e\u0440\u043d\u0438\u043a \u0421\u0440\u0435\u0434\u0430 \u0427\u0435\u0442\u0432\u0435\u0440\u0433 \u041f\u044f\u0442\u043d\u0438\u0446\u0430 \u0421\u0443\u0431\u0431\u043e\u0442\u0430".split(" "),SHORTWEEKDAYS:"\u0432\u0441 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),STANDALONESHORTWEEKDAYS:"\u0412\u0441 \u041f\u043d \u0412\u0442 \u0421\u0440 \u0427\u0442 \u041f\u0442 \u0421\u0431".split(" "),
NARROWWEEKDAYS:"\u0432\u0441 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),STANDALONENARROWWEEKDAYS:"\u0412\u041f\u0412\u0421\u0427\u041f\u0421".split(""),SHORTQUARTERS:["1-\u0439 \u043a\u0432.","2-\u0439 \u043a\u0432.","3-\u0439 \u043a\u0432.","4-\u0439 \u043a\u0432."],QUARTERS:["1-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","2-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","3-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","4-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b"],
AMPMS:["\u0434\u043e \u043f\u043e\u043b\u0443\u0434\u043d\u044f","\u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0434\u043d\u044f"],DATEFORMATS:["EEEE, d MMMM y '\u0433'.","d MMMM y '\u0433'.","dd MMM y '\u0433'.","dd.MM.yy"],TIMEFORMATS:["H:mm:ss zzzz","H:mm:ss z","H:mm:ss","H:mm"],DATETIMEFORMATS:["{1}, {0}","{1}, {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_sk={ERAS:["pred n.l.","n.l."],ERANAMES:["pred n.l.","n.l."],NARROWMONTHS:"jfmamjjasond".split(""),STANDALONENARROWMONTHS:"jfmamjjasond".split(""),MONTHS:"janu\u00e1ra febru\u00e1ra marca apr\u00edla m\u00e1ja j\u00fana j\u00fala augusta septembra okt\u00f3bra novembra decembra".split(" "),STANDALONEMONTHS:"janu\u00e1r febru\u00e1r marec apr\u00edl m\u00e1j j\u00fan j\u00fal august september okt\u00f3ber november december".split(" "),SHORTMONTHS:"jan feb mar apr m\u00e1j j\u00fan j\u00fal aug sep okt nov dec".split(" "),
STANDALONESHORTMONTHS:"jan feb mar apr m\u00e1j j\u00fan j\u00fal aug sep okt nov dec".split(" "),WEEKDAYS:"nede\u013ea pondelok utorok streda \u0161tvrtok piatok sobota".split(" "),STANDALONEWEEKDAYS:"nede\u013ea pondelok utorok streda \u0161tvrtok piatok sobota".split(" "),SHORTWEEKDAYS:"ne po ut st \u0161t pi so".split(" "),STANDALONESHORTWEEKDAYS:"ne po ut st \u0161t pi so".split(" "),NARROWWEEKDAYS:"NPUS\u0160PS".split(""),STANDALONENARROWWEEKDAYS:"NPUS\u0160PS".split(""),SHORTQUARTERS:["Q1",
"Q2","Q3","Q4"],QUARTERS:["1. \u0161tvr\u0165rok","2. \u0161tvr\u0165rok","3. \u0161tvr\u0165rok","4. \u0161tvr\u0165rok"],AMPMS:["dopoludnia","popoludn\u00ed"],DATEFORMATS:["EEEE, d. MMMM y","d. MMMM y","d.M.y","d.M.y"],TIMEFORMATS:["H:mm:ss zzzz","H:mm:ss z","H:mm:ss","H:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_sl={ERAS:["pr. n. \u0161t.","po Kr."],ERANAMES:["pred na\u0161im \u0161tetjem","na\u0161e \u0161tetje"],NARROWMONTHS:"jfmamjjasond".split(""),STANDALONENARROWMONTHS:"jfmamjjasond".split(""),MONTHS:"januar februar marec april maj junij julij avgust september oktober november december".split(" "),STANDALONEMONTHS:"januar februar marec april maj junij julij avgust september oktober november december".split(" "),SHORTMONTHS:"jan. feb. mar. apr. maj jun. jul. avg. sep. okt. nov. dec.".split(" "),
STANDALONESHORTMONTHS:"jan feb mar apr maj jun jul avg sep okt nov dec".split(" "),WEEKDAYS:"nedelja ponedeljek torek sreda \u010detrtek petek sobota".split(" "),STANDALONEWEEKDAYS:"nedelja ponedeljek torek sreda \u010detrtek petek sobota".split(" "),SHORTWEEKDAYS:"ned. pon. tor. sre. \u010det. pet. sob.".split(" "),STANDALONESHORTWEEKDAYS:"ned pon tor sre \u010det pet sob".split(" "),NARROWWEEKDAYS:"npts\u010dps".split(""),STANDALONENARROWWEEKDAYS:"npts\u010dps".split(""),SHORTQUARTERS:["Q1","Q2",
"Q3","Q4"],QUARTERS:["1. \u010detrtletje","2. \u010detrtletje","3. \u010detrtletje","4. \u010detrtletje"],AMPMS:["dop.","pop."],DATEFORMATS:["EEEE, dd. MMMM y","dd. MMMM y","d. MMM y","d. MM. yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_sq={ERAS:["p.e.r.","n.e.r."],ERANAMES:["p.e.r.","n.e.r."],NARROWMONTHS:"JSMPMQKGSTND".split(""),STANDALONENARROWMONTHS:"JSMPMQKGSTND".split(""),MONTHS:"janar shkurt mars prill maj qershor korrik gusht shtator tetor n\u00ebntor dhjetor".split(" "),STANDALONEMONTHS:"janar shkurt mars prill maj qershor korrik gusht shtator tetor n\u00ebntor dhjetor".split(" "),SHORTMONTHS:"Jan Shk Mar Pri Maj Qer Kor Gsh Sht Tet N\u00ebn Dhj".split(" "),STANDALONESHORTMONTHS:"Jan Shk Mar Pri Maj Qer Kor Gsh Sht Tet N\u00ebn Dhj".split(" "),
WEEKDAYS:"e diel;e h\u00ebn\u00eb;e mart\u00eb;e m\u00ebrkur\u00eb;e enjte;e premte;e shtun\u00eb".split(";"),STANDALONEWEEKDAYS:"e diel;e h\u00ebn\u00eb;e mart\u00eb;e m\u00ebrkur\u00eb;e enjte;e premte;e shtun\u00eb".split(";"),SHORTWEEKDAYS:"Die H\u00ebn Mar M\u00ebr Enj Pre Sht".split(" "),STANDALONESHORTWEEKDAYS:"Die H\u00ebn Mar M\u00ebr Enj Pre Sht".split(" "),NARROWWEEKDAYS:"DHMMEPS".split(""),STANDALONENARROWWEEKDAYS:"DHMMEPS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Q1",
"Q2","Q3","Q4"],AMPMS:["PD","MD"],DATEFORMATS:["EEEE, dd MMMM y","dd MMMM y","y-MM-dd","yy-MM-dd"],TIMEFORMATS:["h.mm.ss.a zzzz","h.mm.ss.a z","h.mm.ss.a","h.mm.a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_sr={ERAS:["\u043f. \u043d. \u0435.","\u043d. \u0435."],ERANAMES:["\u041f\u0440\u0435 \u043d\u043e\u0432\u0435 \u0435\u0440\u0435","\u041d\u043e\u0432\u0435 \u0435\u0440\u0435"],NARROWMONTHS:"\u0458\u0444\u043c\u0430\u043c\u0458\u0458\u0430\u0441\u043e\u043d\u0434".split(""),STANDALONENARROWMONTHS:"\u0458\u0444\u043c\u0430\u043c\u0458\u0458\u0430\u0441\u043e\u043d\u0434".split(""),MONTHS:"\u0458\u0430\u043d\u0443\u0430\u0440 \u0444\u0435\u0431\u0440\u0443\u0430\u0440 \u043c\u0430\u0440\u0442 \u0430\u043f\u0440\u0438\u043b \u043c\u0430\u0458 \u0458\u0443\u043d \u0458\u0443\u043b \u0430\u0432\u0433\u0443\u0441\u0442 \u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440 \u043e\u043a\u0442\u043e\u0431\u0430\u0440 \u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440 \u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split(" "),
STANDALONEMONTHS:"\u0458\u0430\u043d\u0443\u0430\u0440 \u0444\u0435\u0431\u0440\u0443\u0430\u0440 \u043c\u0430\u0440\u0442 \u0430\u043f\u0440\u0438\u043b \u043c\u0430\u0458 \u0458\u0443\u043d \u0458\u0443\u043b \u0430\u0432\u0433\u0443\u0441\u0442 \u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440 \u043e\u043a\u0442\u043e\u0431\u0430\u0440 \u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440 \u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split(" "),SHORTMONTHS:"\u0458\u0430\u043d \u0444\u0435\u0431 \u043c\u0430\u0440 \u0430\u043f\u0440 \u043c\u0430\u0458 \u0458\u0443\u043d \u0458\u0443\u043b \u0430\u0432\u0433 \u0441\u0435\u043f \u043e\u043a\u0442 \u043d\u043e\u0432 \u0434\u0435\u0446".split(" "),
STANDALONESHORTMONTHS:"\u0458\u0430\u043d \u0444\u0435\u0431 \u043c\u0430\u0440 \u0430\u043f\u0440 \u043c\u0430\u0458 \u0458\u0443\u043d \u0458\u0443\u043b \u0430\u0432\u0433 \u0441\u0435\u043f \u043e\u043a\u0442 \u043d\u043e\u0432 \u0434\u0435\u0446".split(" "),WEEKDAYS:"\u043d\u0435\u0434\u0435\u0459\u0430 \u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a \u0443\u0442\u043e\u0440\u0430\u043a \u0441\u0440\u0435\u0434\u0430 \u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a \u043f\u0435\u0442\u0430\u043a \u0441\u0443\u0431\u043e\u0442\u0430".split(" "),
STANDALONEWEEKDAYS:"\u043d\u0435\u0434\u0435\u0459\u0430 \u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a \u0443\u0442\u043e\u0440\u0430\u043a \u0441\u0440\u0435\u0434\u0430 \u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a \u043f\u0435\u0442\u0430\u043a \u0441\u0443\u0431\u043e\u0442\u0430".split(" "),SHORTWEEKDAYS:"\u043d\u0435\u0434 \u043f\u043e\u043d \u0443\u0442\u043e \u0441\u0440\u0435 \u0447\u0435\u0442 \u043f\u0435\u0442 \u0441\u0443\u0431".split(" "),STANDALONESHORTWEEKDAYS:"\u043d\u0435\u0434 \u043f\u043e\u043d \u0443\u0442\u043e \u0441\u0440\u0435 \u0447\u0435\u0442 \u043f\u0435\u0442 \u0441\u0443\u0431".split(" "),
NARROWWEEKDAYS:"\u043d\u043f\u0443\u0441\u0447\u043f\u0441".split(""),STANDALONENARROWWEEKDAYS:"\u043d\u043f\u0443\u0441\u0447\u043f\u0441".split(""),SHORTQUARTERS:["\u041a1","\u041a2","\u041a3","\u041a4"],QUARTERS:["\u041f\u0440\u0432\u043e \u0442\u0440\u043e\u043c\u0435\u0441\u0435\u0447\u0458\u0435","\u0414\u0440\u0443\u0433\u043e \u0442\u0440\u043e\u043c\u0435\u0441\u0435\u0447\u0458\u0435","\u0422\u0440\u0435\u045b\u0435 \u0442\u0440\u043e\u043c\u0435\u0441\u0435\u0447\u0458\u0435","\u0427\u0435\u0442\u0432\u0440\u0442\u043e \u0442\u0440\u043e\u043c\u0435\u0441\u0435\u0447\u0458\u0435"],
AMPMS:["\u043f\u0440\u0435 \u043f\u043e\u0434\u043d\u0435","\u043f\u043e\u043f\u043e\u0434\u043d\u0435"],DATEFORMATS:["EEEE, dd. MMMM y.","dd. MMMM y.","dd.MM.y.","d.M.yy."],TIMEFORMATS:["HH.mm.ss zzzz","HH.mm.ss z","HH.mm.ss","HH.mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_sv={ERAS:["f.Kr.","e.Kr."],ERANAMES:["f\u00f6re Kristus","efter Kristus"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"januari februari mars april maj juni juli augusti september oktober november december".split(" "),STANDALONEMONTHS:"Januari Februari Mars April Maj Juni Juli Augusti September Oktober November December".split(" "),SHORTMONTHS:"jan feb mar apr maj jun jul aug sep okt nov dec".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mar Apr Maj Jun Jul Aug Sep Okt Nov Dec".split(" "),
WEEKDAYS:"s\u00f6ndag m\u00e5ndag tisdag onsdag torsdag fredag l\u00f6rdag".split(" "),STANDALONEWEEKDAYS:"S\u00f6ndag M\u00e5ndag Tisdag Onsdag Torsdag Fredag L\u00f6rdag".split(" "),SHORTWEEKDAYS:"s\u00f6n m\u00e5n tis ons tors fre l\u00f6r".split(" "),STANDALONESHORTWEEKDAYS:"S\u00f6n M\u00e5n Tis Ons Tor Fre L\u00f6r".split(" "),NARROWWEEKDAYS:"SMTOTFL".split(""),STANDALONENARROWWEEKDAYS:"SMTOTFL".split(""),SHORTQUARTERS:["K1","K2","K3","K4"],QUARTERS:["1:a kvartalet","2:a kvartalet","3:e kvartalet",
"4:e kvartalet"],AMPMS:["fm","em"],DATEFORMATS:["EEEE'en' 'den' d:'e' MMMM y","d MMMM y","d MMM y","y-MM-dd"],TIMEFORMATS:["'kl'. HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:3};
goog.i18n.DateTimeSymbols_sw={ERAS:["KK","BK"],ERANAMES:["Kabla ya Kristo","Baada ya Kristo"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januari Februari Machi Aprili Mei Juni Julai Agosti Septemba Oktoba Novemba Desemba".split(" "),STANDALONEMONTHS:"Januari Februari Machi Aprili Mei Juni Julai Agosti Septemba Oktoba Novemba Desemba".split(" "),SHORTMONTHS:"Jan Feb Mac Apr Mei Jun Jul Ago Sep Okt Nov Des".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mac Apr Mei Jun Jul Ago Sep Okt Nov Des".split(" "),
WEEKDAYS:"Jumapili Jumatatu Jumanne Jumatano Alhamisi Ijumaa Jumamosi".split(" "),STANDALONEWEEKDAYS:"Jumapili Jumatatu Jumanne Jumatano Alhamisi Ijumaa Jumamosi".split(" "),SHORTWEEKDAYS:"J2 J3 J4 J5 Alh Ij J1".split(" "),STANDALONESHORTWEEKDAYS:"J2 J3 J4 J5 Alh Ij J1".split(" "),NARROWWEEKDAYS:"2345AI1".split(""),STANDALONENARROWWEEKDAYS:"2345AI1".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Robo 1","Robo 2","Robo 3","Robo 4"],AMPMS:["asubuhi","alasiri"],DATEFORMATS:["EEEE, d MMMM y",
"d MMMM y","d MMM y","dd/MM/y"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_ta={ERAS:["\u0b95\u0bbf.\u0bae\u0bc1.","\u0b95\u0bbf.\u0baa\u0bbf."],ERANAMES:["\u0b95\u0bbf\u0bb1\u0bbf\u0bb8\u0bcd\u0ba4\u0bc1\u0bb5\u0bc1\u0b95\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd","\u0b85\u0ba9\u0bcb \u0b9f\u0bcb\u0bae\u0bbf\u0ba9\u0bbf"],NARROWMONTHS:"\u0b9c \u0baa\u0bbf \u0bae\u0bbe \u0b8f \u0bae\u0bc7 \u0b9c\u0bc2 \u0b9c\u0bc2 \u0b86 \u0b9a\u0bc6 \u0b85 \u0ba8 \u0b9f\u0bbf".split(" "),STANDALONENARROWMONTHS:"\u0b9c \u0baa\u0bbf \u0bae\u0bbe \u0b8f \u0bae\u0bc7 \u0b9c\u0bc2 \u0b9c\u0bc2 \u0b86 \u0b9a\u0bc6 \u0b85 \u0ba8 \u0b9f\u0bbf".split(" "),
MONTHS:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf \u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf \u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd \u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd \u0bae\u0bc7 \u0b9c\u0bc2\u0ba9\u0bcd \u0b9c\u0bc2\u0bb2\u0bc8 \u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd \u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd \u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd \u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd \u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split(" "),STANDALONEMONTHS:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf \u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf \u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd \u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd \u0bae\u0bc7 \u0b9c\u0bc2\u0ba9\u0bcd \u0b9c\u0bc2\u0bb2\u0bc8 \u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bc1 \u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd \u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd \u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd \u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split(" "),
SHORTMONTHS:"\u0b9c\u0ba9. \u0baa\u0bbf\u0baa\u0bcd. \u0bae\u0bbe\u0bb0\u0bcd. \u0b8f\u0baa\u0bcd. \u0bae\u0bc7 \u0b9c\u0bc2\u0ba9\u0bcd \u0b9c\u0bc2\u0bb2\u0bc8 \u0b86\u0b95. \u0b9a\u0bc6\u0baa\u0bcd. \u0b85\u0b95\u0bcd. \u0ba8\u0bb5. \u0b9f\u0bbf\u0b9a.".split(" "),STANDALONESHORTMONTHS:"\u0b9c\u0ba9. \u0baa\u0bbf\u0baa\u0bcd. \u0bae\u0bbe\u0bb0\u0bcd. \u0b8f\u0baa\u0bcd. \u0bae\u0bc7 \u0b9c\u0bc2\u0ba9\u0bcd \u0b9c\u0bc2\u0bb2\u0bc8 \u0b86\u0b95. \u0b9a\u0bc6\u0baa\u0bcd. \u0b85\u0b95\u0bcd. \u0ba8\u0bb5. \u0b9f\u0bbf\u0b9a.".split(" "),
WEEKDAYS:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1 \u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd \u0baa\u0bc1\u0ba4\u0ba9\u0bcd \u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd \u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf \u0b9a\u0ba9\u0bbf".split(" "),STANDALONEWEEKDAYS:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1 \u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd \u0baa\u0bc1\u0ba4\u0ba9\u0bcd \u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd \u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf \u0b9a\u0ba9\u0bbf".split(" "),
SHORTWEEKDAYS:"\u0b9e\u0bbe \u0ba4\u0bbf \u0b9a\u0bc6 \u0baa\u0bc1 \u0bb5\u0bbf \u0bb5\u0bc6 \u0b9a".split(" "),STANDALONESHORTWEEKDAYS:"\u0b9e\u0bbe \u0ba4\u0bbf \u0b9a\u0bc6 \u0baa\u0bc1 \u0bb5\u0bbf \u0bb5\u0bc6 \u0b9a".split(" "),NARROWWEEKDAYS:"\u0b9e\u0bbe \u0ba4\u0bbf \u0b9a\u0bc6 \u0baa\u0bc1 \u0bb5\u0bbf \u0bb5\u0bc6 \u0b9a".split(" "),STANDALONENARROWWEEKDAYS:"\u0b9e\u0bbe \u0ba4\u0bbf \u0b9a\u0bc6 \u0baa\u0bc1 \u0bb5\u0bbf \u0bb5\u0bc6 \u0b9a".split(" "),SHORTQUARTERS:["\u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc11",
"\u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc12","\u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc13","\u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc14"],QUARTERS:["\u0bae\u0bc1\u0ba4\u0bb2\u0bcd \u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc1","\u0b87\u0bb0\u0ba3\u0bcd\u0b9f\u0bbe\u0bae\u0bcd \u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc1","\u0bae\u0bc2\u0ba9\u0bcd\u0bb1\u0bbe\u0bae\u0bcd \u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc1","\u0ba8\u0bbe\u0ba9\u0bcd\u0b95\u0bbe\u0bae\u0bcd \u0b95\u0bbe\u0bb2\u0bbe\u0ba3\u0bcd\u0b9f\u0bc1"],
AMPMS:["AM","PM"],DATEFORMATS:["EEEE, d MMMM, y","d MMMM, y","d MMM, y","d-M-yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_te={ERAS:["\u0c15\u0c4d\u0c30\u0c40\u0c2a\u0c42","\u0c15\u0c4d\u0c30\u0c40\u0c36"],ERANAMES:["\u0c08\u0c38\u0c3e\u0c2a\u0c42\u0c30\u0c4d\u0c35.","\u0c38\u0c28\u0c4d."],NARROWMONTHS:"\u0c1c \u0c2b\u0c3f \u0c2e\u0c3e \u0c0f \u0c2e\u0c47 \u0c1c\u0c42 \u0c1c\u0c41 \u0c06 \u0c38\u0c46 \u0c05 \u0c28 \u0c21\u0c3f".split(" "),STANDALONENARROWMONTHS:"\u0c1c \u0c2b\u0c3f \u0c2e\u0c3e \u0c0f \u0c2e\u0c47 \u0c1c\u0c41 \u0c1c\u0c41 \u0c06 \u0c38\u0c46 \u0c05 \u0c28 \u0c21\u0c3f".split(" "),
MONTHS:"\u0c1c\u0c28\u0c35\u0c30\u0c3f \u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f \u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f \u0c0e\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d \u0c2e\u0c47 \u0c1c\u0c42\u0c28\u0c4d \u0c1c\u0c42\u0c32\u0c48 \u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41 \u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d \u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d \u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d \u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split(" "),STANDALONEMONTHS:"\u0c1c\u0c28\u0c35\u0c30\u0c3f \u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f \u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f \u0c0e\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d \u0c2e\u0c47 \u0c1c\u0c42\u0c28\u0c4d \u0c1c\u0c42\u0c32\u0c48 \u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41 \u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d \u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d \u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d \u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split(" "),
SHORTMONTHS:"\u0c1c\u0c28 \u0c2b\u0c3f\u0c2c\u0c4d\u0c30 \u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f \u0c0f\u0c2a\u0c4d\u0c30\u0c3f \u0c2e\u0c47 \u0c1c\u0c42\u0c28\u0c4d \u0c1c\u0c42\u0c32\u0c48 \u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41 \u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d \u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d \u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d \u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split(" "),STANDALONESHORTMONTHS:"\u0c1c\u0c28 \u0c2b\u0c3f\u0c2c\u0c4d\u0c30 \u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f \u0c0f\u0c2a\u0c4d\u0c30\u0c3f \u0c2e\u0c47 \u0c1c\u0c42\u0c28\u0c4d \u0c1c\u0c42\u0c32\u0c48 \u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41 \u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02 \u0c05\u0c15\u0c4d\u0c1f\u0c4b \u0c28\u0c35\u0c02 \u0c21\u0c3f\u0c38\u0c46\u0c02".split(" "),
WEEKDAYS:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02 \u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02 \u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02 \u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02 \u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02 \u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02 \u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split(" "),STANDALONEWEEKDAYS:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02 \u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02 \u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02 \u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02 \u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02 \u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02 \u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split(" "),
SHORTWEEKDAYS:"\u0c06\u0c26\u0c3f \u0c38\u0c4b\u0c2e \u0c2e\u0c02\u0c17\u0c33 \u0c2c\u0c41\u0c27 \u0c17\u0c41\u0c30\u0c41 \u0c36\u0c41\u0c15\u0c4d\u0c30 \u0c36\u0c28\u0c3f".split(" "),STANDALONESHORTWEEKDAYS:"\u0c06\u0c26\u0c3f \u0c38\u0c4b\u0c2e \u0c2e\u0c02\u0c17\u0c33 \u0c2c\u0c41\u0c27 \u0c17\u0c41\u0c30\u0c41 \u0c36\u0c41\u0c15\u0c4d\u0c30 \u0c36\u0c28\u0c3f".split(" "),NARROWWEEKDAYS:"\u0c06 \u0c38\u0c4b \u0c2e \u0c2c\u0c41 \u0c17\u0c41 \u0c36\u0c41 \u0c36".split(" "),STANDALONENARROWWEEKDAYS:"\u0c06 \u0c38\u0c4b \u0c2e \u0c2c\u0c41 \u0c17\u0c41 \u0c36\u0c41 \u0c36".split(" "),
SHORTQUARTERS:["\u0c24\u0c4d\u0c30\u0c481","\u0c24\u0c4d\u0c30\u0c482","\u0c24\u0c4d\u0c30\u0c483","\u0c24\u0c4d\u0c30\u0c484"],QUARTERS:["1\u0c35 \u0c24\u0c4d\u0c30\u0c48\u0c2e\u0c3e\u0c38\u0c02","2\u0c35 \u0c24\u0c4d\u0c30\u0c48\u0c2e\u0c3e\u0c38\u0c02","3\u0c35 \u0c24\u0c4d\u0c30\u0c48\u0c2e\u0c3e\u0c38\u0c02","4\u0c35 \u0c24\u0c4d\u0c30\u0c48\u0c2e\u0c3e\u0c38\u0c02"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE d MMMM y","d MMMM y","d MMM y","dd-MM-yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a",
"h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[6,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_th={ERAS:["\u0e1b\u0e35\u0e01\u0e48\u0e2d\u0e19 \u0e04.\u0e28.","\u0e04.\u0e28."],ERANAMES:["\u0e1b\u0e35\u0e01\u0e48\u0e2d\u0e19\u0e04\u0e23\u0e34\u0e2a\u0e15\u0e4c\u0e28\u0e31\u0e01\u0e23\u0e32\u0e0a","\u0e04\u0e23\u0e34\u0e2a\u0e15\u0e4c\u0e28\u0e31\u0e01\u0e23\u0e32\u0e0a"],NARROWMONTHS:"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22 \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),STANDALONENARROWMONTHS:"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),
MONTHS:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21 \u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c \u0e21\u0e35\u0e19\u0e32\u0e04\u0e21 \u0e40\u0e21\u0e29\u0e32\u0e22\u0e19 \u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21 \u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19 \u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21 \u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21 \u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19 \u0e15\u0e38\u0e25\u0e32\u0e04\u0e21 \u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19 \u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split(" "),
STANDALONEMONTHS:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21 \u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c \u0e21\u0e35\u0e19\u0e32\u0e04\u0e21 \u0e40\u0e21\u0e29\u0e32\u0e22\u0e19 \u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21 \u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19 \u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21 \u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21 \u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19 \u0e15\u0e38\u0e25\u0e32\u0e04\u0e21 \u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19 \u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split(" "),
SHORTMONTHS:"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),STANDALONESHORTMONTHS:"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),WEEKDAYS:"\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c \u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23 \u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18 \u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35 \u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c".split(" "),
STANDALONEWEEKDAYS:"\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c \u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23 \u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18 \u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35 \u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c".split(" "),SHORTWEEKDAYS:"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),STANDALONESHORTWEEKDAYS:"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),
NARROWWEEKDAYS:"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),STANDALONENARROWWEEKDAYS:"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),SHORTQUARTERS:["\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 1","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 2","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 3","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 4"],QUARTERS:["\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 1","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 2","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 3",
"\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 4"],AMPMS:["\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07","\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"],DATEFORMATS:["EEEE\u0e17\u0e35\u0e48 d MMMM G y","d MMMM y","d MMM y","d/M/yy"],TIMEFORMATS:["H \u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32 mm \u0e19\u0e32\u0e17\u0e35 ss \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 zzzz","H \u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32 mm \u0e19\u0e32\u0e17\u0e35 ss \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 z","HH:mm:ss",
"HH:mm"],DATETIMEFORMATS:["{1}, {0}","{1}, {0}","{1}, {0}","{1}, {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_tl={ERAS:["BC","AD"],ERANAMES:["BC","AD"],NARROWMONTHS:"EPMAMHHASOND".split(""),STANDALONENARROWMONTHS:"EPMAMHHASOND".split(""),MONTHS:"Enero Pebrero Marso Abril Mayo Hunyo Hulyo Agosto Setyembre Oktubre Nobyembre Disyembre".split(" "),STANDALONEMONTHS:"Enero Pebrero Marso Abril Mayo Hunyo Hulyo Agosto Setyembre Oktubre Nobyembre Disyembre".split(" "),SHORTMONTHS:"Ene Peb Mar Abr May Hun Hul Ago Set Okt Nob Dis".split(" "),STANDALONESHORTMONTHS:"Ene Peb Mar Abr May Hun Hul Ago Set Okt Nob Dis".split(" "),
WEEKDAYS:"Linggo Lunes Martes Miyerkules Huwebes Biyernes Sabado".split(" "),STANDALONEWEEKDAYS:"Linggo Lunes Martes Miyerkules Huwebes Biyernes Sabado".split(" "),SHORTWEEKDAYS:"Lin Lun Mar Mye Huw Bye Sab".split(" "),STANDALONESHORTWEEKDAYS:"Lin Lun Mar Miy Huw Biy Sab".split(" "),NARROWWEEKDAYS:"LLMMHBS".split(""),STANDALONENARROWWEEKDAYS:"LLMMHBS".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["ika-1 sangkapat","ika-2 sangkapat","ika-3 quarter","ika-4 na quarter"],AMPMS:["AM","PM"],DATEFORMATS:["EEEE, MMMM dd y",
"MMMM d, y","MMM d, y","M/d/yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_tr={ERAS:["M\u00d6","MS"],ERANAMES:["Milattan \u00d6nce","Milattan Sonra"],NARROWMONTHS:"O\u015eMNMHTAEEKA".split(""),STANDALONENARROWMONTHS:"O\u015eMNMHTAEEKA".split(""),MONTHS:"Ocak \u015eubat Mart Nisan May\u0131s Haziran Temmuz A\u011fustos Eyl\u00fcl Ekim Kas\u0131m Aral\u0131k".split(" "),STANDALONEMONTHS:"Ocak \u015eubat Mart Nisan May\u0131s Haziran Temmuz A\u011fustos Eyl\u00fcl Ekim Kas\u0131m Aral\u0131k".split(" "),SHORTMONTHS:"Oca \u015eub Mar Nis May Haz Tem A\u011fu Eyl Eki Kas Ara".split(" "),
STANDALONESHORTMONTHS:"Oca \u015eub Mar Nis May Haz Tem A\u011fu Eyl Eki Kas Ara".split(" "),WEEKDAYS:"Pazar Pazartesi Sal\u0131 \u00c7ar\u015famba Per\u015fembe Cuma Cumartesi".split(" "),STANDALONEWEEKDAYS:"Pazar Pazartesi Sal\u0131 \u00c7ar\u015famba Per\u015fembe Cuma Cumartesi".split(" "),SHORTWEEKDAYS:"Paz Pzt Sal \u00c7ar Per Cum Cmt".split(" "),STANDALONESHORTWEEKDAYS:"Paz Pzt Sal \u00c7ar Per Cum Cmt".split(" "),NARROWWEEKDAYS:"PPS\u00c7PCC".split(""),STANDALONENARROWWEEKDAYS:"PPS\u00c7PCC".split(""),
SHORTQUARTERS:["\u00c71","\u00c72","\u00c73","\u00c74"],QUARTERS:["1. \u00e7eyrek","2. \u00e7eyrek","3. \u00e7eyrek","4. \u00e7eyrek"],AMPMS:["\u00d6\u00d6","\u00d6S"],DATEFORMATS:["d MMMM y EEEE","d MMMM y","d MMM y","d MM y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_uk={ERAS:["\u0434\u043e \u043d.\u0435.","\u043d.\u0435."],ERANAMES:["\u0434\u043e \u043d\u0430\u0448\u043e\u0457 \u0435\u0440\u0438","\u043d\u0430\u0448\u043e\u0457 \u0435\u0440\u0438"],NARROWMONTHS:"\u0421\u041b\u0411\u041a\u0422\u0427\u041b\u0421\u0412\u0416\u041b\u0413".split(""),STANDALONENARROWMONTHS:"\u0421\u041b\u0411\u041a\u0422\u0427\u041b\u0421\u0412\u0416\u041b\u0413".split(""),MONTHS:"\u0441\u0456\u0447\u043d\u044f \u043b\u044e\u0442\u043e\u0433\u043e \u0431\u0435\u0440\u0435\u0437\u043d\u044f \u043a\u0432\u0456\u0442\u043d\u044f \u0442\u0440\u0430\u0432\u043d\u044f \u0447\u0435\u0440\u0432\u043d\u044f \u043b\u0438\u043f\u043d\u044f \u0441\u0435\u0440\u043f\u043d\u044f \u0432\u0435\u0440\u0435\u0441\u043d\u044f \u0436\u043e\u0432\u0442\u043d\u044f \u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430 \u0433\u0440\u0443\u0434\u043d\u044f".split(" "),
STANDALONEMONTHS:"\u0421\u0456\u0447\u0435\u043d\u044c \u041b\u044e\u0442\u0438\u0439 \u0411\u0435\u0440\u0435\u0437\u0435\u043d\u044c \u041a\u0432\u0456\u0442\u0435\u043d\u044c \u0422\u0440\u0430\u0432\u0435\u043d\u044c \u0427\u0435\u0440\u0432\u0435\u043d\u044c \u041b\u0438\u043f\u0435\u043d\u044c \u0421\u0435\u0440\u043f\u0435\u043d\u044c \u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c \u0416\u043e\u0432\u0442\u0435\u043d\u044c \u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434 \u0413\u0440\u0443\u0434\u0435\u043d\u044c".split(" "),
SHORTMONTHS:"\u0441\u0456\u0447. \u043b\u044e\u0442. \u0431\u0435\u0440. \u043a\u0432\u0456\u0442. \u0442\u0440\u0430\u0432. \u0447\u0435\u0440\u0432. \u043b\u0438\u043f. \u0441\u0435\u0440\u043f. \u0432\u0435\u0440. \u0436\u043e\u0432\u0442. \u043b\u0438\u0441\u0442. \u0433\u0440\u0443\u0434.".split(" "),STANDALONESHORTMONTHS:"\u0421\u0456\u0447 \u041b\u044e\u0442 \u0411\u0435\u0440 \u041a\u0432\u0456 \u0422\u0440\u0430 \u0427\u0435\u0440 \u041b\u0438\u043f \u0421\u0435\u0440 \u0412\u0435\u0440 \u0416\u043e\u0432 \u041b\u0438\u0441 \u0413\u0440\u0443".split(" "),
WEEKDAYS:"\u041d\u0435\u0434\u0456\u043b\u044f \u041f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a \u0412\u0456\u0432\u0442\u043e\u0440\u043e\u043a \u0421\u0435\u0440\u0435\u0434\u0430 \u0427\u0435\u0442\u0432\u0435\u0440 \u041f\u02bc\u044f\u0442\u043d\u0438\u0446\u044f \u0421\u0443\u0431\u043e\u0442\u0430".split(" "),STANDALONEWEEKDAYS:"\u041d\u0435\u0434\u0456\u043b\u044f \u041f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a \u0412\u0456\u0432\u0442\u043e\u0440\u043e\u043a \u0421\u0435\u0440\u0435\u0434\u0430 \u0427\u0435\u0442\u0432\u0435\u0440 \u041f\u02bc\u044f\u0442\u043d\u0438\u0446\u044f \u0421\u0443\u0431\u043e\u0442\u0430".split(" "),
SHORTWEEKDAYS:"\u041d\u0434 \u041f\u043d \u0412\u0442 \u0421\u0440 \u0427\u0442 \u041f\u0442 \u0421\u0431".split(" "),STANDALONESHORTWEEKDAYS:"\u041d\u0434 \u041f\u043d \u0412\u0442 \u0421\u0440 \u0427\u0442 \u041f\u0442 \u0421\u0431".split(" "),NARROWWEEKDAYS:"\u041d\u041f\u0412\u0421\u0427\u041f\u0421".split(""),STANDALONENARROWWEEKDAYS:"\u041d\u041f\u0412\u0421\u0427\u041f\u0421".split(""),SHORTQUARTERS:["I \u043a\u0432.","II \u043a\u0432.","III \u043a\u0432.","IV \u043a\u0432."],QUARTERS:["I \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
"II \u043a\u0432\u0430\u0440\u0442\u0430\u043b","III \u043a\u0432\u0430\u0440\u0442\u0430\u043b","IV \u043a\u0432\u0430\u0440\u0442\u0430\u043b"],AMPMS:["\u0434\u043f","\u043f\u043f"],DATEFORMATS:["EEEE, d MMMM y '\u0440'.","d MMMM y '\u0440'.","d MMM y","dd.MM.yy"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_ur={ERAS:["\u0642 \u0645","\u0639\u06cc\u0633\u0648\u06cc \u0633\u0646"],ERANAMES:["\u0642\u0628\u0644 \u0645\u0633\u06cc\u062d","\u0639\u06cc\u0633\u0648\u06cc \u0633\u0646"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"\u062c\u0646\u0648\u0631\u06cc \u0641\u0631\u0648\u0631\u06cc \u0645\u0627\u0631\u0686 \u0627\u067e\u0631\u06cc\u0644 \u0645\u0626 \u062c\u0648\u0646 \u062c\u0648\u0644\u0627\u0626 \u0627\u06af\u0633\u062a \u0633\u062a\u0645\u0628\u0631 \u0627\u06a9\u062a\u0648\u0628\u0631 \u0646\u0648\u0645\u0628\u0631 \u062f\u0633\u0645\u0628\u0631".split(" "),
STANDALONEMONTHS:"\u062c\u0646\u0648\u0631\u06cc \u0641\u0631\u0648\u0631\u06cc \u0645\u0627\u0631\u0686 \u0627\u067e\u0631\u06cc\u0644 \u0645\u0626 \u062c\u0648\u0646 \u062c\u0648\u0644\u0627\u0626 \u0627\u06af\u0633\u062a \u0633\u062a\u0645\u0628\u0631 \u0627\u06a9\u062a\u0648\u0628\u0631 \u0646\u0648\u0645\u0628\u0631 \u062f\u0633\u0645\u0628\u0631".split(" "),SHORTMONTHS:"\u062c\u0646\u0648\u0631\u06cc \u0641\u0631\u0648\u0631\u06cc \u0645\u0627\u0631\u0686 \u0627\u067e\u0631\u06cc\u0644 \u0645\u0626 \u062c\u0648\u0646 \u062c\u0648\u0644\u0627\u0626 \u0627\u06af\u0633\u062a \u0633\u062a\u0645\u0628\u0631 \u0627\u06a9\u062a\u0648\u0628\u0631 \u0646\u0648\u0645\u0628\u0631 \u062f\u0633\u0645\u0628\u0631".split(" "),
STANDALONESHORTMONTHS:"\u062c\u0646\u0648\u0631\u06cc \u0641\u0631\u0648\u0631\u06cc \u0645\u0627\u0631\u0686 \u0627\u067e\u0631\u06cc\u0644 \u0645\u0626 \u062c\u0648\u0646 \u062c\u0648\u0644\u0627\u0626 \u0627\u06af\u0633\u062a \u0633\u062a\u0645\u0628\u0631 \u0627\u06a9\u062a\u0648\u0628\u0631 \u0646\u0648\u0645\u0628\u0631 \u062f\u0633\u0645\u0628\u0631".split(" "),WEEKDAYS:"\u0627\u062a\u0648\u0627\u0631 \u067e\u06cc\u0631 \u0645\u0646\u06af\u0644 \u0628\u062f\u0647 \u062c\u0645\u0639\u0631\u0627\u062a \u062c\u0645\u0639\u06c1 \u06c1\u0641\u062a\u06c1".split(" "),
STANDALONEWEEKDAYS:"\u0627\u062a\u0648\u0627\u0631 \u067e\u06cc\u0631 \u0645\u0646\u06af\u0644 \u0628\u062f\u0647 \u062c\u0645\u0639\u0631\u0627\u062a \u062c\u0645\u0639\u06c1 \u06c1\u0641\u062a\u06c1".split(" "),SHORTWEEKDAYS:"\u0627\u062a\u0648\u0627\u0631 \u067e\u06cc\u0631 \u0645\u0646\u06af\u0644 \u0628\u062f\u0647 \u062c\u0645\u0639\u0631\u0627\u062a \u062c\u0645\u0639\u06c1 \u06c1\u0641\u062a\u06c1".split(" "),STANDALONESHORTWEEKDAYS:"\u0627\u062a\u0648\u0627\u0631 \u067e\u06cc\u0631 \u0645\u0646\u06af\u0644 \u0628\u062f\u0647 \u062c\u0645\u0639\u0631\u0627\u062a \u062c\u0645\u0639\u06c1 \u06c1\u0641\u062a\u06c1".split(" "),
NARROWWEEKDAYS:"SMTWTFS".split(""),STANDALONENARROWWEEKDAYS:"SMTWTFS".split(""),SHORTQUARTERS:["\u067e\u06c1\u0644\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc","\u062f\u0648\u0633\u0631\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc","\u062a\u06cc\u0633\u0631\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc","\u0686\u0648\u062a\u0647\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc"],QUARTERS:["\u067e\u06c1\u0644\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc","\u062f\u0648\u0633\u0631\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc",
"\u062a\u06cc\u0633\u0631\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc","\u0686\u0648\u062a\u0647\u06cc \u0633\u06c1 \u0645\u0627\u06c1\u06cc"],AMPMS:["\u0642\u0628\u0644 \u062f\u0648\u067e\u06c1\u0631","\u0628\u0639\u062f \u062f\u0648\u067e\u06c1\u0631"],DATEFORMATS:["EEEE\u060c d MMMM\u060c y","d MMMM\u060c y","d MMM\u060c y","d/M/yy"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_vi={ERAS:["tr. CN","sau CN"],ERANAMES:["tr. CN","sau CN"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"th\u00e1ng m\u1ed9t;th\u00e1ng hai;th\u00e1ng ba;th\u00e1ng t\u01b0;th\u00e1ng n\u0103m;th\u00e1ng s\u00e1u;th\u00e1ng b\u1ea3y;th\u00e1ng t\u00e1m;th\u00e1ng ch\u00edn;th\u00e1ng m\u01b0\u1eddi;th\u00e1ng m\u01b0\u1eddi m\u1ed9t;th\u00e1ng m\u01b0\u1eddi hai".split(";"),STANDALONEMONTHS:"th\u00e1ng m\u1ed9t;th\u00e1ng hai;th\u00e1ng ba;th\u00e1ng t\u01b0;th\u00e1ng n\u0103m;th\u00e1ng s\u00e1u;th\u00e1ng b\u1ea3y;th\u00e1ng t\u00e1m;th\u00e1ng ch\u00edn;th\u00e1ng m\u01b0\u1eddi;th\u00e1ng m\u01b0\u1eddi m\u1ed9t;th\u00e1ng m\u01b0\u1eddi hai".split(";"),
SHORTMONTHS:"thg 1;thg 2;thg 3;thg 4;thg 5;thg 6;thg 7;thg 8;thg 9;thg 10;thg 11;thg 12".split(";"),STANDALONESHORTMONTHS:"thg 1;thg 2;thg 3;thg 4;thg 5;thg 6;thg 7;thg 8;thg 9;thg 10;thg 11;thg 12".split(";"),WEEKDAYS:"Ch\u1ee7 nh\u1eadt;Th\u1ee9 hai;Th\u1ee9 ba;Th\u1ee9 t\u01b0;Th\u1ee9 n\u0103m;Th\u1ee9 s\u00e1u;Th\u1ee9 b\u1ea3y".split(";"),STANDALONEWEEKDAYS:"Ch\u1ee7 nh\u1eadt;Th\u1ee9 hai;Th\u1ee9 ba;Th\u1ee9 t\u01b0;Th\u1ee9 n\u0103m;Th\u1ee9 s\u00e1u;Th\u1ee9 b\u1ea3y".split(";"),SHORTWEEKDAYS:"CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7".split(";"),
STANDALONESHORTWEEKDAYS:"CN;Th 2;Th 3;Th 4;Th 5;Th 6;Th 7".split(";"),NARROWWEEKDAYS:"CN T2 T3 T4 T5 T6 T7".split(" "),STANDALONENARROWWEEKDAYS:"CN T2 T3 T4 T5 T6 T7".split(" "),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["Qu\u00fd 1","Qu\u00fd 2","Qu\u00fd 3","Qu\u00fd 4"],AMPMS:["SA","CH"],DATEFORMATS:["EEEE, 'ng\u00e0y' dd MMMM 'n\u0103m' y","'Ng\u00e0y' dd 'th\u00e1ng' M 'n\u0103m' y","dd-MM-y","dd/MM/y"],TIMEFORMATS:["HH:mm:ss zzzz","HH:mm:ss z","HH:mm:ss","HH:mm"],DATETIMEFORMATS:["{0} {1}",
"{0} {1}","{0} {1}","{0} {1}"],FIRSTDAYOFWEEK:0,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:6};
goog.i18n.DateTimeSymbols_zh={ERAS:["\u516c\u5143\u524d","\u516c\u5143"],ERANAMES:["\u516c\u5143\u524d","\u516c\u5143"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),STANDALONEMONTHS:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),
SHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),STANDALONESHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),WEEKDAYS:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),STANDALONEWEEKDAYS:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),
SHORTWEEKDAYS:"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),STANDALONESHORTWEEKDAYS:"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),NARROWWEEKDAYS:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),STANDALONENARROWWEEKDAYS:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),SHORTQUARTERS:["1\u5b63\u5ea6","2\u5b63\u5ea6","3\u5b63\u5ea6","4\u5b63\u5ea6"],QUARTERS:["\u7b2c\u4e00\u5b63\u5ea6",
"\u7b2c\u4e8c\u5b63\u5ea6","\u7b2c\u4e09\u5b63\u5ea6","\u7b2c\u56db\u5b63\u5ea6"],AMPMS:["\u4e0a\u5348","\u4e0b\u5348"],DATEFORMATS:["y\u5e74M\u6708d\u65e5EEEE","y\u5e74M\u6708d\u65e5","y\u5e74M\u6708d\u65e5","yy-M-d"],TIMEFORMATS:["zzzzah:mm:ss","zah:mm:ss","ah:mm:ss","ah:mm"],DATETIMEFORMATS:["{1}{0}","{1}{0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};goog.i18n.DateTimeSymbols_zh_CN=goog.i18n.DateTimeSymbols_zh;
goog.i18n.DateTimeSymbols_zh_HK={ERAS:["\u897f\u5143\u524d","\u897f\u5143"],ERANAMES:["\u516c\u5143\u524d","\u516c\u5143"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),STANDALONEMONTHS:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),
SHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),STANDALONESHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),WEEKDAYS:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),STANDALONEWEEKDAYS:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),
SHORTWEEKDAYS:"\u9031\u65e5 \u9031\u4e00 \u9031\u4e8c \u9031\u4e09 \u9031\u56db \u9031\u4e94 \u9031\u516d".split(" "),STANDALONESHORTWEEKDAYS:"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),NARROWWEEKDAYS:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),STANDALONENARROWWEEKDAYS:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),SHORTQUARTERS:["1\u5b63","2\u5b63","3\u5b63","4\u5b63"],QUARTERS:["\u7b2c1\u5b63","\u7b2c2\u5b63","\u7b2c3\u5b63",
"\u7b2c4\u5b63"],AMPMS:["\u4e0a\u5348","\u4e0b\u5348"],DATEFORMATS:["y\u5e74M\u6708d\u65e5EEEE","y\u5e74M\u6708d\u65e5","y\u5e74M\u6708d\u65e5","d/M/yy"],TIMEFORMATS:["ah:mm:ss [zzzz]","ah:mm:ss [z]","ahh:mm:ss","ah:mm"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1}{0}","{1}{0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_zh_TW={ERAS:["\u897f\u5143\u524d","\u897f\u5143"],ERANAMES:["\u516c\u5143\u524d","\u516c\u5143"],NARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),STANDALONENARROWMONTHS:"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),MONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),STANDALONEMONTHS:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),
SHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),STANDALONESHORTMONTHS:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),WEEKDAYS:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),STANDALONEWEEKDAYS:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),
SHORTWEEKDAYS:"\u9031\u65e5 \u9031\u4e00 \u9031\u4e8c \u9031\u4e09 \u9031\u56db \u9031\u4e94 \u9031\u516d".split(" "),STANDALONESHORTWEEKDAYS:"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),NARROWWEEKDAYS:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),STANDALONENARROWWEEKDAYS:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),SHORTQUARTERS:["1\u5b63","2\u5b63","3\u5b63","4\u5b63"],QUARTERS:["\u7b2c1\u5b63","\u7b2c2\u5b63","\u7b2c3\u5b63",
"\u7b2c4\u5b63"],AMPMS:["\u4e0a\u5348","\u4e0b\u5348"],DATEFORMATS:["y\u5e74M\u6708d\u65e5EEEE","y\u5e74M\u6708d\u65e5","y/M/d","y/M/d"],TIMEFORMATS:["zzzzah\u6642mm\u5206ss\u79d2","zah\u6642mm\u5206ss\u79d2","ah:mm:ss","ah:mm"],DATETIMEFORMATS:["{1}{0}","{1}{0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols_zu={ERAS:["BC","AD"],ERANAMES:["BC","AD"],NARROWMONTHS:"JFMAMJJASOND".split(""),STANDALONENARROWMONTHS:"JFMAMJJASOND".split(""),MONTHS:"Januwari Februwari Mashi Apreli Meyi Juni Julayi Agasti Septhemba Okthoba Novemba Disemba".split(" "),STANDALONEMONTHS:"uJanuwari uFebruwari uMashi u-Apreli uMeyi uJuni uJulayi uAgasti uSepthemba u-Okthoba uNovemba uDisemba".split(" "),SHORTMONTHS:"Jan Feb Mas Apr Mey Jun Jul Aga Sep Okt Nov Dis".split(" "),STANDALONESHORTMONTHS:"Jan Feb Mas Apr Mey Jun Jul Aga Sep Okt Nov Dis".split(" "),
WEEKDAYS:"Sonto Msombuluko Lwesibili Lwesithathu uLwesine Lwesihlanu Mgqibelo".split(" "),STANDALONEWEEKDAYS:"Sonto Msombuluko Lwesibili Lwesithathu uLwesine Lwesihlanu Mgqibelo".split(" "),SHORTWEEKDAYS:"Son Mso Bil Tha Sin Hla Mgq".split(" "),STANDALONESHORTWEEKDAYS:"Son Mso Bil Tha Sin Hla Mgq".split(" "),NARROWWEEKDAYS:"SMBTSHM".split(""),STANDALONENARROWWEEKDAYS:"SMBTSHM".split(""),SHORTQUARTERS:["Q1","Q2","Q3","Q4"],QUARTERS:["ikota yoku-1","ikota yesi-2","ikota yesi-3","ikota yesi-4"],AMPMS:["Ekuseni",
"Ntambama"],DATEFORMATS:["EEEE dd MMMM y","d MMMM y","d MMM y","y-MM-dd"],TIMEFORMATS:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],DATETIMEFORMATS:["{1} {0}","{1} {0}","{1} {0}","{1} {0}"],FIRSTDAYOFWEEK:6,WEEKENDRANGE:[5,6],FIRSTWEEKCUTOFFDAY:5};
goog.i18n.DateTimeSymbols="af"==goog.LOCALE?goog.i18n.DateTimeSymbols_af:"am"==goog.LOCALE?goog.i18n.DateTimeSymbols_am:"ar"==goog.LOCALE?goog.i18n.DateTimeSymbols_ar:"bg"==goog.LOCALE?goog.i18n.DateTimeSymbols_bg:"bn"==goog.LOCALE?goog.i18n.DateTimeSymbols_bn:"br"==goog.LOCALE?goog.i18n.DateTimeSymbols_br:"ca"==goog.LOCALE?goog.i18n.DateTimeSymbols_ca:"chr"==goog.LOCALE?goog.i18n.DateTimeSymbols_chr:"cs"==goog.LOCALE?goog.i18n.DateTimeSymbols_cs:"cy"==goog.LOCALE?goog.i18n.DateTimeSymbols_cy:"da"==
goog.LOCALE?goog.i18n.DateTimeSymbols_da:"de"==goog.LOCALE?goog.i18n.DateTimeSymbols_de:"de_AT"==goog.LOCALE||"de-AT"==goog.LOCALE?goog.i18n.DateTimeSymbols_de_AT:"de_CH"==goog.LOCALE||"de-CH"==goog.LOCALE?goog.i18n.DateTimeSymbols_de:"el"==goog.LOCALE?goog.i18n.DateTimeSymbols_el:"en"==goog.LOCALE?goog.i18n.DateTimeSymbols_en:"en_AU"==goog.LOCALE||"en-AU"==goog.LOCALE?goog.i18n.DateTimeSymbols_en_AU:"en_GB"==goog.LOCALE||"en-GB"==goog.LOCALE?goog.i18n.DateTimeSymbols_en_GB:"en_IE"==goog.LOCALE||
"en-IE"==goog.LOCALE?goog.i18n.DateTimeSymbols_en_IE:"en_IN"==goog.LOCALE||"en-IN"==goog.LOCALE?goog.i18n.DateTimeSymbols_en_IN:"en_SG"==goog.LOCALE||"en-SG"==goog.LOCALE?goog.i18n.DateTimeSymbols_en_SG:"en_US"==goog.LOCALE||"en-US"==goog.LOCALE?goog.i18n.DateTimeSymbols_en:"en_ZA"==goog.LOCALE||"en-ZA"==goog.LOCALE?goog.i18n.DateTimeSymbols_en_ZA:"es"==goog.LOCALE?goog.i18n.DateTimeSymbols_es:"es_419"==goog.LOCALE||"es-419"==goog.LOCALE?goog.i18n.DateTimeSymbols_es_419:"es_ES"==goog.LOCALE||"es-ES"==
goog.LOCALE?goog.i18n.DateTimeSymbols_es:"et"==goog.LOCALE?goog.i18n.DateTimeSymbols_et:"eu"==goog.LOCALE?goog.i18n.DateTimeSymbols_eu:"fa"==goog.LOCALE?goog.i18n.DateTimeSymbols_fa:"fi"==goog.LOCALE?goog.i18n.DateTimeSymbols_fi:"fil"==goog.LOCALE?goog.i18n.DateTimeSymbols_fil:"fr"==goog.LOCALE?goog.i18n.DateTimeSymbols_fr:"fr_CA"==goog.LOCALE||"fr-CA"==goog.LOCALE?goog.i18n.DateTimeSymbols_fr_CA:"gl"==goog.LOCALE?goog.i18n.DateTimeSymbols_gl:"gsw"==goog.LOCALE?goog.i18n.DateTimeSymbols_gsw:"gu"==
goog.LOCALE?goog.i18n.DateTimeSymbols_gu:"haw"==goog.LOCALE?goog.i18n.DateTimeSymbols_haw:"he"==goog.LOCALE?goog.i18n.DateTimeSymbols_he:"hi"==goog.LOCALE?goog.i18n.DateTimeSymbols_hi:"hr"==goog.LOCALE?goog.i18n.DateTimeSymbols_hr:"hu"==goog.LOCALE?goog.i18n.DateTimeSymbols_hu:"id"==goog.LOCALE?goog.i18n.DateTimeSymbols_id:"in"==goog.LOCALE?goog.i18n.DateTimeSymbols_in:"is"==goog.LOCALE?goog.i18n.DateTimeSymbols_is:"it"==goog.LOCALE?goog.i18n.DateTimeSymbols_it:"iw"==goog.LOCALE?goog.i18n.DateTimeSymbols_iw:
"ja"==goog.LOCALE?goog.i18n.DateTimeSymbols_ja:"kn"==goog.LOCALE?goog.i18n.DateTimeSymbols_kn:"ko"==goog.LOCALE?goog.i18n.DateTimeSymbols_ko:"ln"==goog.LOCALE?goog.i18n.DateTimeSymbols_ln:"lt"==goog.LOCALE?goog.i18n.DateTimeSymbols_lt:"lv"==goog.LOCALE?goog.i18n.DateTimeSymbols_lv:"ml"==goog.LOCALE?goog.i18n.DateTimeSymbols_ml:"mr"==goog.LOCALE?goog.i18n.DateTimeSymbols_mr:"ms"==goog.LOCALE?goog.i18n.DateTimeSymbols_ms:"mt"==goog.LOCALE?goog.i18n.DateTimeSymbols_mt:"nb"==goog.LOCALE?goog.i18n.DateTimeSymbols_nb:
"nl"==goog.LOCALE?goog.i18n.DateTimeSymbols_nl:"no"==goog.LOCALE?goog.i18n.DateTimeSymbols_no:"or"==goog.LOCALE?goog.i18n.DateTimeSymbols_or:"pl"==goog.LOCALE?goog.i18n.DateTimeSymbols_pl:"pt"==goog.LOCALE?goog.i18n.DateTimeSymbols_pt:"pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE?goog.i18n.DateTimeSymbols_pt:"pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE?goog.i18n.DateTimeSymbols_pt_PT:"ro"==goog.LOCALE?goog.i18n.DateTimeSymbols_ro:"ru"==goog.LOCALE?goog.i18n.DateTimeSymbols_ru:"sk"==goog.LOCALE?goog.i18n.DateTimeSymbols_sk:
"sl"==goog.LOCALE?goog.i18n.DateTimeSymbols_sl:"sq"==goog.LOCALE?goog.i18n.DateTimeSymbols_sq:"sr"==goog.LOCALE?goog.i18n.DateTimeSymbols_sr:"sv"==goog.LOCALE?goog.i18n.DateTimeSymbols_sv:"sw"==goog.LOCALE?goog.i18n.DateTimeSymbols_sw:"ta"==goog.LOCALE?goog.i18n.DateTimeSymbols_ta:"te"==goog.LOCALE?goog.i18n.DateTimeSymbols_te:"th"==goog.LOCALE?goog.i18n.DateTimeSymbols_th:"tl"==goog.LOCALE?goog.i18n.DateTimeSymbols_tl:"tr"==goog.LOCALE?goog.i18n.DateTimeSymbols_tr:"uk"==goog.LOCALE?goog.i18n.DateTimeSymbols_uk:
"ur"==goog.LOCALE?goog.i18n.DateTimeSymbols_ur:"vi"==goog.LOCALE?goog.i18n.DateTimeSymbols_vi:"zh"==goog.LOCALE?goog.i18n.DateTimeSymbols_zh:"zh_CN"==goog.LOCALE||"zh-CN"==goog.LOCALE?goog.i18n.DateTimeSymbols_zh:"zh_HK"==goog.LOCALE||"zh-HK"==goog.LOCALE?goog.i18n.DateTimeSymbols_zh_HK:"zh_TW"==goog.LOCALE||"zh-TW"==goog.LOCALE?goog.i18n.DateTimeSymbols_zh_TW:"zu"==goog.LOCALE?goog.i18n.DateTimeSymbols_zu:goog.i18n.DateTimeSymbols_en;goog.date.weekDay={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6};goog.date.month={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11};goog.date.formatMonthAndYear=function(a,b){return goog.getMsg("{$monthName} {$yearNum}",{monthName:a,yearNum:b})};goog.date.splitDateStringRegex_=/^(\d{4})(?:(?:-?(\d{2})(?:-?(\d{2}))?)|(?:-?(\d{3}))|(?:-?W(\d{2})(?:-?([1-7]))?))?$/;goog.date.splitTimeStringRegex_=/^(\d{2})(?::?(\d{2})(?::?(\d{2})(\.\d+)?)?)?$/;
goog.date.splitTimezoneStringRegex_=/Z|(?:([-+])(\d{2})(?::?(\d{2}))?)$/;goog.date.splitDurationRegex_=/^(-)?P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/;goog.date.isLeapYear=function(a){return 0==a%4&&(0!=a%100||0==a%400)};goog.date.isLongIsoYear=function(a){var b=5*a+12-4*(Math.floor(a/100)-Math.floor(a/400)),b=b+(Math.floor((a-100)/400)-Math.floor((a-102)/400)),b=b+(Math.floor((a-200)/400)-Math.floor((a-199)/400));return 5>b%28};
goog.date.getNumberOfDaysInMonth=function(a,b){switch(b){case goog.date.month.FEB:return goog.date.isLeapYear(a)?29:28;case goog.date.month.JUN:case goog.date.month.SEP:case goog.date.month.NOV:case goog.date.month.APR:return 30}return 31};goog.date.isSameDay=function(a,b){var c=b||new Date(goog.now());return a.getDate()==c.getDate()&&goog.date.isSameMonth(a,c)};goog.date.isSameMonth=function(a,b){var c=b||new Date(goog.now());return a.getMonth()==c.getMonth()&&goog.date.isSameYear(a,c)};
goog.date.isSameYear=function(a,b){var c=b||new Date(goog.now());return a.getFullYear()==c.getFullYear()};goog.date.getWeekNumber=function(a,b,c,d,e){a=new Date(a,b,c);d=d||goog.date.weekDay.THU;e=e||goog.date.weekDay.MON;b=((a.getDay()+6)%7-e+7)%7;e=a.valueOf()+864E5*((d-e+7)%7-b);d=(new Date((new Date(e)).getFullYear(),0,1)).valueOf();return Math.floor(Math.round((e-d)/864E5)/7)+1};goog.date.min=function(a,b){return a<b?a:b};goog.date.max=function(a,b){return a>b?a:b};
goog.date.fromIsoString=function(a){var b=new goog.date.DateTime(2E3);return goog.date.setIso8601DateTime(b,a)?b:null};goog.date.setIso8601DateTime=function(a,b){b=goog.string.trim(b);var c=-1==b.indexOf("T")?" ":"T",c=b.split(c);return goog.date.setIso8601DateOnly_(a,c[0])&&(2>c.length||goog.date.setIso8601TimeOnly_(a,c[1]))};
goog.date.setIso8601DateOnly_=function(a,b){var c=b.match(goog.date.splitDateStringRegex_);if(!c)return!1;var d=Number(c[2]),e=Number(c[3]),f=Number(c[4]),g=Number(c[5]),h=Number(c[6])||1;a.setFullYear(Number(c[1]));f?(a.setDate(1),a.setMonth(0),a.add(new goog.date.Interval(goog.date.Interval.DAYS,f-1))):g?goog.date.setDateFromIso8601Week_(a,g,h):(d&&(a.setDate(1),a.setMonth(d-1)),e&&a.setDate(e));return!0};
goog.date.setDateFromIso8601Week_=function(a,b,c){a.setMonth(0);a.setDate(1);var d=a.getDay()||7;b=new goog.date.Interval(goog.date.Interval.DAYS,(4>=d?1-d:8-d)+(Number(c)+7*(Number(b)-1))-1);a.add(b)};
goog.date.setIso8601TimeOnly_=function(a,b){var c=b.match(goog.date.splitTimezoneStringRegex_),d=0;c&&("Z"!=c[0]&&(d=60*c[2]+Number(c[3]),d*="-"==c[1]?1:-1),d-=a.getTimezoneOffset(),b=b.substr(0,b.length-c[0].length));c=b.match(goog.date.splitTimeStringRegex_);if(!c)return!1;a.setHours(Number(c[1]));a.setMinutes(Number(c[2])||0);a.setSeconds(Number(c[3])||0);a.setMilliseconds(c[4]?1E3*c[4]:0);0!=d&&a.setTime(a.getTime()+6E4*d);return!0};
goog.date.Interval=function(a,b,c,d,e,f){goog.isString(a)?(this.years=a==goog.date.Interval.YEARS?b:0,this.months=a==goog.date.Interval.MONTHS?b:0,this.days=a==goog.date.Interval.DAYS?b:0,this.hours=a==goog.date.Interval.HOURS?b:0,this.minutes=a==goog.date.Interval.MINUTES?b:0,this.seconds=a==goog.date.Interval.SECONDS?b:0):(this.years=a||0,this.months=b||0,this.days=c||0,this.hours=d||0,this.minutes=e||0,this.seconds=f||0)};
goog.date.Interval.fromIsoString=function(a){a=a.match(goog.date.splitDurationRegex_);if(!a)return null;var b=!(a[6]||a[7]||a[8]);if(b&&!(a[2]||a[3]||a[4])||b&&a[5])return null;var b=a[1],c=parseInt(a[2],10)||0,d=parseInt(a[3],10)||0,e=parseInt(a[4],10)||0,f=parseInt(a[6],10)||0,g=parseInt(a[7],10)||0;a=parseFloat(a[8])||0;return b?new goog.date.Interval(-c,-d,-e,-f,-g,-a):new goog.date.Interval(c,d,e,f,g,a)};
goog.date.Interval.prototype.toIsoString=function(a){var b=Math.min(this.years,this.months,this.days,this.hours,this.minutes,this.seconds),c=Math.max(this.years,this.months,this.days,this.hours,this.minutes,this.seconds);if(0>b&&0<c)return null;if(!a&&0==b&&0==c)return"PT0S";c=[];0>b&&c.push("-");c.push("P");(this.years||a)&&c.push(Math.abs(this.years)+"Y");(this.months||a)&&c.push(Math.abs(this.months)+"M");(this.days||a)&&c.push(Math.abs(this.days)+"D");if(this.hours||this.minutes||this.seconds||
a)c.push("T"),(this.hours||a)&&c.push(Math.abs(this.hours)+"H"),(this.minutes||a)&&c.push(Math.abs(this.minutes)+"M"),(this.seconds||a)&&c.push(Math.abs(this.seconds)+"S");return c.join("")};goog.date.Interval.prototype.equals=function(a){return a.years==this.years&&a.months==this.months&&a.days==this.days&&a.hours==this.hours&&a.minutes==this.minutes&&a.seconds==this.seconds};
goog.date.Interval.prototype.clone=function(){return new goog.date.Interval(this.years,this.months,this.days,this.hours,this.minutes,this.seconds)};goog.date.Interval.YEARS="y";goog.date.Interval.MONTHS="m";goog.date.Interval.DAYS="d";goog.date.Interval.HOURS="h";goog.date.Interval.MINUTES="n";goog.date.Interval.SECONDS="s";goog.date.Interval.prototype.isZero=function(){return 0==this.years&&0==this.months&&0==this.days&&0==this.hours&&0==this.minutes&&0==this.seconds};
goog.date.Interval.prototype.getInverse=function(){return this.times(-1)};goog.date.Interval.prototype.times=function(a){return new goog.date.Interval(this.years*a,this.months*a,this.days*a,this.hours*a,this.minutes*a,this.seconds*a)};goog.date.Interval.prototype.getTotalSeconds=function(){return 60*(60*(24*this.days+this.hours)+this.minutes)+this.seconds};
goog.date.Interval.prototype.add=function(a){this.years+=a.years;this.months+=a.months;this.days+=a.days;this.hours+=a.hours;this.minutes+=a.minutes;this.seconds+=a.seconds};goog.date.Date=function(a,b,c){goog.isNumber(a)?(this.date_=new Date(a,b||0,c||1),this.maybeFixDst_(c||1)):goog.isObject(a)?(this.date_=new Date(a.getFullYear(),a.getMonth(),a.getDate()),this.maybeFixDst_(a.getDate())):(this.date_=new Date(goog.now()),this.date_.setHours(0),this.date_.setMinutes(0),this.date_.setSeconds(0),this.date_.setMilliseconds(0))};
goog.date.Date.prototype.firstDayOfWeek_=goog.i18n.DateTimeSymbols.FIRSTDAYOFWEEK;goog.date.Date.prototype.firstWeekCutOffDay_=goog.i18n.DateTimeSymbols.FIRSTWEEKCUTOFFDAY;goog.date.Date.prototype.clone=function(){var a=new goog.date.Date(this.date_);a.firstDayOfWeek_=this.firstDayOfWeek_;a.firstWeekCutOffDay_=this.firstWeekCutOffDay_;return a};goog.date.Date.prototype.getFullYear=function(){return this.date_.getFullYear()};goog.date.Date.prototype.getYear=function(){return this.getFullYear()};
goog.date.Date.prototype.getMonth=function(){return this.date_.getMonth()};goog.date.Date.prototype.getDate=function(){return this.date_.getDate()};goog.date.Date.prototype.getTime=function(){return this.date_.getTime()};goog.date.Date.prototype.getDay=function(){return this.date_.getDay()};goog.date.Date.prototype.getIsoWeekday=function(){return(this.getDay()+6)%7};goog.date.Date.prototype.getWeekday=function(){return(this.getIsoWeekday()-this.firstDayOfWeek_+7)%7};
goog.date.Date.prototype.getUTCFullYear=function(){return this.date_.getUTCFullYear()};goog.date.Date.prototype.getUTCMonth=function(){return this.date_.getUTCMonth()};goog.date.Date.prototype.getUTCDate=function(){return this.date_.getUTCDate()};goog.date.Date.prototype.getUTCDay=function(){return this.date_.getDay()};goog.date.Date.prototype.getUTCHours=function(){return this.date_.getUTCHours()};goog.date.Date.prototype.getUTCMinutes=function(){return this.date_.getUTCMinutes()};
goog.date.Date.prototype.getUTCIsoWeekday=function(){return(this.date_.getUTCDay()+6)%7};goog.date.Date.prototype.getUTCWeekday=function(){return(this.getUTCIsoWeekday()-this.firstDayOfWeek_+7)%7};goog.date.Date.prototype.getFirstDayOfWeek=function(){return this.firstDayOfWeek_};goog.date.Date.prototype.getFirstWeekCutOffDay=function(){return this.firstWeekCutOffDay_};goog.date.Date.prototype.getNumberOfDaysInMonth=function(){return goog.date.getNumberOfDaysInMonth(this.getFullYear(),this.getMonth())};
goog.date.Date.prototype.getWeekNumber=function(){return goog.date.getWeekNumber(this.getFullYear(),this.getMonth(),this.getDate(),this.firstWeekCutOffDay_,this.firstDayOfWeek_)};goog.date.Date.prototype.getDayOfYear=function(){for(var a=this.getDate(),b=this.getFullYear(),c=this.getMonth()-1;0<=c;c--)a+=goog.date.getNumberOfDaysInMonth(b,c);return a};goog.date.Date.prototype.getTimezoneOffset=function(){return this.date_.getTimezoneOffset()};
goog.date.Date.prototype.getTimezoneOffsetString=function(){var a;a=this.getTimezoneOffset();if(0==a)a="Z";else{var b=Math.abs(a)/60,c=Math.floor(b),b=60*(b-c);a=(0<a?"-":"+")+goog.string.padNumber(c,2)+":"+goog.string.padNumber(b,2)}return a};goog.date.Date.prototype.set=function(a){this.date_=new Date(a.getFullYear(),a.getMonth(),a.getDate())};goog.date.Date.prototype.setFullYear=function(a){this.date_.setFullYear(a)};goog.date.Date.prototype.setYear=function(a){this.setFullYear(a)};
goog.date.Date.prototype.setMonth=function(a){this.date_.setMonth(a)};goog.date.Date.prototype.setDate=function(a){this.date_.setDate(a)};goog.date.Date.prototype.setTime=function(a){this.date_.setTime(a)};goog.date.Date.prototype.setUTCFullYear=function(a){this.date_.setUTCFullYear(a)};goog.date.Date.prototype.setUTCMonth=function(a){this.date_.setUTCMonth(a)};goog.date.Date.prototype.setUTCDate=function(a){this.date_.setUTCDate(a)};
goog.date.Date.prototype.setFirstDayOfWeek=function(a){this.firstDayOfWeek_=a};goog.date.Date.prototype.setFirstWeekCutOffDay=function(a){this.firstWeekCutOffDay_=a};
goog.date.Date.prototype.add=function(a){if(a.years||a.months){var b=this.getMonth()+a.months+12*a.years,c=this.getYear()+Math.floor(b/12),b=b%12;0>b&&(b+=12);var d=goog.date.getNumberOfDaysInMonth(c,b),d=Math.min(d,this.getDate());this.setDate(1);this.setFullYear(c);this.setMonth(b);this.setDate(d)}a.days&&(b=new Date(this.getYear(),this.getMonth(),this.getDate(),12),a=new Date(b.getTime()+864E5*a.days),this.setDate(1),this.setFullYear(a.getFullYear()),this.setMonth(a.getMonth()),this.setDate(a.getDate()),
this.maybeFixDst_(a.getDate()))};goog.date.Date.prototype.toIsoString=function(a,b){return[this.getFullYear(),goog.string.padNumber(this.getMonth()+1,2),goog.string.padNumber(this.getDate(),2)].join(a?"-":"")+(b?this.getTimezoneOffsetString():"")};goog.date.Date.prototype.toUTCIsoString=function(a,b){return[this.getUTCFullYear(),goog.string.padNumber(this.getUTCMonth()+1,2),goog.string.padNumber(this.getUTCDate(),2)].join(a?"-":"")+(b?"Z":"")};
goog.date.Date.prototype.equals=function(a){return!(!a||this.getYear()!=a.getYear()||this.getMonth()!=a.getMonth()||this.getDate()!=a.getDate())};goog.date.Date.prototype.toString=function(){return this.toIsoString()};goog.date.Date.prototype.maybeFixDst_=function(a){this.getDate()!=a&&(a=this.getDate()<a?1:-1,this.date_.setUTCHours(this.date_.getUTCHours()+a))};goog.date.Date.prototype.valueOf=function(){return this.date_.valueOf()};goog.date.Date.compare=function(a,b){return a.getTime()-b.getTime()};
goog.date.DateTime=function(a,b,c,d,e,f,g){goog.isNumber(a)?this.date_=new Date(a,b||0,c||1,d||0,e||0,f||0,g||0):this.date_=new Date(a?a.getTime():goog.now())};goog.inherits(goog.date.DateTime,goog.date.Date);goog.date.DateTime.fromRfc822String=function(a){a=new Date(a);return isNaN(a.getTime())?null:new goog.date.DateTime(a)};goog.date.DateTime.prototype.getHours=function(){return this.date_.getHours()};goog.date.DateTime.prototype.getMinutes=function(){return this.date_.getMinutes()};
goog.date.DateTime.prototype.getSeconds=function(){return this.date_.getSeconds()};goog.date.DateTime.prototype.getMilliseconds=function(){return this.date_.getMilliseconds()};goog.date.DateTime.prototype.getUTCDay=function(){return this.date_.getUTCDay()};goog.date.DateTime.prototype.getUTCHours=function(){return this.date_.getUTCHours()};goog.date.DateTime.prototype.getUTCMinutes=function(){return this.date_.getUTCMinutes()};goog.date.DateTime.prototype.getUTCSeconds=function(){return this.date_.getUTCSeconds()};
goog.date.DateTime.prototype.getUTCMilliseconds=function(){return this.date_.getUTCMilliseconds()};goog.date.DateTime.prototype.setHours=function(a){this.date_.setHours(a)};goog.date.DateTime.prototype.setMinutes=function(a){this.date_.setMinutes(a)};goog.date.DateTime.prototype.setSeconds=function(a){this.date_.setSeconds(a)};goog.date.DateTime.prototype.setMilliseconds=function(a){this.date_.setMilliseconds(a)};goog.date.DateTime.prototype.setUTCHours=function(a){this.date_.setUTCHours(a)};
goog.date.DateTime.prototype.setUTCMinutes=function(a){this.date_.setUTCMinutes(a)};goog.date.DateTime.prototype.setUTCSeconds=function(a){this.date_.setUTCSeconds(a)};goog.date.DateTime.prototype.setUTCMilliseconds=function(a){this.date_.setUTCMilliseconds(a)};goog.date.DateTime.prototype.isMidnight=function(){return 0==this.getHours()&&0==this.getMinutes()&&0==this.getSeconds()&&0==this.getMilliseconds()};
goog.date.DateTime.prototype.add=function(a){goog.date.Date.prototype.add.call(this,a);a.hours&&this.setHours(this.date_.getHours()+a.hours);a.minutes&&this.setMinutes(this.date_.getMinutes()+a.minutes);a.seconds&&this.setSeconds(this.date_.getSeconds()+a.seconds)};
goog.date.DateTime.prototype.toIsoString=function(a,b){var c=goog.date.Date.prototype.toIsoString.call(this,a);return a?c+" "+goog.string.padNumber(this.getHours(),2)+":"+goog.string.padNumber(this.getMinutes(),2)+":"+goog.string.padNumber(this.getSeconds(),2)+(b?this.getTimezoneOffsetString():""):c+"T"+goog.string.padNumber(this.getHours(),2)+goog.string.padNumber(this.getMinutes(),2)+goog.string.padNumber(this.getSeconds(),2)+(b?this.getTimezoneOffsetString():"")};
goog.date.DateTime.prototype.toXmlDateTime=function(a){return goog.date.Date.prototype.toIsoString.call(this,!0)+"T"+goog.string.padNumber(this.getHours(),2)+":"+goog.string.padNumber(this.getMinutes(),2)+":"+goog.string.padNumber(this.getSeconds(),2)+(a?this.getTimezoneOffsetString():"")};
goog.date.DateTime.prototype.toUTCIsoString=function(a,b){var c=goog.date.Date.prototype.toUTCIsoString.call(this,a);return a?c+" "+goog.string.padNumber(this.getUTCHours(),2)+":"+goog.string.padNumber(this.getUTCMinutes(),2)+":"+goog.string.padNumber(this.getUTCSeconds(),2)+(b?"Z":""):c+"T"+goog.string.padNumber(this.getUTCHours(),2)+goog.string.padNumber(this.getUTCMinutes(),2)+goog.string.padNumber(this.getUTCSeconds(),2)+(b?"Z":"")};
goog.date.DateTime.prototype.equals=function(a){return this.getTime()==a.getTime()};goog.date.DateTime.prototype.toString=function(){return this.toIsoString()};goog.date.DateTime.prototype.toUsTimeString=function(a,b,c){var d=this.getHours();goog.isDef(b)||(b=!0);var e=12==d;12<d&&(d-=12,e=!0);0==d&&b&&(d=12);a=a?goog.string.padNumber(d,2):String(d);d=this.getMinutes();if(!c||0<d)a+=":"+goog.string.padNumber(d,2);b&&(b=goog.getMsg("am"),c=goog.getMsg("pm"),a+=e?c:b);return a};
goog.date.DateTime.prototype.toIsoTimeString=function(a){var b=this.getHours(),b=goog.string.padNumber(b,2)+":"+goog.string.padNumber(this.getMinutes(),2);if(!goog.isDef(a)||a)b+=":"+goog.string.padNumber(this.getSeconds(),2);return b};goog.date.DateTime.prototype.clone=function(){var a=new goog.date.DateTime(this.date_);a.setFirstDayOfWeek(this.getFirstDayOfWeek());a.setFirstWeekCutOffDay(this.getFirstWeekCutOffDay());return a};ol.style.Icon=function(a){this.url_=a.url instanceof ol.expr.Expression?a.url:new ol.expr.Literal(a.url);this.width_=goog.isDef(a.width)?a.width instanceof ol.expr.Expression?a.width:new ol.expr.Literal(a.width):null;this.height_=goog.isDef(a.height)?a.height instanceof ol.expr.Expression?a.height:new ol.expr.Literal(a.height):null;this.opacity_=goog.isDef(a.opacity)?a.opacity instanceof ol.expr.Expression?a.opacity:new ol.expr.Literal(a.opacity):new ol.expr.Literal(ol.style.IconDefaults.opacity);
this.rotation_=goog.isDef(a.rotation)?a.rotation instanceof ol.expr.Expression?a.rotation:new ol.expr.Literal(a.rotation):new ol.expr.Literal(ol.style.IconDefaults.rotation);this.xOffset_=goog.isDef(a.xOffset)?a.xOffset instanceof ol.expr.Expression?a.xOffset:new ol.expr.Literal(a.xOffset):new ol.expr.Literal(ol.style.IconDefaults.xOffset);this.yOffset_=goog.isDef(a.yOffset)?a.yOffset instanceof ol.expr.Expression?a.yOffset:new ol.expr.Literal(a.yOffset):new ol.expr.Literal(ol.style.IconDefaults.yOffset)};
ol.style.Icon.prototype.createLiteral=function(a){var b;a instanceof ol.Feature&&(b=a,a=(a=b.getGeometry())?a.getType():null);var c=null;if(a===ol.geom.GeometryType.POINT||a===ol.geom.GeometryType.MULTIPOINT){a=ol.expr.evaluateFeature(this.url_,b);var d;goog.isNull(this.width_)||(d=Number(ol.expr.evaluateFeature(this.width_,b)));var e;goog.isNull(this.height_)||(e=Number(ol.expr.evaluateFeature(this.height_,b)));var c=Number(ol.expr.evaluateFeature(this.opacity_,b)),f=Number(ol.expr.evaluateFeature(this.rotation_,
b)),g=Number(ol.expr.evaluateFeature(this.xOffset_,b));b=Number(ol.expr.evaluateFeature(this.yOffset_,b));c=new ol.style.IconLiteral({url:a,width:d,height:e,opacity:c,rotation:f,xOffset:g,yOffset:b})}return c};ol.style.Icon.prototype.getHeight=function(){return this.height_};ol.style.Icon.prototype.getOpacity=function(){return this.opacity_};ol.style.Icon.prototype.getRotation=function(){return this.rotation_};ol.style.Icon.prototype.getUrl=function(){return this.url_};
ol.style.Icon.prototype.getWidth=function(){return this.width_};ol.style.Icon.prototype.getXOffset=function(){return this.xOffset_};ol.style.Icon.prototype.getYOffset=function(){return this.yOffset_};ol.style.Icon.prototype.setHeight=function(a){this.height_=a};ol.style.Icon.prototype.setOpacity=function(a){this.opacity_=a};ol.style.Icon.prototype.setRotation=function(a){this.rotation_=a};ol.style.Icon.prototype.setUrl=function(a){this.url_=a};
ol.style.Icon.prototype.setWidth=function(a){this.width_=a};ol.style.Icon.prototype.setXOffset=function(a){this.xOffset_=a};ol.style.Icon.prototype.setYOffset=function(a){this.yOffset_=a};ol.style.IconDefaults={opacity:1,rotation:0,xOffset:0,yOffset:0};ol.parser.KML=function(a){a=goog.isDef(a)?a:{};this.extractAttributes=goog.isDef(a.extractAttributes)?a.extractAttributes:!0;this.extractStyles=goog.isDef(a.extractStyles)?a.extractStyles:!1;this.schemaLocation="http://www.opengis.net/kml/2.2 http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd";this.dimension=goog.isDef(a.dimension)?a.dimension:3;this.maxDepth=goog.isDef(a.maxDepth)?a.maxDepth:0;this.trackAttributes=goog.isDef(a.trackAttributes)?a.trackAttributes:null;this.defaultNamespaceURI="http://www.opengis.net/kml/2.2";
this.readers={"http://www.opengis.net/kml/2.2":{kml:function(a,c){goog.isDef(c.features)||(c.features=[]);goog.isDef(c.links)||(c.links=[]);this.readChildNodes(a,c)},Document:function(a,c){this.readChildNodes(a,c)},"*":function(a,c){if(!0===this.extractAttributes){var d=a.childNodes.length;1!==d&&2!==d||3!==a.firstChild.nodeType&&4!==a.firstChild.nodeType||this.readers[this.defaultNamespaceURI]._attribute.apply(this,arguments)}},NetworkLink:function(a,c){var d={};this.readChildNodes(a,d);c.links.push(d)},
Link:function(a,c){this.readChildNodes(a,c)},_attribute:function(a,c){var d=a.localName||a.nodeName.split(":").pop(),e=this.getChildValue(a);c.properties?c.properties[d]=e.replace(this.regExes.trimSpace,""):c[d]=e.replace(this.regExes.trimSpace,"")},Placemark:function(a,c){var d={properties:{}},e,f,g=a.getAttribute("id");this.readChildNodes(a,d);if(goog.isDef(d.track)){var h=d.track,k;delete d.track;for(var l=0,m=h.whens.length;l<m;++l){if(this.trackAttributes)for(k=0,e=this.trackAttributes.length;k<
e;++k)f=this.trackAttributes[k],d.properties[f]=h.attributes[f][l];d.properties.when=h.whens[l];goog.isDef(h.angles[l])&&(d.properties.heading=parseFloat(h.angles[l][0]),d.properties.tilt=parseFloat(h.angles[l][1]),d.properties.roll=parseFloat(h.angles[l][2]));3===h.points[l].coordinates.length&&(d.properties.altitude=h.points[l].coordinates[2]);k=new ol.Feature(d.properties);goog.isNull(g)||k.setFeatureId(g);var n=h.points[l];n&&(e=void 0,this.readFeaturesOptions_&&(f=this.readFeaturesOptions_.callback)&&
(e=f(k,n.type)),e=this.createGeometry_({geometry:n},e),goog.isDef(e)&&k.setGeometry(e));c.features.push(k)}}else goog.isDef(d.geometry)&&(h=d.properties.styleUrl,goog.isDef(h)&&(goog.string.startsWith(h,"#")||c.links.push({href:h})),k=new ol.Feature(d.properties),goog.isNull(g)||k.setFeatureId(g),d.geometry&&(e=void 0,this.readFeaturesOptions_&&(f=this.readFeaturesOptions_.callback)&&(e=f(k,d.geometry.type)),e=this.createGeometry_(d,e),goog.isDef(e)&&k.setGeometry(e)),g=void 0,goog.isDef(d.styles)&&
(g=d.styles[0].symbolizers),this.applyStyle_(k,c.styles,g),c.features.push(k))},MultiGeometry:function(a,c){var d=[];this.readChildNodes(a,d);var e=goog.array.bucket(d,function(a){return a.type}),f;if(1===goog.object.getCount(e))switch(goog.object.getAnyKey(e)){case ol.geom.GeometryType.POINT:f={type:ol.geom.GeometryType.MULTIPOINT,parts:d};break;case ol.geom.GeometryType.LINESTRING:f={type:ol.geom.GeometryType.MULTILINESTRING,parts:d};break;case ol.geom.GeometryType.POLYGON:f={type:ol.geom.GeometryType.MULTIPOLYGON,
parts:d}}else f={type:ol.geom.GeometryType.GEOMETRYCOLLECTION,parts:d};goog.isArray(c)?c.push(f):c.geometry=f},Point:function(a,c){var d=[];this.readChildNodes(a,d);d={type:ol.geom.GeometryType.POINT,coordinates:d[0][0]};goog.isArray(c)?c.push(d):c.geometry=d},Polygon:function(a,c){var d=[];this.readChildNodes(a,d);d={type:ol.geom.GeometryType.POLYGON,coordinates:d};goog.isArray(c)?c.push(d):c.geometry=d},LineString:function(a,c){var d=[];this.readChildNodes(a,d);d={type:ol.geom.GeometryType.LINESTRING,
coordinates:d[0]};goog.isArray(c)?c.push(d):c.geometry=d},outerBoundaryIs:function(a,c){this.readChildNodes(a,c)},LinearRing:function(a,c){this.readChildNodes(a,c)},coordinates:function(a,c){for(var d=this.getChildValue(a),e=this.regExes,d=d.replace(e.trimSpace,"").split(e.splitSpace),f=[],g=0,h=d.length;g<h;g++){for(var k=d[g].replace(e.removeSpace,"").split(","),l=[],m=Math.min(k.length,this.dimension),n=0;n<m;n++)l.push(parseFloat(k[n]));f.push(l)}c.push(f)},innerBoundaryIs:function(a,c){this.readChildNodes(a,
c)},Folder:function(a,c){this.readChildNodes(a,c)},ExtendedData:function(a,c){this.readChildNodes(a,c.properties)},SchemaData:function(a,c){this.readChildNodes(a,c)},SimpleData:function(a,c){c[a.getAttribute("name")]=this.getChildValue(a)},Data:function(a,c){var d={};this.readChildNodes(a,d);c[a.getAttribute("name")]=d.value},when:function(a,c){var d=this.getChildValue(a),e=d.split("T");2===e.length&&2===e[1].split("-").length&&(d+=":00");c.whens.push(goog.date.fromIsoString(d).date_)},_trackPointAttribute:function(a,
c){var d=a.nodeName.split(":").pop();c.attributes[d].push(this.getChildValue(a))},Style:function(a,c){if(!0===this.extractStyles){c.styles||(c.styles=[]);var d={symbolizers:[],ids:[]},e=a.getAttribute("id");goog.isNull(e)||(d.id=e);this.readChildNodes(a,d);c.styles.push(d)}},LineStyle:function(a,c){var d={},e={};this.readChildNodes(a,d);d.color&&(e.color=d.color.color,e.opacity=d.color.opacity);d.width&&(e.width=parseFloat(d.width));c.ids.push(a.getAttribute("id"));c.symbolizers.push(new ol.style.Stroke(e))},
PolyStyle:function(a,c){var d={},e={};this.readChildNodes(a,d);"0"!==d.fill&&"false"!==d.fill&&(d.color?(e.color=d.color.color,e.opacity=d.color.opacity):(e.color="#ffffff",e.opacity=1),c.symbolizers.push(new ol.style.Fill(e)));"0"!==d.outline&&"false"!==d.outline&&(d.color?(e.color=d.color.color,e.opacity=d.color.opacity):(e.color="#ffffff",e.opacity=1),c.symbolizers.push(new ol.style.Stroke(e)));c.ids.push(a.getAttribute("id"))},fill:function(a,c){c.fill=this.getChildValue(a)},outline:function(a,
c){c.outline=this.getChildValue(a)},scale:function(a,c){c.scale=parseFloat(this.getChildValue(a))},Icon:function(a,c){c.icon={};this.readChildNodes(a,c.icon)},href:function(a,c){c.href=this.getChildValue(a)},w:function(a,c){c.w=this.getChildValue(a)},h:function(a,c){c.h=this.getChildValue(a)},x:function(a,c){c.x=this.getChildValue(a)},y:function(a,c){c.y=this.getChildValue(a)},hotSpot:function(a,c){c.hotSpot={x:parseFloat(a.getAttribute("x")),y:parseFloat(a.getAttribute("y")),xunits:a.getAttribute("xunits"),
yunits:a.getAttribute("yunits")}},IconStyle:function(a,c){var d={},e={};this.readChildNodes(a,d);var f=d.scale||1,g=32*f,h=32*f,k,l;if(goog.isDef(d.icon)&&(k=d.icon.href,goog.isDef(k))){l=d.icon.w;var m=d.icon.h;!goog.string.startsWith(k,"http://maps.google.com/mapfiles/kml")||(goog.isDef(l)||goog.isDef(m))||(m=l=64,f/=2);l=l||m;m=m||l;l&&(g=parseInt(l,10)*f);m&&(h=parseInt(m,10)*f);if(l=k.match(this.regExes.kmlIconPalette)){var m=l[1],n=l[2];k=d.icon.x;l=d.icon.y;k="http://maps.google.com/mapfiles/kml/pal"+
m+"/icon"+(8*(l?7-l/32:7)+(k?k/32:0))+n}e.opacity=1;e.url=k}goog.isDef(d.hotSpot)&&(k=d.hotSpot.x,l=d.hotSpot.y,m=d.hotSpot.xunits,d=d.hotSpot.yunits,"pixels"===m?e.xOffset=-k*f:"insetPixels"===m?e.xOffset=-g+k*f:"fraction"===m&&(e.xOffset=-g*k),"pixels"==d?e.yOffset=-h+l*f+1:"insetPixels"==d?e.yOffset=-(l*f)+1:"fraction"==d&&(e.yOffset=-h*(1-l)+1));e.width=g;e.height=h;c.ids.push(a.getAttribute("id"));c.symbolizers.push(new ol.style.Icon(e))},color:function(a,c){var d=this.getChildValue(a);d&&(d=
d.match(this.regExes.kmlColor))&&(c.color={color:"#"+d[4]+d[3]+d[2],opacity:parseInt(d[1],16)/255})},width:function(a,c){c.width=this.getChildValue(a)}},"http://www.google.com/kml/ext/2.2":{Track:function(a,c){c.track={whens:[],points:[],angles:[]};if(this.trackAttributes){var d;c.track.attributes={};for(var e=0,f=this.trackAttributes.length;e<f;++e){d=this.trackAttributes[e];c.track.attributes[d]=[];var g=this.readers[this.defaultNamespaceURI];d in g||(g[d]=g._trackPointAttribute)}}this.readChildNodes(a,
c.track);if(c.track.whens.length!==c.track.points.length)throw Error("gx:Track with unequal number of when ("+c.track.whens.length+") and gx:coord ("+c.track.points.length+") elements.");if(0<c.track.angles.length&&c.track.whens.length!==c.track.angles.length)throw Error("gx:Track with unequal number of when ("+c.track.whens.length+") and gx:angles ("+c.track.angles.length+") elements.");},coord:function(a,c){for(var d=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/),e=0,f=this.dimension;e<
f;++e)d[e]=parseFloat(d[e]);c.points.push({type:ol.geom.GeometryType.POINT,coordinates:d})},angles:function(a,c){var d=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(/\s+/);c.angles.push(d)}}};this.writers={"http://www.opengis.net/kml/2.2":{kml:function(a){var c=this.createElementNS("kml");this.writeNode("Document",a,null,c);return c},Document:function(a){var c=this.createElementNS("Document"),d;for(d in a)if(a.hasOwnProperty(d)&&goog.isString(a[d])){var e=this.createElementNS(d);
e.appendChild(this.createTextNode(a[d]));c.appendChild(e)}if(goog.isDef(a.styles))for(d=0,e=a.styles.length;d<e;++d)this.writeNode("_style",a.styles[d],null,c);d=0;for(e=a.features.length;d<e;++d)this.writeNode("_feature",a.features[d],null,c);return c},_style:function(a){var c=this.createElementNS("Style");goog.isDef(a.id)&&this.setAttributeNS(c,null,"id",a.id);for(var d=0,e=a.symbolizers.length;d<e;++d)this.writeNode("_symbolizer",{symbolizer:a.symbolizers[d],id:a.ids?a.ids[d]:void 0},null,c);return c},
_symbolizer:function(a){var c=a.symbolizer;if(c instanceof ol.style.Icon)return this.writeNode("IconStyle",a);if(c instanceof ol.style.Stroke)return this.writeNode("LineStyle",a);if(c instanceof ol.style.Fill)return this.writeNode("PolyStyle",a)},PolyStyle:function(a){var c=this.createElementNS("PolyStyle");a.id&&this.setAttributeNS(c,null,"id",a.id);a=a.symbolizer.createLiteral(ol.geom.GeometryType.POLYGON);var d,e;0!==a.fillOpacity?(this.writeNode("fill","1",null,c),d=a.fillColor,e=a.fillOpacity):
this.writeNode("fill","0",null,c);a.strokeOpacity?(this.writeNode("outline","1",null,c),d=d||a.strokeColor,e=e||a.strokeOpacity):this.writeNode("outline","0",null,c);d&&e&&this.writeNode("color",{color:d.substring(1),opacity:e},null,c);return c},fill:function(a){var c=this.createElementNS("fill");c.appendChild(this.createTextNode(a));return c},outline:function(a){var c=this.createElementNS("outline");c.appendChild(this.createTextNode(a));return c},LineStyle:function(a){var c=this.createElementNS("LineStyle");
a.id&&this.setAttributeNS(c,null,"id",a.id);a=a.symbolizer.createLiteral(ol.geom.GeometryType.LINESTRING);this.writeNode("color",{color:a.color.substring(1),opacity:a.opacity},null,c);this.writeNode("width",a.width,null,c);return c},color:function(a){var c=a.color;a=(255*a.opacity).toString(16)+c.substring(4,6)+c.substring(2,4)+c.substring(0,2);c=this.createElementNS("color");c.appendChild(this.createTextNode(a));return c},width:function(a){var c=this.createElementNS("width");c.appendChild(this.createTextNode(a));
return c},IconStyle:function(a){var c=this.createElementNS("IconStyle");this.setAttributeNS(c,null,"id",a.id);this.writeNode("Icon",a.symbolizer.createLiteral(ol.geom.GeometryType.POINT).url,null,c);return c},Icon:function(a){var c=this.createElementNS("Icon");this.writeNode("href",a,null,c);return c},href:function(a){var c=this.createElementNS("href");c.appendChild(this.createTextNode(a));return c},_feature:function(a){var c=this.createElementNS("Placemark"),d=a.getFeatureId();goog.isDef(d)&&c.setAttribute("id",
d);this.writeNode("name",a,null,c);this.writeNode("description",a,null,c);goog.isDef(a.get("styleUrl"))?this.writeNode("styleUrl",a,null,c):(d=a.getSymbolizers(),goog.isNull(d)||this.writeNode("_style",{symbolizers:d},null,c));this.writeNode("_geometry",a.getGeometry(),null,c);return c},name:function(a){a=a.get("name");if(goog.isDef(a)){var c=this.createElementNS("name");c.appendChild(this.createTextNode(a));return c}},description:function(a){a=a.get("description");if(goog.isDef(a)){var c=this.createElementNS("description");
c.appendChild(this.createTextNode(a));return c}},styleUrl:function(a){a=a.get("styleUrl");var c=this.createElementNS("styleUrl");c.appendChild(this.createTextNode(a));return c},_geometry:function(a){if(a instanceof ol.geom.Point)return this.writeNode("Point",a);if(a instanceof ol.geom.LineString)return this.writeNode("LineString",a);if(a instanceof ol.geom.Polygon)return this.writeNode("Polygon",a);if(a instanceof ol.geom.AbstractCollection)return this.writeNode("MultiGeometry",a)},MultiGeometry:function(a){for(var c=
this.createElementNS("MultiGeometry"),d=0,e=a.components.length;d<e;++d)this.writeNode("_geometry",a.components[d],null,c);return c},Point:function(a){var c=this.createElementNS("Point");a=a.getCoordinates();this.writeNode("coordinates",[a],null,c);return c},LineString:function(a){var c=this.createElementNS("LineString");this.writeNode("coordinates",a.getCoordinates(),null,c);return c},Polygon:function(a){var c=this.createElementNS("Polygon");a=a.getCoordinates();this.writeNode("outerBoundaryIs",
a[0],null,c);for(var d=1,e=a.length;d<e;++d)this.writeNode("innerBoundaryIs",a[d],null,c);return c},outerBoundaryIs:function(a){var c=this.createElementNS("outerBoundaryIs");this.writeNode("LinearRing",a,null,c);return c},innerBoundaryIs:function(a){var c=this.createElementNS("innerBoundaryIs");this.writeNode("LinearRing",a,null,c);return c},LinearRing:function(a){var c=this.createElementNS("LinearRing");this.writeNode("coordinates",a,null,c);return c},coordinates:function(a){for(var c=this.createElementNS("coordinates"),
d="",e=0,f=a.length;e<f;++e){for(var g=0,h=a[e].length;g<h;++g)d+=a[e][g],g<h-1&&(d+=",");e<f-1&&(d+=" ")}c.appendChild(this.createTextNode(d));return c}}};ol.parser.XML.call(this);goog.object.extend(this.regExes,{kmlColor:/(\w{2})(\w{2})(\w{2})(\w{2})/,kmlIconPalette:/root:\/\/icons\/palette-(\d+)(\.\w+)/,straightBracket:/\$\[(.*?)\]/g})};goog.inherits(ol.parser.KML,ol.parser.XML);ol.parser.KML.prototype.readFeaturesFromObjectAsync=function(a,b,c){this.readFeaturesOptions_=c;this.read(a,b)};
ol.parser.KML.prototype.readFeaturesFromStringAsync=function(a,b,c){this.readFeaturesOptions_=c;this.read(a,b)};ol.parser.KML.prototype.readFeaturesFromString=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};ol.parser.KML.prototype.readFeaturesFromNode=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};ol.parser.KML.prototype.readFeaturesFromObject=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};
ol.parser.KML.prototype.parseLinks=function(a,b,c){var d;if(this.depth_<this.maxDepth){this.depth_++;for(var e=0,f=b.links.length;e<f;++e){var g=b.links[e];if(!0!==g.visited){d=!0;var h=new goog.async.Deferred,k=new goog.net.XhrIo,l=this;goog.events.listen(k,goog.net.EventType.COMPLETE,function(d){if(d.target.isSuccess()){var e=d.target.getResponseXml()||d.target.getResponseText();goog.isString(e)&&(e=goog.dom.xml.loadXml(e));goog.dispose(d.target);e&&(9==e.nodeType&&(e=e.documentElement),l.readNode(e,
b));l.parseLinks(a,b,c);this.callback(e)}},!1,h);a.push(h);k.send(g.href);g.visited=!0}}}!0!==d&&!0!==this.callbackCalled_&&c.call(this)};
ol.parser.KML.prototype.read=function(a,b){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var c={metadata:{projection:"EPSG:4326"}};this.readNode(a,c);if(goog.isDef(b)){var d=[];this.depth_=0;this.callbackCalled_=!1;this.parseLinks(d,c,function(){this.callbackCalled_=!0;goog.async.DeferredList.gatherResults(d).addCallbacks(function(a){a=0;for(var d=c.features.length;a<d;++a)this.applyStyle_(c.features[a],c.styles);b.call(null,c)},function(){throw Error("KML: parsing of NetworkLinks failed");
},this)})}else return c};ol.parser.KML.prototype.applyStyle_=function(a,b,c){var d,e;if(a.get("styleUrl")&&null===a.getSymbolizers()){var f=a.get("styleUrl"),f=f.substring(f.indexOf("#")+1);if(goog.isDef(b))for(d=0,e=b.length;d<e;++d)if(b[d].id===f){c=b[d].symbolizers;break}}goog.isDef(c)&&a.setSymbolizers(c)};
ol.parser.KML.prototype.createGeometry_=function(a,b){var c=null,d,e;switch(a.geometry.type){case ol.geom.GeometryType.POINT:c=new ol.geom.Point(a.geometry.coordinates,b);break;case ol.geom.GeometryType.LINESTRING:c=new ol.geom.LineString(a.geometry.coordinates,b);break;case ol.geom.GeometryType.POLYGON:c=new ol.geom.Polygon(a.geometry.coordinates,b);break;case ol.geom.GeometryType.MULTIPOINT:d=[];c=0;for(e=a.geometry.parts.length;c<e;c++)d.push(a.geometry.parts[c].coordinates);c=new ol.geom.MultiPoint(d,
b);break;case ol.geom.GeometryType.MULTILINESTRING:d=[];c=0;for(e=a.geometry.parts.length;c<e;c++)d.push(a.geometry.parts[c].coordinates);c=new ol.geom.MultiLineString(d,b);break;case ol.geom.GeometryType.MULTIPOLYGON:d=[];c=0;for(e=a.geometry.parts.length;c<e;c++)d.push(a.geometry.parts[c].coordinates);c=new ol.geom.MultiPolygon(d,b);break;case ol.geom.GeometryType.GEOMETRYCOLLECTION:d=[];c=0;for(e=a.geometry.parts.length;c<e;c++)d.push(this.createGeometry_({geometry:a.geometry.parts[c]},b));c=new ol.geom.GeometryCollection(d)}return c};
ol.parser.KML.prototype.write=function(a){a=this.writeNode("kml",a);this.setAttributeNS(a,"http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);return this.serialize(a)};ol.parser.TopoJSON=function(){this.feature_=new ol.Feature};goog.inherits(ol.parser.TopoJSON,ol.parser.Parser);goog.addSingletonGetter(ol.parser.TopoJSON);ol.parser.TopoJSON.prototype.concatenateArcs_=function(a,b){for(var c=[],d,e=0,f=a.length;e<f;++e)d=a[e],0<e&&c.pop(),d=0<=d?b[d]:b[~d].slice().reverse(),c.push.apply(c,d);return c};ol.parser.TopoJSON.prototype.read=function(a){a=JSON.parse(a);return this.readFeaturesFromObject(a).features};
ol.parser.TopoJSON.prototype.readFeaturesFromString=function(a,b){var c=JSON.parse(a);if("Topology"!==c.type)throw Error('Not a "Topology" type object');return{features:this.readFeaturesFromTopology_(c,b),metadata:{projection:"EPSG:4326"}}};ol.parser.TopoJSON.prototype.readFeaturesFromObject=function(a,b){if("Topology"!==a.type)throw Error('Not a "Topology" type object');return{features:this.readFeaturesFromTopology_(a,b),metadata:{projection:"EPSG:4326"}}};
ol.parser.TopoJSON.prototype.readFeatureFromGeometry_=function(a,b,c,d,e){var f=a.type;if("Point"===f)b=this.readPoint_(a,c,d,e);else if("LineString"===f)b=this.readLineString_(a,b,e);else if("Polygon"===f)b=this.readPolygon_(a,b,e);else if("MultiPoint"===f)b=this.readMultiPoint_(a,c,d,e);else if("MultiLineString"===f)b=this.readMultiLineString_(a,b,e);else if("MultiPolygon"===f)b=this.readMultiPolygon_(a,b,e);else throw Error("Unsupported geometry type: "+f);c=new ol.Feature;c.setGeometry(b);goog.isDef(a.id)&&
c.setFeatureId(String(a.id));return c};ol.parser.TopoJSON.prototype.readFeaturesFromGeometryCollection_=function(a,b,c,d,e){a=a.geometries;for(var f=a.length,g=Array(f),h=0;h<f;++h)g[h]=this.readFeatureFromGeometry_(a[h],b,c,d,e);return g};
ol.parser.TopoJSON.prototype.readFeaturesFromTopology_=function(a,b){var c=a.transform,d=c.scale,c=c.translate,e=a.arcs;this.transformArcs_(e,d,c);var f=a.objects,g=[],h;for(h in f)"GeometryCollection"===f[h].type?g.push.apply(g,this.readFeaturesFromGeometryCollection_(f[h],e,d,c,b)):g.push(this.readFeatureFromGeometry_(f[h],e,d,c,b));return g};
ol.parser.TopoJSON.prototype.readLineString_=function(a,b,c){a=this.concatenateArcs_(a.arcs,b);c=c&&c.callback;var d;c&&(d=c(this.feature_,ol.geom.GeometryType.LINESTRING));return new ol.geom.LineString(a,d)};ol.parser.TopoJSON.prototype.readMultiLineString_=function(a,b,c){var d=a.arcs,e=d.length;a=Array(e);for(var f=0;f<e;++f)a[f]=this.concatenateArcs_(d[f],b);b=c&&c.callback;var g;b&&(g=b(this.feature_,ol.geom.GeometryType.MULTILINESTRING));return new ol.geom.MultiLineString(a,g)};
ol.parser.TopoJSON.prototype.readMultiPoint_=function(a,b,c,d){a=a.coordinates;for(var e=0,f=a.length;e<f;++e)this.transformVertex_(a[e],b,c);b=d&&d.callback;var g;b&&(g=b(this.feature_,ol.geom.GeometryType.MULTIPOINT));return new ol.geom.MultiPoint(a,g)};
ol.parser.TopoJSON.prototype.readMultiPolygon_=function(a,b,c){var d=a.arcs,e=d.length;a=Array(e);for(var f,g,h,k,l=0;l<e;++l){f=d[l];g=f.length;h=Array(g);for(k=0;k<g;++k)h[k]=this.concatenateArcs_(f[k],b);a[l]=h}b=c&&c.callback;var m;b&&(m=b(this.feature_,ol.geom.GeometryType.MULTIPOLYGON));return new ol.geom.MultiPolygon(a,m)};
ol.parser.TopoJSON.prototype.readPoint_=function(a,b,c,d){a=a.coordinates;this.transformVertex_(a,b,c);b=d&&d.callback;var e;b&&(e=b(this.feature_,ol.geom.GeometryType.POINT));return new ol.geom.Point(a,e)};ol.parser.TopoJSON.prototype.readPolygon_=function(a,b,c){var d=a.arcs,e=d.length;a=Array(e);for(var f=0;f<e;++f)a[f]=this.concatenateArcs_(d[f],b);b=c&&c.callback;var g;b&&(g=b(this.feature_,ol.geom.GeometryType.POLYGON));return new ol.geom.Polygon(a,g)};
ol.parser.TopoJSON.prototype.transformArcs_=function(a,b,c){for(var d=0,e=a.length;d<e;++d)this.transformArc_(a[d],b,c)};ol.parser.TopoJSON.prototype.transformArc_=function(a,b,c){for(var d=0,e=0,f,g=0,h=a.length;g<h;++g)f=a[g],d+=f[0],e+=f[1],f[0]=d,f[1]=e,this.transformVertex_(f,b,c)};ol.parser.TopoJSON.prototype.transformVertex_=function(a,b,c){a[0]=a[0]*b[0]+c[0];a[1]=a[1]*b[1]+c[1]};ol.parser.TopoJSON.read=function(a){return ol.parser.TopoJSON.getInstance().read(a)};ol.parser.WKT=function(){};goog.inherits(ol.parser.WKT,ol.parser.Parser);goog.addSingletonGetter(ol.parser.WKT);ol.parser.WKT.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/,geomCollection:/,\s*([A-Za-z])/g,removeNewLine:/[\n\r]/g};ol.parser.WKT.prototype.parsePoint_=function(a){a=goog.string.trim(a).split(ol.parser.WKT.regExes.spaces);return new ol.geom.Point(goog.array.map(a,parseFloat))};
ol.parser.WKT.prototype.parseLineString_=function(a){a=goog.string.trim(a).split(",");for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.parsePoint_.apply(this,[a[c]]).getCoordinates());return new ol.geom.LineString(b)};ol.parser.WKT.prototype.parseMultiPoint_=function(a){for(var b=goog.string.trim(a).split(","),c=[],d=0,e=b.length;d<e;++d)a=b[d].replace(ol.parser.WKT.regExes.trimParens,"$1"),c.push(this.parsePoint_.apply(this,[a]));return ol.geom.MultiPoint.fromParts(c)};
ol.parser.WKT.prototype.parseMultiLineString_=function(a){for(var b=goog.string.trim(a).split(ol.parser.WKT.regExes.parenComma),c=[],d=0,e=b.length;d<e;++d)a=b[d].replace(ol.parser.WKT.regExes.trimParens,"$1"),c.push(this.parseLineString_.apply(this,[a]));return ol.geom.MultiLineString.fromParts(c)};
ol.parser.WKT.prototype.parsePolygon_=function(a){var b;a=goog.string.trim(a).split(ol.parser.WKT.regExes.parenComma);for(var c=[],d=0,e=a.length;d<e;++d)b=a[d].replace(ol.parser.WKT.regExes.trimParens,"$1"),b=this.parseLineString_.apply(this,[b]).getCoordinates(),c.push(b);return new ol.geom.Polygon(c)};
ol.parser.WKT.prototype.parseMultiPolygon_=function(a){for(var b=goog.string.trim(a).split(ol.parser.WKT.regExes.doubleParenComma),c=[],d=0,e=b.length;d<e;++d)a=b[d].replace(ol.parser.WKT.regExes.trimParens,"$1"),c.push(this.parsePolygon_.apply(this,[a]));return ol.geom.MultiPolygon.fromParts(c)};
ol.parser.WKT.prototype.parseGeometryCollection_=function(a){a=a.replace(ol.parser.WKT.regExes.geomCollection,"|$1");a=goog.string.trim(a).split("|");for(var b=[],c=0,d=a.length;c<d;++c)b.push(this.parse_.apply(this,[a[c]]));return new ol.geom.GeometryCollection(b)};ol.parser.WKT.prototype.encodePoint_=function(a){a=a.getCoordinates();return a[0]+" "+a[1]};
ol.parser.WKT.prototype.encodeMultiPoint_=function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.encodePoint_.apply(this,[a.components[c]])+")");return b.join(",")};ol.parser.WKT.prototype.encodeGeometryCollection_=function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push(this.encode_.apply(this,[a.components[c]]));return b.join(",")};
ol.parser.WKT.prototype.encodeLineString_=function(a){a=a.getCoordinates();for(var b=[],c=0,d=a.length;c<d;++c)b.push(a[c][0]+" "+a[c][1]);return b.join(",")};ol.parser.WKT.prototype.encodeMultiLineString_=function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.encodeLineString_.apply(this,[a.components[c]])+")");return b.join(",")};
ol.parser.WKT.prototype.encodePolygon_=function(a){for(var b=[],c=0,d=a.rings.length;c<d;++c)b.push("("+this.encodeLineString_.apply(this,[a.rings[c]])+")");return b.join(",")};ol.parser.WKT.prototype.encodeMultiPolygon_=function(a){for(var b=[],c=0,d=a.components.length;c<d;++c)b.push("("+this.encodePolygon_.apply(this,[a.components[c]])+")");return b.join(",")};
ol.parser.WKT.prototype.parse_=function(a){a=a.replace(ol.parser.WKT.regExes.removeNewLine," ");a=ol.parser.WKT.regExes.typeStr.exec(a);var b;if(a)switch(b=a[1].toLowerCase(),a=a[2],b){case "point":b=this.parsePoint_(a);break;case "multipoint":b=this.parseMultiPoint_(a);break;case "linestring":b=this.parseLineString_(a);break;case "multilinestring":b=this.parseMultiLineString_(a);break;case "polygon":b=this.parsePolygon_(a);break;case "multipolygon":b=this.parseMultiPolygon_(a);break;case "geometrycollection":b=
this.parseGeometryCollection_(a);break;default:throw Error("Bad geometry type: "+b);}return b};
ol.parser.WKT.prototype.encode_=function(a){var b=a.getType(),c=b.toUpperCase()+"(";if(a instanceof ol.geom.Point)c+=this.encodePoint_(a);else if(a instanceof ol.geom.MultiPoint)c+=this.encodeMultiPoint_(a);else if(a instanceof ol.geom.LineString)c+=this.encodeLineString_(a);else if(a instanceof ol.geom.MultiLineString)c+=this.encodeMultiLineString_(a);else if(a instanceof ol.geom.Polygon)c+=this.encodePolygon_(a);else if(a instanceof ol.geom.MultiPolygon)c+=this.encodeMultiPolygon_(a);else if(a instanceof
ol.geom.GeometryCollection)c+=this.encodeGeometryCollection_(a);else throw Error("Bad geometry type: "+b);return c+")"};ol.parser.WKT.prototype.read=function(a){return this.parse_(a)};ol.parser.WKT.prototype.write=function(a){return this.encode_(a)};ol.parser.WKT.read=function(a){return ol.parser.WKT.getInstance().read(a)};ol.parser.WKT.write=function(a){return ol.parser.WKT.getInstance().write(a)};ol.parser.ogc={};
ol.parser.ogc.ExceptionReport=function(){var a=function(a,b){var e={code:a.getAttribute("exceptionCode"),locator:a.getAttribute("locator"),texts:[]};b.exceptions.push(e);this.readChildNodes(a,e)},b=function(a,b){var e=this.getChildValue(a);b.texts.push(e)};this.readers={"http://www.opengis.net/ogc":{ServiceExceptionReport:function(a,b){b.exceptionReport={};b.exceptionReport.exceptions=[];this.readChildNodes(a,b.exceptionReport)},ServiceException:function(a,b){var e={};e.code=a.getAttribute("code");e.locator=
a.getAttribute("locator");e.text=this.getChildValue(a);b.exceptions.push(e)}},"http://www.opengis.net/ows":{ExceptionReport:function(a,b){b.success=!1;b.exceptionReport={version:a.getAttribute("version"),language:a.getAttribute("language"),exceptions:[]};this.readChildNodes(a,b.exceptionReport)},Exception:function(b,d){a.apply(this,arguments)},ExceptionText:function(a,d){b.apply(this,arguments)}},"http://www.opengis.net/ows/1.1":{ExceptionReport:function(a,b){b.exceptionReport={version:a.getAttribute("version"),
language:a.getAttribute("xml:lang"),exceptions:[]};this.readChildNodes(a,b.exceptionReport)},Exception:function(b,d){a.apply(this,arguments)},ExceptionText:function(a,d){b.apply(this,arguments)}}};ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.ExceptionReport,ol.parser.XML);ol.parser.ogc.ExceptionReport.prototype.read=function(a){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));var b={exceptionReport:null};a&&this.readChildNodes(a,b);return b};ol.parser.ogc.Filter_v1=function(){this.defaultNamespaceURI="http://www.opengis.net/ogc";this.errorProperty="filter";this.readers={"http://www.opengis.net/ogc":{_expression:function(a){var b=[],c,d;for(a=a.firstChild;a;a=a.nextSibling)switch(a.nodeType){case 1:c=this.readNode(a);c.property?b.push(c.property):goog.isDef(c.value)&&b.push(c.value);break;case 3:case 4:if(c=goog.string.trim(a.nodeValue))d=goog.string.toNumber(c),isNaN(d)||(c=d),b.push(new ol.expr.Literal(c))}return 1===b.length?b[0]:new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.CONCAT),
b)},Filter:function(a,b){var c={filters:[]};this.readChildNodes(a,c);goog.isDef(c.fids)?b.filter=new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.FID),goog.object.getValues(c.fids)):0<c.filters.length&&(b.filter=c.filters[0])},FeatureId:function(a,b){var c=a.getAttribute("fid");c&&(goog.isDef(b.fids)||(b.fids={}),b.fids.hasOwnProperty(c)||(b.fids[c]=new ol.expr.Literal(c)))},And:function(a,b){var c={filters:[]};this.readChildNodes(a,c);c=this.aggregateLogical_(c.filters,ol.expr.LogicalOp.AND);
b.filters.push(c)},Or:function(a,b){var c={filters:[]};this.readChildNodes(a,c);c=this.aggregateLogical_(c.filters,ol.expr.LogicalOp.OR);b.filters.push(c)},Not:function(a,b){var c={filters:[]};this.readChildNodes(a,c);b.filters.push(new ol.expr.Not(c.filters[0]))},PropertyIsNull:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.EQ,c.property,new ol.expr.Literal(null)))},PropertyIsLessThan:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.LT,
c.property,c.value))},PropertyIsGreaterThan:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.GT,c.property,c.value))},PropertyIsLessThanOrEqualTo:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.LTE,c.property,c.value))},PropertyIsGreaterThanOrEqualTo:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.GTE,c.property,c.value))},
PropertyIsBetween:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Logical(ol.expr.LogicalOp.AND,new ol.expr.Comparison(ol.expr.ComparisonOp.GTE,c.property,c.lowerBoundary),new ol.expr.Comparison(ol.expr.ComparisonOp.LTE,c.property,c.upperBoundary)))},Literal:function(a,b){var c=this.getChildValue(a),d=goog.string.toNumber(c);b.value=new ol.expr.Literal(isNaN(d)?c:d)},PropertyName:function(a,b){b.property=new ol.expr.Identifier(this.getChildValue(a))},LowerBoundary:function(a,
b){b.lowerBoundary=this.readers[this.defaultNamespaceURI]._expression.call(this,a)},UpperBoundary:function(a,b){b.upperBoundary=this.readers[this.defaultNamespaceURI]._expression.call(this,a)},_spatial:function(a,b,c){var d=[],e={};this.readChildNodes(a,e);goog.isDef(e.geometry)?d.push(new ol.expr.Literal(this.gml_.createGeometry(e))):d=[new ol.expr.Literal(e.bounds[0]),new ol.expr.Literal(e.bounds[1]),new ol.expr.Literal(e.bounds[2]),new ol.expr.Literal(e.bounds[3])];goog.isDef(e.distance)&&d.push(e.distance);
goog.isDef(e.distanceUnits)&&d.push(e.distanceUnits);d.push(new ol.expr.Literal(e.projection));goog.isDef(e.property)&&d.push(e.property);b.filters.push(new ol.expr.Call(new ol.expr.Identifier(c),d))},BBOX:function(a,b){this.readers[this.defaultNamespaceURI]._spatial.call(this,a,b,ol.expr.functions.EXTENT)},Intersects:function(a,b){this.readers[this.defaultNamespaceURI]._spatial.call(this,a,b,ol.expr.functions.INTERSECTS)},Within:function(a,b){this.readers[this.defaultNamespaceURI]._spatial.call(this,
a,b,ol.expr.functions.WITHIN)},Contains:function(a,b){this.readers[this.defaultNamespaceURI]._spatial.call(this,a,b,ol.expr.functions.CONTAINS)},DWithin:function(a,b){this.readers[this.defaultNamespaceURI]._spatial.call(this,a,b,ol.expr.functions.DWITHIN)},Distance:function(a,b){var c=goog.string.toNumber(this.getChildValue(a));b.distance=new ol.expr.Literal(c);b.distanceUnits=new ol.expr.Literal(a.getAttribute("units"))}}};this.writers={"http://www.opengis.net/ogc":{Filter:function(a){var b=this.createElementNS("ogc:Filter");
this.writeNode(this.getFilterType_(a),a,null,b);return b},_featureIds:function(a){var b=this.createDocumentFragment();a=a.getArgs();for(var c=0,d=a.length;c<d;c++)this.writeNode("FeatureId",a[c].getValue(),null,b);return b},FeatureId:function(a){var b=this.createElementNS("ogc:FeatureId");b.setAttribute("fid",a);return b},And:function(a){var b=this.createElementNS("ogc:And"),c=[];this.getSubfiltersForLogical_(a,c);a=0;for(var d=c.length;a<d;++a){var e=c[a];goog.isDefAndNotNull(e)&&this.writeNode(this.getFilterType_(e),
e,null,b)}return b},Or:function(a){var b=this.createElementNS("ogc:Or"),c=[];this.getSubfiltersForLogical_(a,c);a=0;for(var d=c.length;a<d;++a){var e=c[a];goog.isDefAndNotNull(e)&&this.writeNode(this.getFilterType_(e),e,null,b)}return b},Not:function(a){var b=this.createElementNS("ogc:Not");a=a.getArgument();this.writeNode(this.getFilterType_(a),a,null,b);return b},PropertyIsLessThan:function(a){var b=this.createElementNS("ogc:PropertyIsLessThan");this.writeNode("PropertyName",a.getLeft(),null,b);
this.writeOgcExpression(a.getRight(),b);return b},PropertyIsGreaterThan:function(a){var b=this.createElementNS("ogc:PropertyIsGreaterThan");this.writeNode("PropertyName",a.getLeft(),null,b);this.writeOgcExpression(a.getRight(),b);return b},PropertyIsLessThanOrEqualTo:function(a){var b=this.createElementNS("ogc:PropertyIsLessThanOrEqualTo");this.writeNode("PropertyName",a.getLeft(),null,b);this.writeOgcExpression(a.getRight(),b);return b},PropertyIsGreaterThanOrEqualTo:function(a){var b=this.createElementNS("ogc:PropertyIsGreaterThanOrEqualTo");
this.writeNode("PropertyName",a.getLeft(),null,b);this.writeOgcExpression(a.getRight(),b);return b},PropertyIsBetween:function(a){var b=this.createElementNS("ogc:PropertyIsBetween"),c=a.getLeft().getLeft();this.writeNode("PropertyName",c,null,b);var d,e,c=Array(2);c[0]=a.getLeft();c[1]=a.getRight();for(a=0;2>a;++a){var f=c[a].getRight();c[a].getOperator()===ol.expr.ComparisonOp.GTE?d=f:c[a].getOperator()===ol.expr.ComparisonOp.LTE&&(e=f)}this.writeNode("LowerBoundary",d,null,b);this.writeNode("UpperBoundary",
e,null,b);return b},PropertyName:function(a){var b=this.createElementNS("ogc:PropertyName");b.appendChild(this.createTextNode(a.getName()));return b},Literal:function(a){var b=this.createElementNS("ogc:Literal");b.appendChild(this.createTextNode(a.getValue()));return b},LowerBoundary:function(a){var b=this.createElementNS("ogc:LowerBoundary");this.writeOgcExpression(a,b);return b},UpperBoundary:function(a){var b=this.createElementNS("ogc:UpperBoundary");this.writeOgcExpression(a,b);return b},INTERSECTS:function(a){return this.writeSpatial_(a,
"Intersects")},WITHIN:function(a){return this.writeSpatial_(a,"Within")},CONTAINS:function(a){return this.writeSpatial_(a,"Contains")},DWITHIN:function(a){var b=this.writeSpatial_(a,"DWithin");this.writeNode("Distance",a,null,b);return b},Distance:function(a){var b=this.createElementNS("ogc:Distance");a=a.getArgs();b.setAttribute("units",a[2].getValue());b.appendChild(this.createTextNode(a[1].getValue()));return b},Function:function(a){var b=this.createElementNS("ogc:Function");b.setAttribute("name",
a.getCallee().getName());a=a.getArgs();for(var c=0,d=a.length;c<d;c++)this.writeOgcExpression(a[c],b);return b},PropertyIsNull:function(a){var b=this.createElementNS("ogc:PropertyIsNull");this.writeNode("PropertyName",a.getLeft(),null,b);return b}}};ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.Filter_v1,ol.parser.XML);
ol.parser.ogc.Filter_v1.filterMap_={"\x26\x26":"And","||":"Or","!":"Not","\x3d\x3d":"PropertyIsEqualTo","!\x3d":"PropertyIsNotEqualTo","\x3c":"PropertyIsLessThan","\x3e":"PropertyIsGreaterThan","\x3c\x3d":"PropertyIsLessThanOrEqualTo","\x3e\x3d":"PropertyIsGreaterThanOrEqualTo","..":"PropertyIsBetween",like:"PropertyIsLike","null":"PropertyIsNull",extent:"BBOX",dwithin:"DWITHIN",within:"WITHIN",contains:"CONTAINS",intersects:"INTERSECTS",fid:"_featureIds",ieq:"PropertyIsEqualTo",ineq:"PropertyIsNotEqualTo"};
ol.parser.ogc.Filter_v1.prototype.getFilterType_=function(a){var b;if(a instanceof ol.expr.Logical||a instanceof ol.expr.Comparison){b=a.getOperator();var c=a.getLeft();a=a.getRight();b===ol.expr.ComparisonOp.EQ&&(a instanceof ol.expr.Literal&&null===a.getValue())&&(b="null");b===ol.expr.LogicalOp.AND&&(c instanceof ol.expr.Comparison&&a instanceof ol.expr.Comparison&&c.getLeft()instanceof ol.expr.Identifier&&a.getLeft()instanceof ol.expr.Identifier&&c.getLeft().getName()===a.getLeft().getName()&&
!(c.getOperator()!==ol.expr.ComparisonOp.LTE&&c.getOperator()!==ol.expr.ComparisonOp.GTE||a.getOperator()!==ol.expr.ComparisonOp.LTE&&a.getOperator()!==ol.expr.ComparisonOp.GTE))&&(b="..")}else a instanceof ol.expr.Call?b=a.getCallee().getName():a instanceof ol.expr.Not&&(b="!");c=ol.parser.ogc.Filter_v1.filterMap_[b];if(!c)throw Error("Filter writing not supported for rule type: "+b);return c};
ol.parser.ogc.Filter_v1.prototype.read=function(a){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b.filter};ol.parser.ogc.Filter_v1.prototype.write=function(a){a=this.writeNode("Filter",a);this.setAttributeNS(a,"http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);return this.serialize(a)};
ol.parser.ogc.Filter_v1.prototype.writeOgcExpression=function(a,b){a instanceof ol.expr.Call?this.writeNode("Function",a,null,b):a instanceof ol.expr.Literal?this.writeNode("Literal",a,null,b):a instanceof ol.expr.Identifier&&this.writeNode("PropertyName",a,null,b);return b};
ol.parser.ogc.Filter_v1.prototype.getSubfiltersForLogical_=function(a,b){var c=a.getOperator(),d=Array(2);d[0]=a.getLeft();d[1]=a.getRight();for(var e=0;2>e;++e)d[e]instanceof ol.expr.Logical&&d[e].getOperator()===c?this.getSubfiltersForLogical_(d[e],b):b.push(d[e])};
ol.parser.ogc.Filter_v1.prototype.aggregateLogical_=function(a,b){var c=[],d=[];if(2<a.length){for(;a.length;)c.push(a.pop()),2===c.length&&(d.push(new ol.expr.Logical(b,c[0],c[1])),c.length=0);1===c.length&&d.push(c[0]);return this.aggregateLogical_(d,b)}return new ol.expr.Logical(b,a[0],a[1])};
ol.parser.ogc.Filter_v1.prototype.setGmlParser=function(a){this.gml_=a;for(var b in this.gml_.readers)for(var c in this.gml_.readers[b])goog.isDef(this.readers[b])||(this.readers[b]={}),this.readers[b][c]=goog.bind(this.gml_.readers[b][c],this.gml_);for(b in this.gml_.writers)for(c in this.gml_.writers[b])goog.isDef(this.writers[b])||(this.writers[b]={}),this.writers[b][c]=goog.bind(this.gml_.writers[b][c],this.gml_)};ol.parser.ogc.GML=function(a){var b=goog.isDef(a)?a:{};this.extractAttributes=goog.isDef(b.extractAttributes)?b.extractAttributes:!0;this.surface=goog.isDef(b.surface)?b.surface:!1;this.curve=goog.isDef(b.curve)?b.curve:!1;this.multiCurve=goog.isDef(b.multiCurve)?b.multiCurve:!0;this.multiSurface=goog.isDef(b.multiSurface)?b.multiSurface:!0;this.readOptions=b.readOptions;this.writeOptions=b.writeOptions;goog.isDef(b.schemaLocation)&&(this.schemaLocation=b.schemaLocation);goog.isDef(b.featureNS)&&
(this.featureNS=b.featureNS);goog.isDef(b.featureType)&&(this.featureType=b.featureType);this.singleFeatureType=!goog.isDef(a)||goog.isString(a.featureType);this.defaultNamespaceURI="http://www.opengis.net/gml";this.readers={"http://www.opengis.net/wfs":{FeatureCollection:function(a,b){this.readChildNodes(a,b)}},"http://www.opengis.net/gml":{_inherit:function(a,b,e){var f;goog.isDef(this.srsName)||(f=this.srsName=a.getAttribute("srsName"));goog.isDef(this.axisOrientation)||(goog.isDefAndNotNull(f)?
this.axisOrientation=ol.proj.get(f).getAxisOrientation():this.axisOrientation="enu")},name:function(a,b){b.name=this.getChildValue(a)},featureMember:function(a,b){this.readChildNodes(a,b)},featureMembers:function(a,b){this.readChildNodes(a,b)},GeometryCollection:function(a,b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,e);b.geometry={type:ol.geom.GeometryType.GEOMETRYCOLLECTION,parts:e}},geometryMember:function(a,b){this.readChildNodes(a,b)},
MultiPoint:function(a,b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,e);b.geometry={type:ol.geom.GeometryType.MULTIPOINT,parts:e}},pointMember:function(a,b){this.readChildNodes(a,b)},MultiLineString:function(a,b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,e);b.geometry={type:ol.geom.GeometryType.MULTILINESTRING,parts:e}},lineStringMember:function(a,b){this.readChildNodes(a,b)},MultiPolygon:function(a,
b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,e);b.geometry={type:ol.geom.GeometryType.MULTIPOLYGON,parts:e}},polygonMember:function(a,b){this.readChildNodes(a,b)},Point:function(a,b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,e);e={type:ol.geom.GeometryType.POINT,coordinates:e[0][0]};goog.isArray(b)?b.push(e):b.geometry=e},LineString:function(a,b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,
[a,e,b]);this.readChildNodes(a,e);e={type:ol.geom.GeometryType.LINESTRING,coordinates:e[0]};goog.isArray(b)?b.push(e):b.geometry=e},Polygon:function(a,b){var e={outer:null,inner:[]};this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,e);e.inner.unshift(e.outer);e={type:ol.geom.GeometryType.POLYGON,coordinates:e.inner};goog.isArray(b)?b.push(e):b.geometry=e},LinearRing:function(a,b){var e=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,e,b]);this.readChildNodes(a,
e);goog.isArray(b)?b.push(e):b.geometry={type:ol.geom.GeometryType.LINEARRING,coordinates:e[0]}},coordinates:function(a,b){for(var e=this.getChildValue(a).replace(this.regExes.trimSpace,""),e=e.replace(this.regExes.trimComma,","),f=a.getAttribute("cs")||",",g=a.getAttribute("ts")||this.regExes.splitSpace,g=e.split(g),h=g.length,k=Array(h),l=0;l<h;++l)e=goog.array.map(g[l].split(f),parseFloat),"en"===this.axisOrientation.substr(0,2)?k[l]=e:2===e.length?k[l]=e.reverse():3===e.length&&(k[l]=[e[1],e[0],
e[2]]);b.push(k)},coord:function(a,b){var e={};0===b.length&&b.push([]);this.readChildNodes(a,e);goog.isDef(e.z)?b.push([e.x,e.y,e.z]):b[0].push([e.x,e.y])},X:function(a,b){b.x=parseFloat(this.getChildValue(a))},Y:function(a,b){b.y=parseFloat(this.getChildValue(a))},Z:function(a,b){b.z=parseFloat(this.getChildValue(a))}}};this.featureNSReaders_={"*":function(a,b){var e,f=a.localName||a.nodeName.split(":").pop();b.features?this.singleFeatureType||-1===goog.array.indexOf(this.featureType,f)?f===this.featureType&&
(e="_typeName"):e="_typeName":0===a.childNodes.length||1===a.childNodes.length&&3===a.firstChild.nodeType?this.extractAttributes&&(e="_attribute"):e="_geometry";e&&this.readers[this.featureNS][e].apply(this,[a,b])},_typeName:function(a,b){var e={properties:{}};this.readChildNodes(a,e);e.name&&(e.properties.name=e.name);var f=new ol.Feature(e.properties);if(e=e.geometry){var g=void 0;if(this.readFeaturesOptions_){var h=this.readFeaturesOptions_.callback;h&&(g=h(f,e.type))}e=this.createGeometry({geometry:e},
g);goog.isDef(e)&&f.setGeometry(e)}e=a.getAttribute("fid")||this.getAttributeNS(a,this.defaultNamespaceURI,"id");goog.isNull(e)||f.setFeatureId(e);b.features.push(f)},_geometry:function(a,b){this.geometryName||(this.geometryName=a.nodeName.split(":").pop());this.readChildNodes(a,b)},_attribute:function(a,b){var e=a.localName||a.nodeName.split(":").pop(),f=this.getChildValue(a);b.properties[e]=f}};goog.isDef(this.featureNS)&&(this.readers[this.featureNS]=this.featureNSReaders_);this.writers={"http://www.opengis.net/gml":{featureMember:function(a){var b=
this.createElementNS("gml:featureMember");this.writeNode("_typeName",a,this.featureNS,b);return b},MultiPoint:function(a){for(var b=this.createElementNS("gml:MultiPoint"),e=0,f=a.components.length;e<f;++e)this.writeNode("pointMember",a.components[e],null,b);return b},pointMember:function(a){var b=this.createElementNS("gml:pointMember");this.writeNode("Point",a,null,b);return b},MultiLineString:function(a){for(var b=this.createElementNS("gml:MultiLineString"),e=0,f=a.components.length;e<f;++e)this.writeNode("lineStringMember",
a.components[e],null,b);return b},lineStringMember:function(a){var b=this.createElementNS("gml:lineStringMember");this.writeNode("LineString",a,null,b);return b},MultiPolygon:function(a){for(var b=this.createElementNS("gml:MultiPolygon"),e=0,f=a.components.length;e<f;++e)this.writeNode("polygonMember",a.components[e],null,b);return b},polygonMember:function(a){var b=this.createElementNS("gml:polygonMember");this.writeNode("Polygon",a,null,b);return b},GeometryCollection:function(a){for(var b=this.createElementNS("gml:GeometryCollection"),
e=0,f=a.components.length;e<f;++e)this.writeNode("geometryMember",a.components[e],null,b);return b},geometryMember:function(a){var b=this.createElementNS("gml:geometryMember");a=this.writeNode("_geometry",a,this.featureNS);b.appendChild(a.firstChild);return b}},"http://www.opengis.net/wfs":{FeatureCollection:function(a){for(var b=this.createElementNS("wfs:FeatureCollection","http://www.opengis.net/wfs"),e=0,f=a.length;e<f;++e)this.writeNode("featureMember",a[e],null,b);return b}}};this.featureNSWiters_=
{_typeName:function(a){var b=this.createElementNS("feature:"+this.featureType,this.featureNS),e=a.getFeatureId();goog.isDef(e)&&this.setAttributeNS(b,this.defaultNamespaceURI,"fid",e);null!==a.getGeometry()&&this.writeNode("_geometry",a.getGeometry(),this.featureNS,b);a=a.getAttributes();for(var f in a)e=a[f],!goog.isDefAndNotNull(e)||e instanceof ol.geom.Geometry||this.writeNode("_attribute",{name:f,value:e},this.featureNS,b);return b},_geometry:function(a){var b=this.createElementNS("feature:"+
this.geometryName,this.featureNS),e=a.getType(),f;e===ol.geom.GeometryType.POINT?f=this.writeNode("Point",a,null,b):e===ol.geom.GeometryType.MULTIPOINT?f=this.writeNode("MultiPoint",a,null,b):e===ol.geom.GeometryType.LINEARRING?f=this.writeNode("LinearRing",a.getCoordinates(),null,b):e===ol.geom.GeometryType.LINESTRING?f=this.writeNode("LineString",a,null,b):e===ol.geom.GeometryType.MULTILINESTRING?f=this.writeNode("MultiLineString",a,null,b):e===ol.geom.GeometryType.POLYGON?f=this.writeNode("Polygon",
a,null,b):e===ol.geom.GeometryType.MULTIPOLYGON?f=this.writeNode("MultiPolygon",a,null,b):e===ol.geom.GeometryType.GEOMETRYCOLLECTION&&(f=this.writeNode("GeometryCollection",a,null,b));goog.isDefAndNotNull(this.srsName)&&this.setAttributeNS(f,null,"srsName",this.srsName);return b},_attribute:function(a){var b=this.createElementNS("feature:"+a.name,this.featureNS);b.appendChild(this.createTextNode(a.value));return b}};goog.isDef(this.featureNS)&&(this.writers[this.featureNS]=this.featureNSWiters_);
ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.GML,ol.parser.XML);
ol.parser.ogc.GML.prototype.read=function(a,b){var c;goog.isDef(b)&&goog.isDef(b.srsName)?c=b.srsName:goog.isDef(this.readOptions)&&goog.isDef(this.readOptions.srsName)&&(c=this.readOptions.srsName);goog.isDef(c)&&(this.srsName=goog.isString(c)?c:c.getCode());goog.isDef(b)&&goog.isDef(b.axisOrientation)?this.axisOrientation=b.axisOrientation:goog.isDef(this.readOptions)&&goog.isDef(this.readOptions.axisOrientation)&&(this.axisOrientation=this.readOptions.axisOrientation);"string"==typeof a&&(a=goog.dom.xml.loadXml(a));
a&&9==a.nodeType&&(a=a.documentElement);c={features:[],metadata:{}};this.readNode(a,c,!0);c.metadata.projection=this.srsName;delete this.srsName;delete this.axisOrientation;return c};
ol.parser.ogc.GML.prototype.readNode=function(a,b,c){!0===c&&!0===this.autoConfig&&(this.featureType=null,delete this.readers[this.featureNS],delete this.writers[this.featureNS],this.featureNS=null);this.featureNS||(a.namespaceURI in this.readers||a.parentNode.namespaceURI!=this.defaultNamespaceURI||!/^(.*:)?featureMembers?$/.test(a.parentNode.nodeName))||(this.featureType=a.nodeName.split(":").pop(),this.readers[a.namespaceURI]=this.featureNSReaders_,this.writers[a.namespaceURI]=this.featureNSWiters_,
this.featureNS=a.namespaceURI,this.autoConfig=!0);return ol.parser.XML.prototype.readNode.apply(this,[a,b])};
ol.parser.ogc.GML.prototype.createGeometry=function(a,b){var c=null,d,e;switch(a.geometry.type){case ol.geom.GeometryType.POINT:c=new ol.geom.Point(a.geometry.coordinates,b);break;case ol.geom.GeometryType.LINEARRING:c=new ol.geom.LinearRing(a.geometry.coordinates,b);break;case ol.geom.GeometryType.LINESTRING:c=new ol.geom.LineString(a.geometry.coordinates,b);break;case ol.geom.GeometryType.POLYGON:c=new ol.geom.Polygon(a.geometry.coordinates,b);break;case ol.geom.GeometryType.MULTIPOINT:d=[];c=0;
for(e=a.geometry.parts.length;c<e;c++)d.push(a.geometry.parts[c].coordinates);c=new ol.geom.MultiPoint(d,b);break;case ol.geom.GeometryType.MULTILINESTRING:d=[];c=0;for(e=a.geometry.parts.length;c<e;c++)d.push(a.geometry.parts[c].coordinates);c=new ol.geom.MultiLineString(d,b);break;case ol.geom.GeometryType.MULTIPOLYGON:d=[];c=0;for(e=a.geometry.parts.length;c<e;c++)d.push(a.geometry.parts[c].coordinates);c=new ol.geom.MultiPolygon(d,b);break;case ol.geom.GeometryType.GEOMETRYCOLLECTION:d=[];c=0;
for(e=a.geometry.parts.length;c<e;c++)d.push(this.createGeometry({geometry:a.geometry.parts[c]},b));c=new ol.geom.GeometryCollection(d)}return c};ol.parser.ogc.GML.prototype.readFeaturesFromString=function(a,b){this.readFeaturesOptions_=b;return this.read(a)};
ol.parser.ogc.GML.prototype.applyWriteOptions=function(a,b){var c;goog.isDef(b)&&goog.isDef(b.srsName)?c=b.srsName:goog.isDef(this.writeOptions)&&goog.isDef(this.writeOptions.srsName)?c=this.writeOptions.srsName:goog.isDef(a.metadata)&&(c=a.metadata.projection);this.srsName=goog.isString(c)?c:c.getCode();goog.isDef(b)&&goog.isDef(b.axisOrientation)?this.axisOrientation=b.axisOrientation:goog.isDef(this.writeOptions)&&goog.isDef(this.writeOptions.axisOrientation)?this.axisOrientation=this.writeOptions.axisOrientation:
this.axisOrientation=ol.proj.get(this.srsName).getAxisOrientation()};ol.parser.ogc.GML_v2=function(a){this.schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd";ol.parser.ogc.GML.call(this,a);goog.object.extend(this.readers["http://www.opengis.net/gml"],{outerBoundaryIs:function(a,c){var d=[];this.readChildNodes(a,d);c.outer=d[0][0]},innerBoundaryIs:function(a,c){var d=[];this.readChildNodes(a,d);c.inner.push(d[0][0])},Box:function(a,c){var d=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,d,c]);this.readChildNodes(a,
d);c.projection=a.getAttribute("srsName");c.bounds=[d[0][0][0],d[0][1][0],d[0][0][1],d[0][1][1]]}});goog.object.extend(this.writers["http://www.opengis.net/gml"],{Point:function(a){var c=this.createElementNS("gml:Point");this.writeNode("coordinates",[a.getCoordinates()],null,c);return c},coordinates:function(a){for(var c=a.length,d=Array(c),e=0;e<c;++e){var f=a[e],g=goog.array.concat(f);"en"!==this.axisOrientation.substr(0,2)&&(g[0]=f[1],g[1]=f[0]);d[e]=g.join(",")}a=d.join(" ");c=this.createElementNS("gml:coordinates");
this.setAttributeNS(c,null,"decimal",".");this.setAttributeNS(c,null,"cs",",");this.setAttributeNS(c,null,"ts"," ");c.appendChild(this.createTextNode(a));return c},LineString:function(a){var c=this.createElementNS("gml:LineString");this.writeNode("coordinates",a.getCoordinates(),null,c);return c},Polygon:function(a){var c=this.createElementNS("gml:Polygon");a=a.getCoordinates();this.writeNode("outerBoundaryIs",a[0].reverse(),null,c);for(var d=1;d<a.length;++d)this.writeNode("innerBoundaryIs",a[d].reverse(),
null,c);return c},outerBoundaryIs:function(a){var c=this.createElementNS("gml:outerBoundaryIs");this.writeNode("LinearRing",a,null,c);return c},innerBoundaryIs:function(a){var c=this.createElementNS("gml:innerBoundaryIs");this.writeNode("LinearRing",a,null,c);return c},LinearRing:function(a){var c=this.createElementNS("gml:LinearRing");this.writeNode("coordinates",a,null,c);return c},Box:function(a){var c=this.createElementNS("gml:Box");this.writeNode("coordinates",[[a[0],a[1]],[a[2],a[3]]],null,
c);goog.isDefAndNotNull(this.srsName)&&c.setAttribute("srsName",this.srsName);return c}})};goog.inherits(ol.parser.ogc.GML_v2,ol.parser.ogc.GML);ol.parser.ogc.GML_v2.prototype.write=function(a,b){this.applyWriteOptions(a,b);var c=this.writeNode("FeatureCollection",a.features,"http://www.opengis.net/wfs");this.setAttributeNS(c,"http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);c=this.serialize(c);delete this.srsName;delete this.axisOrientation;return c};ol.parser.ogc.Filter_v1_0_0=function(){ol.parser.ogc.Filter_v1.call(this);this.version="1.0.0";this.schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/filter/1.0.0/filter.xsd";goog.object.extend(this.readers["http://www.opengis.net/ogc"],{PropertyIsEqualTo:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.EQ,c.property,c.value))},PropertyIsNotEqualTo:function(a,b){var c={};this.readChildNodes(a,c);b.filters.push(new ol.expr.Comparison(ol.expr.ComparisonOp.NEQ,
c.property,c.value))},PropertyIsLike:function(a,b){var c={};this.readChildNodes(a,c);var d=[];d.push(c.property,c.value,new ol.expr.Literal(a.getAttribute("wildCard")),new ol.expr.Literal(a.getAttribute("singleChar")),new ol.expr.Literal(a.getAttribute("escape")));b.filters.push(new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.LIKE),d))}});goog.object.extend(this.writers["http://www.opengis.net/ogc"],{PropertyIsEqualTo:function(a){var b=this.createElementNS("ogc:PropertyIsEqualTo"),c=a.getLeft();
this.writeNode("PropertyName",c,null,b);this.writeOgcExpression(a.getRight(),b);return b},PropertyIsNotEqualTo:function(a){var b=this.createElementNS("ogc:PropertyIsNotEqualTo"),c=a.getLeft();this.writeNode("PropertyName",c,null,b);this.writeOgcExpression(a.getRight(),b);return b},PropertyIsLike:function(a){var b=this.createElementNS("ogc:PropertyIsLike");a=a.getArgs();b.setAttribute("wildCard",a[2].getValue());b.setAttribute("singleChar",a[3].getValue());b.setAttribute("escape",a[4].getValue());
var c=a[0];goog.isDef(c)&&this.writeNode("PropertyName",c,null,b);this.writeNode("Literal",a[1],null,b);return b},BBOX:function(a){var b=this.createElementNS("ogc:BBOX"),c=a.getArgs();a=c[5];var d=[c[0].getValue(),c[1].getValue(),c[2].getValue(),c[3].getValue()],c=c[4].getValue();goog.isDefAndNotNull(a)&&this.writeNode("PropertyName",a,null,b);a=this.writeNode("Box",d,"http://www.opengis.net/gml");goog.isDefAndNotNull(c)&&a.setAttribute("srsName",c);b.appendChild(a);return b}});this.setGmlParser(new ol.parser.ogc.GML_v2({featureNS:"http://foo"}))};
goog.inherits(ol.parser.ogc.Filter_v1_0_0,ol.parser.ogc.Filter_v1);
ol.parser.ogc.Filter_v1_0_0.prototype.writeSpatial_=function(a,b){var c=this.createElementNS("ogc:"+b),d=a.getArgs(),e,f=null,g,h,k;d[0]instanceof ol.expr.Literal&&goog.isNumber(d[0].getValue())?(g=[d[0].getValue(),d[1].getValue(),d[2].getValue(),d[3].getValue()],k=d[4],e=d[5]):d[0]instanceof ol.expr.Literal&&d[0].getValue()instanceof ol.geom.Geometry?(f=d[0].getValue(),"DWithin"===b?(k=d[3],e=d[4]):(k=d[1],e=d[2])):d[0]instanceof ol.expr.Call&&(h=d[0],"DWithin"===b?(k=d[3],e=d[4]):(k=d[1],e=d[2]));
goog.isDefAndNotNull(e)&&this.writeNode("PropertyName",e,null,c);if(goog.isDef(h))this.writeNode("Function",h,null,c);else{var l;null!==f?l=this.writeNode("_geometry",f,this.gml_.featureNS).firstChild:4===g.length&&(l=this.writeNode("Box",g,"http://www.opengis.net/gml"));goog.isDef(l)&&(goog.isDefAndNotNull(k.getValue())&&l.setAttribute("srsName",k.getValue()),c.appendChild(l))}return c};ol.parser.ogc.GML_v3=function(a){this.schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd";ol.parser.ogc.GML.call(this,a);this.featureNSWiters_._geometry=function(a){var c=this.createElementNS("feature:"+this.geometryName,this.featureNS),d=a.getType(),e;d===ol.geom.GeometryType.POINT?e=this.writeNode("Point",a,null,c):d===ol.geom.GeometryType.MULTIPOINT?e=this.writeNode("MultiPoint",a,null,c):d===ol.geom.GeometryType.LINESTRING?e=!0===
this.curve?this.writeNode("Curve",a,null,c):this.writeNode("LineString",a,null,c):d===ol.geom.GeometryType.LINEARRING?e=this.writeNode("LinearRing",a.getCoordinates(),null,c):d===ol.geom.GeometryType.MULTILINESTRING?e=!1===this.multiCurve?this.writeNode("MultiLineString",a,null,c):this.writeNode("MultiCurve",a,null,c):d===ol.geom.GeometryType.POLYGON?e=!0===this.surface?this.writeNode("Surface",a,null,c):this.writeNode("Polygon",a,null,c):d===ol.geom.GeometryType.MULTIPOLYGON?e=!1===this.multiSurface?
this.writeNode("MultiPolygon",a,null,c):this.writeNode("MultiSurface",a,null,c):d===ol.geom.GeometryType.GEOMETRYCOLLECTION&&(e=this.writeNode("MultiGeometry",a,null,c));goog.isDefAndNotNull(this.srsName)&&this.setAttributeNS(e,null,"srsName",this.srsName);return c};goog.object.extend(this.readers["http://www.opengis.net/gml"],{_inherit:goog.functions.sequence(this.readers["http://www.opengis.net/gml"]._inherit,function(a,c,d){if(a=parseInt(a.getAttribute("srsDimension"),10)||d&&d.srsDimension)c.srsDimension=
a}),featureMembers:function(a,c){this.readChildNodes(a,c)},Curve:function(a,c){var d=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,d,c]);this.readChildNodes(a,d);d={type:ol.geom.GeometryType.LINESTRING,coordinates:d[0]};goog.isArray(c)?c.push(d):c.geometry=d},segments:function(a,c){this.readChildNodes(a,c)},LineStringSegment:function(a,c){var d=[];this.readChildNodes(a,d);c.push(d[0])},pos:function(a,c){var d=this.getChildValue(a).replace(this.regExes.trimSpace,""),d=goog.array.map(d.split(this.regExes.splitSpace),
parseFloat);"en"===this.axisOrientation.substr(0,2)?c.push([d]):2===d.length?c.push([d.reverse()]):3===d.length&&c.push([d[1],d[0],d[2]])},posList:function(a,c){for(var d=this.getChildValue(a).replace(this.regExes.trimSpace,"").split(this.regExes.splitSpace),e=c.srsDimension||parseInt(a.getAttribute("srsDimension")||a.getAttribute("dimension"),10)||2,f,g,h=Array(d.length/e),k=0,l=d.length;k<l;k+=e){f=parseFloat(d[k]);g=parseFloat(d[k+1]);var m="en"===this.axisOrientation.substr(0,2);3===e?h[k/e]=
m?[f,g,parseFloat(d[k+2])]:[g,f,parseFloat(d[k+2])]:2===e&&(h[k/e]=m?[f,g]:[g,f])}c.push(h)},Surface:function(a,c){this.readChildNodes(a,c)},patches:function(a,c){this.readChildNodes(a,c)},PolygonPatch:function(a,c){this.readers[this.defaultNamespaceURI].Polygon.apply(this,[a,c])},exterior:function(a,c){var d=[];this.readChildNodes(a,d);c.outer=d[0][0]},interior:function(a,c){var d=[];this.readChildNodes(a,d);c.inner.push(d[0][0])},MultiCurve:function(a,c){var d=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,
[a,d,c]);this.readChildNodes(a,d);c.geometry={type:ol.geom.GeometryType.MULTILINESTRING,parts:d}},curveMember:function(a,c){this.readChildNodes(a,c)},MultiSurface:function(a,c){var d=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,d,c]);this.readChildNodes(a,d);c.geometry={type:ol.geom.GeometryType.MULTIPOLYGON,parts:d}},surfaceMember:function(a,c){this.readChildNodes(a,c)},surfaceMembers:function(a,c){this.readChildNodes(a,c)},pointMembers:function(a,c){this.readChildNodes(a,c)},
lineStringMembers:function(a,c){this.readChildNodes(a,c)},polygonMembers:function(a,c){this.readChildNodes(a,c)},geometryMembers:function(a,c){this.readChildNodes(a,c)},Envelope:function(a,c){var d=[];this.readers[this.defaultNamespaceURI]._inherit.apply(this,[a,d,c]);this.readChildNodes(a,d);c.projection=a.getAttribute("srsName");c.bounds=[d[0][0][0][0],d[1][0][0][0],d[0][0][0][1],d[1][0][0][1]]},lowerCorner:function(a,c){var d=[];this.readers[this.defaultNamespaceURI].pos.apply(this,[a,d]);c.push(d)},
upperCorner:function(a,c){var d=[];this.readers[this.defaultNamespaceURI].pos.apply(this,[a,d]);c.push(d)}});goog.object.extend(this.writers["http://www.opengis.net/gml"],{featureMembers:function(a){for(var c=this.createElementNS("gml:featureMembers"),d=0,e=a.length;d<e;++d)this.writeNode("_typeName",a[d],this.featureNS,c);return c},Point:function(a){var c=this.createElementNS("gml:Point");this.writeNode("pos",a.getCoordinates(),null,c);return c},pos:function(a){a="en"===this.axisOrientation.substr(0,
2)?a[0]+" "+a[1]:a[1]+" "+a[0];var c=this.createElementNS("gml:pos");c.appendChild(this.createTextNode(a));return c},LineString:function(a){var c=this.createElementNS("gml:LineString");this.writeNode("posList",a.getCoordinates(),null,c);return c},Curve:function(a){var c=this.createElementNS("gml:Curve");this.writeNode("segments",a,null,c);return c},segments:function(a){var c=this.createElementNS("gml:segments");this.writeNode("LineStringSegment",a,null,c);return c},LineStringSegment:function(a){var c=
this.createElementNS("gml:LineStringSegment");this.writeNode("posList",a.getCoordinates(),null,c);return c},posList:function(a){for(var c=a.length,d=Array(c),e,f=0;f<c;++f)e=a[f],"en"===this.axisOrientation.substr(0,2)?d[f]=e[0]+" "+e[1]:d[f]=e[1]+" "+e[0];a=this.createElementNS("gml:posList");a.appendChild(this.createTextNode(d.join(" ")));return a},Surface:function(a){var c=this.createElementNS("gml:Surface");this.writeNode("patches",a,null,c);return c},patches:function(a){var c=this.createElementNS("gml:patches");
this.writeNode("PolygonPatch",a,null,c);return c},PolygonPatch:function(a){var c=this.createElementNS("gml:PolygonPatch");c.setAttribute("interpolation","planar");a=a.getCoordinates();this.writeNode("exterior",a[0].reverse(),null,c);for(var d=1,e=a.length;d<e;++d)this.writeNode("interior",a[d].reverse(),null,c);return c},Polygon:function(a){var c=this.createElementNS("gml:Polygon");a=a.getCoordinates();this.writeNode("exterior",a[0].reverse(),null,c);for(var d=1,e=a.length;d<e;++d)this.writeNode("interior",
a[d].reverse(),null,c);return c},exterior:function(a){var c=this.createElementNS("gml:exterior");this.writeNode("LinearRing",a,null,c);return c},interior:function(a){var c=this.createElementNS("gml:interior");this.writeNode("LinearRing",a,null,c);return c},LinearRing:function(a){var c=this.createElementNS("gml:LinearRing");this.writeNode("posList",a,null,c);return c},MultiCurve:function(a){for(var c=this.createElementNS("gml:MultiCurve"),d=0,e=a.components.length;d<e;++d)this.writeNode("curveMember",
a.components[d],null,c);return c},curveMember:function(a){var c=this.createElementNS("gml:curveMember");this.curve?this.writeNode("Curve",a,null,c):this.writeNode("LineString",a,null,c);return c},MultiSurface:function(a){for(var c=this.createElementNS("gml:MultiSurface"),d=0,e=a.components.length;d<e;++d)this.writeNode("surfaceMember",a.components[d],null,c);return c},surfaceMember:function(a){var c=this.createElementNS("gml:surfaceMember");this.surface?this.writeNode("Surface",a,null,c):this.writeNode("Polygon",
a,null,c);return c},Envelope:function(a){var c=this.createElementNS("gml:Envelope");this.writeNode("lowerCorner",a,null,c);this.writeNode("upperCorner",a,null,c);goog.isDef(this.srsName)&&c.setAttribute("srsName",this.srsName);return c},lowerCorner:function(a){a="en"===this.axisOrientation.substr(0,2)?a[0]+" "+a[2]:a[2]+" "+a[0];var c=this.createElementNS("gml:lowerCorner");c.appendChild(this.createTextNode(a));return c},upperCorner:function(a){a="en"===this.axisOrientation.substr(0,2)?a[1]+" "+a[3]:
a[3]+" "+a[1];var c=this.createElementNS("gml:upperCorner");c.appendChild(this.createTextNode(a));return c}})};goog.inherits(ol.parser.ogc.GML_v3,ol.parser.ogc.GML);ol.parser.ogc.GML_v3.prototype.write=function(a,b){this.applyWriteOptions(a,b);var c=this.writeNode("featureMembers",a.features);this.setAttributeNS(c,"http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);c=this.serialize(c);delete this.srsName;delete this.axisOrientation;return c};ol.parser.ogc.Filter_v1_1_0=function(){ol.parser.ogc.Filter_v1.call(this);this.version="1.1.0";this.schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/filter/1.1.0/filter.xsd";goog.object.extend(this.readers["http://www.opengis.net/ogc"],{PropertyIsEqualTo:function(a,b){var c=a.getAttribute("matchCase"),d={};this.readChildNodes(a,d);c="false"===c||"0"===c?new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.IEQ),[d.property,d.value]):new ol.expr.Comparison(ol.expr.ComparisonOp.EQ,
d.property,d.value);b.filters.push(c)},PropertyIsNotEqualTo:function(a,b){var c=a.getAttribute("matchCase"),d={};this.readChildNodes(a,d);c="false"===c||"0"===c?new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.INEQ),[d.property,d.value]):new ol.expr.Comparison(ol.expr.ComparisonOp.NEQ,d.property,d.value);b.filters.push(c)},PropertyIsLike:function(a,b){var c={};this.readChildNodes(a,c);var d=[];d.push(c.property,c.value,new ol.expr.Literal(a.getAttribute("wildCard")),new ol.expr.Literal(a.getAttribute("singleChar")),
new ol.expr.Literal(a.getAttribute("escapeChar")),new ol.expr.Literal(a.getAttribute("matchCase")));b.filters.push(new ol.expr.Call(new ol.expr.Identifier(ol.expr.functions.LIKE),d))}});goog.object.extend(this.writers["http://www.opengis.net/ogc"],{PropertyIsEqualTo:function(a){var b=this.createElementNS("ogc:PropertyIsEqualTo"),c;a instanceof ol.expr.Call?(a=a.getArgs(),c=a[0],a=a[1],b.setAttribute("matchCase",!1)):(c=a.getLeft(),a=a.getRight());this.writeNode("PropertyName",c,null,b);this.writeOgcExpression(a,
b);return b},PropertyIsNotEqualTo:function(a){var b=this.createElementNS("ogc:PropertyIsNotEqualTo"),c;a instanceof ol.expr.Call?(a=a.getArgs(),c=a[0],a=a[1],b.setAttribute("matchCase",!1)):(c=a.getLeft(),a=a.getRight());this.writeNode("PropertyName",c,null,b);this.writeOgcExpression(a,b);return b},PropertyIsLike:function(a){var b=this.createElementNS("ogc:PropertyIsLike");a=a.getArgs();b.setAttribute("wildCard",a[2].getValue());b.setAttribute("singleChar",a[3].getValue());b.setAttribute("escapeChar",
a[4].getValue());goog.isDefAndNotNull(a[5])&&b.setAttribute("matchCase",a[5].getValue());var c=a[0];goog.isDef(c)&&this.writeNode("PropertyName",c,null,b);this.writeNode("Literal",a[1],null,b);return b},BBOX:function(a){var b=this.createElementNS("ogc:BBOX"),c=a.getArgs();a=c[5];var d=[c[0].getValue(),c[1].getValue(),c[2].getValue(),c[3].getValue()],c=c[4].getValue();goog.isDefAndNotNull(a)&&this.writeNode("PropertyName",a,null,b);a=this.writeNode("Envelope",d,"http://www.opengis.net/gml");goog.isDefAndNotNull(c)&&
a.setAttribute("srsName",c);b.appendChild(a);return b},SortBy:function(a){for(var b=this.createElementNS("ogc:SortBy"),c=0,d=a.length;c<d;c++)this.writeNode("SortProperty",a[c],null,b);return b},SortProperty:function(a){var b=this.createElementNS("ogc:SortProperty");this.writeNode("PropertyName",a.property,null,b);this.writeNode("SortOrder","DESC"==a.order.getValue()?"DESC":"ASC",null,b);return b},SortOrder:function(a){var b=this.createElementNS("ogc:SortOrder");b.appendChild(this.createTextNode(a));
return b}});this.setGmlParser(new ol.parser.ogc.GML_v3)};goog.inherits(ol.parser.ogc.Filter_v1_1_0,ol.parser.ogc.Filter_v1);
ol.parser.ogc.Filter_v1_1_0.prototype.writeSpatial_=function(a,b){var c=this.createElementNS("ogc:"+b),d=a.getArgs(),e,f=null,g,h,k;d[0]instanceof ol.expr.Literal&&goog.isNumber(d[0].getValue())?(g=[d[0].getValue(),d[1].getValue(),d[2].getValue(),d[3].getValue()],k=d[4],e=d[5]):d[0]instanceof ol.expr.Literal&&d[0].getValue()instanceof ol.geom.Geometry?(f=d[0].getValue(),"DWithin"===b?(k=d[3],e=d[4]):(k=d[1],e=d[2])):d[0]instanceof ol.expr.Call&&(h=d[0],"DWithin"===b?(k=d[3],e=d[4]):(k=d[1],e=d[2]));
goog.isDefAndNotNull(e)&&this.writeNode("PropertyName",e,null,c);if(goog.isDef(h))this.writeNode("Function",h,null,c);else{var l;null!==f?l=this.writeNode("_geometry",f,this.gml_.featureNS).firstChild:4===g.length&&(l=this.writeNode("Envelope",g,"http://www.opengis.net/gml"));goog.isDef(l)&&(goog.isDefAndNotNull(k.getValue())&&l.setAttribute("srsName",k.getValue()),c.appendChild(l))}return c};ol.parser.ogc.Versioned=function(a){this.options=a=goog.isDef(a)?a:{};this.defaultVersion=a.defaultVersion||null;this.version=a.version;this.profile=a.profile;goog.isDef(a.allowFallback)?this.allowFallback=a.allowFallback:this.allowFallback=!1;goog.isDef(a.stringifyOutput)?this.stringifyOutput=a.stringifyOutput:this.stringifyOutput=!1};
ol.parser.ogc.Versioned.prototype.getVersion=function(a,b){var c;a?(c=this.version,c||(c=a.getAttribute("version"),c||(c=this.defaultVersion))):c=b&&b.version||this.version||this.defaultVersion;return c};
ol.parser.ogc.Versioned.prototype.getParser=function(a){a=a||this.defaultVersion;var b=this.profile?"_"+this.profile:"";if(!this.parser||this.parser.VERSION!=a){var c=this.parsers["v"+a.replace(/\./g,"_")+b];if(!c&&(""!==b&&this.allowFallback&&(b="",c=this.parsers["v"+a.replace(/\./g,"_")+b]),!c))throw"Can't find a parser for version "+a+b;this.parser=new c(this.options)}return this.parser};
ol.parser.ogc.Versioned.prototype.write=function(a,b){var c=this.getVersion(null,b);this.parser=this.getParser(c);c=this.parser.write(a,b);return!1===this.stringifyOutput?c:goog.dom.xml.serialize(c)};
ol.parser.ogc.Versioned.prototype.read=function(a,b){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));var c=this.getVersion(a.documentElement);this.parser=this.getParser(c);var d=this.parser.read(a,b),e=this.parser.errorProperty||null;null!==e&&void 0===d[e]&&(e=new ol.parser.ogc.ExceptionReport,d.error=e.read(a));d.version=c;return d};ol.ENABLE_OGCFILTER_1_0_0=!0;ol.ENABLE_OGCFILTER_1_1_0=!0;ol.parser.ogc.Filter=function(a){a=a||{};a.defaultVersion="1.0.0";this.parsers={};ol.ENABLE_OGCFILTER_1_0_0&&(this.parsers.v1_0_0=ol.parser.ogc.Filter_v1_0_0);ol.ENABLE_OGCFILTER_1_1_0&&(this.parsers.v1_1_0=ol.parser.ogc.Filter_v1_1_0);ol.parser.ogc.Versioned.call(this,a)};goog.inherits(ol.parser.ogc.Filter,ol.parser.ogc.Versioned);ol.parser.ogc.OWSCommon_v1=function(){this.readers={"http://www.opengis.net/ows":{ServiceIdentification:function(a,b){b.serviceIdentification={};this.readChildNodes(a,b.serviceIdentification)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b["abstract"]=this.getChildValue(a)},Keywords:function(a,b){b.keywords={};this.readChildNodes(a,b.keywords)},Keyword:function(a,b){b[this.getChildValue(a)]=!0},ServiceType:function(a,b){b.serviceType={codeSpace:a.getAttribute("codeSpace"),
value:this.getChildValue(a)}},ServiceTypeVersion:function(a,b){b.serviceTypeVersion=this.getChildValue(a)},Fees:function(a,b){b.fees=this.getChildValue(a)},AccessConstraints:function(a,b){b.accessConstraints=this.getChildValue(a)},ServiceProvider:function(a,b){b.serviceProvider={};this.readChildNodes(a,b.serviceProvider)},ProviderName:function(a,b){b.providerName=this.getChildValue(a)},ProviderSite:function(a,b){b.providerSite=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ServiceContact:function(a,
b){b.serviceContact={};this.readChildNodes(a,b.serviceContact)},IndividualName:function(a,b){b.individualName=this.getChildValue(a)},PositionName:function(a,b){b.positionName=this.getChildValue(a)},ContactInfo:function(a,b){b.contactInfo={};this.readChildNodes(a,b.contactInfo)},Phone:function(a,b){b.phone={};this.readChildNodes(a,b.phone)},Voice:function(a,b){b.voice=this.getChildValue(a)},Address:function(a,b){b.address={};this.readChildNodes(a,b.address)},DeliveryPoint:function(a,b){b.deliveryPoint=
this.getChildValue(a)},City:function(a,b){b.city=this.getChildValue(a)},AdministrativeArea:function(a,b){b.administrativeArea=this.getChildValue(a)},PostalCode:function(a,b){b.postalCode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ElectronicMailAddress:function(a,b){b.electronicMailAddress=this.getChildValue(a)},Role:function(a,b){b.role=this.getChildValue(a)},OperationsMetadata:function(a,b){b.operationsMetadata={};this.readChildNodes(a,b.operationsMetadata)},Operation:function(a,
b){var c=a.getAttribute("name");b[c]={};this.readChildNodes(a,b[c])},DCP:function(a,b){b.dcp={};this.readChildNodes(a,b.dcp)},HTTP:function(a,b){b.http={};this.readChildNodes(a,b.http)},Get:function(a,b){b.get||(b.get=[]);var c={url:this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")};this.readChildNodes(a,c);b.get.push(c)},Post:function(a,b){b.post||(b.post=[]);var c={url:this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")};this.readChildNodes(a,c);b.post.push(c)},Parameter:function(a,
b){b.parameters||(b.parameters={});var c=a.getAttribute("name");b.parameters[c]={};this.readChildNodes(a,b.parameters[c])},Constraint:function(a,b){b.constraints||(b.constraints={});var c=a.getAttribute("name");b.constraints[c]={};this.readChildNodes(a,b.constraints[c])},Value:function(a,b){b[this.getChildValue(a)]=!0},OutputFormat:function(a,b){b.formats.push({value:this.getChildValue(a)});this.readChildNodes(a,b)},WGS84BoundingBox:function(a,b){var c={};c.crs=a.getAttribute("crs");b.BoundingBox?
b.BoundingBox.push(c):(b.projection=c.crs,c=b);this.readChildNodes(a,c)},BoundingBox:function(a,b){this.readers[a.namespaceURI].WGS84BoundingBox.apply(this,[a,b])},LowerCorner:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace);b.left=c[0];b.bottom=c[1]},UpperCorner:function(a,b){var c=this.getChildValue(a).replace(this.regExes.trimSpace,""),c=c.replace(this.regExes.trimComma,","),c=c.split(this.regExes.splitSpace);
b.right=c[0];b.top=c[1];b.bounds=[parseFloat(b.left),parseFloat(b.right),parseFloat(b.bottom),parseFloat(b.top)];delete b.left;delete b.bottom;delete b.right;delete b.top},Language:function(a,b){b.language=this.getChildValue(a)}}};ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.OWSCommon_v1,ol.parser.XML);ol.parser.ogc.OWSCommon_v1_1_0=function(){ol.parser.ogc.OWSCommon_v1.call(this);this.readers["http://www.opengis.net/ows/1.1"]=this.readers["http://www.opengis.net/ows"];goog.object.extend(this.readers["http://www.opengis.net/ows/1.1"],{AllowedValues:function(a,b){b.allowedValues={};this.readChildNodes(a,b.allowedValues)},AnyValue:function(a,b){b.anyValue=!0},DataType:function(a,b){b.dataType=this.getChildValue(a)},Range:function(a,b){b.range={};this.readChildNodes(a,b.range)},MinimumValue:function(a,
b){b.minValue=this.getChildValue(a)},MaximumValue:function(a,b){b.maxValue=this.getChildValue(a)},Identifier:function(a,b){b.identifier=this.getChildValue(a)},SupportedCRS:function(a,b){b.supportedCRS=this.getChildValue(a)}})};goog.inherits(ol.parser.ogc.OWSCommon_v1_1_0,ol.parser.ogc.OWSCommon_v1);ol.parser.ogc.WMSCapabilities_v1=function(){this.defaultNamespaceURI="http://www.opengis.net/wms";this.errorProperty="service";this.readers={"http://www.opengis.net/wms":{Service:function(a,b){b.service={};this.readChildNodes(a,b.service)},Name:function(a,b){b.name=this.getChildValue(a)},Title:function(a,b){b.title=this.getChildValue(a)},Abstract:function(a,b){b["abstract"]=this.getChildValue(a)},BoundingBox:function(a,b){var c={};c.bbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")),
parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))];var d={x:parseFloat(a.getAttribute("resx")),y:parseFloat(a.getAttribute("resy"))};isNaN(d.x)&&isNaN(d.y)||(c.res=d);return c},OnlineResource:function(a,b){b.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},ContactInformation:function(a,b){b.contactInformation={};this.readChildNodes(a,b.contactInformation)},ContactPersonPrimary:function(a,b){b.personPrimary={};this.readChildNodes(a,b.personPrimary)},ContactPerson:function(a,
b){b.person=this.getChildValue(a)},ContactOrganization:function(a,b){b.organization=this.getChildValue(a)},ContactPosition:function(a,b){b.position=this.getChildValue(a)},ContactAddress:function(a,b){b.contactAddress={};this.readChildNodes(a,b.contactAddress)},AddressType:function(a,b){b.type=this.getChildValue(a)},Address:function(a,b){b.address=this.getChildValue(a)},City:function(a,b){b.city=this.getChildValue(a)},StateOrProvince:function(a,b){b.stateOrProvince=this.getChildValue(a)},PostCode:function(a,
b){b.postcode=this.getChildValue(a)},Country:function(a,b){b.country=this.getChildValue(a)},ContactVoiceTelephone:function(a,b){b.phone=this.getChildValue(a)},ContactFacsimileTelephone:function(a,b){b.fax=this.getChildValue(a)},ContactElectronicMailAddress:function(a,b){b.email=this.getChildValue(a)},Fees:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.fees=c)},AccessConstraints:function(a,b){var c=this.getChildValue(a);c&&"none"!=c.toLowerCase()&&(b.accessConstraints=c)},
Capability:function(a,b){b.capability={};b.capability.nestedLayers=[];b.capability.layers=[];this.readChildNodes(a,b.capability)},Request:function(a,b){b.request={};this.readChildNodes(a,b.request)},GetCapabilities:function(a,b){b.getcapabilities={};b.getcapabilities.formats=[];this.readChildNodes(a,b.getcapabilities)},Format:function(a,b){goog.isArray(b.formats)?b.formats.push(this.getChildValue(a)):b.format=this.getChildValue(a)},DCPType:function(a,b){this.readChildNodes(a,b)},HTTP:function(a,b){this.readChildNodes(a,
b)},Get:function(a,b){b.get={};this.readChildNodes(a,b.get)},Post:function(a,b){b.post={};this.readChildNodes(a,b.post)},GetMap:function(a,b){b.getmap={};b.getmap.formats=[];this.readChildNodes(a,b.getmap)},GetFeatureInfo:function(a,b){b.getfeatureinfo={};b.getfeatureinfo.formats=[];this.readChildNodes(a,b.getfeatureinfo)},Exception:function(a,b){b.exception={};b.exception.formats=[];this.readChildNodes(a,b.exception)},Layer:function(a,b){var c,d;b.capability?(d=b.capability,c=b):d=b;var e=a.getAttributeNode("queryable"),
f=e&&e.specified?a.getAttribute("queryable"):null,g=(e=a.getAttributeNode("cascaded"))&&e.specified?a.getAttribute("cascaded"):null,h=(e=a.getAttributeNode("opaque"))&&e.specified?a.getAttribute("opaque"):null,k=a.getAttribute("noSubsets"),l=a.getAttribute("fixedWidth"),m=a.getAttribute("fixedHeight"),e=c||{},f={nestedLayers:[],styles:c?[].concat(c.styles):[],srs:{},metadataURLs:[],bbox:{},llbbox:e.llbbox,dimensions:{},authorityURLs:{},identifiers:{},keywords:[],queryable:f&&""!==f?"1"===f||"true"===
f:e.queryable||!1,cascaded:null!==g?parseInt(g,10):e.cascaded||0,opaque:h?"1"===h||"true"===h:e.opaque||!1,noSubsets:null!==k?"1"===k||"true"===k:e.noSubsets||!1,fixedWidth:null!==l?parseInt(l,10):e.fixedWidth||0,fixedHeight:null!==m?parseInt(m,10):e.fixedHeight||0,minScale:e.minScale,maxScale:e.maxScale,attribution:e.attribution};c&&(goog.object.extend(f.srs,e.srs),goog.object.extend(f.bbox,e.bbox),goog.object.extend(f.dimensions,e.dimensions),goog.object.extend(f.authorityURLs,e.authorityURLs));
b.nestedLayers.push(f);f.capability=d;this.readChildNodes(a,f);delete f.capability;f.name&&(c=f.name.split(":"),g=d.request,e=g.getfeatureinfo,0<c.length&&(f.prefix=c[0]),d.layers.push(f),goog.isDef(f.formats)||(f.formats=g.getmap.formats),!goog.isDef(f.infoFormats)&&e&&(f.infoFormats=e.formats))},Attribution:function(a,b){b.attribution={};this.readChildNodes(a,b.attribution)},LogoURL:function(a,b){b.logo={width:a.getAttribute("width"),height:a.getAttribute("height")};this.readChildNodes(a,b.logo)},
Style:function(a,b){var c={};b.styles.push(c);this.readChildNodes(a,c)},LegendURL:function(a,b){var c={width:a.getAttribute("width"),height:a.getAttribute("height")};b.legend=c;this.readChildNodes(a,c)},MetadataURL:function(a,b){var c={type:a.getAttribute("type")};b.metadataURLs.push(c);this.readChildNodes(a,c)},DataURL:function(a,b){b.dataURL={};this.readChildNodes(a,b.dataURL)},FeatureListURL:function(a,b){b.featureListURL={};this.readChildNodes(a,b.featureListURL)},AuthorityURL:function(a,b){var c=
a.getAttribute("name"),d={};this.readChildNodes(a,d);b.authorityURLs[c]=d.href},Identifier:function(a,b){var c=a.getAttribute("authority");b.identifiers[c]=this.getChildValue(a)},KeywordList:function(a,b){this.readChildNodes(a,b)},SRS:function(a,b){b.srs[this.getChildValue(a)]=!0}}};ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.WMSCapabilities_v1,ol.parser.XML);
ol.parser.ogc.WMSCapabilities_v1.prototype.read=function(a){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b};ol.parser.ogc.WMSCapabilities_v1_1=function(){ol.parser.ogc.WMSCapabilities_v1.call(this);var a=this.readers["http://www.opengis.net/wms"].BoundingBox;goog.object.extend(this.readers["http://www.opengis.net/wms"],{WMT_MS_Capabilities:function(a,c){this.readChildNodes(a,c)},Keyword:function(a,c){c.keywords&&c.keywords.push({value:this.getChildValue(a)})},DescribeLayer:function(a,c){c.describelayer={formats:[]};this.readChildNodes(a,c.describelayer)},GetLegendGraphic:function(a,c){c.getlegendgraphic=
{formats:[]};this.readChildNodes(a,c.getlegendgraphic)},GetStyles:function(a,c){c.getstyles={formats:[]};this.readChildNodes(a,c.getstyles)},PutStyles:function(a,c){c.putstyles={formats:[]};this.readChildNodes(a,c.putstyles)},UserDefinedSymbolization:function(a,c){var d={supportSLD:1==parseInt(a.getAttribute("SupportSLD"),10),userLayer:1==parseInt(a.getAttribute("UserLayer"),10),userStyle:1==parseInt(a.getAttribute("UserStyle"),10),remoteWFS:1==parseInt(a.getAttribute("RemoteWFS"),10)};c.userSymbols=
d},LatLonBoundingBox:function(a,c){c.llbbox=[parseFloat(a.getAttribute("minx")),parseFloat(a.getAttribute("miny")),parseFloat(a.getAttribute("maxx")),parseFloat(a.getAttribute("maxy"))]},BoundingBox:function(b,c){var d=a.apply(this,arguments);d.srs=b.getAttribute("SRS");c.bbox[d.srs]=d},ScaleHint:function(a,c){var d=parseFloat(a.getAttribute("min")),e=parseFloat(a.getAttribute("max")),f=Math.pow(2,0.5),g=25.4/0.28;0!==d&&(c.maxScale=parseFloat(39.37*(d/f)*g));Infinity!=e&&(c.minScale=parseFloat(39.37*
(e/f)*g))},Dimension:function(a,c){var d={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol")};c.dimensions[d.name]=d},Extent:function(a,c){var d=a.getAttribute("name").toLowerCase();if(d in c.dimensions){d=c.dimensions[d];d.nearestVal="1"===a.getAttribute("nearestValue");d.multipleVal="1"===a.getAttribute("multipleValues");d.current="1"===a.getAttribute("current");d["default"]=a.getAttribute("default")||"";var e=this.getChildValue(a);d.values=
e.split(",")}}})};goog.inherits(ol.parser.ogc.WMSCapabilities_v1_1,ol.parser.ogc.WMSCapabilities_v1);ol.parser.ogc.WMSCapabilities_v1_1_0=function(){ol.parser.ogc.WMSCapabilities_v1_1.call(this);this.version="1.1.0";goog.object.extend(this.readers["http://www.opengis.net/wms"],{SRS:function(a,b){for(var c=this.getChildValue(a).split(/ +/),d=0,e=c.length;d<e;d++)b.srs[c[d]]=!0}})};goog.inherits(ol.parser.ogc.WMSCapabilities_v1_1_0,ol.parser.ogc.WMSCapabilities_v1_1);ol.parser.ogc.WMSCapabilities_v1_0_0=function(){ol.parser.ogc.WMSCapabilities_v1_1_0.call(this);this.version="1.0.0";goog.object.extend(this.readers["http://www.opengis.net/wms"],{Format:function(a,b){for(var c=0,d=a.childNodes.length;c<d;c++){var e=a.childNodes[c],e=e.localName||e.nodeName.split(":").pop();goog.isArray(b.formats)?b.formats.push(e):b.format=e}},Keywords:function(a,b){goog.isDef(b.keywords)||(b.keywords=[]);for(var c=this.getChildValue(a).split(/ +/),d=0,e=c.length;d<e;++d)goog.string.isEmpty(c[d])||
b.keywords.push({value:c[d]})},OnlineResource:function(a,b){b.href=this.getChildValue(a)},Get:function(a,b){b.get={href:a.getAttribute("onlineResource")}},Post:function(a,b){b.post={href:a.getAttribute("onlineResource")}},Map:function(a,b){this.readers[this.defaultNamespaceURI].GetMap.apply(this,arguments)},Capabilities:function(a,b){this.readers[this.defaultNamespaceURI].GetCapabilities.apply(this,arguments)},FeatureInfo:function(a,b){this.readers[this.defaultNamespaceURI].GetFeatureInfo.apply(this,
arguments)}})};goog.inherits(ol.parser.ogc.WMSCapabilities_v1_0_0,ol.parser.ogc.WMSCapabilities_v1_1_0);ol.parser.ogc.WMSCapabilities_v1_1_1=function(){ol.parser.ogc.WMSCapabilities_v1_1.call(this);this.version="1.1.1";goog.object.extend(this.readers["http://www.opengis.net/wms"],{SRS:function(a,b){b.srs[this.getChildValue(a)]=!0}})};goog.inherits(ol.parser.ogc.WMSCapabilities_v1_1_1,ol.parser.ogc.WMSCapabilities_v1_1);ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC=function(){ol.parser.ogc.WMSCapabilities_v1_1_1.call(this);this.profile="WMSC";goog.object.extend(this.readers["http://www.opengis.net/wms"],{VendorSpecificCapabilities:function(a,b){b.vendorSpecific={tileSets:[]};this.readChildNodes(a,b.vendorSpecific)},TileSet:function(a,b){var c={srs:{},bbox:{},resolutions:[]};this.readChildNodes(a,c);b.tileSets.push(c)},Resolutions:function(a,b){for(var c=this.getChildValue(a).split(" "),d=0,e=c.length;d<e;d++)""!==c[d]&&
b.resolutions.push(parseFloat(c[d]))},Width:function(a,b){b.width=parseInt(this.getChildValue(a),10)},Height:function(a,b){b.height=parseInt(this.getChildValue(a),10)},Layers:function(a,b){b.layers=this.getChildValue(a)},Styles:function(a,b){b.styles=this.getChildValue(a)}})};goog.inherits(ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC,ol.parser.ogc.WMSCapabilities_v1_1_1);ol.parser.ogc.WMSCapabilities_v1_3_0=function(){ol.parser.ogc.WMSCapabilities_v1.call(this);var a=this.readers["http://www.opengis.net/wms"].BoundingBox;goog.object.extend(this.readers["http://www.opengis.net/wms"],{WMS_Capabilities:function(a,c){this.readChildNodes(a,c)},LayerLimit:function(a,c){c.layerLimit=parseInt(this.getChildValue(a),10)},MaxWidth:function(a,c){c.maxWidth=parseInt(this.getChildValue(a),10)},MaxHeight:function(a,c){c.maxHeight=parseInt(this.getChildValue(a),10)},BoundingBox:function(b,
c){var d=a.apply(this,arguments);d.srs=b.getAttribute("CRS");c.bbox[d.srs]=d},CRS:function(a,c){this.readers["http://www.opengis.net/wms"].SRS.apply(this,arguments)},EX_GeographicBoundingBox:function(a,c){c.llbbox=[];this.readChildNodes(a,c.llbbox)},westBoundLongitude:function(a,c){c[0]=this.getChildValue(a)},eastBoundLongitude:function(a,c){c[2]=this.getChildValue(a)},southBoundLatitude:function(a,c){c[1]=this.getChildValue(a)},northBoundLatitude:function(a,c){c[3]=this.getChildValue(a)},MinScaleDenominator:function(a,
c){c.maxScale=parseFloat(this.getChildValue(a)).toPrecision(16)},MaxScaleDenominator:function(a,c){c.minScale=parseFloat(this.getChildValue(a)).toPrecision(16)},Dimension:function(a,c){var d={name:a.getAttribute("name").toLowerCase(),units:a.getAttribute("units"),unitsymbol:a.getAttribute("unitSymbol"),nearestVal:"1"===a.getAttribute("nearestValue"),multipleVal:"1"===a.getAttribute("multipleValues"),"default":a.getAttribute("default")||"",current:"1"===a.getAttribute("current"),values:this.getChildValue(a).split(",")};
c.dimensions[d.name]=d},Keyword:function(a,c){var d={value:this.getChildValue(a),vocabulary:a.getAttribute("vocabulary")};c.keywords&&c.keywords.push(d)}});this.readers.sld={UserDefinedSymbolization:function(a,c){this.readers["http://www.opengis.net/wms"].UserDefinedSymbolization.apply(this,arguments);var d=a.getAttribute("InlineFeature");c.userSymbols.inlineFeature=1==parseInt(d,10);d=a.getAttribute("RemoteWCS");c.userSymbols.remoteWCS=1==parseInt(d,10)},DescribeLayer:function(a,c){this.readers["http://www.opengis.net/wms"].DescribeLayer.apply(this,
arguments)},GetLegendGraphic:function(a,c){this.readers["http://www.opengis.net/wms"].GetLegendGraphic.apply(this,arguments)}}};goog.inherits(ol.parser.ogc.WMSCapabilities_v1_3_0,ol.parser.ogc.WMSCapabilities_v1);ol.ENABLE_WMSCAPS_1_0_0=!1;ol.ENABLE_WMSCAPS_1_1_0=!0;ol.ENABLE_WMSCAPS_1_1_1=!0;ol.ENABLE_WMSCAPS_1_3_0=!0;ol.ENABLE_WMSCAPS_1_1_1_WMSC=!0;
ol.parser.ogc.WMSCapabilities=function(a){a=a||{};a.defaultVersion="1.1.1";this.parsers={};ol.ENABLE_WMSCAPS_1_0_0&&(this.parsers.v1_0_0=ol.parser.ogc.WMSCapabilities_v1_0_0);ol.ENABLE_WMSCAPS_1_1_0&&(this.parsers.v1_1_0=ol.parser.ogc.WMSCapabilities_v1_1_0);ol.ENABLE_WMSCAPS_1_1_1&&(this.parsers.v1_1_1=ol.parser.ogc.WMSCapabilities_v1_1_1);ol.ENABLE_WMSCAPS_1_1_1_WMSC&&(this.parsers.v1_1_1_WMSC=ol.parser.ogc.WMSCapabilities_v1_1_1_WMSC);ol.ENABLE_WMSCAPS_1_3_0&&(this.parsers.v1_3_0=ol.parser.ogc.WMSCapabilities_v1_3_0);
ol.parser.ogc.Versioned.call(this,a)};goog.inherits(ol.parser.ogc.WMSCapabilities,ol.parser.ogc.Versioned);ol.parser.ogc.WMTSCapabilities_v1_0_0=function(){this.defaultNamespaceURI="http://www.opengis.net/wmts/1.0";this.errorProperty="serviceIdentification";this.readers={"http://www.opengis.net/wmts/1.0":{Capabilities:function(a,c){this.readChildNodes(a,c)},Contents:function(a,c){c.contents={};c.contents.layers=[];c.contents.tileMatrixSets={};this.readChildNodes(a,c.contents)},Layer:function(a,c){var d={styles:[],formats:[],dimensions:[],tileMatrixSetLinks:[],layers:[]};this.readChildNodes(a,d);c.layers.push(d)},
Style:function(a,c){var d={};d.isDefault="true"===a.getAttribute("isDefault");this.readChildNodes(a,d);c.styles.push(d)},Format:function(a,c){c.formats.push(this.getChildValue(a))},TileMatrixSetLink:function(a,c){var d={};this.readChildNodes(a,d);c.tileMatrixSetLinks.push(d)},TileMatrixSet:function(a,c){if(c.layers){var d={matrixIds:[]};this.readChildNodes(a,d);c.tileMatrixSets[d.identifier]=d}else c.tileMatrixSet=this.getChildValue(a)},TileMatrix:function(a,c){var d={supportedCRS:c.supportedCRS};
this.readChildNodes(a,d);c.matrixIds.push(d)},ScaleDenominator:function(a,c){c.scaleDenominator=parseFloat(this.getChildValue(a))},TopLeftCorner:function(a,c){var d=this.getChildValue(a).split(" "),e=ol.proj.get(c.supportedCRS).getAxisOrientation();c.topLeftCorner=ol.coordinate.fromProjectedArray([parseFloat(d[0]),parseFloat(d[1])],e)},TileWidth:function(a,c){c.tileWidth=parseInt(this.getChildValue(a),10)},TileHeight:function(a,c){c.tileHeight=parseInt(this.getChildValue(a),10)},MatrixWidth:function(a,
c){c.matrixWidth=parseInt(this.getChildValue(a),10)},MatrixHeight:function(a,c){c.matrixHeight=parseInt(this.getChildValue(a),10)},ResourceURL:function(a,c){var d=a.getAttribute("resourceType"),e=a.getAttribute("format"),f=a.getAttribute("template");c.resourceUrls||(c.resourceUrls={});c.resourceUrls[d]||(c.resourceUrls[d]={});c.resourceUrls[d][e]||(c.resourceUrls[d][e]=[]);c.resourceUrls[d][e].push(f)},WSDL:function(a,c){c.wsdl={};c.wsdl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},
ServiceMetadataURL:function(a,c){c.serviceMetadataUrl={};c.serviceMetadataUrl.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href")},LegendURL:function(a,c){c.legend={};c.legend.href=this.getAttributeNS(a,"http://www.w3.org/1999/xlink","href");c.legend.format=a.getAttribute("format")},Dimension:function(a,c){var d={values:[]};this.readChildNodes(a,d);c.dimensions.push(d)},Default:function(a,c){c["default"]=this.getChildValue(a)},Value:function(a,c){c.values.push(this.getChildValue(a))}}};
var a=new ol.parser.ogc.OWSCommon_v1_1_0;this.readers["http://www.opengis.net/ows/1.1"]=a.readers["http://www.opengis.net/ows/1.1"];ol.parser.XML.call(this)};goog.inherits(ol.parser.ogc.WMTSCapabilities_v1_0_0,ol.parser.XML);ol.parser.ogc.WMTSCapabilities_v1_0_0.prototype.read=function(a){goog.isString(a)&&(a=goog.dom.xml.loadXml(a));a&&9==a.nodeType&&(a=a.documentElement);var b={};this.readNode(a,b);return b};ol.parser.ogc.WMTSCapabilities=function(a){a=a||{};a.defaultVersion="1.0.0";this.parsers={};this.parsers.v1_0_0=ol.parser.ogc.WMTSCapabilities_v1_0_0;ol.parser.ogc.Versioned.call(this,a)};goog.inherits(ol.parser.ogc.WMTSCapabilities,ol.parser.ogc.Versioned);ol.parser.polyline={};ol.parser.polyline.encodeFlatCoordinates=function(a,b){return ol.parser.polyline.encodeDeltas(a,b||2)};ol.parser.polyline.decodeFlatCoordinates=function(a,b){return ol.parser.polyline.decodeDeltas(a,b||2)};ol.parser.polyline.encodeDeltas=function(a,b,c){var d,e=Array(b);for(d=0;d<b;++d)e[d]=0;for(var f=a.length,g=0;g<f;)for(d=0;d<b;++d,++g){var h=a[g],k=h-e[d];e[d]=h;a[g]=k}return ol.parser.polyline.encodeFloats(a,c||1E5)};
ol.parser.polyline.decodeDeltas=function(a,b,c){var d,e=Array(b);for(d=0;d<b;++d)e[d]=0;a=ol.parser.polyline.decodeFloats(a,c||1E5);c=a.length;for(var f=0;f<c;)for(d=0;d<b;++d,++f)e[d]+=a[f],a[f]=e[d];return a};ol.parser.polyline.encodeFloats=function(a,b){for(var c=b||1E5,d=a.length,e=0;e<d;++e)a[e]=Math.round(a[e]*c);return ol.parser.polyline.encodeSignedIntegers(a)};
ol.parser.polyline.decodeFloats=function(a,b){for(var c=b||1E5,d=ol.parser.polyline.decodeSignedIntegers(a),e=d.length,f=0;f<e;++f)d[f]/=c;return d};ol.parser.polyline.encodeSignedIntegers=function(a){for(var b=a.length,c=0;c<b;++c){var d=a[c],e=d<<1;0>d&&(e=~e);a[c]=e}return ol.parser.polyline.encodeUnsignedIntegers(a)};ol.parser.polyline.decodeSignedIntegers=function(a){a=ol.parser.polyline.decodeUnsignedIntegers(a);for(var b=a.length,c=0;c<b;++c){var d=a[c];a[c]=d&1?~(d>>1):d>>1}return a};
ol.parser.polyline.encodeUnsignedIntegers=function(a){for(var b="",c=a.length,d=0;d<c;++d)b+=ol.parser.polyline.encodeUnsignedInteger(a[d]);return b};ol.parser.polyline.decodeUnsignedIntegers=function(a){for(var b=[],c=0,d=0,e=a.length,f=0;f<e;++f){var g=a.charCodeAt(f)-63,c=c|(g&31)<<d;32>g?(b.push(c),d=c=0):d+=5}return b};ol.parser.polyline.encodeFloat=function(a,b){a=Math.round(a*(b||1E5));return ol.parser.polyline.encodeSignedInteger(a)};
ol.parser.polyline.decodeFloat=function(a,b){return ol.parser.polyline.decodeSignedInteger(a)/(b||1E5)};ol.parser.polyline.encodeSignedInteger=function(a){var b=a<<1;0>a&&(b=~b);return ol.parser.polyline.encodeUnsignedInteger(b)};ol.parser.polyline.decodeSignedInteger=function(a){a=ol.parser.polyline.decodeUnsignedInteger(a);return a&1?~(a>>1):a>>1};
ol.parser.polyline.encodeUnsignedInteger=function(a){for(var b,c="";32<=a;)b=(32|a&31)+63,c+=String.fromCharCode(b),a>>=5;return c+=String.fromCharCode(a+63)};ol.parser.polyline.decodeUnsignedInteger=function(a){for(var b=0,c=0,d=a.length,e=0;e<d;++e){var f=a.charCodeAt(e)-63,b=b|(f&31)<<c;if(32>f)break;c+=5}return b};ol.proj.CH=function(a){ol.Projection.call(this,{code:a.code,extent:a.extent,global:!1,units:ol.ProjectionUnits.METERS})};goog.inherits(ol.proj.CH,ol.Projection);ol.proj.CH.PHI0=goog.math.toRadians(169028.66/3600);ol.proj.CH.LAMBDA0=goog.math.toRadians(26782.5/3600);ol.proj.CH.ELLIPSOID=ol.ellipsoid.BESSEL1841;ol.proj.CH.COS_PHI0=Math.cos(ol.proj.CH.PHI0);ol.proj.CH.SIN_PHI0=Math.sin(ol.proj.CH.PHI0);
ol.proj.CH.R=ol.proj.CH.ELLIPSOID.a*Math.sqrt(1-ol.proj.CH.ELLIPSOID.eSquared)/(1-ol.proj.CH.ELLIPSOID.eSquared*ol.proj.CH.SIN_PHI0*ol.proj.CH.SIN_PHI0);ol.proj.CH.ALPHA=Math.sqrt(1+ol.proj.CH.ELLIPSOID.eSquared*Math.pow(ol.proj.CH.COS_PHI0,4)/(1-ol.proj.CH.ELLIPSOID.eSquared));ol.proj.CH.SIN_B0=ol.proj.CH.SIN_PHI0/ol.proj.CH.ALPHA;ol.proj.CH.B0=Math.asin(ol.proj.CH.SIN_B0);ol.proj.CH.COS_B0=Math.cos(ol.proj.CH.B0);
ol.proj.CH.K=Math.log(Math.tan(Math.PI/4+ol.proj.CH.B0/2))-ol.proj.CH.ALPHA*Math.log(Math.tan(Math.PI/4+ol.proj.CH.PHI0/2))+ol.proj.CH.ALPHA*ol.proj.CH.ELLIPSOID.e*Math.log((1+ol.proj.CH.ELLIPSOID.e*ol.proj.CH.SIN_PHI0)/(1-ol.proj.CH.ELLIPSOID.e*ol.proj.CH.SIN_PHI0))/2;
ol.proj.CH.add=function(){ol.proj.EPSG2056.add();ol.proj.EPSG21781.add();var a=ol.proj.get("EPSG:2056"),b=ol.proj.get("EPSG:21781");ol.proj.addTransform(a,b,goog.partial(ol.proj.CH.translate_,-2E6,-1E6));ol.proj.addTransform(b,a,goog.partial(ol.proj.CH.translate_,2E6,1E6))};
ol.proj.CH.fromEPSG4326Approximate_=function(a,b,c,d,e){var f=c.length;e=goog.isDef(e)?e:2;d=goog.isDef(d)?d:2<e?c.slice():Array(f);var g,h,k;for(k=0;k<f;k+=e)g=36*c[k+1]/100-16.902866,h=36*c[k]/100-2.67825,d[k]=a+72.37+211455.93*h-10938.51*h*g-0.36*h*g*g-44.54*h*h*h,d[k+1]=b+147.07+308807.95*g+3745.25*h*h+76.63*g*g-194.56*h*h*g+119.79*g*g*g;return d};
ol.proj.CH.fromEPSG4326Rigorous_=function(a,b,c,d,e){var f=c.length;e=goog.isDef(e)?e:2;d=goog.isDef(d)?d:2<e?c.slice():Array(f);var g,h,k,l;for(h=0;h<f;h+=e)l=goog.math.toRadians(c[h]),k=goog.math.toRadians(c[h+1]),g=ol.proj.CH.ELLIPSOID.e*Math.sin(k),g=ol.proj.CH.ALPHA*Math.log(Math.tan(Math.PI/4+k/2))-ol.proj.CH.ALPHA*ol.proj.CH.ELLIPSOID.e*Math.log((1+g)/(1-g))/2+ol.proj.CH.K,g=2*(Math.atan(Math.exp(g))-Math.PI/4),k=ol.proj.CH.ALPHA*(l-ol.proj.CH.LAMBDA0),l=Math.atan2(Math.sin(k),ol.proj.CH.SIN_B0*
Math.tan(g)+ol.proj.CH.COS_B0*Math.cos(k)),g=Math.asin(ol.proj.CH.COS_B0*Math.sin(g)-ol.proj.CH.SIN_B0*Math.cos(g)*Math.cos(k)),d[h]=a+ol.proj.CH.R*l,d[h+1]=b+ol.proj.CH.R*Math.log((1+Math.sin(g))/(1-Math.sin(g)))/2;return d};
ol.proj.CH.toEPSG4326Approximate_=function(a,b,c,d,e){var f=c.length;e=goog.isDef(e)?e:2;d=goog.isDef(d)?d:2<e?c.slice():Array(f);var g,h,k;for(k=0;k<f;k+=e)h=(c[k]-a)/1E6,g=(c[k+1]-b)/1E6,d[k]=100*(2.6779094+4.728982*h+0.791484*h*g+0.1306*h*g*g-0.0436*h*h*h)/36,d[k+1]=100*(16.9023892+3.238272*g-0.270978*h*h-0.002528*g*g-0.0447*h*h*g-0.014*g*g*g)/36;return d};
ol.proj.CH.toEPSG4326Rigorous_=function(a,b,c,d,e){var f=c.length;e=goog.isDef(e)?e:2;d=goog.isDef(d)?d:2<e?c.slice():Array(f);var g,h,k,l,m,n;for(k=0;k<f;k+=e){l=c[k]-a;g=c[k+1]-b;l/=ol.proj.CH.R;h=2*(Math.atan(Math.exp(g/ol.proj.CH.R))-Math.PI/4);g=Math.asin(ol.proj.CH.COS_B0*Math.sin(h)+ol.proj.CH.SIN_B0*Math.cos(h)*Math.cos(l));l=Math.atan2(Math.sin(l),ol.proj.CH.COS_B0*Math.cos(l)-ol.proj.CH.SIN_B0*Math.tan(h));h=ol.proj.CH.LAMBDA0+l/ol.proj.CH.ALPHA;m=n=g;for(l=20;0<l;--l){n=(Math.log(Math.tan(Math.PI/
4+g/2))-ol.proj.CH.K)/ol.proj.CH.ALPHA+ol.proj.CH.ELLIPSOID.e*Math.log(Math.tan(Math.PI/4+Math.asin(ol.proj.CH.ELLIPSOID.e*Math.sin(n))/2));n=2*Math.atan(Math.exp(n))-Math.PI/2;if(1E-7>Math.abs(n-m))break;m=n}d[k]=goog.math.toDegrees(h);d[k+1]=goog.math.toDegrees(n)}return d};ol.proj.CH.translate_=function(a,b,c,d,e){var f=c.length;e=goog.isDef(e)?e:2;d=goog.isDef(d)?d:2<e?c.slice():Array(f);var g;for(g=0;g<f;g+=e)d[g]=c[g]+a,d[g+1]=c[g+1]+b;return d};
ol.proj.CH.prototype.getPointResolution=function(a,b){return a};ol.proj.EPSG2056=function(){ol.proj.CH.call(this,{code:"EPSG:2056",extent:ol.proj.EPSG2056.EXTENT})};goog.inherits(ol.proj.EPSG2056,ol.proj.CH);ol.proj.EPSG2056.EXTENT=[2485869.5728,2837076.5648,1076443.1884,1299941.7864];
ol.proj.EPSG2056.add=function(){ol.proj.addEquivalentProjections(ol.proj.EPSG4326.PROJECTIONS);var a=new ol.proj.EPSG2056;ol.proj.addProjection(a);ol.proj.addEquivalentTransforms(ol.proj.EPSG4326.PROJECTIONS,[a],goog.partial(ol.proj.CH.fromEPSG4326Rigorous_,26E5,12E5),goog.partial(ol.proj.CH.toEPSG4326Rigorous_,26E5,12E5))};ol.proj.EPSG21781=function(){ol.proj.CH.call(this,{code:"EPSG:21781",extent:ol.proj.EPSG21781.EXTENT})};goog.inherits(ol.proj.EPSG21781,ol.proj.CH);
ol.proj.EPSG21781.EXTENT=[485869.5728,837076.5648,76443.1884,299941.7864];ol.proj.EPSG21781.add=function(){ol.proj.addEquivalentProjections(ol.proj.EPSG4326.PROJECTIONS);var a=new ol.proj.EPSG21781;ol.proj.addProjection(a);ol.proj.addEquivalentTransforms(ol.proj.EPSG4326.PROJECTIONS,[a],goog.partial(ol.proj.CH.fromEPSG4326Rigorous_,6E5,2E5),goog.partial(ol.proj.CH.toEPSG4326Rigorous_,6E5,2E5))};goog.net.jsloader={};goog.net.jsloader.GLOBAL_VERIFY_OBJS_="closure_verification";goog.net.jsloader.DEFAULT_TIMEOUT=5E3;goog.net.jsloader.scriptsToLoad_=[];goog.net.jsloader.loadMany=function(a,b){if(a.length){var c=goog.net.jsloader.scriptsToLoad_.length;goog.array.extend(goog.net.jsloader.scriptsToLoad_,a);if(!c){a=goog.net.jsloader.scriptsToLoad_;var d=function(){var c=a.shift(),c=goog.net.jsloader.load(c,b);a.length&&c.addBoth(d)};d()}}};
goog.net.jsloader.load=function(a,b){var c=b||{},d=c.document||document,e=goog.dom.createElement(goog.dom.TagName.SCRIPT),f={script_:e,timeout_:void 0},g=new goog.async.Deferred(goog.net.jsloader.cancel_,f),h=null,k=goog.isDefAndNotNull(c.timeout)?c.timeout:goog.net.jsloader.DEFAULT_TIMEOUT;0<k&&(h=window.setTimeout(function(){goog.net.jsloader.cleanup_(e,!0);g.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.TIMEOUT,"Timeout reached for loading script "+a))},k),f.timeout_=h);e.onload=
e.onreadystatechange=function(){e.readyState&&"loaded"!=e.readyState&&"complete"!=e.readyState||(goog.net.jsloader.cleanup_(e,c.cleanupWhenDone||!1,h),g.callback(null))};e.onerror=function(){goog.net.jsloader.cleanup_(e,!0,h);g.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.LOAD_ERROR,"Error while loading script "+a))};goog.dom.setProperties(e,{type:"text/javascript",charset:"UTF-8",src:a});goog.net.jsloader.getScriptParentElement_(d).appendChild(e);return g};
goog.net.jsloader.loadAndVerify=function(a,b,c){goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_]||(goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_]={});var d=goog.global[goog.net.jsloader.GLOBAL_VERIFY_OBJS_];if(goog.isDef(d[b]))return goog.async.Deferred.fail(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.VERIFY_OBJECT_ALREADY_EXISTS,"Verification object "+b+" already defined."));c=goog.net.jsloader.load(a,c);var e=new goog.async.Deferred(goog.bind(c.cancel,c));c.addCallback(function(){var c=
d[b];goog.isDef(c)?(e.callback(c),delete d[b]):e.errback(new goog.net.jsloader.Error(goog.net.jsloader.ErrorCode.VERIFY_ERROR,"Script "+a+" loaded, but verification object "+b+" was not defined."))});c.addErrback(function(a){goog.isDef(d[b])&&delete d[b];e.errback(a)});return e};goog.net.jsloader.getScriptParentElement_=function(a){var b=a.getElementsByTagName(goog.dom.TagName.HEAD);return!b||goog.array.isEmpty(b)?a.documentElement:b[0]};
goog.net.jsloader.cancel_=function(){if(this&&this.script_){var a=this.script_;a&&"SCRIPT"==a.tagName&&goog.net.jsloader.cleanup_(a,!0,this.timeout_)}};goog.net.jsloader.cleanup_=function(a,b,c){goog.isDefAndNotNull(c)&&goog.global.clearTimeout(c);a.onload=goog.nullFunction;a.onerror=goog.nullFunction;a.onreadystatechange=goog.nullFunction;b&&window.setTimeout(function(){goog.dom.removeNode(a)},0)};goog.net.jsloader.ErrorCode={LOAD_ERROR:0,TIMEOUT:1,VERIFY_ERROR:2,VERIFY_OBJECT_ALREADY_EXISTS:3};
goog.net.jsloader.Error=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);goog.debug.Error.call(this,c);this.code=a};goog.inherits(goog.net.jsloader.Error,goog.debug.Error);goog.net.Jsonp=function(a,b){this.uri_=new goog.Uri(a);this.callbackParamName_=b?b:"callback";this.timeout_=5E3};goog.net.Jsonp.CALLBACKS="_callbacks_";goog.net.Jsonp.scriptCounter_=0;goog.net.Jsonp.prototype.setRequestTimeout=function(a){this.timeout_=a};goog.net.Jsonp.prototype.getRequestTimeout=function(){return this.timeout_};
goog.net.Jsonp.prototype.send=function(a,b,c,d){a=a||null;d=d||"_"+(goog.net.Jsonp.scriptCounter_++).toString(36)+goog.now().toString(36);goog.global[goog.net.Jsonp.CALLBACKS]||(goog.global[goog.net.Jsonp.CALLBACKS]={});var e=this.uri_.clone();a&&goog.net.Jsonp.addPayloadToUri_(a,e);b&&(b=goog.net.Jsonp.newReplyHandler_(d,b),goog.global[goog.net.Jsonp.CALLBACKS][d]=b,e.setParameterValues(this.callbackParamName_,goog.net.Jsonp.CALLBACKS+"."+d));b=goog.net.jsloader.load(e.toString(),{timeout:this.timeout_,
cleanupWhenDone:!0});c=goog.net.Jsonp.newErrorHandler_(d,a,c);b.addErrback(c);return{id_:d,deferred_:b}};goog.net.Jsonp.prototype.cancel=function(a){a&&(a.deferred_&&a.deferred_.cancel(),a.id_&&goog.net.Jsonp.cleanup_(a.id_,!1))};goog.net.Jsonp.newErrorHandler_=function(a,b,c){return function(){goog.net.Jsonp.cleanup_(a,!1);c&&c(b)}};goog.net.Jsonp.newReplyHandler_=function(a,b){return function(c){goog.net.Jsonp.cleanup_(a,!0);b.apply(void 0,arguments)}};
goog.net.Jsonp.cleanup_=function(a,b){goog.global[goog.net.Jsonp.CALLBACKS][a]&&(b?delete goog.global[goog.net.Jsonp.CALLBACKS][a]:goog.global[goog.net.Jsonp.CALLBACKS][a]=goog.nullFunction)};goog.net.Jsonp.addPayloadToUri_=function(a,b){for(var c in a)a.hasOwnProperty&&!a.hasOwnProperty(c)||b.setParameterValues(c,a[c]);return b};ol.source.TileImage=function(a){ol.source.Tile.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,tileGrid:a.tileGrid});this.tileUrlFunction=goog.isDef(a.tileUrlFunction)?a.tileUrlFunction:ol.TileUrlFunction.nullTileUrlFunction;this.crossOrigin_=goog.isDef(a.crossOrigin)?a.crossOrigin:null;this.tileCache_=new ol.TileCache};goog.inherits(ol.source.TileImage,ol.source.Tile);ol.source.TileImage.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};
ol.source.TileImage.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};ol.source.TileImage.prototype.getTile=function(a,b,c,d){var e=this.getKeyZXY(a,b,c);if(this.tileCache_.containsKey(e))return this.tileCache_.get(e);a=new ol.TileCoord(a,b,c);d=this.tileUrlFunction(a,d);d=new ol.ImageTile(a,goog.isDef(d)?ol.TileState.IDLE:ol.TileState.EMPTY,goog.isDef(d)?d:"",this.crossOrigin_);this.tileCache_.set(e,d);return d};
ol.source.TileImage.prototype.setTileUrlFunction=function(a){this.tileCache_.clear();this.tileUrlFunction=a;this.dispatchChangeEvent()};ol.source.TileImage.prototype.useTile=function(a,b,c){a=this.getKeyZXY(a,b,c);this.tileCache_.containsKey(a)&&this.tileCache_.get(a)};ol.tilegrid.XYZ=function(a){var b=Array(a.maxZoom+1),c,d=2*ol.proj.EPSG3857.HALF_SIZE/ol.DEFAULT_TILE_SIZE;for(c=0;c<=a.maxZoom;++c)b[c]=d/Math.pow(2,c);ol.tilegrid.TileGrid.call(this,{minZoom:a.minZoom,origin:[-ol.proj.EPSG3857.HALF_SIZE,ol.proj.EPSG3857.HALF_SIZE],resolutions:b,tileSize:[ol.DEFAULT_TILE_SIZE,ol.DEFAULT_TILE_SIZE]})};goog.inherits(ol.tilegrid.XYZ,ol.tilegrid.TileGrid);
ol.tilegrid.XYZ.prototype.createTileCoordTransform=function(a){a=goog.isDef(a)?a:{};var b=this.minZoom,c=this.maxZoom,d=goog.isDef(a.wrapX)?a.wrapX:!0,e=new ol.TileCoord(0,0,0),f=null;if(goog.isDef(a.extent)){var f=Array(c+1),g;for(g=0;g<=c;++g)f[g]=g<b?null:this.getTileRangeForExtentAndZ(a.extent,g)}return function(a,g,l){g=a.z;if(g<b||c<g)return null;var m=Math.pow(2,g),n=a.x;if(d)n=goog.math.modulo(n,m);else if(0>n||m<=n)return null;a=a.y;return a<-m||-1<a||!goog.isNull(f)&&(e.z=g,e.x=n,e.y=a,
!f[g].contains(e))?null:goog.isDef(l)?(l.z=g,l.x=n,l.y=-a-1,l):new ol.TileCoord(g,n,-a-1)}};ol.tilegrid.XYZ.prototype.getTileCoordChildTileRange=function(a,b){return a.z<this.maxZoom?ol.TileRange.createOrUpdate(2*a.x,2*(a.x+1),2*a.y,2*(a.y+1),b):null};ol.tilegrid.XYZ.prototype.forEachTileCoordParentTileRange=function(a,b,c,d){d=ol.TileRange.createOrUpdate(0,a.x,0,a.y,d);for(a=a.z-1;a>=this.minZoom;--a)if(d.minX=d.maxX>>=1,d.minY=d.maxY>>=1,b.call(c,a,d))return!0;return!1};ol.source.BingMaps=function(a){ol.source.TileImage.call(this,{crossOrigin:"anonymous",opaque:!0,projection:ol.proj.get("EPSG:3857")});this.culture_=goog.isDef(a.culture)?a.culture:"en-us";this.ready_=!1;var b=new goog.Uri("//dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.style);(new goog.net.Jsonp(b,"jsonp")).send({include:"ImageryProviders",key:a.key},goog.bind(this.handleImageryMetadataResponse,this))};goog.inherits(ol.source.BingMaps,ol.source.TileImage);
ol.source.BingMaps.prototype.handleImageryMetadataResponse=function(a){var b=a.brandLogoUri,c=a.resourceSets[0].resources[0],d=new ol.tilegrid.XYZ({minZoom:c.zoomMin,maxZoom:c.zoomMax,tileSize:[c.imageWidth,c.imageHeight]});this.tileGrid=d;var e=this.culture_;this.tileUrlFunction=ol.TileUrlFunction.withTileCoordTransform(d.createTileCoordTransform(),ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(c.imageUrlSubdomains,function(a){var b=c.imageUrl.replace("{subdomain}",a).replace("{culture}",
e);return function(a,c){return goog.isNull(a)?void 0:b.replace("{quadkey}",a.quadKey())}})));var f=ol.proj.getTransformFromProjections(ol.proj.get("EPSG:4326"),this.getProjection());a=goog.array.map(c.imageryProviders,function(a){var b=a.attribution,c={};goog.array.forEach(a.coverageAreas,function(a){var b=a.zoomMin,e=a.zoomMax;a=a.bbox;a=ol.extent.transform([a[1],a[3],a[0],a[2]],f);var g,h;for(g=b;g<=e;++g)h=g.toString(),b=d.getTileRangeForExtentAndZ(a,g),h in c?c[h].push(b):c[h]=[b]});return new ol.Attribution({html:b,
tileRanges:c})});this.setAttributions(a);this.setLogo(b);this.ready_=!0;this.dispatchLoadEvent()};ol.source.BingMaps.prototype.isReady=function(){return this.ready_};ol.source.FeatureInfoSource=function(){};ol.source.ImageStatic=function(a){var b=ol.source.ImageStatic.createImageFunction(a.url),c=a.imageExtent,d=a.imageSize,e=(c[3]-c[2])/d[1],f=ol.proj.get(a.projection);ol.source.Image.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,imageUrlFunction:b,resolutions:[e]});this.image_=this.createImage(c,e,d,f)};goog.inherits(ol.source.ImageStatic,ol.source.Image);
ol.source.ImageStatic.prototype.getImage=function(a,b,c){return ol.extent.intersects(a,this.image_.getExtent())?this.image_:null};ol.source.ImageStatic.createImageFunction=function(a){return function(b,c,d){return a}};ol.source.wms={};ol.source.WMSGetFeatureInfoMethod={IFRAME:"iframe",XHR_GET:"xhr_get"};
ol.source.wms.getUrl=function(a,b,c,d,e){d={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0,WIDTH:Math.round(d[0]),HEIGHT:Math.round(d[1])};goog.object.extend(d,b);d.STYLES=b.STYLES||new String("");b="1.3"<d.VERSION;d[b?"CRS":"SRS"]=e.getCode();e=e.getAxisOrientation();c=b&&"ne"==e.substr(0,2)?[c[2],c[0],c[3],c[1]]:[c[0],c[2],c[1],c[3]];d.BBOX=c.join(",");return goog.uri.utils.appendParamsFromMap(a,d)};
ol.source.wms.getFeatureInfo=function(a,b,c,d,e){a=a.replace("REQUEST\x3dGetMap","REQUEST\x3dGetFeatureInfo").replace(ol.source.wms.regExes.layers,"LAYERS\x3d$1\x26QUERY_LAYERS\x3d$1");c=goog.isDef(c)?goog.object.clone(c):{};var f={method:ol.source.WMSGetFeatureInfoMethod.IFRAME,params:{}};goog.object.extend(f,c);c={INFO_FORMAT:"text/html"};var g=parseFloat(a.match(ol.source.wms.regExes.version)[1]),h=Math.round(b[0]);b=Math.round(b[1]);1.3<=g?goog.object.extend(c,{I:h,J:b}):goog.object.extend(c,
{X:h,Y:b});goog.object.extend(c,f.params);a=goog.uri.utils.appendParamsFromMap(a,c);f.method==ol.source.WMSGetFeatureInfoMethod.IFRAME?goog.global.setTimeout(function(){d('\x3ciframe seamless src\x3d"'+a+'"\x3e\x3c/iframe\x3e')},0):f.method==ol.source.WMSGetFeatureInfoMethod.XHR_GET&&goog.net.XhrIo.send(a,function(a){a=a.target;a.isSuccess()?d(a.getResponseText()):goog.isDef(e)&&e()})};ol.source.wms.regExes={layers:/LAYERS=([^&]+)/,version:/VERSION=([^&]+)/};ol.source.ImageWMS=function(a){this.params_=a.params;var b=goog.isDef(a.url)?ol.ImageUrlFunction.createFromParamsFunction(a.url,this.params_,ol.source.wms.getUrl):ol.ImageUrlFunction.nullImageUrlFunction;ol.source.Image.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,resolutions:a.resolutions,imageUrlFunction:b});this.getFeatureInfoOptions_=goog.isDef(a.getFeatureInfoOptions)?a.getFeatureInfoOptions:{};this.image_=null;this.ratio_=goog.isDef(a.ratio)?
a.ratio:1.5};goog.inherits(ol.source.ImageWMS,ol.source.Image);ol.source.ImageWMS.prototype.getParams=function(){return this.params_};ol.source.ImageWMS.prototype.getImage=function(a,b,c){b=this.findNearestResolution(b);var d=this.image_;if(!goog.isNull(d)&&d.getResolution()==b&&ol.extent.containsExtent(d.getExtent(),a))return d;a=a.slice();ol.extent.scaleFromCenter(a,this.ratio_);return this.image_=this.createImage(a,b,[(a[1]-a[0])/b,(a[3]-a[2])/b],c)};
ol.source.ImageWMS.prototype.getFeatureInfoForPixel=function(a,b,c,d){var e=b.getView().getView2D().getProjection(),f=b.getSize(),g=b.getCoordinateFromPixel([0,f[1]]);b=b.getCoordinateFromPixel([f[0],0]);e=this.imageUrlFunction([g[0],b[0],g[1],b[1]],f,e);ol.source.wms.getFeatureInfo(e,a,this.getFeatureInfoOptions_,c,d)};ol.source.ImageWMS.prototype.updateParams=function(a){goog.object.extend(this.params_,a);this.image_=null;this.dispatchChangeEvent()};ol.source.XYZ=function(a){var b=a.projection||ol.proj.get("EPSG:3857"),c=goog.isDef(a.maxZoom)?a.maxZoom:18,c=new ol.tilegrid.XYZ({maxZoom:c});ol.source.TileImage.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,logo:a.logo,projection:b,tileGrid:c,tileUrlFunction:ol.TileUrlFunction.nullTileUrlFunction});this.tileCoordTransform_=c.createTileCoordTransform({extent:a.extent});goog.isDef(a.tileUrlFunction)?this.setTileUrlFunction(a.tileUrlFunction):goog.isDef(a.urls)?this.setUrls(a.urls):
goog.isDef(a.url)&&this.setUrl(a.url)};goog.inherits(ol.source.XYZ,ol.source.TileImage);ol.source.XYZ.prototype.setTileUrlFunction=function(a){ol.source.XYZ.superClass_.setTileUrlFunction.call(this,ol.TileUrlFunction.withTileCoordTransform(this.tileCoordTransform_,a))};ol.source.XYZ.prototype.setUrl=function(a){this.setTileUrlFunction(ol.TileUrlFunction.createFromTemplates(ol.TileUrlFunction.expandUrl(a)))};ol.source.XYZ.prototype.setUrls=function(a){this.setTileUrlFunction(ol.TileUrlFunction.createFromTemplates(a))};ol.source.OSM=function(a){a=goog.isDef(a)?a:{};var b;b=goog.isDef(a.attributions)?a.attributions:goog.isDef(a.attribution)?[a.attribution]:ol.source.OSM.ATTRIBUTIONS;var c=goog.isDef(a.url)?a.url:"http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png";ol.source.XYZ.call(this,{attributions:b,crossOrigin:"anonymous",opaque:!0,maxZoom:a.maxZoom,url:c})};goog.inherits(ol.source.OSM,ol.source.XYZ);ol.source.OSM.DATA_ATTRIBUTION=new ol.Attribution({html:'Data \x26copy; \x3ca href\x3d"http://www.openstreetmap.org/"\x3eOpenStreetMap\x3c/a\x3e contributors, \x3ca href\x3d"http://www.openstreetmap.org/copyright"\x3eODbL\x3c/a\x3e'});
ol.source.OSM.TILE_ATTRIBUTION=new ol.Attribution({html:'Tiles \x26copy; \x3ca href\x3d"http://www.openstreetmap.org/"\x3eOpenStreetMap\x3c/a\x3e contributors, \x3ca href\x3d"http://creativecommons.org/licenses/by-sa/2.0/"\x3eCC BY-SA\x3c/a\x3e'});ol.source.OSM.ATTRIBUTIONS=[ol.source.OSM.TILE_ATTRIBUTION,ol.source.OSM.DATA_ATTRIBUTION];ol.source.MapQuestOSM=function(){var a=[new ol.Attribution({html:'Tiles Courtesy of \x3ca href\x3d"http://www.mapquest.com/" target\x3d"_blank"\x3eMapQuest\x3c/a\x3e'}),ol.source.OSM.DATA_ATTRIBUTION];ol.source.XYZ.call(this,{attributions:a,crossOrigin:"anonymous",logo:"http://developer.mapquest.com/content/osm/mq_logo.png",opaque:!0,maxZoom:28,url:"http://otile{1-4}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg"})};goog.inherits(ol.source.MapQuestOSM,ol.source.XYZ);
ol.source.MapQuestOpenAerial=function(){var a=[new ol.Attribution({html:'Tiles Courtesy of \x3ca href\x3d"http://www.mapquest.com/" target\x3d"_blank"\x3eMapQuest\x3c/a\x3e'}),new ol.Attribution({html:"Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency"})];ol.source.XYZ.call(this,{attributions:a,crossOrigin:"anonymous",logo:"http://developer.mapquest.com/content/osm/mq_logo.png",maxZoom:18,opaque:!0,url:"http://oatile{1-4}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg"})};
goog.inherits(ol.source.MapQuestOpenAerial,ol.source.XYZ);ol.source.StamenLayerConfig={terrain:{extension:"jpg",opaque:!0},"terrain-background":{extension:"jpg",opaque:!0},"terrain-labels":{extension:"png",opaque:!1},"terrain-lines":{extension:"png",opaque:!1},"toner-background":{extension:"png",opaque:!0},toner:{extension:"png",opaque:!0},"toner-hybrid":{extension:"png",opaque:!1},"toner-labels":{extension:"png",opaque:!1},"toner-lines":{extension:"png",opaque:!1},"toner-lite":{extension:"png",opaque:!0},watercolor:{extension:"jpg",opaque:!0}};
ol.source.StamenProviderConfig={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:3,maxZoom:16}};
ol.source.Stamen=function(a){var b=a.layer.indexOf("-"),b=-1==b?a.layer:a.layer.slice(0,b),b=ol.source.StamenProviderConfig[b],c=ol.source.StamenLayerConfig[a.layer];a=goog.isDef(a.url)?a.url:"http://{a-d}.tile.stamen.com/"+a.layer+"/{z}/{x}/{y}."+c.extension;ol.source.XYZ.call(this,{attributions:ol.source.Stamen.ATTRIBUTIONS,crossOrigin:"anonymous",maxZoom:b.maxZoom,opaque:c.opaque,url:a})};goog.inherits(ol.source.Stamen,ol.source.XYZ);
ol.source.Stamen.ATTRIBUTIONS=[new ol.Attribution({html:'Map tiles by \x3ca href\x3d"http://stamen.com/"\x3eStamen Design\x3c/a\x3e, under \x3ca href\x3d"http://creativecommons.org/licenses/by/3.0/"\x3eCC BY 3.0\x3c/a\x3e.'}),ol.source.OSM.DATA_ATTRIBUTION];ol.DebugTile_=function(a,b){ol.Tile.call(this,a,ol.TileState.LOADED);this.tileCoord_=a;this.tileSize_=b.getTileSize(a.z);this.canvasByContext_={}};goog.inherits(ol.DebugTile_,ol.Tile);
ol.DebugTile_.prototype.getImage=function(a){a=goog.isDef(a)?goog.getUid(a):-1;if(a in this.canvasByContext_)return this.canvasByContext_[a];var b=this.tileSize_,c=goog.dom.createElement(goog.dom.TagName.CANVAS);c.width=b[0];c.height=b[1];var d=c.getContext("2d");d.strokeStyle="black";d.strokeRect(0.5,0.5,b[0]+0.5,b[1]+0.5);d.fillStyle="black";d.textAlign="center";d.textBaseline="middle";d.font="24px sans-serif";d.fillText(this.tileCoord_.toString(),b[0]/2,b[1]/2);return this.canvasByContext_[a]=
c};ol.source.TileDebug=function(a){ol.source.Tile.call(this,{extent:a.extent,opaque:!1,projection:a.projection,tileGrid:a.tileGrid});this.tileCache_=new ol.TileCache};goog.inherits(ol.source.TileDebug,ol.source.Tile);ol.source.TileDebug.prototype.canExpireCache=function(){return this.tileCache_.canExpireCache()};ol.source.TileDebug.prototype.expireCache=function(a){this.tileCache_.expireCache(a)};
ol.source.TileDebug.prototype.getTile=function(a,b,c){var d=this.getKeyZXY(a,b,c);if(this.tileCache_.containsKey(d))return this.tileCache_.get(d);a=new ol.DebugTile_(new ol.TileCoord(a,b,c),this.tileGrid);this.tileCache_.set(d,a);return a};ol.tilejson={};ol.tilejson.grids_=[];var grid=function(a){ol.tilejson.grids_.push(a)};goog.exportSymbol("grid",grid);ol.source.TileJSON=function(a){ol.source.TileImage.call(this,{crossOrigin:a.crossOrigin,projection:ol.proj.get("EPSG:3857")});this.ready_=!1;this.deferred_=goog.net.jsloader.load(a.url,{cleanupWhenDone:!0});this.deferred_.addCallback(this.handleTileJSONResponse,this)};goog.inherits(ol.source.TileJSON,ol.source.TileImage);
ol.source.TileJSON.prototype.handleTileJSONResponse=function(){var a=ol.tilejson.grids_.pop(),b=ol.proj.get("EPSG:4326"),c;if(goog.isDef(a.bounds)){var d=a.bounds,d=[d[0],d[2],d[1],d[3]],e=ol.proj.getTransformFromProjections(b,this.getProjection());c=ol.extent.transform(d,e);this.setExtent(c)}goog.isDef(a.scheme);var f=a.minzoom||0,d=a.maxzoom||22;this.tileGrid=e=new ol.tilegrid.XYZ({maxZoom:d,minZoom:f});this.tileUrlFunction=ol.TileUrlFunction.withTileCoordTransform(e.createTileCoordTransform({extent:c}),
ol.TileUrlFunction.createFromTemplates(a.tiles));if(goog.isDef(a.attribution)){b=goog.isDef(c)?c:b.getExtent();c={};for(var g;f<=d;++f)g=f.toString(),c[g]=[e.getTileRangeForExtentAndZ(b,f)];this.setAttributions([new ol.Attribution({html:a.attribution,tileRanges:c})])}this.ready_=!0;this.dispatchLoadEvent()};ol.source.TileJSON.prototype.isReady=function(){return this.ready_};ol.source.TileWMS=function(a){goog.isDef(a.tileGrid);var b=ol.TileUrlFunction.nullTileUrlFunction,c=a.urls;!goog.isDef(c)&&goog.isDef(a.url)&&(c=ol.TileUrlFunction.expandUrl(a.url));this.params_=a.params;this.coordKeyPrefix_="";this.resetCoordKeyPrefix_();goog.isDef(c)&&(b=goog.array.map(c,function(a){return ol.TileUrlFunction.createFromParamsFunction(a,this.params_,ol.source.wms.getUrl)},this),b=ol.TileUrlFunction.createFromTileUrlFunctions(b));var c=goog.isDef(a.params.TRANSPARENT)?a.params.TRANSPARENT:
!0,d=a.extent;ol.source.TileImage.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:d,tileGrid:a.tileGrid,opaque:!c,projection:a.projection,tileUrlFunction:ol.TileUrlFunction.withTileCoordTransform(function(a,b){var c=this.getTileGrid();goog.isNull(c)&&(c=ol.tilegrid.getForProjection(b));if(c.getResolutions().length<=a.z)return null;var h=a.x,k=c.getTileCoordExtent(a),l=b.getExtent();d=goog.isDef(d)?d:l;!goog.isNull(d)&&(b.isGlobal()&&d[0]===l[0]&&d[1]===l[1])&&(k=Math.ceil((d[1]-
d[0])/(k[1]-k[0])),h=goog.math.modulo(h,k),k=c.getTileCoordExtent(new ol.TileCoord(a.z,h,a.y)));return goog.isNull(d)||ol.extent.intersects(k,d)?new ol.TileCoord(a.z,h,a.y):null},b)});this.getFeatureInfoOptions_=goog.isDef(a.getFeatureInfoOptions)?a.getFeatureInfoOptions:{}};goog.inherits(ol.source.TileWMS,ol.source.TileImage);ol.source.TileWMS.prototype.getKeyZXY=function(a,b,c){return this.coordKeyPrefix_+ol.source.TileWMS.superClass_.getKeyZXY.call(this,a,b,c)};
ol.source.TileWMS.prototype.getParams=function(){return this.params_};
ol.source.TileWMS.prototype.getFeatureInfoForPixel=function(a,b,c,d){var e=b.getCoordinateFromPixel(a),f=b.getView().getView2D(),g=f.getProjection(),h=goog.isNull(this.tileGrid)?ol.tilegrid.getForProjection(g):this.tileGrid,e=h.getTileCoordForCoordAndResolution(e,f.getResolution()),h=h.getTileCoordExtent(e);b=b.getPixelFromCoordinate(ol.extent.getTopLeft(h));g=this.tileUrlFunction(e,g);ol.source.wms.getFeatureInfo(g,[a[0]-b[0],a[1]-b[1]],this.getFeatureInfoOptions_,c,d)};
ol.source.TileWMS.prototype.resetCoordKeyPrefix_=function(){var a=0,b=[],c;for(c in this.params_)b[a++]=c+"-"+this.params_[c];this.coordKeyPrefix_=b.join("/")};ol.source.TileWMS.prototype.updateParams=function(a){goog.object.extend(this.params_,a);this.resetCoordKeyPrefix_();this.dispatchChangeEvent()};ol.tilegrid.WMTS=function(a){this.matrixIds_=a.matrixIds;ol.tilegrid.TileGrid.call(this,{origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes})};goog.inherits(ol.tilegrid.WMTS,ol.tilegrid.TileGrid);ol.tilegrid.WMTS.prototype.getMatrixId=function(a){return this.matrixIds_[a]};ol.tilegrid.WMTS.prototype.getMatrixIds=function(){return this.matrixIds_};
ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet=function(a){var b=[],c=[],d=[],e=[],f=ol.proj.get(a.supportedCRS).getMetersPerUnit();goog.array.sort(a.matrixIds,function(a,b){return b.scaleDenominator-a.scaleDenominator});goog.array.forEach(a.matrixIds,function(a,h,k){c.push(a.identifier);d.push(a.topLeftCorner);b.push(2.8E-4*a.scaleDenominator/f);e.push([a.tileWidth,a.tileHeight])});return new ol.tilegrid.WMTS({origins:d,resolutions:b,matrixIds:c,tileSizes:e})};ol.source.WMTSRequestEncoding={KVP:"KVP",REST:"REST"};
ol.source.WMTS=function(a){function b(a){a=e==ol.source.WMTSRequestEncoding.KVP?goog.uri.utils.appendParamsFromMap(a,g):a.replace(/\{(\w+?)\}/g,function(a,b){return b in g?g[b]:a});return function(b,c){if(!goog.isNull(b)){var d={TileMatrix:f.getMatrixId(b.z),TileCol:b.x,TileRow:b.y};goog.object.extend(d,this.dimensions_);var g=a;return g=e==ol.source.WMTSRequestEncoding.KVP?goog.uri.utils.appendParamsFromMap(g,d):g.replace(/\{(\w+?)\}/g,function(a,b){return d[b]})}}}var c=goog.isDef(a.version)?a.version:
"1.0.0",d=goog.isDef(a.format)?a.format:"image/jpeg";this.dimensions_=a.dimensions||{};this.coordKeyPrefix_="";this.resetCoordKeyPrefix_();var e=goog.isDef(a.requestEncoding)?a.requestEncoding:ol.source.WMTSRequestEncoding.KVP,f=a.tileGrid,g={Layer:a.layer,style:a.style,Style:a.style,TileMatrixSet:a.matrixSet};e==ol.source.WMTSRequestEncoding.KVP&&goog.object.extend(g,{Service:"WMTS",Request:"GetTile",Version:c,Format:d});c=ol.TileUrlFunction.nullTileUrlFunction;d=a.urls;!goog.isDef(d)&&goog.isDef(a.url)&&
(d=ol.TileUrlFunction.expandUrl(a.url));goog.isDef(d)&&(c=ol.TileUrlFunction.createFromTileUrlFunctions(goog.array.map(d,b)));var h=ol.extent.createEmpty(),k=new ol.TileCoord(0,0,0),c=ol.TileUrlFunction.withTileCoordTransform(function(b,c,d){d=this.getTileGrid();if(d.getResolutions().length<=b.z)return null;var e=b.x,f=-b.y-1,g=d.getTileCoordExtent(b),s=c.getExtent(),t=goog.isDef(a.extent)?a.extent:s;!goog.isNull(t)&&(c.isGlobal()&&t[0]===s[0]&&t[1]===s[1])&&(c=Math.ceil((t[1]-t[0])/(g[1]-g[0])),
e=goog.math.modulo(e,c),k.z=b.z,k.x=e,k.y=b.y,g=d.getTileCoordExtent(k,h));return ol.extent.intersects(g,t)?new ol.TileCoord(b.z,e,f):null},c);ol.source.TileImage.call(this,{attributions:a.attributions,crossOrigin:a.crossOrigin,extent:a.extent,projection:a.projection,tileGrid:f,tileUrlFunction:c})};goog.inherits(ol.source.WMTS,ol.source.TileImage);ol.source.WMTS.prototype.getDimensions=function(){return this.dimensions_};
ol.source.WMTS.prototype.getKeyZXY=function(a,b,c){return this.coordKeyPrefix_+ol.source.WMTS.superClass_.getKeyZXY.call(this,a,b,c)};ol.source.WMTS.prototype.resetCoordKeyPrefix_=function(){var a=0,b=[],c;for(c in this.dimensions_)b[a++]=c+"-"+this.dimensions_[c];this.coordKeyPrefix_=b.join("/")};ol.source.WMTS.prototype.updateDimensions=function(a){goog.object.extend(this.dimensions_,a);this.resetCoordKeyPrefix_();this.dispatchChangeEvent()};
ol.source.WMTS.optionsFromCapabilities=function(a,b){var c=goog.array.find(a.contents.layers,function(a,c,d){return a.identifier==b}),d=c.tileMatrixSetLinks[0].tileMatrixSet,e=c.formats[0],f=goog.array.findIndex(c.styles,function(a,b,c){return a.isDefault});0>f&&(f=0);var f=c.styles[f].identifier,g={};goog.array.forEach(c.dimensions,function(a,b,c){b=a.identifier;c=a["default"];goog.isDef(c)||(c=a.values[0]);g[b]=c});var h=a.contents.tileMatrixSets[d],k=ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet(h),
h=ol.proj.get(h.supportedCRS),l=a.operationsMetadata.GetTile.dcp.http.get,m,n;switch(goog.object.getKeys(l[0].constraints.GetEncoding.allowedValues)[0]){case "REST":case "RESTful":n=ol.source.WMTSRequestEncoding.REST;m=c.resourceUrls.tile[e];break;case "KVP":n=ol.source.WMTSRequestEncoding.KVP,m=[],goog.array.forEach(l,function(a,b,c){a.constraints.GetEncoding.allowedValues.hasOwnProperty(ol.source.WMTSRequestEncoding.KVP)&&m.push(a.url)})}return{urls:m,layer:b,matrixSet:d,format:e,projection:h,requestEncoding:n,
tileGrid:k,style:f,dimensions:g}};ol.sphere.WGS84=new ol.Sphere(6378137);ol.style.Text=function(a){this.color_=goog.isDef(a.color)?a.color instanceof ol.expr.Expression?a.color:new ol.expr.Literal(a.color):new ol.expr.Literal(ol.style.TextDefaults.color);this.fontFamily_=goog.isDef(a.fontFamily)?a.fontFamily instanceof ol.expr.Expression?a.fontFamily:new ol.expr.Literal(a.fontFamily):new ol.expr.Literal(ol.style.TextDefaults.fontFamily);this.fontSize_=goog.isDef(a.fontSize)?a.fontSize instanceof ol.expr.Expression?a.fontSize:new ol.expr.Literal(a.fontSize):new ol.expr.Literal(ol.style.TextDefaults.fontSize);
this.text_=a.text instanceof ol.expr.Expression?a.text:new ol.expr.Literal(a.text);this.opacity_=goog.isDef(a.opacity)?a.opacity instanceof ol.expr.Expression?a.opacity:new ol.expr.Literal(a.opacity):new ol.expr.Literal(ol.style.TextDefaults.opacity)};goog.inherits(ol.style.Text,ol.style.Symbolizer);
ol.style.Text.prototype.createLiteral=function(a){var b;a instanceof ol.Feature&&(b=a,(a=b.getGeometry())&&a.getType());a=ol.expr.evaluateFeature(this.color_,b);var c=ol.expr.evaluateFeature(this.fontFamily_,b),d=Number(ol.expr.evaluateFeature(this.fontSize_,b)),e=ol.expr.evaluateFeature(this.text_,b);b=Number(ol.expr.evaluateFeature(this.opacity_,b));return new ol.style.TextLiteral({color:a,fontFamily:c,fontSize:d,text:e,opacity:b})};ol.style.Text.prototype.getColor=function(){return this.color_};
ol.style.Text.prototype.getFontFamily=function(){return this.fontFamily_};ol.style.Text.prototype.getFontSize=function(){return this.fontSize_};ol.style.Text.prototype.getOpacity=function(){return this.opacity_};ol.style.Text.prototype.getText=function(){return this.text_};ol.style.Text.prototype.setColor=function(a){this.color_=a};ol.style.Text.prototype.setFontFamily=function(a){this.fontFamily_=a};ol.style.Text.prototype.setFontSize=function(a){this.fontSize_=a};
ol.style.Text.prototype.setOpacity=function(a){this.opacity_=a};ol.style.Text.prototype.setText=function(a){this.text_=a};ol.style.TextDefaults={color:"#000",fontFamily:"sans-serif",fontSize:10,opacity:1};